← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 9990: Impl user interface for adhoc generation of analytics and data mart tables

 

------------------------------------------------------------
revno: 9990
committer: Lars Helge Øverland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2013-03-05 20:00:51 +0100
message:
  Impl user interface for adhoc generation of analytics and data mart tables
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/scheduling/TaskCategory.java
  dhis-2/dhis-services/dhis-service-analytics/pom.xml
  dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/scheduling/AnalyticsTableTask.java
  dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/DefaultAnalyticsTableService.java
  dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/notification/InMemoryNotifier.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/viewScheduledTasks.vm
  dhis-2/dhis-web/dhis-web-reporting/pom.xml
  dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/datamart/action/StartExportAction.java
  dhis-2/dhis-web/dhis-web-reporting/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-web/dhis-web-reporting/src/main/resources/org/hisp/dhis/reporting/i18n_module.properties
  dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/javascript/dataMart.js
  dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/menu.vm
  dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewDataMartForm.vm


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/scheduling/TaskCategory.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/scheduling/TaskCategory.java	2013-03-04 14:44:15 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/scheduling/TaskCategory.java	2013-03-05 19:00:51 +0000
@@ -33,7 +33,6 @@
 public enum TaskCategory
 {
     DATAMART,
-    ANALYTICS_UPDATE,
     RESOURCETABLE_UPDATE,
     DATAVALUE_IMPORT,
     METADATA_IMPORT,

=== modified file 'dhis-2/dhis-services/dhis-service-analytics/pom.xml'
--- dhis-2/dhis-services/dhis-service-analytics/pom.xml	2013-03-04 14:44:15 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/pom.xml	2013-03-05 19:00:51 +0000
@@ -27,6 +27,10 @@
     </dependency>
     <dependency>
       <groupId>org.hisp.dhis</groupId>
+      <artifactId>dhis-service-analytics</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.hisp.dhis</groupId>
       <artifactId>dhis-support-system</artifactId>
     </dependency>
     

=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/scheduling/AnalyticsTableTask.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/scheduling/AnalyticsTableTask.java	2012-04-03 22:08:32 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/scheduling/AnalyticsTableTask.java	2013-03-05 19:00:51 +0000
@@ -27,7 +27,7 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-import static org.hisp.dhis.scheduling.TaskCategory.ANALYTICS_UPDATE;
+import static org.hisp.dhis.scheduling.TaskCategory.DATAMART;
 import static org.hisp.dhis.system.notification.NotificationLevel.INFO;
 
 import java.util.concurrent.ExecutionException;
@@ -79,23 +79,21 @@
     @Override
     public void run()
     {
-        notifier.clear( taskId, ANALYTICS_UPDATE );
-        
         try
         {
-            notifier.notify( taskId, ANALYTICS_UPDATE, "Updating analytics tables" );
+            notifier.clear( taskId, DATAMART ).notify( taskId, DATAMART, "Updating analytics tables" );
             
             analyticsTableService.update( last3Years, taskId ).get();
             
-            notifier.notify( taskId, ANALYTICS_UPDATE, "Updating completeness tables" );
+            notifier.notify( taskId, DATAMART, "Updating completeness tables" );
             
             completenessTableService.update( last3Years, taskId ).get();
 
-            notifier.notify( taskId, ANALYTICS_UPDATE, "Updating compeleteness target table" );
+            notifier.notify( taskId, DATAMART, "Updating compeleteness target table" );
             
             completenessTargetTableService.update( last3Years, taskId ).get();
             
-            notifier.notify( taskId, ANALYTICS_UPDATE, INFO, "Analytics tables updated", true );            
+            notifier.notify( taskId, DATAMART, INFO, "Analytics tables updated", true );
         }
         catch ( ExecutionException ex )
         {

=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/DefaultAnalyticsTableService.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/DefaultAnalyticsTableService.java	2013-03-04 14:44:15 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/DefaultAnalyticsTableService.java	2013-03-05 19:00:51 +0000
@@ -45,6 +45,7 @@
 import org.hisp.dhis.dataelement.DataElementService;
 import org.hisp.dhis.organisationunit.OrganisationUnitService;
 import org.hisp.dhis.period.Cal;
+import org.hisp.dhis.resourcetable.ResourceTableService;
 import org.hisp.dhis.scheduling.TaskId;
 import org.hisp.dhis.system.notification.Notifier;
 import org.hisp.dhis.system.util.Clock;
@@ -54,7 +55,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 
-import static org.hisp.dhis.scheduling.TaskCategory.ANALYTICS_UPDATE;
+import static org.hisp.dhis.scheduling.TaskCategory.DATAMART;;
 
 public class DefaultAnalyticsTableService
     implements AnalyticsTableService
@@ -75,6 +76,9 @@
     private DataElementService dataElementService;
     
     @Autowired
+    private ResourceTableService resourceTableService;
+    
+    @Autowired
     private Notifier notifier;
 
     // -------------------------------------------------------------------------
@@ -95,44 +99,44 @@
             final List<String> tables = PartitionUtils.getTempTableNames( earliest, latest, tableName );        
             clock.logTime( "Got partition tables: " + tables + ", earliest: " + earliest + ", latest: " + latest );
             
-            notifier.notify( taskId, ANALYTICS_UPDATE, "Creating analytics tables" );
+            notifier.notify( taskId, DATAMART, "Creating analytics tables" );
             
             createTables( tables );
             
             clock.logTime( "Created analytics tables" );
-            notifier.notify( taskId, ANALYTICS_UPDATE, "Populating analytics tables" );
+            notifier.notify( taskId, DATAMART, "Populating analytics tables" );
             
             populateTables( tables );
             
             clock.logTime( "Populated analytics tables" );
-            notifier.notify( taskId, ANALYTICS_UPDATE, "Pruned analytics tables" );
+            notifier.notify( taskId, DATAMART, "Pruned analytics tables" );
             
             pruneTables( tables );
             
             clock.logTime( "Pruned analytics tables" );
-            notifier.notify( taskId, ANALYTICS_UPDATE, "Applying aggregation levels" );
+            notifier.notify( taskId, DATAMART, "Applying aggregation levels" );
             
             applyAggregationLevels( tables );
             
             clock.logTime( "Applied aggregation levels" );
-            notifier.notify( taskId, ANALYTICS_UPDATE, "Creating indexes" );
+            notifier.notify( taskId, DATAMART, "Creating indexes" );
             
             createIndexes( tables );
             
             clock.logTime( "Created indexes" );
-            notifier.notify( taskId, ANALYTICS_UPDATE, "Vacuuming tables" );
+            notifier.notify( taskId, DATAMART, "Vacuuming tables" );
             
             vacuumTables( tables );
             
             clock.logTime( "Vacuumed tables" );
-            notifier.notify( taskId, ANALYTICS_UPDATE, "Swapping analytics tables" );
+            notifier.notify( taskId, DATAMART, "Swapping analytics tables" );
             
             swapTables( tables );
             
             clock.logTime( "Swapped analytics tables" );
             
             clock.logTime( "Table update done" );
-            notifier.notify( taskId, ANALYTICS_UPDATE, "Table update done" );
+            notifier.notify( taskId, DATAMART, "Table update done" );
         }
         catch ( Exception ex )
         {

=== modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/notification/InMemoryNotifier.java'
--- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/notification/InMemoryNotifier.java	2012-04-03 22:08:32 +0000
+++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/notification/InMemoryNotifier.java	2013-03-05 19:00:51 +0000
@@ -49,7 +49,7 @@
 {
     private static final Log log = LogFactory.getLog( InMemoryNotifier.class );
     
-    private int MAX_SIZE = 500;
+    private int MAX_SIZE = 100;
     
     private TaskLocalList<Notification> notifications;
     

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/viewScheduledTasks.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/viewScheduledTasks.vm	2012-04-03 22:10:58 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/viewScheduledTasks.vm	2013-03-05 19:00:51 +0000
@@ -39,13 +39,13 @@
 <div class="settingLabel">$i18n.getString( "aggregation_period_types" )</div>
 
 <div class="setting">
-<label for="weekly">$i18n.getString( "Weekly" )</label><input type="checkbox" id="weekly" class="scheduling" name="scheduledPeriodTypes" value="Weekly"#if( $scheduledPeriodTypes.contains( "Weekly" ) ) checked="checked"#end>&nbsp;
-<label for="monthly">$i18n.getString( "Monthly" )</label><input type="checkbox" id="monthly" class="scheduling" name="scheduledPeriodTypes" value="Monthly"#if( $scheduledPeriodTypes.contains( "Monthly" ) ) checked="checked"#end>&nbsp;
-<label for="biMonthly">$i18n.getString( "BiMonthly" )</label><input type="checkbox" id="biMonthly" class="scheduling" name="scheduledPeriodTypes" value="BiMonthly"#if( $scheduledPeriodTypes.contains( "BiMonthly" ) ) checked="checked"#end>&nbsp;
-<label for="quarterly">$i18n.getString( "Quarterly" )</label><input type="checkbox" id="quarterly" class="scheduling" name="scheduledPeriodTypes" value="Quarterly"#if( $scheduledPeriodTypes.contains( "Quarterly" ) ) checked="checked"#end><br>
-<label for="sixMonthly">$i18n.getString( "SixMonthly" )</label><input type="checkbox" id="sixMonthly" class="scheduling" name="scheduledPeriodTypes" value="SixMonthly"#if( $scheduledPeriodTypes.contains( "SixMonthly" ) ) checked="checked"#end>&nbsp;
-<label for="yearly">$i18n.getString( "Yearly" )</label><input type="checkbox" id="yearly" class="scheduling" name="scheduledPeriodTypes" value="Yearly"#if( $scheduledPeriodTypes.contains( "Yearly" ) ) checked="checked"#end>&nbsp;
-<label for="financialYearly">$i18n.getString( "financial_yearly" )</label><input type="checkbox" id="financialYearly" class="scheduling" name="scheduledPeriodTypes" value="FinancialJuly"#if( $scheduledPeriodTypes.contains( "FinancialJuly" ) ) checked="checked"#end>			
+    <label for="weekly">$i18n.getString( "Weekly" )</label><input type="checkbox" id="weekly" class="scheduling" name="scheduledPeriodTypes" value="Weekly"#if( $scheduledPeriodTypes.contains( "Weekly" ) ) checked="checked"#end>&nbsp;
+    <label for="monthly">$i18n.getString( "Monthly" )</label><input type="checkbox" id="monthly" class="scheduling" name="scheduledPeriodTypes" value="Monthly"#if( $scheduledPeriodTypes.contains( "Monthly" ) ) checked="checked"#end>&nbsp;
+    <label for="biMonthly">$i18n.getString( "BiMonthly" )</label><input type="checkbox" id="biMonthly" class="scheduling" name="scheduledPeriodTypes" value="BiMonthly"#if( $scheduledPeriodTypes.contains( "BiMonthly" ) ) checked="checked"#end>&nbsp;
+    <label for="quarterly">$i18n.getString( "Quarterly" )</label><input type="checkbox" id="quarterly" class="scheduling" name="scheduledPeriodTypes" value="Quarterly"#if( $scheduledPeriodTypes.contains( "Quarterly" ) ) checked="checked"#end><br>
+    <label for="sixMonthly">$i18n.getString( "SixMonthly" )</label><input type="checkbox" id="sixMonthly" class="scheduling" name="scheduledPeriodTypes" value="SixMonthly"#if( $scheduledPeriodTypes.contains( "SixMonthly" ) ) checked="checked"#end>&nbsp;
+    <label for="yearly">$i18n.getString( "Yearly" )</label><input type="checkbox" id="yearly" class="scheduling" name="scheduledPeriodTypes" value="Yearly"#if( $scheduledPeriodTypes.contains( "Yearly" ) ) checked="checked"#end>&nbsp;
+    <label for="financialYearly">$i18n.getString( "financial_yearly" )</label><input type="checkbox" id="financialYearly" class="scheduling" name="scheduledPeriodTypes" value="FinancialJuly"#if( $scheduledPeriodTypes.contains( "FinancialJuly" ) ) checked="checked"#end>			
 </div>
 
 <div class="settingLabel">$i18n.getString( "organisation_unit_group_set_aggregation_level" )</div>

=== modified file 'dhis-2/dhis-web/dhis-web-reporting/pom.xml'
--- dhis-2/dhis-web/dhis-web-reporting/pom.xml	2012-11-14 16:52:37 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/pom.xml	2013-03-05 19:00:51 +0000
@@ -49,6 +49,10 @@
     </dependency>
     <dependency>
       <groupId>org.hisp.dhis</groupId>
+      <artifactId>dhis-service-analytics</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.hisp.dhis</groupId>
       <artifactId>dhis-service-core</artifactId>
     </dependency>
     <dependency>

=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/datamart/action/StartExportAction.java'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/datamart/action/StartExportAction.java	2012-04-03 22:08:32 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/datamart/action/StartExportAction.java	2013-03-05 19:00:51 +0000
@@ -33,10 +33,12 @@
 import java.util.List;
 import java.util.Set;
 
+import org.hisp.dhis.analytics.scheduling.AnalyticsTableTask;
 import org.hisp.dhis.period.CalendarPeriodType;
 import org.hisp.dhis.period.Period;
 import org.hisp.dhis.period.PeriodType;
 import org.hisp.dhis.scheduling.DataMartTask;
+import org.hisp.dhis.scheduling.ScheduledTasks;
 import org.hisp.dhis.scheduling.TaskCategory;
 import org.hisp.dhis.scheduling.TaskId;
 import org.hisp.dhis.system.scheduling.Scheduler;
@@ -69,22 +71,29 @@
         this.scheduler = scheduler;
     }
 
+    private AnalyticsTableTask analyticsTableTask;
+    
+    public void setAnalyticsTableTask( AnalyticsTableTask analyticsTableTask )
+    {
+        this.analyticsTableTask = analyticsTableTask;
+    }
+
     private DataMartTask dataMartTask;
 
     public void setDataMartTask( DataMartTask dataMartTask )
     {
         this.dataMartTask = dataMartTask;
     }
-    
+
     // -------------------------------------------------------------------------
     // Input
     // -------------------------------------------------------------------------
 
-    private Set<String> periodType = new HashSet<String>();
+    private Set<String> periodTypes = new HashSet<String>();
     
-    public void setPeriodType( Set<String> periodType )
+    public void setPeriodTypes( Set<String> periodTypes )
     {
-        this.periodType = periodType;
+        this.periodTypes = periodTypes;
     }
 
     private String startDate;
@@ -100,6 +109,20 @@
     {
         this.endDate = endDate;
     }
+    
+    private boolean analytics;
+
+    public void setAnalytics( boolean analytics )
+    {
+        this.analytics = analytics;
+    }
+
+    private boolean dataMart;
+
+    public void setDataMart( boolean dataMart )
+    {
+        this.dataMart = dataMart;
+    }
 
     // -------------------------------------------------------------------------
     // Action implementation
@@ -109,26 +132,51 @@
     public String execute()
         throws Exception
     {
-        Date start = DateUtils.getMediumDate( startDate );
-        Date end = DateUtils.getMediumDate( endDate );
-        
-        List<Period> periods = new ArrayList<Period>();
-        
-        for ( String type : periodType )
-        {
-            CalendarPeriodType periodType = (CalendarPeriodType) PeriodType.getPeriodTypeByName( type );
-            
-            periods.addAll( periodType.generatePeriods( start, end ) );
-        }
+        ScheduledTasks tasks = new ScheduledTasks();
 
         TaskId taskId = new TaskId( TaskCategory.DATAMART, currentUserService.getCurrentUser() );
         
-        if ( periods.size() > 0 )
+        // ---------------------------------------------------------------------
+        // Analytics
+        // ---------------------------------------------------------------------
+
+        if ( analytics )
+        {        
+            analyticsTableTask.setTaskId( taskId );
+            
+            tasks.addTask( analyticsTableTask );
+        }        
+
+        // ---------------------------------------------------------------------
+        // Data mart
+        // ---------------------------------------------------------------------
+
+        if ( dataMart )
         {
-            dataMartTask.setPeriods( periods );
-            dataMartTask.setTaskId( taskId );
+            Date start = DateUtils.getMediumDate( startDate );
+            Date end = DateUtils.getMediumDate( endDate );
+            
+            List<Period> periods = new ArrayList<Period>();
+            
+            for ( String type : periodTypes )
+            {
+                CalendarPeriodType periodType = (CalendarPeriodType) PeriodType.getPeriodTypeByName( type );
+                
+                periods.addAll( periodType.generatePeriods( start, end ) );
+            }
+    
+            if ( periods.size() > 0 )
+            {
+                dataMartTask.setPeriods( periods );
+                dataMartTask.setTaskId( taskId );
+            
+                tasks.addTask( dataMartTask );
+            }
+        }
         
-            scheduler.executeTask( dataMartTask );
+        if ( !tasks.isEmpty() )
+        {
+            scheduler.executeTask( tasks );
         }
         
         return SUCCESS;

=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/resources/META-INF/dhis/beans.xml	2013-01-25 15:24:37 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/resources/META-INF/dhis/beans.xml	2013-03-05 19:00:51 +0000
@@ -245,13 +245,14 @@
     scope="prototype">
     <property name="organisationUnitGroupService" ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />
   </bean>
-
+  
   <!-- Data mart -->
 
   <bean id="org.hisp.dhis.reporting.datamart.action.StartExportAction" class="org.hisp.dhis.reporting.datamart.action.StartExportAction"
 	scope="prototype">
 	<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService"/>
 	<property name="scheduler" ref="scheduler"/>
+	<property name="analyticsTableTask" ref="analyticsAllTask" />
 	<property name="dataMartTask" ref="dataMartLast12MonthsTask"/>
   </bean>
 

=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/resources/org/hisp/dhis/reporting/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/resources/org/hisp/dhis/reporting/i18n_module.properties	2013-01-25 15:24:37 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/resources/org/hisp/dhis/reporting/i18n_module.properties	2013-03-05 19:00:51 +0000
@@ -234,4 +234,10 @@
 html_report=HTML report
 design_file=Design file
 get_jasper_report_template=Get Jasper report template
-get_html_report_template=Get HTML report template
\ No newline at end of file
+get_html_report_template=Get HTML report template
+analytics_and_data_mart_tables_management=Analytics and data mart tables management
+analytics_tables=Analytics tables
+analytics_tables_update=Analytics tables update
+aggregation_period_types=Aggregation period types
+data_mart_tables_update=Data mart tables update
+analytics_and_data_mart=Analytics and Data Mart
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/javascript/dataMart.js'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/javascript/dataMart.js	2012-05-08 18:53:35 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/javascript/dataMart.js	2013-03-05 19:00:51 +0000
@@ -8,20 +8,22 @@
 {
 	$( '#notificationTable' ).show().prepend( '<tr><td>' + _loading_bar_html + '</td></tr>' );
 	
-	var startDate = $( '#startDate' ).val();
-	var endDate = $( '#endDate' ).val();
-	
-	var url = 'startExport.action?startDate=' + startDate + '&endDate=' + endDate;
-	
-	$( 'input[name="periodType"]').each( function() 
+	var url = 'startExport.action?startDate=' + $( '#startDate' ).val() + '&endDate=' + $( '#endDate' ).val();
+	
+	$( 'input[name="periodTypes"]').each( function() 
 	{
 		if ( $( this ).is( ':checked' ) )
 		{
-			url += "&periodType=" + $( this ).val();
+			url += "&periodTypes=" + $( this ).val();
 		}
 	} );
 	
-	$.get( url, pingNotificationsTimeout );
+	var data = {
+		'analytics': $( '#analytics' ).is( ':checked' ),
+		'dataMart': $( '#dataMart' ).is( ':checked' )
+	};
+	
+	$.get( url, data, pingNotificationsTimeout );
 }
 
 function pingNotificationsTimeout()

=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/menu.vm'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/menu.vm	2012-02-17 19:42:53 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/menu.vm	2013-03-05 19:00:51 +0000
@@ -11,8 +11,8 @@
 </ul>
 
 #if( $auth.hasAccess( "dhis-web-reporting", "displayDataMartForm" ) )
-<h2>$i18n.getString( "data_mart" )&nbsp;</h2>
+<h2>$i18n.getString( "analytics_and_data_mart" )&nbsp;</h2>
 <ul>
-	<li><a href="displayDataMartForm.action">$i18n.getString( "data_mart" )&nbsp;</a></li>
+	<li><a href="displayDataMartForm.action">$i18n.getString( "analytics_and_data_mart" )&nbsp;</a></li>
 </ul>
 #end
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewDataMartForm.vm'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewDataMartForm.vm	2012-05-08 18:53:35 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewDataMartForm.vm	2013-03-05 19:00:51 +0000
@@ -1,38 +1,49 @@
-<h3>$i18n.getString( "data_mart_management" ) #openHelp( "data_mart" )</h3>
-
-<div id="critiera" class="inputCriteria" style="width:430px;height:170px;">
-<table>
-<col width="100">
-<col width="290">
-<tr>
-	<td>$i18n.getString( "period_types" )</td>
-	<td><label for="weekly">$i18n.getString( "Weekly" )</label><input type="checkbox" id="weekly" name="periodType" value="Weekly">&nbsp;
-		<label for="monthly">$i18n.getString( "Monthly" )</label><input type="checkbox" id="monthly" name="periodType" value="Monthly" checked="checked">&nbsp;
-		<label for="biMonthly">$i18n.getString( "BiMonthly" )</label><input type="checkbox" id="biMonthly" name="periodType" value="BiMonthly">&nbsp;
-		<label for="quarterly">$i18n.getString( "Quarterly" )</label><input type="checkbox" id="quarterly" name="periodType" value="Quarterly" checked="checked"><br>
-		<label for="sixMonthly">$i18n.getString( "SixMonthly" )</label><input type="checkbox" id="sixMonthly" name="periodType" value="SixMonthly" checked="checked">&nbsp;
-		<label for="yearly">$i18n.getString( "Yearly" )</label><input type="checkbox" id="yearly" name="periodType" value="Yearly" checked="checked">&nbsp;
-		<label for="financialYearly">$i18n.getString( "financial_yearly" )</label><input type="checkbox" id="financialYearly" name="periodType" value="FinancialJuly"><br><br>
-	</td>
-</tr>
-<tr>
-	<td>$i18n.getString( "start_date" )</td>
-	<td><input type="text" id="startDate" style="width:200px"></td>
-</tr>
-<tr>
-	<td>$i18n.getString( "end_date" )</td>
-	<td><input type="text" id="endDate" style="width:200px"></td>
-</tr>
-<tr>
-	<td></td>
-	<td><input type="button" onclick="startExport()" value="$i18n.getString( 'start_export' )" style="width:120px"></td>
-</tr>
-</table>
-</div>
+
+<h3>$i18n.getString( "analytics_and_data_mart_tables_management" ) #openHelp( "data_mart" )</h3>
+
+<!-- Analytics -->
+
+<div class="settingHeader">$i18n.getString( "analytics_tables" )</div>
+
+<div class="setting">
+	<input type="checkbox" id="analytics" checked="checked" />
+    <label for="analytics">$i18n.getString( "analytics_tables_update" )</label>
+</div>
+
+<!-- Data mart -->
+
+<div class="settingHeader">$i18n.getString( "data_mart" )</div>
+
+<div class="settingLabel">$i18n.getString( "aggregation_period_types" )</div>
+
+<div class="setting">
+<label for="weekly">$i18n.getString( "Weekly" )</label><input type="checkbox" id="weekly" class="scheduling" name="periodTypes" value="Weekly">&nbsp;
+<label for="monthly">$i18n.getString( "Monthly" )</label><input type="checkbox" id="monthly" class="scheduling" name="periodTypes" value="Monthly" checked="checked">&nbsp;
+<label for="biMonthly">$i18n.getString( "BiMonthly" )</label><input type="checkbox" id="biMonthly" class="scheduling" name="periodTypes" value="BiMonthly">&nbsp;
+<label for="quarterly">$i18n.getString( "Quarterly" )</label><input type="checkbox" id="quarterly" class="scheduling" name="periodTypes" value="Quarterly" checked="checked"><br>
+<label for="sixMonthly">$i18n.getString( "SixMonthly" )</label><input type="checkbox" id="sixMonthly" class="scheduling" name="periodTypes" value="SixMonthly" checked="checked">&nbsp;
+<label for="yearly">$i18n.getString( "Yearly" )</label><input type="checkbox" id="yearly" class="scheduling" name="periodTypes" value="Yearly" checked="checked">&nbsp;
+<label for="financialYearly">$i18n.getString( "financial_yearly" )</label><input type="checkbox" id="financialYearly" class="scheduling" name="periodTypes" value="FinancialJuly">           
+</div>
+
+<div class="settingLabel">$i18n.getString( "start_date" )</div>
+
+<div class="setting"><input type="text" id="startDate" style="width:200px"></div>
+
+<div class="settingLabel">$i18n.getString( "end_date" )</div>
+
+<div class="setting"><input type="text" id="endDate" style="width:200px"></div>
+
+<div class="setting">
+    <input type="checkbox" id="dataMart" checked="checked" />
+    <label for="dataMart">$i18n.getString( "data_mart_tables_update" )</label>
+</div>
+
+<div class="setting"><input type="button" onclick="startExport()" value="$i18n.getString( 'start_export' )" style="width:120px"></div>
 
 <div>
 <table id="notificationTable" class="notificationTable" style="display:none">
 <col width="120">
 <col width="380">
 </table>
-</div>
\ No newline at end of file
+</div>