dhis2-users team mailing list archive
-
dhis2-users team
-
Mailing list archive
-
Message #01552
Re: DHIS 2 version 2.10 released
-
To:
Toni <tbugser@xxxxxxxxx>
-
From:
easy <lin_xd@xxxxxxx>
-
Date:
Mon, 19 Nov 2012 05:41:18 +0800 (CST)
-
Cc:
"GehronMM@xxxxxxxxx" <GehronMM@xxxxxxxxx>, "dsettle@xxxxxxxxxxxxxxx" <dsettle@xxxxxxxxxxxxxxx>, Calle Hedberg <calle.hedberg@xxxxxxxxx>, Jim Setzer <Jim_Setzer@xxxxxxxxxxxx>, "dhis2-users@xxxxxxxxxxxxxxxxxxx" <dhis2-users@xxxxxxxxxxxxxxxxxxx>, Raphael Pundo <raphael_pundo@xxxxxxxxxxxx>, "Amuha, Monica" <mamuha@xxxxxxx>, Jim Grace <jimgrace@xxxxxxxxx>, "Donna.Lee@xxxxxxxxxxxxxxxxx" <Donna.Lee@xxxxxxxxxxxxxxxxx>, Alex Tumwesigye <atumwesigye@xxxxxxxxx>, "Schaefer, Petra" <PSchaefer@xxxxxxx>, "STengesdal@xxxxxxx" <STengesdal@xxxxxxx>, "dkimanga@xxxxxxxxxxxx" <dkimanga@xxxxxxxxxxxx>, Greg Rowles <greg.rowles@xxxxxxxxx>, DHIS 2 developers <dhis2-devs@xxxxxxxxxxxxxxxxxxx>, Vincent Shaw <vpshaw@xxxxxxxxx>, MartinOsumba <Martin_Osumba@xxxxxxxxxxxx>, "pbiondic@xxxxxxxxxxxxxxx" <pbiondic@xxxxxxxxxxxxxxx>, "sgrannis@xxxxxxxxx" <sgrannis@xxxxxxxxx>, Lawi Mamai <lawi.mamai@xxxxxxxxx>
-
In-reply-to:
<22C24C04-E1C8-40AA-B1E0-B418BB4872A9@gmail.com>
I got errors which compiled from trunk:
ETA-INF/dhis/security.xml] (FailFastProblemReporter.java [main])
* ERROR 2012-11-19 05:33:21,944 Context initialization failed (ContextLoader.jav
a [main])
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Config
uration problem: Only one AsyncAnnotationBeanPostProcessor may exist within the
context.
Offending resource: URL [jar:file:/D:/dhis29/dhis210/dhis2/dhis-2/dhis-web/dhis-
web-portal/target/work/webapp/WEB-INF/lib/dhis-support-external-2.11-SNAPSHOT.ja
r!/META-INF/dhis/beans.xml]
at org.springframework.beans.factory.parsing.FailFastProblemReporter.err
or(FailFastProblemReporter.java:68)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderC
ontext.java:85)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderC
ontext.java:72)
at org.springframework.scheduling.config.AnnotationDrivenBeanDefinitionP
arser.parse(AnnotationDrivenBeanDefinitionParser.java:90)
at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(N
amespaceHandlerSupport.java:73)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
rseCustomElement(BeanDefinitionParserDelegate.java:1419)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
rseCustomElement(BeanDefinitionParserDelegate.java:1409)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:184)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registe
rBeanDefinitions(XmlBeanDefinitionReader.java:493)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
eanDefinitions(XmlBeanDefinitionReader.java:390)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:334)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
at org.springframework.web.context.support.XmlWebApplicationContext.load
BeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.load
BeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationCon
text.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
at org.springframework.context.support.AbstractApplicationContext.obtain
FreshBeanFactory(AbstractApplicationContext.java:522)
at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:436)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebA
pplicationContext(ContextLoader.java:385)
at org.springframework.web.context.ContextLoader.initWebApplicationConte
xt(ContextLoader.java:284)
at org.springframework.web.context.ContextLoaderListener.contextInitiali
zed(ContextLoaderListener.java:111)
at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.
java:549)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.jav
a:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:
518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499
)
at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6Plug
inWebAppContext.java:115)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection
.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHan
dlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection
.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:
130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
50)
at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.
java:132)
at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMo
jo.java:454)
at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.
java:396)
at org.mortbay.jetty.plugin.Jetty6RunWar.execute(Jetty6RunWar.java:67)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default
BuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:209)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu
ild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl
eStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun
cher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
a:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
uncher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
352)
2012-11-19 05:33:22.013:WARN::Failed startup of context org.mortbay.jetty.plugin
.Jetty6PluginWebAppContext@5441da51{/,D:\dhis29\dhis210\dhis2\dhis-2\dhis-web\dh
is-web-portal\target\dhis.war}
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Config
uration problem: Only one AsyncAnnotationBeanPostProcessor may exist within the
context.|Offending resource: URL [jar:file:/D:/dhis29/dhis210/dhis2/dhis-2/dhis-
web/dhis-web-portal/target/work/webapp/WEB-INF/lib/dhis-support-external-2.11-SN
APSHOT.jar!/META-INF/dhis/beans.xml]
at org.springframework.beans.factory.parsing.FailFastProblemReporter.err
or(FailFastProblemReporter.java:68)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderC
ontext.java:85)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderC
ontext.java:72)
at org.springframework.scheduling.config.AnnotationDrivenBeanDefinitionP
arser.parse(AnnotationDrivenBeanDefinitionParser.java:90)
at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(N
amespaceHandlerSupport.java:73)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
rseCustomElement(BeanDefinitionParserDelegate.java:1419)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
rseCustomElement(BeanDefinitionParserDelegate.java:1409)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:184)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registe
rBeanDefinitions(XmlBeanDefinitionReader.java:493)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
eanDefinitions(XmlBeanDefinitionReader.java:390)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:334)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
at org.springframework.web.context.support.XmlWebApplicationContext.load
BeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.load
BeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationCon
text.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
at org.springframework.context.support.AbstractApplicationContext.obtain
FreshBeanFactory(AbstractApplicationContext.java:522)
at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:436)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebA
pplicationContext(ContextLoader.java:385)
at org.springframework.web.context.ContextLoader.initWebApplicationConte
xt(ContextLoader.java:284)
at org.springframework.web.context.ContextLoaderListener.contextInitiali
zed(ContextLoaderListener.java:111)
at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.
java:549)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.jav
a:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:
518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499
)
at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6Plug
inWebAppContext.java:115)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection
.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHan
dlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection
.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:
130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
50)
at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.
java:132)
at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMo
jo.java:454)
at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.
java:396)
at org.mortbay.jetty.plugin.Jetty6RunWar.execute(Jetty6RunWar.java:67)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default
BuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:209)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu
ild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl
eStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun
cher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
a:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
uncher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
352)
2012-11-19 05:33:22.223:INFO::Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
--
此致
easy
莫愁前路无知己,天下谁人不识君。
At 2012-11-18 23:57:54,Toni <tbugser@xxxxxxxxx> wrote:
Kudos to the entire team. Great GIS added functionalities. Thanx
.....
On Nov 15, 2012, at 10:45 PM, Lars Helge Øverland <larshelge@xxxxxxxxx> wrote:
Hi all,
DHIS 2 version 2.10 has been released. The major features this time:
- We have included elements from social networking: You can self-register a user account, create your own profile, post messages and share interpretations. You can easily search and find other peoples profiles and communicate through messages.
- A completely new GIS module, rewritten from scratch, which comes with much faster load time, more intuitive user interface and more features.
- A brand new web-based mobile client with offline support for smartphones. It lets you enter data, send messages and manage your profile.
All new features:
1. GIS: All map layers can be saved as a single favorites. You can create nice maps containing multiple layers and save it all together in a single favorite. You can also share map favorites as interpretations by first loading or saving a favorite, then clicking "share" on the top menu. Log in with admin/district:
http://apps.dhis2.org/demo/dhis-web-mapping/app/index.html?id=m16KunJ3pbi
http://apps.dhis2.org/demo/dhis-web-mapping/app/index.html?id=GmIDubfPzCU
2. GIS: Improved favorite user interface with paging and free-text search. You can rename, overwrite, delete and add the favorite to your dashboard straight from the list. Click on "Favorites" in the top menu:
http://apps.dhis2.org/demo/dhis-web-mapping/app/index.html
Documentation here:
http://dhis2.org/doc/snapshot/en/user/html/ch15.html
3. GIS: Display surrounding areas as circles around facilities in order to visualize density of facility services:
http://apps.dhis2.org/demo/dhis-web-mapping/app/index.html?id=y3jLMnZTV6i
4. Web-based mobile client for smartphones: We have a new mobile client which lets you enter aggregate data, send and receive messages and manage your profile. The data entry functionality works offline, meaning you only need connectivity for downloading the data entry forms and submitting data to the server. In between you can stay offline and enter data for as long as you want. It is targeted at smartphones with touch-based interfaces, and works on all Android versions from 2.1 and above. With the rapidly decreasing price on smartphones this client is a compelling alternative for mobile data entry, compared with the complexity and issues with compatibility, installations and upgrade associated with native Java clients.
Check it out by pointing your mobile browser to this link, enter mobile/district as username/password and select "smartphone" as mobile version, then click "login":
http://apps.dhis2.org/demo/
5. Self-registration of users: Its now possible to let users create their own user accounts. You can define which user role the system should grant to self-registered users under system settings. You can get an overview of self-registered users in the user module, and temporarily disable users if needed. On the login page, click on "Create an account" and complete the account form:
http://apps.dhis2.org/demo/ (log out first under Profile - Log out)
https://hiskenya.org/dhis-web-maintenance-settings/systemAccessSettings.action
6. User account recovery: Users who forget their password can now restore it from the login page by clicking on the "Forgot password?" link. After entering your username, two emails are sent to the email address registered with the user account which will guide you through the recovery process. Documentation here:
http://dhis2.org/doc/snapshot/en/user/html/ch19s02.html
7. Profile page: You can now set up a profile for your user account, including introduction, job title, nationality, employer, languages and more. Access your profile directly from the "profile" link on the dashboard. We have introduced a new profile top menu item - use it to edit your personal settings, user account and profile.
https://hiskenya.org/dhis-web-dashboard-integration/profile.action
8. Improved interpretations: You can click on the sender of an interpretation or comment to get to her personal profile. Interpretations look better and auto-page as you scroll down the page.
http://apps.dhis2.org/demo/dhis-web-dashboard-integration/interpretation.action
9. Improved messages: All users can now send messages to any user group, user or users associated with an organisation unit. Messages support line breaks and embedded links:
http://apps.dhis2.org/demo/dhis-web-dashboard-integration/message.action
10. Dashboard free-text search: Search for users, charts, maps, reports and report tables straight from the search field in dashboard. This means that you can search for the topic you are interested in and get quick access to all kinds of analysis. Try it out by searching for "ANC" or "Immunization":
http://apps.dhis2.org/demo/dhis-web-dashboard-integration/index.action
11. Relative periods and report parameters in SQL based standard reports: You can now take advantage of parameters in SQL queries when writing standard reports, in order to make queries reusable for multiple periods and organisation units. SQL queries are sometimes required when report tables do not offer enough flexibility, and let you utilize all tables in the DHIS database in reports. Go to the "add new" standard report screen. From here you can download a report template which contains all parameters. To enable SQL based reports click on "use JDBC data source", then select your preferred relative periods and report parameters. To view an example click on the "Immunization: Raw data by district and chiefdom" report:
http://apps.dhis2.org/demo/dhis-web-reporting/displayViewReportForm.action
Documentation here:
http://dhis2.org/doc/snapshot/en/user/html/ch13s04.html#d5e2266
12. Appearance: You can now put an application introduction and notification on the front page. Configurable from system appearance settings:
http://apps.dhis2.org/demo/dhis-web-maintenance-settings/systemAppearanceSettings.action
13. Tracker: Person dashboard with quick access to a person's demographics, history, active programs and relationships. Check it out by selecting the first facility in the organisation unit tree (Ngelehun CHC), click "List all persons" and then click on any name in the list:
http://apps.dhis2.org/demo/dhis-web-caseentry/patient.action
Documentation here:
http://dhis2.org/doc/snapshot/en/user/html/ch22.html
14: Tracker: Automatic message reminders. You can now schedule automatic reminders to be sent using SMS or email to persons which are late for appointments or checkups:
http://apps.dhis2.org/demo/dhis-web-maintenance-patient/viewScheduleTasks.action
15. Tracker: Scheduled aggregation tasks. You can now set up scheduled, daily aggregation of person based data into aggregate data. The aggregation query builder is now easier to use, and you can set your queries to be run automatically:
http://apps.dhis2.org/demo/dhis-web-maintenance-patient/viewScheduledCaseAggCondTasks.action
16. Tracker: Visit schedule overview. Display a detailed overview of scheduled visits per facility for a given time range, like today, this week and this month:
http://apps.dhis2.org/demo/dhis-web-caseentry/activityPlanSelect.action
17. Tracker: Program Tracking. Search and find who has dropped out and are lost to follow-up for a given program. Provides easy access to ad-hoc SMS messaging and tracking history.
http://apps.dhis2.org/demo/dhis-web-caseentry/smsReminderSelect.action
18. Validation in data entry: Marking a data set as complete can be allowed only if validation is successful. This can be configured per data set in the add/update data set screen. Useful when you have absolute validation rules and want to ensure high data quality. Documentation here:
http://dhis2.org/doc/snapshot/en/user/html/ch05.html#datasets
19. Validation in data entry: Entering values for all fields for a data element if one or more values are entered can be made mandatory. This can be configured per data set. Useful e.g. for logistics forms where you want the user to enter values for quantity received and closing balance if she entered opening balance for a drug. Check it out by selecting the "PHUF 2 - Children's preventice services" form:
http://apps.dhis2.org/demo/dhis-web-dataentry/index.action
20. Complete notifications: You can now define a group of users who should receive a notification when a specific data set is marked as complete. This is useful e.g. when DHIS 2 is used as an ordering system for drugs, and the drug supplier wants to know when a new order has been placed. It can be configured per data set. You can define user groups in user module -> user groups:
http://apps.dhis2.org/demo/dhis-web-maintenance-dataset/editDataSetForm.action?dataSetId=359593
http://apps.dhis2.org/demo/dhis-web-maintenance-user/getAllUserGroups.action
21. Dynamic data element selection in custom data entry forms. You can set data elements to appear in a drop down list in custom forms and be selected for data entry on demand. This makes it possible to display high numbers of data elements which are infrequently used in a drop down list, while data elements which are often used are displayed in the form as usual. Check it out by selecting the "PHU 6 - Staffing" form here:
http://apps.dhis2.org/demo/dhis-web-dataentry/index.action
22. Performance and PostgreSQL 9.2 optimizations: We have modified all indexes in the system to take advantage of the new index-only scan feature in PostgreSQL 9.2. We have been using this PostgreSQL version in production for several months and strongly recommend to upgrade. Load e.g. any data set report for 2012 and see how the report is rendered within one tenth of a second:
http://apps.dhis2.org/demo/dhis-web-reporting/showDataSetReportForm.action
Downloads:
http://dhis2.org/downloads
Documentation:
http://dhis2.org/documentation
Complete list of features:
https://launchpad.net/dhis2/+milestone/2.10
Source code branch:
https://code.launchpad.net/~dhis2-devs-core/dhis2/2.10
Javadocs:
http://dhis2.org/download/apidocs/index.html
Enjoy the new release, all feedback is welcome.
best regards,
DHIS 2 development team
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
Follow ups
References