...
- Must have child elements 'point', and 'class'.
- See Aspect Oriented Programming (AOP)
- point: String referring to one of the interface of one of the services: i.e. org.openmrs.api.PatientService
- class: Full path to the java class that will be called. Must implement org.aopalliance.aop.Advice or org.springframework.aop.Advisor
...
- If the setting (formerly global property form platform 1.8 downwards)doesn't exist in the OpenMRS system when the module is started, the property is added
- Must have child elements 'property' and 'description' are required. 'defaultValue' is optional
- property: Name of the setting (formerly global property form platform 1.8 downwards)
- description: Text describing the property.
- Optional child elements 'defaultValue', 'viewPrivilege', 'editPrivilege' and 'deletePrivilege'.
- defaultValue: Value of the property if it doesn't exist (defaults to the empty string)description: Text describing the
- viewPrivilege: privilege required for a user to view/get this property.
- editPrivilege: privilege required for a user to set/update/save this property.
- deletePrivilege: privilege required for a user to purge this property.
dwr
- Contains dwr code similar to what would be put in dwr.XML
- Should contain an 'allow' and an optional 'signatures' element.
...
- Servlets defined by modules are accessed via /openmrs/moduleServlet/moduleId/servlet-name
- Must contain both 'servlet-name' and 'servlet-class' elements
- See Module Servlets
- servlet-name: name/path used for the servlet
- servlet-class: Full path to the java class implementing javax.servlet.http.HttpServlet
- init-param: (Starting from OpenMRS Core 2.7.0)
- param-name: name of the parameter to pass into the filterservlet
- param-value: value of the parameter to pass into the filterservlet
filter
- Filters defined by modules are executed within the context of the ModuleFilter, which is defined in web.XML. This filter executes for every request, and iterates over every filter defined by each module.
- Configuration follows the same conventions as the Servlet specification - each "filter' element must contain both 'filter-name' and 'filter-class' elements, and supports optional "init-param" elements in order to pass any parameters into the 'filter-class' upon initialization.
- filter-name: unique name to identify the filter
- filter-class: Full path to the java class implementing javax.servlet.Filter
- init-param:
- param-name: name of the parameter to pass into the filter
- param-value: value of the parameter to pass into the filter
...