Things to note

- By default, the OEM project replaces the standard artifacts with a default implementation (blue theme).
- Replace and customize the source artifacts within the project as required.
- The Java interface implementations provided in the OEM package are samples only. It is recommended to implement classes in a separate JAR project.

How to Customize the Images

Custom images are already in the correct dimensions, edit the images directly in OEM package folder\src\main\webapp\images

How to Customize the labels

  1. Once you have performed step 3 in Overall Build Flow For OEM Build, you can locate the Property Resource Bundles in OEM package folder\target\jw\WEB-INF\classes. Open the appropriate .properties file via a text editor or your preferred IDE.



  2. Find the label you wish to customize, and copy the key.



  3. Paste the key into OEM package folder\src\main\resources\console.properties and edit its value.


How to Customize the Settings Purchase License link

Customize the following keys in OEM package folder\src\main\resources\custom.properties:
license.purchase - The label for the Purchase License link
license.purchase.url - The URL to go to when the Purchase License link is clicked, empty hides the link



How to Customize the App Center Download from Marketplace link

Customize the following keys in OEM package folder\src\main\resources\custom.properties:
appCenter.link.marketplace.trusted - Comma-delimited list of trusted URLs for Marketplace installation

If you using the default App Center app, the link to the Marketplace is defined in the first Custom HTML element in the Published Apps form.


How to Customize the App Center

The App Center is installed from the OEM package folder\ src\main\resources\setup\apps\APP_appcenter-1.zip app during the first initialization.
Replace this file with your own app as required, but you must use the same filename.


How to Customize Default Apps:

1. Place your default apps in oem package folder /src/main/resources/setup/apps/
2. Edit /src/main/resources/setup/setup.properties and define the paths to your apps.
3. You should also customize the default database bundled in your custom OEM installer.


How to Blacklist Java classes

Should you wish to remove a certain form element or any java classes from the OEM, go to OEM package folder\src\main\resources\customApplicationContext.xml

uncomment the  <property name="blackList"> element and insert the class into the its <set> child element


Artifacts By Folder and Type located in the OEM Package

pom.xml - Maven POM 

/src/main/webapp/

JSP FilesDescription
/index.jspindex page
/home/*home folder containing the index.html landing page
/WEB-INF/jsp/console/home.jsphome screen after logging in the web console
/WEB-INF/jsp/console/welcome.jspwelcome area on the right in the home screen
/WEB-INF/jsp/error404.jsp404 not found error page
/WEB-INF/jsp/error500.jsp500 internal server error page
/mobile/offline.jspoffline error page

You can also override any of the existing jsp pages by matching the original file location.

For example, you would like to customize how the admin bar is presented, create the file "adminBar.jsp" in "/src/main/webapp/WEB-INF/jsp/console/apps/" folder.

CSS FilesDescription

/css/admin_bar_custom.css 
custom admin bar CSS

/css/builder_custom.css 
custom CSS for the builders

/css/console_custom.css 
custom CSS for the web console
ImagesDescription
/images/custom/*custom images used
/images/favicon.icobrowser favicon for web console
/images/favicon_uv.icobrowser favicon for userviews


/src/main/resources

FilesDescription
customApplicationContext.xmlcustom Spring application context for custom bean and property initialization
custom.propertiescustom resource bundle for labels

/src/main/java

FilesDescription
sample/SampleDataEncryptionImpl.javaA sample implementation of the DataEncryption plugin, using SHA-256 with salts for hashing and encryption using the Jasypt library with PBEWithMD5AndDES algorithm and 1000 key obtention iterations.
sample/SamplePropertiesImpl.javaSample datasource Properties implementation that simply logs encrypted and decrypted values.


/src/main/webapp/WEB-INF/lib

You may place additional plugins that you have developed in .jar file extensions. You can also place OSGI plugins into this folder too but they will be loaded using the standard class loader. You may read more at Introduction to Plugin Architecture. By placing them here, they cannot be removed dynamically and treated as "core" through Manage Plugins as they are not dynamically loaded.

You may also want to consider adding the dynamic OSGI plugins into "wflow/app_plugins" as part of the installation bundle creation. Please check out the. "wflow-install" project and Creating a Windows Installer for Your OEM Build for Windows installer.