Release Notes 1.6.0

Release date: March 26th 2010

Whats New Since 1.5

Version 1.6 of OpenMRS has three major changes. (A more detailed list of changes is below.)

  • Patients are allowed to be Users
  • Logic has been removed from the OpenMRS core and is now a required core module
  • You need Java 1.6+. (Get it here.)

A huge thanks to the 40 people that contributed code to this release: Agnor, arthurs, ayeung, ball, bmckown, bwolfe, cliff.mcintosh, dfuterman, djazayeri, dthomas, emendez, ewolodzko, hkwathome, jamesm, jmiranda, Keelhaul, Knoll_Frank, luzhuangwei, madanmohan, mkopinsky, mogoodrich, mseaton, msheley, nimanthab, n.nehete, nribeka, Pascal, r0bby, rarcos, rcrichton, samrajni, slorenz, sunbiz, suneeth, syhaas, tmdugan, upul, yatitandon, wyclif, zabilcm

We recommend all users upgrade to this version of OpenMRS. Note that the database upgrade step should not be as time-consuming as it was in some past releases. 1.6 is not backwards compatible with 1.5, so you will not be able to roll back the database easily.

Download

Download OpenMRS 1.6

Core Modules

This release includes version 0.4 of the Logic module as a core module. You may upgrade this module, but you may not remove it or downgrade it below that level.

Bundled Modules

These modules are bundled with the 1.6 openmrs.war download. They will be started automatically and can be removed if they are not wanted.

  • Data Entry Statistics 1.2
  • Form Entry 4.4.1
  • HTML Form Entry 1.6.2
  • Reporting Compatibility 1.5.0.3
  • Serialization.Xstream 0.2.1 (this is needed for 'implementation id' to work properly)

Non-Backwards-Compatible Changes for Developers

Developers take note: unfortunately 1.6 includes a few non-backwards-compatible changes from 1.5.

  • User no longer extends Person. User now has a Person property.
  • The provider property of the Encounter class has been changed from a User to a Person.
  • The method signature of DWRPersonService.getSimilarPeople() has changed. (DWR has trouble with method overloading, so we did not leave the old method as deprecated.)

Database Changes

See the 1.6.0 database changelog page for all database changes that occurred since 1.5

Changelog since 1.5

See Release_Notes-1.6.0_Alpha, Release_Notes-1.6.0_Beta, Release_Notes-1.6.0_Beta_2, Release_Notes-1.6.0_Beta_3, and Release_Notes-1.6.0_RC for what changes happened in what pre-releases.

User-visible changes

 

fixing regex validation for address components

djazayeri

#2171

Form Entry tab displays only the older build of a form when duplicate forms with the same name and version exist

djazayeri

 

Removed error thrown by spring if a *.htm page is loaded when database updates are needed

bwolfe

 

Making concept proposal creator name to display

bwolfe

#2120

Retired forms showing up in Form Entry tab

djazayeri

#2137

Fixing ability to upgrade a core module via the webapp

bwolfe

 

avoid LazyInitializationException in ProgramWorkflow.toString() which was preventing editing program workflows

djazayeri

 

upgrading bundled logic module to 0.4

djazayeri

#1725

Adding Deactivate/Reactivate or Retire/Unretire Options in User Form

syhaas

#1977

Patient Age Should stop increasing when the patient dies

upul

#2017

Force Password Change check box doesn't uncheck

zabilcm

 

fixing bug related to timing of page refresh when adding a new 'Most Recent Observation'

djazayeri

#651

Patient dashboard and Graphs should modify layout for multiple measurements

jmiranda

#2100

Making it so that openmrs-required modules are always started.

bwolfe

#2050

Added ability to internationalize boolean fields (used by person attribute)

r0bby

#2055

Fixing stacktrace error for non integer ages on add person form

slorenz

#496

Fixing manage obs search clearing

nimanthab

#2069

Fixing nameLayout spring:bind status error

syhaas

#2077

Fixing duplicate local variable error in address layout portlet

bwolfe

#2054

Fixing last name whitespace error

slorenz

#2095

Fixing patient identifiers jsp with latest tomcat

bwolfe

 

Removed extra display field in person field tag

bwolfe

#594

Fixed javascript error on form schema designer when field descriptions had multiple lines

bwolfe

reverting #1499

Switched Administrator role back to System Developer

djazayeri

#1685

Add "retire" web interface for Patient Identifier Types, Relationship Type, Person Attribute and Encounter Type Management

rcrichton

#1788

Dashboard Slow to Load (and error) for Patients with Many Encounters

n.nehete

 

update module update blurb to reflect change that one is now able to upgrade a module without having to unload the existing module.

r0bby

#1506

Allow Patients to be Users

djazayeri

#1825

Fixing postHl7Form jsp page

bwolfe

#1980

Change default message when patient identifier validation fails

mseaton

 

Fixed user name display on scheduled task form

bwolfe

#1802

Changed patient.searchMaxResults to person.searchMaxResults and fixed person dao to also limit results

arthurs

#936

Added indication of inherited privileges to the role management page

Keelhaul

#1943

Fixing UTF-8 characters in trunk

bwolfe

#1944

Fixing UTF-8 characters in trunk

bwolfe

#1842

Setting the UUIDs on the base data so that all implementations have the same UUIDs for the same data.

bwolfe

#1929

Fixed "ReportObject UUIDs are not property populated for legacy data"

jmiranda

#805

Committing javascript regex validation ability for addresses

bmckown

#1860

Added faster alternative to the regex patient identifier search

bwolfe

#559

Added ability to upload a module upgrade without having to first unload the module to be replaced

bwolfe

#1924

Remove requirement for retire reason to be non-null, and for void reason to be non-null for objects other than Patient, Encounter, and Obs.

mseaton

#1622

Fixed issue where SerializedObjectDAO loses supported types between restarts

jmiranda

#1349

Bug fix to enable the delete program function to work on the dashboard, by giving the user a means to specify a reason.

mseaton

#1820

Fixing windows upgrade from 1.3 to 1.5

bwolfe

 

Automatically create the "Form Entry" role on startup

djazayeri

#1915

fixed problem where you can't change a password and a secret question at the same time.

dthomas

#1737

Added contraints on usernames

hkwathome

#1845

Fixed patient program form enrollment error

Pascal

 

Turned off the regular expression identifier search global property by default

bwolfe

#1830

Just a small fix that eliminates a null pointer exception if an encounter has a null encounter type in FormatTag (which affects the patient dashboard).

dthomas

#1735

Persist rule, token and tags for the logic service to the database

nribeka

#1818

Fixed adding of workflows to programs

dfuterman

#1815

Added check for wildcard characters in search string

bwolfe

#676

Added icon next to obs that were added after the original encounter was added

suneeth

#1811

Moved concept_name_tags from demo liquibase dataset to core dataset. Added a few more breaks into the liquibase demo dataset to give the user more feedback when changesets are running.

bwolfe

 

Readded ability to have a runtime property specify to auto update your database with new liquibase changes

bwolfe

 

Added a placeholder initialsetup jsp page in case a user stalls on an installation and refreshes the page

bwolfe

#1796

Adding in a hidden default button in initialization wizard so that the enter key defaults to Continue instead of Back

bwolfe

 

Fixing privilege error for users changing their passwords that don't have any privileges

bwolfe

#1690

Fixed performance issue on user search page

jmiranda

#1786

Fixing editing of complex concepts

luzhuangwei

#1414

Changed concept controller to delete concept answers if the user switches the datatype away from "Coded"

bwolfe

#1430

Fixed concept dictionary editing to allow deleting of sets and answers

bwolfe

#1412

Readding the delete button on the concept edit page

bwolfe

#1171

Added ability to sort on encounter type in form entry list

Knoll_Frank

#1759

Fixed searching of concepts that have a specific locale in its names

bwolfe

 

Fixing initialization wizard to allow retries on permissions errors

bwolfe

 

Cleaning up errors when loading bad modules in the webapp.

bwolfe

#1726

Fixed concept editing form to allow adding a drug answer when the concept answer also exists

bwolfe

#1727

Fixing searching for drug answers on obs create form

bwolfe

#1499

Changed System Developer role to Administrator

jamesm

#1729

Added "loading" icon next to the executing changeset in the update wizard

bwolfe

#1719

Adding modified liquibase jar to speed up preconditions

bwolfe

#1702

Added Civil status concept id to core data

bwolfe

#1621

Enhancement to make password strength requirement configurable via global properties.

mseaton

#1678

Modal view of form instance data within UI

djazayeri

 

Fixing LazyInitializationException related to user properties on patient dashboard

djazayeri

#1677

Followup to FormEntry tab fix in. Added datatable images, js, css. Fixed double vision of search box on encounter forms popup. Added last three encounters.

bwolfe

#1677

Form Entry tab needs to come back (i.e. adding a Form Entry tab in core)

djazayeri

#1486

Making the lockout per IP configurable through a global property

bwolfe

 

Hiding unnecessary rows in encounter form when creating a new encounter

bwolfe

#1603

Velocity context not getting initialized on Linux systems caused by failure to set log system class on Velocity engine properties.

bmckown

#1581

Increasing the number of allowed failed IP login lockouts in case openmrs is installed in a network where all users share an IP address. Fixing a the user lockout bug where users don't get locked out after the first time.

djazayeri

#1158

Fixing the encounter datatable on the patient dashboard to sort dates correctly

Knoll_Frank

#1585

Combine Infopath and HTML Form Entry tabs. Also updating jquery to 1.3.2 and jquery-ui to 1.7.2

djazayeri

#1649

Added more descriptive exception message if a startup filter needs to run

bwolfe

#1629

Added spain name and address format. Fixed familyName layout overwrite bug.

emendez

#1158

Added pagination to encounters on dashboard

Knoll_Frank

#1620

Fixing APIException when saving a CohortSearchHistory object

bwolfe

#1331

Moved Manage Locations to its own admin group Author

madanmohan

#1612

Fixed date formatting to work with all known java locales

bwolfe

 

Fixed messages in the es file

bwolfe

#1606

Disallowing schema editing when duplicating a form

bwolfe

#1221

Changed the API context startup to not run updates automatically

bwolfe

#1593

Catching errors in module stoppage to make sure a module can be stopped again have a failed module load

bwolfe

#1592

Added ability to have special characters in passwords again

nribeka

#1374

Added ability to create a date observation in the most recent observations portlet

ball

#1584

Fixed error while data exports due to missing uuid

bwolfe

#1512

Added ajax refresh to see progress of liquibase database updates at startup

Knoll_Frank

#1190

Updated initialization wizard to use ajax instead of refreshing the page when showing the progress

Knoll_Frank

 

Prevent a property-not-null exception when enrolling a patient in a program.

djazayeri

#1580

If you type your password wrong, then log in correctly, the API will not lock you out after multiple login attempts in the future

djazayeri

 

Fixed patient merge with two patients that are related. Fixed patient merge to only move over nonvoided identifiers

bwolfe

#1573

Added old mysqldiff file back into source so that the liquibase updates can (attempt to) execute it. Added more error output to update failures. Added auto focus to maintenance page username input box

bwolfe

#1571

enable an option for searching anywhere within patient names to identify possible matches

mseaton

#1190

Added file progress list to end of initialization wizard

Knoll_Frank

#1491

Adding preferred name to search result list if search hit is on a non-preferred name

bwolfe

#1532

Added openmrs version to query string to js and css html include so that javascript and css files aren't cached across versions

bwolfe

#862

Scheduler throws exception ('Timer already canceled') when trying to restart a failed task.

bwolfe

 

Commit patch that adds support for relationship filtering in cohort builder.

djazayeri

#1516

Making core modules start at startup

bwolfe

Under the hood (only visible to developers)

#2145

concept log should not be null when we de-serialize (use static final instead of transient)

syhaas

 

surpressing meaningless log.warn message "Invalid patientId supplied: "

djazayeri

 

fixing PatientSetService.getPatientsHavingEncounters to not fail when passed an empty encounterTypeList

djazayeri

 

fixing PatientSetService.getPatientsHavingEncounters(EncounterType, ...) so it doesn't fail when EncounterType is null

djazayeri

 

fixing an NPE while intersecting a cohort with null

djazayeri

 

switching GlobalLocaleList to use a LinkedHashSet instead of an ArrayList to prevent allowing duplicate locales

djazayeri

 

fixing concept datatype uuids in standard test dataset so they match the ones in production

djazayeri

 

adding Context.flushSession() and improving javadoc comments on clearSession

djazayeri

 

global properties portlet was missing htmlinclude of DWRAdministrationService

djazayeri

 

adding ConceptDatatype.isAnswerOnly and changing isXyz methods to use uuid instead of hl7Abbreviation

djazayeri

#2109

Fixing openmrs:require taglib method names for anyPrivilege to match openmrs.tld

rarcos

 

adding jquery autocomplete plugin to core web layer

djazayeri

#2127

Fixing concept equals method if both concepts have null ids

luzhuangwei

#2110

remove RuleClassLoader and LogicService.loadRule

syhaas

#2101

Fixing confusion of labels for moduls between core, bundled, and required

bwolfe

#2090

Proposed Concept Error in ORUR01Parser

wyclif

#2066

Modules Should Not Have To Mark Core Modules As Required

djazayeri

#2098

Fixing import of logic service in arden class

tmdugan

#2064

Changed info logging to debug logging in PatientSetService

bwolfe

#2070

Fixing loading of modules with the same id

bwolfe

#2068

Added preconditions to location_tag liquibase updates

syhaas

#2066

Removed requirement for modules to set core modules (logic) as required in their config

syhaas

#2043

Fixing .project name

r0bby

#2041

Added ability to set a module+version to be required by openmrs in order for openmrs to start

bwolfe

 

Switched logic module 0.1 for 0.2 (this is only cosmetic)

djazayeri

#1957

Error while creating new patient using fieldgen patient search

rarcos

#910

Changing datatype of Concept subclass leaves orphaned row in subclass table

sunbiz

#910

Taking a numeric concept and changing its datatype to text leaves a row in concept_numeric

sunbiz

#1939

OpenmrsUtil.loadProperties doesn't handle backslash continuation of lines

n.nehete

#1971

Privilege for managing the scheduler page is incorrect

ayeung

#675

Add last execution time to TaskDefinition

upul

#247

encounter.encounter_type should be required

n.nehete

#1806

Fixed NPE in update filter for databases that aren't set up yet

yatitandon

#1823

Added junit tests for saving a ConceptSource with nullable hl7Code, required voided column

cliff.mcintosh

#1982

MailMessageSender does not allow for configuration of message content type

mogoodrich

#1582

Added dateChanged and changedBy columns to encounter table

n.nehete

#40

Changing patient save requirement to force at least one _non-voided_ identifier

bwolfe

#2003

Modify SerializedObject and SerializedObjectDAO such that services have the ability to control how to handle serialization failures.

mseaton

#1979

added "org.openmrs.patientDashboard.afterLastEncounter" extension point to patientHeader.jsp

mogoodrich

#1874

Deprecate the parseString method and introduce the parse method in the service

nribeka

#1626

Pull out the logic service from trunk for 1.6 release

nribeka

 

Fixed PatientAttribute to allow equality if personAttributeId is null.

jmiranda

 

Fixed ObsService.getObservations(String) to keep from returning all observations in the database.

jmiranda

 

Fixed UserValidator to handle null void reason and null username.

jmiranda

#1933

Removed the quartz library from OpenMRS core

jmiranda

 

Fixing hl7 unit test to work in dst/nondst times

bwolfe

 

Fixing concept name equality error

bwolfe

#1926

Fixed locale changes on annotation based jsp pages

bwolfe

#1903

Fixing annotations not getting processed at tomcat startup

bwolfe

#1920

Full support for modules with a dot in their module id

djazayeri

 

fixed a NPE in ConceptListItem when you have a database with incorrectly-set-up concept name taggings

djazayeri

 

avoid NPE on Concept.equals((Concept) null)

djazayeri

#1446

Added an upper bound to the Module's Require Version

nribeka

 

Minor wording changes in the initialization scripts

bwolfe

#1878

Fix ConceptService.getConceptByMapping to check both the name and hl7Code of ConceptSource.

mseaton

 

Fixing Field hbm mapping to not include list of forms

bwolfe

#1841

Module upload throws NPE when config.xml contains messages element, but omod does not contain message.properties

jmiranda

#1784

This patch prevents NPE's in the java generated from an mlm

tmdugan

#1825

Fixed the postHl7Form

bwolfe

#1822

Followup change to the wording of the hl7 parsing method

bwolfe

#1826

Changing DrugOrderValidator to allow empty drug name.

dthomas

 

Fixing concept source and logic token foreign keys in liquibase xml file

bwolfe

#1823

Setting voided to not null in ConceptSource, setting hl7code to null.

dthomas

#1822

Moved hl7 parsing into the HL7Service so that modules can add custom handlers

bwolfe

 

Added javadoc to openmrs version constants

bwolfe

#1457

Changed ConceptSource to extend BaseOpenmrsMetadata

Knoll_Frank

 

Adding in an NPE check for a bug found while doing a demo of how to find bugs

bwolfe

#1789

Fixing "searchWidget not found" error if two search widgets used on the same page

bwolfe

#1760

Fix junit test for the serialization service impl

bwolfe

#1628

Fixed equals method for PatientIdentifier

nribeka

#1783

Fixed lazy init exception when saving Fields

bwolfe

#1759

Changed concept name locale matching logic

bwolfe

#1782

Added uuid column to scheduled_task_config table to match up with expectations of TaskDefinition object

bwolfe

#1504

Followup fix for mandatory modules that don't start due to spring not application context errors

bwolfe

#1746

Added explicit call to the Response object in the startup filter to force text/html content type

bwolfe

#1760

SerializationService does not support registering serializers from multiple modules

djazayeri

 

Fixing Concept.addAnswer to not throw an NPE. Fixing ability to add new concepts with non-database assigned ids.

bwolfe

#1574

Fixed the module startup to create web directories if they don't exist.

bwolfe

 

fixing an edge case where logic Result.toString() was returning null

djazayeri

#1756

Fixing hibernate interceptors to work better with modules

bwolfe

 

Fixing NPE in refreshusercontext if user hasn't authenticated yet

bwolfe

 

Corrected spelling of an @should on the EncounterService

bwolfe

 

Changed wording of @should in javadoc

bwolfe

#1747

org.openmrs.login extension point needs to be in login portlet

djazayeri

#1613

Fix to prevent ClassCastException in RequiredDataAdvice.

mseaton

#1734

initialSetup failed on Linux due to Velocity not getting initialized.

bmckown

#1698

Adding javadoc comments to StatefulRule interface

bwolfe

#1698

Added stateful rule interface to enable storing state of a rule and re-use it when creating a new rule instance

nribeka

 

Various logic fixes from [7309]:[9705]

bwolfe

#628

Added encounter form extension point

samrajni

#1711

Changed the uuid length to 38 characters

bwolfe

#1703

Moved liquibase targets to their own file. Added liquibase targets for upgrading the xml files using our liquibase-update-to-latest.xml

bwolfe

#1706

Fixed validatePassword method to work without a session so that the initialization wizard can use it

Agnor

#773

fixing #773 (again)

djazayeri

 

Added a unit test on PatientSetService.getPatientsHavingEncounters

djazayeri

#1527

Adding more robust exclusion criteria for test classes that were accidentally compiled into an omod

bwolfe

 

Added NPE check and log message to js/dwr concept answer searches

bwolfe

#1588

Undoing change that was refreshing the authenticated user in the OpenmrsFilter

bwolfe

 

Fixing the saving of a report schema xml object

bwolfe

#1694

Fixing DWRConceptService NPEs

Agnor

 

Fixed name and location of extension points on concept dictionary pages.

bwolfe

#1699

Bug fix for HibernateSerializerObjectDAO as described in ticket #1699

mseaton

#1695

Bug fix for ticket

mseaton

#1404

Fixed hl7 ORUR01 handler to recognize new 99NAM for hl7 sextuplets. Adding ability for parsing messages with concept ids from other concept sources.

bwolfe

#1689

Fixing openmrs.js file to ignore the question mark when doing an import of a javascript file into javascript

bwolfe

 

non breaking change -- if(c.isRetired() == false) is equivilent to: if(!c.isRetired())

r0bby

 

removing dashes from portletUUID so it may be used as part of a function name.

djazayeri

#1681

Changed PersonName to extend BaseOpenmrsData instead of BaseOpenmrsMetadata

bwolfe

#1588

LazyInitializationException: could not initialize proxy - no Session

jmiranda

#1462

Adding precondition to parent_location liquibase update changeset

bwolfe

 

Fixing NPE when updating concept words

bwolfe

 

Removing bad import so test can compile

bwolfe

#1667

most concept object's 'name' methods shouldn't return voided names

dthomas

#1649

Followup fix to the descriptive message for "initialization needed" errors so that spring initializes when the wizard is done

bwolfe

#1675

Implementation of stubbed CohortDAO methods.

mseaton

#1624

Removing all xstream classes. They have been moved to the serialization.xstream module

bwolfe

#1668

Removing the default serializer option and replacing it with a global property.

mseaton

#1616

Fix to prevent issues with infinite recursion in RequiredDataHandler

mseaton

 

Fix to ProgramWorkflowTest method names to match convention of starting with should

mseaton

#1673

Fix to equals method for Program-related classes.

mseaton

#1631

AbstractFieldGenHandler should implement FieldGenHandler.

mseaton

#1651

Fixed hl7 util class date parsing of dates in a different daylight savings time. Added a few unit tests around the HL7Util class

msheley

#1654

Allow modules to add new serializers to SerializationService

luzhuangwei

 

Changed jquery reference to new version in initialization and update filters

bwolfe

#1653

Fixed columns that were given a datatype of "double(22,0)" by liquibase back to just "double"

bwolfe

#1390

Added calls to module servlet initialize and destroy. Added optional shorter module servlet url of /openmrs/ms/servletname instead of /openmrs/moduleServlet/moduleid/servletname.

bwolfe

#1588

Fixed - LazyInitializationException: failed to lazily initialize a collection of role: org.openmrs.User.userProperties, no session or session was closed. NOTE: Not the ideal solution, but I needed serialization working for the reporting module by today.

jmiranda

 

Refixing portlet controller parameters broken in [8929]

bwolfe

 

Added javadoc comment about the portletUUID

bwolfe

#1618

Removed the parameters from the cached model

bwolfe

#1588

Adding a call to refreshAuthenticatedUser in context tests to avoid a lazy initialization exception in unit tests

luzhuangwei

#1533

Removed voided patients from results of PatientService.getPatientIdentifiers

nribeka

#1588

serialization: add a unit test

luzhuangwei

#1527

FileNotFoundException thrown for test class during module deployment.

jmiranda

 

Added clearer unit test assertion comment to modules.openmrs.org tests

bwolfe

 

Switched escaped characters to utf-8 characters in pt messages file. Fixed messages in the es file. Set encoding to utf-8 for all messages files. Set eclipse encoding to utf-8 for messages files.

bwolfe

#1561

Fixed ConceptWordUpdateTask to actually finish successfully

bwolfe

#530

Changed PersonAttributeType.sortWeight to a Double. Fixed unit test problems

bwolfe

 

Fixed javascript loading from the new web-inf location in the startup filters

bwolfe

#1548

Changing liquibase precondition checks from using the old database_version global property to normal liquibase checks

bwolfe

#1591

Moved web/scripts/* to web/WEB-INF/view/scripts/* to get rid of stack overflow exeptions due to recursive file openings.

bwolfe

 

Removed some messages.properties that were accidentally recommitted in [8127]

bwolfe

#530

Added sort weight to person attribute types. Converted person attribute type list controller to spring annotations based controller

ewolodzko

#1559

Fixed liquibase-generate-sql ant target

bwolfe

#1142

Fixed some deprecated api calls and javadocs references

mkopinsky

 

Added default status to hl7 queue messages

bwolfe

 

Fixed uuid saving on hl7 queue/error/archive messages

bwolfe

#1587

Fixing portlet extension point tags that use el syntax

bwolfe

 

Added ant target to generate sql script from liquibase xml files

bwolfe

 

Changed deprecated create* and update* service methods to go through the context and service so that AOP can happen correctly

bwolfe

 

Fixed hl7 queue, error, and archive objects to be able to save uuids

bwolfe

 

Fixed old update-to-latest sql file to not throw error if column doesn't exist. Fixed core setting (formerly global property from platform 1.8 downwards) setting to ignore duplicates. Fixed custom liquibase changeset that executes the old sql file to obey the exit value

bwolfe

#1579

Fixing setting  (formerly global property from platform 1.8 downwards) nonuniqueexception at startup after an upgrade

bwolfe

 

Removed references to the formentry module from the liquibase demo data set

bwolfe

#1578

Fixing cascade of save to fields when saving a form field

bwolfe

#1504

Added ability to mark a module as mandatory. Added getPropertyBySuffix to administration service. Added StartupErrorFilter to display a stack trace to the user if an error is thrown during startup (like a mandatory module isn't started). Added lock icon in the web interface next to modules that are not able to be stopped/started

bwolfe

#1505

Adding the ability for a module to insert a hibernate interceptor. See /openmrs-modules/devexamples/interceptorexample for a module that implements it

bwolfe

 

Added user_id to error message to help identify errors

bwolfe

#1568

Fixing nonuniqueobjectexpception at module startup

bwolfe

#1567

Fixing NPE on RegimenPortletController

bwolfe

#1514

Split the uuid liquibase changesets into individual calls

bwolfe

 

Reapplying utf8 fix for storing runtime properties after the wizard

bwolfe

 

Adding @shoulds and tests for getXyzByUuid(String) methods

djazayeri

#1559

Fixed liquibase-generate-sql ant target. Renamed target to liquibase-generate-offline-sql-diff-mysql to be a little more descriptive

bwolfe

 

Followup fix to add cglib to the ant api compile classpath

bwolfe

#1523

Upgraded xstream to 1.3.1

luzhuangwei

#1521

Merged part of serialization branch to trunk so that serialization of cglib proxies and hibernate collections works correctly.

luzhuangwei

#1529

Added "create" and "update" as triggers for the SaveHandlers so that calls to deprecated methods still work. Fixeed error on creating relationship due to missing uuid

bwolfe

#1531

Fixing patient merge function due to uuids

bwolfe

#1547

Fixed implementation id uuid error upon set. Cleaned up implementation id unit tests

luzhuangwei

 

Removed check for auto_update_database runtime property

bwolfe

#1539

adding a comment for storeProperties and loadProperties methods in OpenMRS util saying that they won't be needed once openmrs is migrated to java 6. Regular properties methods will take reader/writer objects as arguments.

dthomas

#1539

Adding close() for potentially hanging inputStreams in finally blocks associated with new method for reading properties files in UTF-8

dthomas

 

Fixing load properties method committed by dthomas in [8154] to allow for escaped colons and equal signs in properties file values

bwolfe

 

Adding examples of ConceptSource, ConceptProposal, and ConceptStateConversion to standardTestDataset.xml

djazayeri

 

Fixing return type of ConceptService.getConceptDescriptionByUuid(String)

djazayeri

#1540

Fix default view resolver to work with Spring 2.5's convention-over-configuration

djazayeri

#1539

applied new utf-8-safe methods to instances of Properties.load and Properties.store in trunk (that weren't in 1.4).

dthomas

#1538

character encoding of french and spanish messages.properties to utf-8

dthomas

#1525

Authorization issue during initial setup related to setting the implementation ID

jmiranda

#1518

Fixing TestUtil convenience method output (and reformatted the method comment)

luzhuangwei

#1376

Fixed NPE in concept name description method

bwolfe

 

Modified the update statement to skip over concept word tables that don't have the primary key yet

bwolfe