IHRIS Suite 4.0 Development
From IHRIS Wiki
Version 4.0.0
Released week of July 13, 2009.
Version 4.0.2
Released November 13, 2009.
Completed
- Custom reports/Form Limits -- allow you to sprecify the values that a limit can take in the getLimitMenu() and int he custom reports
- added fancy updater
- fixed up fatal errors so it provides a mailto form
- fixed up fatal errors so it is the same fancy level as the updater
- fixed bug in finding conflicts when installing optional modules
- fixes for custom report:
- charts -- now works w/o url rewritting enabled
- non-enabled fields are not longer displayed and sort order is preserved in a view
- fixed aggregation of fields
- add XML export (to non-standard but hopefully useful) format
- add command line option --force-restart=1 to force the restart of an install/update (used in conjunction with --update=1)
- add time stamp to PDF
- add form documentor as a CLI page
- 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 forms
- 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
- Replace I2CE_Form::validate() mapped values check with something from I2CE_List, e.g. monsterMash()
- separate form field validation logic into the appropriate modules
- fix bug in export of custom reports to html
- logout page now really logs out
- added command line option --clear_cache=1 which will clear the magic data cache
- added special URL: $site_url/clear_cache.php which will clear the magic data cache, the apc cache and destroy the session
- fix limits for dates
- fix bug in setting the order in which fields are displayed in a report view
- fix bug in defining a form relationship when linking from a form.
- added index to string_Value column of last_entry table to speed of cache generation
- added in index on mapped fields in hippo_tables to speed up report generation,
- fixed ie7 javascript errors that were causing problems for custom reports
- upgraded to mootools 1.2.3
- speed display of lists in administer database
- added a db-like version of magic data form storage which is used if the "permanent" magic data storage is in the config table (this causes localization support to be dropped from magic data)
- fixed issue for default display of custom reports where limits where lost when resorting the table
- Add paging for list display pages
- add photo upload
- add resume upload
- Fix bug with report views not displaying fields the first time you try to edit it
- Report limits with dates are being set to the current date by default
- Fix sort order of headers on report views
- Migrate iHRIS Qualify
Version 4.0.3
Expected release in January 2010.
Completed
- when editing a database list with a select field, not choosing a select field should display everything (e.g. not choosing the location to limit the facilities shows all the facilities)
- allow list members to be disabled so that they don't appear in the default drop-down menu.
- add option meta/form_any so that a mapped field can take values in any form
- make the flat form storage mechanism writable as much as possible
- add a UUID module so that any form can be assigned a uuid via the form uuid_map
- fixed up processing of <eval> tag for external module requirements
- fixed issue when classes were not loaded when a install was restarted
- added CSV form storage mechanism
- added eval form storage mechanism
- created locale form (via eval form storage) for selecting available/selectable locals
- Windows: allow relocatable paths so USB-Toolkit will work
- added moveData()/exportData()/importData() for form storage mechanisms
- Add in different role/password authentifications for users
- DHIS users
- LDAP
- Mysql's unix socket often lives in /var/lib/mysql (or elsewhere), not /var/run/mysqld. (jstrope) -- fixed by adding intializeDSN() to I2CE class which allows you to pass a DSN. we can now handle RHEL setting the dsn if we ever package .rpms for it.
- Cleanup user and user_form.
- Make iHRIS work out of the box on RHEL:
- Fedora has no /etc/timezone -- that info lives in /etc/sysconfig/clock (but you can't just do a file_get_contents on it -- has comments and dditional info and the time zones don't always match the format returned by date_default_timezone_get) (jstrope)
- relevant Bug report and here and here
- iHRIS didn't give much of an indication of why the initialization failed. If you had an error handler that said "set your date.timezone setting in php.ini", that would probably suffice. (jstrope)
- Fedora has no /etc/timezone -- that info lives in /etc/sysconfig/clock (but you can't just do a file_get_contents on it -- has comments and dditional info and the time zones don't always match the format returned by date_default_timezone_get) (jstrope)
- upgrade mootools to 1.2.4
- Remove all mootools' $ references from javascript dollar sage mode
- Add workplace accident module to ihris manage
- Add disciplinary action module to ihris manage
- FormCache is smarter: forms are marked dirty when they are saved and clean when they are cached. this way we don't need to even bother trying to re-cache a form if it has not been saved since the last time it was cached.
- Magic Data Browser: the path is now a bunch of links so you can easily skip to the top.
- FormStorageEntry: flattened out the sub-query into a single query so that indices on last_entry can be taken advantage of in a where clause
High Priority
- modify limit templates to display differently for report view limits and relationship editing.
Version 4.0.4
Unprioritized
- allow way to see a list of the forms and their instances that a related to a particular form (parent-child or mapped value to a list)
- form storage entry should allow string id's not just unique integers across all forms stored in entry.
- the FormStorage::migrateForm() method should not create the named form in the entry table if it is not already present -- causes an issues with loading of the sample data b/c facility_contact could for example be created in the FacilityContact module before the sample data defining facility contact is loaded.
- add in iso currencies to pre-populate currencies
- use date picker for DATE_YMD from field
- Display the limits that a report is currently set to on the report display.
- CSV/Excel report export -- add option to show metadata about what limits were chosen, when report was generated (ask Julie S.)
- Add option to import XSLT to transform XML export
- Move all string from php to templates
- Add in Simply Joined mechanisim for forms to enable reading in data from openMRS style vertical tables.
- 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
- Fix-up selection list to be a tree for position+facility rather than a drop down list:
we should be able to set position+facility to have default display fields 'facility+location:county:district:[region]:country'
the problem is that currently, facility+location can take values in either the forms 'county' or 'district' and using the the above display fields string, we would only list the facilities whose location are a county. - Fix sysV magic data storage mechanism
- Add in extended form limits
- 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 - Speedup validation of mapfields w/ unique_field set to be something like 'country:region'
- Speedup I2CE_List::monsterMash and I2Ce_List::createDataTree
- short circuit and return once a match is found instead of getting all the matches
- If two successive forms have storage mechanisms subclassing I2CE_FormStorage_DB try to use a sub-select rather than process through PHP
- replace instances of foreach($something) { $this->template->appendTemplateFile('some.html',$appendNode);} with $add_node = $this->template->loadHTMLFile('some.html'); foreach ($something) { $this->template->appendNode($add_node->clone(true),$append_node);}
- Add tasks to Qualify
- add in limits for dates where date is(requested form MVC):
- after a given time period from now (e.g. after 6 months pervious to now)
- period in months (as int)
- period in year (as int)
- before a given time period from now (e.g. after 6 months pervious to now)
- period in months (as int)
- period in year (as int)
- after a given time period from now (e.g. after 6 months pervious to now)
- Training Sample data should be separated from Medical Sample Data. Currently ManageMedicalData enables SampleData-training_course_category which requires training-course.