In-page Localization Project Plan

The following table contains sorted by priority tasks, that need to be completed in order for in-place localization to work properly:

Task ID

Task Name

Subtasks description

Date

Related JIRA
task/sub-task

0

Prepare project codebase

Do some work on preparing project codebase (browse specific project to built functionality on top of or create own module, etc).

Till to 23rd
of May

CSTM-1

1

Implement new OpenmrsMessageTag JSTL tag class

  • Add custom JSTL tag class into core that will allow for text inside of Spring JSP message tag.
  • Write code that adds the translation capability for OpenmrsMessageTag class within project module.
  • Write unit tests for this.
  • Do formal code review of introduced core changes and do possible changes according to review

23rd - 31st of May

CSTM-2

2

Add ability to run OpenMRS in translate mode

  • Provide functionality that allows user to toggle translate mode on/off. No in-place editing at this stage, only display/hide messages that can be edited in-place.
  • Add corresponding Setting (formerly Global Property from platform 1.8 downwards) for handling this mode
  • Introduce a new extension point within footerFull.jsp for placing toggling button into
  • Introduce a new access privilege for managing translations.

1st - 15th of June

CSTM-3
TBD

3

Implement server-side of in-place localization engine

  • Write (or change if needed) functionality of persisting messages within database.
  • Re-/implement corresponding API service for this purposes.
  • Expose received functionality as DWR service to be available for client calls.
  • Unit test this functionality.

16th of June - 1st of July

CSTM-4

4

Implement translation entering and editing

  • Add ability to edit “translatable” messages in place.
  • Work on css-styling to support translatable messages highlighting
  • Implement ability for user to switch locales during translation editing

2nd - 14th of July

CSTM-5

5

Provide basic modules support

  • Implement ability to distinguish between core and module messages
  • Add ability for modules to publish “translatable” messages within their pages
  • Change service and data access tiers in order to handle modules messages persisting alongside with core ones

15th - 27th of July

CSTM-6

6

Do scripting work around messages bundles synchronization with web pages

  • Write a script that takes the default bundle and imports those messages into web pages as the default ones
  • Review all pages to find out any regressions related to completed synchronization.

28th of July - 4th of August

CSTM-7

7

Implement translations export functionality

  • Add ability for user to export translations, which he has already done so far
  • Add (or change) module admin page for doing export
  • Unit test this functionality.

5th - 12tht of August

CSTM-8

8

Complete 1st phase

Rigorous testing of all received functionality.
Perform testing of received functionality using one or more existing implementations of OpenMRS.
Exception handling, bug removal.
Complete project documentation.

13th of July - 20tht of August

TBD