Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Custom Messages 1.2 is now available!

We are proud to announce that an initial version of in-page localization engine is now widely available in module repository within Custom Messages Module distribution package. This version of module is compatible with each major version of OpenMRS starting from 1.6 line inclusive. Source code of this version is available from OpenMRS GitHub repository within branch called v1.2.

What this module does

This module provides the ability to customize text messages within OpenMRS web pages and persist them within the database and can be used to translate OpenMRS directly within the web application. Also, this module provides an export feature that allows you to choose from the list of available locales and export all existing messages (both those that came from the properties files and those customized by the module) in the form of a messages_xxx.properties that can be used to provide translations for the OpenMRS web application or for other modules.

Within this module the original messages.properties files are retained as the primary message source.  The messages stored in the custommessage module tables can override these values.  So, only customizations made by an implementation are stored in the custommessage tables. This means that if core or module message.properties files are updated (e.g., during an upgrade), the customizations will be maintained.  It is easy to see exactly what has been changed and what is standard.

User documentation / How-To

Download

https://modules.openmrs.org/modules/view.jsp?module=custommessage

Screenshots

To get more information about module features in action you may check out the page with screenshots according to release version:

Release Notes

1.1. First official release of module. This release introduces features allowing to do customization of messages from properties files using simple widget on admin web page and store these customization into the database table. Also provides simple export mechanism to download customized messages (together with messages from properties file for specified locale).

  • Initial alpha release

1.2. This release introduces principally new approach to customize text on OpenMRS web pages - in-page localization. In other words, this module allows you to do translation of OpenMRS web pages easier then ever – nearly as easy as viewing the pages. With this release we also provided new openmrs:message JSTL tag, and we encourage developers to use it as replacement of spring:message tag, because it includes all functionality provided by spring tag and extends it with ability to control tag output and enhance messaging at all. This point release addressed next tickets:

  • CSTM-2 - New OpenMRS JSTL tag called openmrs:messages (available in 1.6+), allowing to control output and enhanced messaging
  • CSTM-3 - Ability to run OpenMRS in translate mode
  • CSTM-4 - New DWR-based server side
  • CSTM-5 - Implemented in-place translations entering and editing
  • CSTM-15 - Converted spring:messages to openmrs:messages in core

Important Information for Developers

As it was mentioned above, there is new openmrs:message JSTL tag. It was created off spring:message tag, so it includes all functionality of spring's implementation (HTML/JavaScript escaping, arguments passing, using of custom message source resolvable, etc). While we're working on 1.2 release, we converted all occurrences of spring:message to openmrs:message within each major version starting from 1.6 line. And it is advisable to use this tag everywhere you'd want to place old spring:message. So, if you had something like in your module or branch:

<spring:message code="Concept.view.title" arguments="${command.concept.name}" />

just change it to

<openmrs:message code="Concept.view.title" arguments="${command.concept.name}" />

You won't lose anything doing this, but you'll have a benefit  of the fact that your message can be translatable in-page. And even more, with this tag no longer need to add default translation for message code into properties files - just supply it with openmrs:message tag as follows:

<openmrs:message code="your.code" locale="fr">Message text goes here</openmrs:message>

the rest will be done by smart tag. As you can see, it allows text to be specified in the body of the element instead of the text attribute (so you can even forget about escaping, the tag will take care of it). And also it allows for locale attribute to define locale of text (so tags can define text for non-en locales). 

About

This module was initially developed by ~mseaton and enhanced by ~mvorobey.

  • No labels