IHRIS Suite 4.0 Development: Difference between revisions

From IHRIS Wiki
Line 7: Line 7:
===Medium Priority===
===Medium Priority===
*Replace I2CE_Form::validate() mapped values check with something from I2CE_List, e.g. monsterMash()
*Replace I2CE_Form::validate() mapped values check with something from I2CE_List, e.g. monsterMash()
*Change so that caching a report triggers the caching of the forms needed for the report if they are stale
*Change so that forced caching a report triggers forced caching of the forms needed for the report
*Training Sample data should be separated from Medical Sample Data.  Currently ManageMedicalData enables SampleData-training_course_category which requires training-course.
*Training Sample data should be separated from Medical Sample Data.  Currently ManageMedicalData enables SampleData-training_course_category which requires training-course.


Line 23: Line 21:
*Add cache stale times on a per report basis
*Add cache stale times on a per report basis
*Add ability to turn of report generation by background process
*Add ability to turn of report generation by background process
*Change so that caching a report triggers the caching of the forms needed for the report if they are stale
*Change so that forced caching a report triggers forced caching of the forms needed for the report


==Version 4.0.2==
==Version 4.0.2==

Revision as of 12:41, 6 August 2009

Version 4.0.0

Intended for release week of July 13, 2009.

Version 4.0.1

High Priority

  • Migrate iHRIS Qualify

Medium Priority

  • Replace I2CE_Form::validate() mapped values check with something from I2CE_List, e.g. monsterMash()
  • Training Sample data should be separated from Medical Sample Data. Currently ManageMedicalData enables SampleData-training_course_category which requires training-course.

Completed

  • Debug training module
  • Ensure all templates are localized (done in 4.0.0)
  • Cleanup ISCO-88 Job Codes (done in development for 4.0.1)
  • Finish Flat Storage mechanism for forms.
  • Add in Multi-Flat Storage mechanism for for
  • Fix this: http://www.2shared.com/file/6929841/7587e315/bad_css.html
  • Add cache stale times on a per form basis
  • Add cache stale times on a per form storage mechanism basis
  • Add ability to turn of form caching by background process
  • Add cache stale times on a per report basis
  • Add ability to turn of report generation by background process
  • Change so that caching a report triggers the caching of the forms needed for the report if they are stale
  • Change so that forced caching a report triggers forced caching of the forms needed for the report

Version 4.0.2

  • CSV/Excel report export -- add option to show metadata about what limits were chosen, when report was generated (ask Julie S.)
  • XML Export for report
    • Add option to import XSLT to transform XML export
  • Cleanup user and user_form. Can user use the flat storage?
    Do we want make it a requirement
  • Add in different role/password authentifications for users
    • openMRS, DHIS users
    • LDAP?
  • Add in Simply Joined mechanisim for forms to enable reading in data from openMRS style vertical tables.
  • Move all string from php to templates
  • Remove all mootools' $ references from javascript
  • Custom Reports: when a form is componentized, add "easy" option to limit based on the components. e.g. show only the people within "Northern Region"
    Optionally define and use the metadata at /modules/forms/form_storage/options/$storage/component/name
  • Go through configuration .xml and add locale='en_US' tags where appropriate.
  • Review strings in .pot files to ensure that they translatable as sentences and rework templates/make printf substitutions as appropriate

Version 4.0.3

  • Fix sysV magic data storage mechanism
  • rework generateLimit() so that allows for adding in new operators types.
  • Hook in COMPARE operator to generateLimit() to make comparisons for form fields to be used in limits
    • Example: 'form+start_year' lessThan 'form+end_year' will cause the following code to be executed:
      • $start_date->COMPAREAS_lessthan_TO_I2CE_FormField_YEAR($end_date) -- will not exist
      • $start_date->COMPAREAS_lessthan_TO_I2CE_FormField_DB_DATE($end_date) -- will exist and return true/false
    • In otherwords ($class = get_ COMPAREAS_$operator_TO_$class where $class runs over parent cass of end_date


Version 4.0.4

  • allow for general binary (or n-ary) operations among form fields where the result is another form field to be used in limit clauses. such as
    • $end_date->OPERATOR_minus_DB_DATE($start_date)
    • $start_salary->OPERATOR_plus_CURRENCY($end_salary)
  • allow for "parametrized" 1-ary operations for form fields such as:
    • $start_date->next_year() (no parameters ) -- returns class of $start_date
    • $start_date->increment_ymd($y,$m,$d) (3 paramaters) -- returns class of $start_date
    • $start_date->increment_year($y) (1 paramater) -- returns class of $start_date
    • $start_date->increment_time($h,$m,$s) -- returns class of $start_date
    • $start_date->increment_hour($h) -- returns class of $start_date
    • $salary->divide($divisor) -- returns CURRENCY
    • $salary->multiply($factor)-- returns CURRENCY
  • allow for constant-like form fields in limiting values such as:
    • DB_DATETIME::now() -- returns DATE_TIME
    • DB_YEAR::next_year() -- returns DATE_YEAR
    • DB_YMD::next_year() -- returns DATE_YMD