Difference between revisions of "Spring minions DHIS2 Discussion forum web app"

From mn/ifi/inf5750
Jump to: navigation, search
Line 36: Line 36:
  
 
===Search===
 
===Search===
Search will be implemented using Hibernate Search, which integrates the Apache Lucene indexing and search engine with the Hibernate persistence model already used for DHIS2.
+
Search will be implemented using Hibernate Search, which integrates the Apache Lucene indexing and search engine with the Hibernate persistence model already used for DHIS2. The wanted key features of the search implementation is:
 +
 
 +
* Searchable by text/comments
 +
* Searchable by user/owner
 +
* Searchable by analytical item (chart, map, pivot)
 +
* Searchable by data elements + indicators + data set
 +
 
 +
The details of implementing these are still a bit fuzzy. Current status is that '''text and user fields are fully searchable''', but no user-selectable discrimination between "search categories" has been implemented fully just yet. Wheter this is really wanted or needed is still to be decided...
 +
 
 +
====Hononyms / synonyms====
  
 
====Note:====
 
====Note:====
Line 44: Line 53:
  
 
In short, we wish to achieve a "forum style" view of the interpretations. We believe this is a cleaner and more user friendly presentation format. Do note, though, that this will not attempt to replicate the functionality and architecture of traditional web forums such as phpbb et. al. The underlying data simply don't support this type of structure as there are no categories, no titles etc.
 
In short, we wish to achieve a "forum style" view of the interpretations. We believe this is a cleaner and more user friendly presentation format. Do note, though, that this will not attempt to replicate the functionality and architecture of traditional web forums such as phpbb et. al. The underlying data simply don't support this type of structure as there are no categories, no titles etc.
 +
 +
Here is a (way too long) list of the ambitions of the web app:
  
 
===Front page view with subject, last updated date, last author===
 
===Front page view with subject, last updated date, last author===
Line 61: Line 72:
 
*show comments
 
*show comments
 
*Style(css)
 
*Style(css)
====Like / dislike====
 
 
====User rating====
 
 
====Posts per user====
 
  
====Avatar for users====
+
====Like / dislike / user rating====
 +
*WIP at backend team.
  
====Browsing interpretations by Categories(diagnosis)?====
+
====Search====
 +
*In progress
  
====Attachments====
+
====Wanted (but not prioritised) features====
  
====Moderators====
+
*View posts per user
 
+
*Avatar for users
====RSS / Atom====
+
*Browsing interpretations by Categories(diagnosis)?
 
+
*Attach data / files to interpretations
===Search===
+
*Moderation feature
 
+
*RSS / Atom support
====Text====
 
 
 
====Users====
 
 
 
====Analysis item (chart, map, pivot)====
 
 
 
====Item data elements + indicators + data set====
 
 
 
====Hononyms / synonyms====
 
  
 
==Division of tasks==
 
==Division of tasks==

Revision as of 15:09, 22 November 2013

Overview

In vanilla DHIS2 there is a (fairly bare bones) "interpretations" system. In essence, this system allows users to annotate analytical objects such as charts, maps and tables with their interpretation (or other relevant information) of the data. UX-wise, interpretations are browsed through a Facebook-style news feed. Except the ability to comment an interpretation shared by another user, some obvious major features are missing:

  • There is no way for a user to actively keep track of an interpretation they find interesting. Over time it will be swallowed by the newsfeed and there is no URL to a specific interpretation supplied to the user.
  • There is no functionality to search interpretations for issues/items of particular interest.

In short, the existing interpretations feature set is only usable for posting (fairly) disposable data, and is not fit for encouraging proper discussion and interaction between users.

The task of this group project is to attempt to mend some of these issues through creating a separate web-app for exploring and discussing interpretations utilising the DHIS2 web-api.

Key project aspects and technologies

  • HIbernate search
  • Gameification / content rating
  • AngularJS

Group members

  • Thomas Iversen
  • Trine Frimannslund
  • Halvdan Hoem Grelland
  • Johannes Akse

Major aspects

The existing DHIS2 web-api is lacking a lot of the basic features needed to achieve our goals, therefore we have elected to focus a large amount of resources on implementing new features and extending current ones where need be.

New API features

  • Search feature
  • Content rating/voting system

Back end

The needed amendments and additions to the web API is as follows:

  • A (reasonably powerful) search feature for interpretations and associated comments - STATUS: IN PROGRESS
  • The ability to title posts/interpretations - STATUS: DONE
  • Exposing user/owner/creator information along with the content - STATUS: DONE
  • The ability to rate content given by others. - STATUS: IN PROGRESS/CONSIDERATION

Search

Search will be implemented using Hibernate Search, which integrates the Apache Lucene indexing and search engine with the Hibernate persistence model already used for DHIS2. The wanted key features of the search implementation is:

  • Searchable by text/comments
  • Searchable by user/owner
  • Searchable by analytical item (chart, map, pivot)
  • Searchable by data elements + indicators + data set

The details of implementing these are still a bit fuzzy. Current status is that text and user fields are fully searchable, but no user-selectable discrimination between "search categories" has been implemented fully just yet. Wheter this is really wanted or needed is still to be decided...

Hononyms / synonyms

Note:

We have chosen to freely add to the existing backend, including database schema and API behaviour. We do, however, strive to make any changes compatible with the existing application and existing installations without breaking features or data stores. We also strive to stick as well as possible to the existing conventions of the DHIS2 source code framework by keeping any additions as modularised and separate as possible.

Front end

In short, we wish to achieve a "forum style" view of the interpretations. We believe this is a cleaner and more user friendly presentation format. Do note, though, that this will not attempt to replicate the functionality and architecture of traditional web forums such as phpbb et. al. The underlying data simply don't support this type of structure as there are no categories, no titles etc.

Here is a (way too long) list of the ambitions of the web app:

Front page view with subject, last updated date, last author

  • baseurl
  • Order by date
  • Angular templates
  • Fetch more posts when scrolldown
  • display type icon

*Fetch name. In Progress: Halvdan, Thomas og Johannes

  • Style(css)

Comment hierarchy

  • display comment within comment
  • show comments
  • Style(css)

Like / dislike / user rating

  • WIP at backend team.

Search

  • In progress

Wanted (but not prioritised) features

  • View posts per user
  • Avatar for users
  • Browsing interpretations by Categories(diagnosis)?
  • Attach data / files to interpretations
  • Moderation feature
  • RSS / Atom support

Division of tasks

Thomas and Halvdan is doing the Back end (Hibernate search/Lucene) Trine and Johannes is doing the Front end(Forum view)

Screenshots and screen flows

Documented learning during project

Suggested improvements to APIs etc

Time scedule/Mile stones

  • 01. nov: Finish wiki-page and make link to repository
  • 15. nov: First prototype of features <- Front end not on schedule due to work load in other courses.
  • 30. nov: Finished prototype
  • 08. dec: Deliver prototype

Resources