Oracle® Retail Store Inventory Management Implementation Guide, Volume 5 - Tablet Release 15.0 E65536-01 |
|
![]() Previous |
This chapter describes the architecture of SIM Tablet.
The SIM Mobile application is built using Oracle Mobile Application Framework (MAF). MAF is a cross-platform framework that uses web technologies (HTML5 and CSS) for the User Interface (UI), Java for application business logic, and Apache Cordova for access to the device features.
MAF defines a feature as a reusable, self-contained module of application functionality. A MAF feature can use one of three content types: AMX, Local HTML, or Server (Remote) HTML. The SIM feature is built using AMX.
For an introduction to MAF, see Section 1.1, Introduction to Mobile Application Framework, in Developing Mobile Applications with Oracle Mobile Application Framework on the Oracle Help Center:
https://docs.oracle.com/middleware/maf212/mobile/develop-maf/maf-about.htm#ADFMF1150
The runtime architecture of the SIM Mobile application is provided by MAF. For an overview of the runtime architecture of MAF, see Developing Mobile Applications with Oracle Mobile Application Framework on the Oracle Help Center.
Security is a top priority for mobile application development given that mobile devices are at a higher risk of loss or theft. For more information, see the Oracle Retail Store Inventory Management Security Guide.
SIM Mobile uses MAF-based security to authenticate users to log in and view application features. MAF determines whether access to the application feature requires user authentication when an application feature is secured by an authentication server.
MAF supports the following authentication modes: Basic Auth, OAuth, and Web Single Sign On (SSO). MAF applications can use either the default login page provided by MAF or a customized login page that is written in HTML.
RESTful web services are secured using a basic authentication mechanism and access controlled using the standard J2EE authorization model. For more information on the J2EE authorization model, see the following web site:
http://docs.oracle.com/cd/E28280_01/web.1111/e13711/thin_client.htm#SCPRG133
Note: The Basic Authentication application and Access Control Service are deployed together in the same EAR, but only one instance of the Access Control Service is used by SIM at runtime. For more information, see "Application Configuration". |
Service Endpoint Assembly:
SIM services are assembled as part of the application EAR file.
Typically, the services used are deployed on separate domains. It is also valid for the services to be deployed on a single domain.
This section describes the configuration that is required (and some that is optional) prior to building and deploying the SIM Mobile application.
Configuring the application includes allowing the application to authenticate users, connect to web services, and in certain cases, access remote images.
Feature | Connection (Type) |
---|---|
Configuration | ConfigServiceLogin (Login)
ConfigService (URL) |
SIM Mobile | SimMobileLogin (Login)
SimMobileService (URL) |
SIM Mobile is delivered with placeholder connections for each of the connections listed above. It is possible to build and install the application without updating the included connections and then use the Configuration feature to update the connections after the application is installed on a device. For more information, see "Configuration Service Setup".Another option is to update the placeholder connections with valid URLs prior to building the application so that the application is ready to run immediately after installation on a device. In either case, it is always possible to update the connections used on the device at a later time through the Configuration feature.
The Authorization feature uses the LoginServer connection and must be configured for HTTP Basic authentication. Configure HTTP Basic authentication on the HTTP Basic tab of the Edit MAF Login Connection window by replacing [server]:[port] with the correct values for your environment.
For more information on accessing and configuring login connections, see the Configuring MAF Connections section in the MAF documentation available at the following web site:
http://docs.oracle.com/middleware/maf212/mobile/develop-maf/maf-securing.htm#ADFMF1024
Note: These updates must be made prior to building the application and cannot be updated through the Configuration feature. |
The SIM Mobile feature may show images on several screens. By default, these are read from the SIM Managed Server or from the device itself. Any customization of images from remote URLs must contain references in maf-application.xml to the remote domain.
For more information on adding domains to the whitelist in maf-application.xml, see the section How to Create a Whitelist (or Restrict a Domain) in Developing Mobile Applications with Oracle Mobile Application Framework for MAF 2.1.2.0.0 available at the following web site:
http://docs.oracle.com/middleware/maf212/mobile/develop-maf/maf-ui-remote-url.htm#BABHEHDE
If you are using the Configuration feature to update the connections.xml file on a mobile device after the application has been installed, it is necessary to host the connections.xml file at a secured location (HTTP Basic authentication).
The hosted connections.xml file should contain valid URLs for all connections being used by the application (including the ConfigService and ConfigServiceLogin connections). Some connections may not be in use (see above).
The connections.xml file must be named connections.xml and be located at a path that ends with the application identifier. For example, if the application identifier is com.company.SIM, the connections.xml could be located at the following URL:
http://server:port/SomeLocation/com.company.SIM/connections.xml
You need two URLs to complete the configuration process:
Configuration URL: This is the base URL up to, but not including, the application identifier. For example:
http://server:port/SomeLocation
(Note that this is also the value that can be pre-populated in the ConfigService connection.)
Configuration Login URL: This is a complete URL to a secured resource on the same domain as the connections.xml file. For example:
http://server:port/SomeLocation/SomeSecuredResource
(Note that this is also the value that can be pre-populated in the ConfigServiceLogin connection.)
If the application is deployed with placeholder (non-valid URLs) in the connections.xml file and the user is required to use the Configuration feature to get valid connections, it is recommended that you configure the application to prompt the user to set up configuration on the initial launch of the application (until configuration has been completed).
To configure the application to prompt the user:
Locate and open the adf-config.xml file in JDeveloper under Application Resources > Descriptors > ADF META-INF.
In the source view, locate the adf-property tag with the name value RETAIL_INITIAL_CONFIGURATION_REQUIRED.
Change the value to true.
Note: There is no need to update the navigation configuration unless changes in organization, labeling, and so on are desired. |
The springboard is configured by a navigation.json file in the application controller project. The file has the following structure:
{ bundles : { <alias> : <full bundle name>, ... }, menus : { name : <Application name>, options : [ { name : <Feature group name>, options : [ { name : <Feature name>, id : <ID of feature to link to>, options : <Optional submenu> }, ... ] }, ... ] } footers : [ { label : <Label for footer item>, featureId : <ID of feature to link to> }, ... ] }
The bundles section allows the declaration of aliases to XLIFF bundles. Translated strings can then be used for name/label with [Alias.Key], similar to the usage in AMX pages (after using loadBundle). If an alias is not declared, the full bundle path must be used instead of the alias.
The menus section begins with the root node of the hierarchy. The name of this node is displayed on the switcher page of the springboard. The nodes under it are the feature groups to display on the switcher page. Finally, the next level of nodes are the features within the group. If no name is provided, the name of the feature referenced is used. If the options property is specified, another level of feature nodes can be placed in it to form a submenu (the springboard does not support nesting submenus), and name is required in this case. Tapping on a feature item in the group or a submenu allows you to navigate to the provided feature identifier.
The footers section allows for setting up feature links that should be displayed regardless of current feature group. A feature link is included by specifying the featureId and optionally a label.
This section describes the supported customizations of the Oracle Retail SIM Mobile application. Customizations require familiarity with developing mobile applications using Oracle Mobile Application Framework (MAF).
For more information on the specifics about MAF customizations, see Chapter 10 Customizing MAF Application Artifacts with Metadata Services (MDS) available at the following web site:
http://docs.oracle.com/middleware/maf212/mobile/develop-maf/maf-apps-customize-mds.htm#ADFMF25118
Also see Chapter 18, Customizing MAF AMX Application Feature Artifacts, in Developing Mobile Applications with Oracle Mobile Application Framework available at the following web site:
http://docs.oracle.com/middleware/maf212/mobile/develop-maf/maf-mds-ui-components.htm#ADFMF24124
Note: For more information on the scope of customizations allowed under the MAF Foundation license that is provided with Oracle Retail SIM Mobile, see the Restricted Use Licenses chapter in the Oracle Retail Licensing Guide. |
For more information on MDS and the MAF artifacts that can be customized, see Developing Mobile Applications with Oracle Mobile Application Framework available at the following web site:
http://docs.oracle.com/middleware/maf212/mobile/develop-maf/toc.htm
The JDeveloper IDE runs using a given role. Usually, developers use the Studio Developer role to develop mobile applications with MAF. However, MDS-based customizations must be done using the Customization Developer role.
The Customization Developer role limits what you can do. For example, source code generally cannot be edited directly and new files cannot be created. When changes are made to files using the IDE, the changes are saved separately from the actual source by MDS. MDS applies the changes on top of the source documents. This allows the customizations to be preserved when the source documents are updated.
There are several setup steps that must be completed before one can begin customizing the SIM Mobile application with MDS. MDS has a notion of customization layers that must be set up before customization can begin. The supported customization layers must be configured in the CustomizationLayerValues.xml file. Java customization classes must be created for the layers you support. The customization classes need to be added to the SIM Mobile classpath and then referenced in the adf-config.xml file in the SIM Mobile workspace.
For more information, see Developing Mobile Applications with Oracle Mobile Application Framework available at the following web site:
http://docs.oracle.com/middleware/maf212/mobile/develop-maf/toc.htm
Note: Oracle Retail recommends that customization classes be created in a separate JDeveloper workspace that produces a JAR that is consumed by the SIM Mobile workspace. For more information, see Developing Mobile Applications with Oracle Mobile Application Framework. |
You will have to update the Application Id in order to deploy your company's version of the SIM Mobile application. There are two approaches to customizing the Application Id. The recommended approach depends on whether you plan on performing additional customizations or not. If you do not plan on performing additional MDS-based customizations, you can simply update the Application Id in maf-application.xml under the Studio Developer role. Afterwards, update the Application Bundle Id referenced by the deployment profiles you are using to match your new Application Id (if they do not match already).
Note: If you later decide to upgrade SIM Mobile, you will have to revert your changes to the Application Id in maf-application.xml to properly perform the upgrade. After upgrading the application, you can reapply the change to maf-application.xml and the deployment profiles you are using. |
If you do plan on customizing the application, Oracle Retail recommends you customize the Application Id using JDeveloper's Customization Role and MDS. That way, you can upgrade your workspace without having to revert your Application Id change temporarily.
To customize the Application Id:
Open JDeveloper using the Customization Developer role.
Open the maf-application.xml file.
Update the Application Id.
Save your changes.
After the Application Id has been updated in the maf-application.xml file, you should update any deployment profiles you are using to ensure their Application Bundle Ids match your new Application Id. Upon an upgrade, you may need to reapply your Application Bundle Id to the deployment profiles, since deployment profile changes are not saved by MDS; however, the change made to the Application Id in maf-application.xml does not need to be reapplied since it was saved by MDS.
Note: Always ensure that the Application Id in the maf-application.xml and the Application Bundle Id in your deployment profiles match. They are used for different purposes within MAF applications, but for proper functioning of the SIM Mobile application, they must be set to the same value. |
The application branding consists of the application icon as shown in various contexts and the splash screens when launching the application. The application branding can be customized by replacing the icons and images that are referenced by the application.
The following steps assume that a workspace has already been created from the Oracle Retail SIM Mobile MAA file and that the appropriate-sized icons or images have been added to the workspace created from the MAA file:
Open JDeveloper in the Studio Developer role.
Follow the steps outlined in Developing Mobile Applications with Oracle Mobile Application Framework for more information on how to configure your custom images.
Note: Since MDS is not aware of changes made to this image configuration, any customizations are overridden by upgrading to a newer version of Oracle Retail SIM Mobile. |
The overall look and feel of the SIM Mobile application is controlled by a skin. Since MAF supports MDS customizations of the maf-skins.xml and maf-config.xml files, it is possible to apply a custom skin to the application. If the SIM Mobile application is upgraded to a newer version at a later date, the skinning customizations are still applied on top of the upgraded version by MDS.
The following steps assume that a workspace has already been created from the Oracle Retail SIM Mobile MAA file:
Open JDeveloper in the Studio Developer role.
Open the SIM Mobile workspace created from the delivered MAA file.
Create a new CSS skin file in the SIMApplicationController project. For more information on how to create CSS skin files and how MAF skinning works, see Chapter 7, Skinning MAF Applications, in Developing Mobile Applications with Oracle Mobile Application Framework.
Switch JDeveloper to the Customization Developer role by selecting the Tools menu and then Switch Roles > Customization Developer.
When JDeveloper has restarted in the Customization Developer role, open the maf-skins.xml file.
In the Structure Pane, right click the adfmf-skins node and select Insert Inside adfmf-skins > skin.
Fill in the fields in the popup. Note that the style-sheet-name should reference the CSS skin file created in Step 3.
If the skin should be versioned, in the Structure Pane, right click the skin element just created, and select Insert Inside skin > version.
Fill out the popup with the skin version information. For more details on configuring skins in maf-skins.xml, see Chapter 7, Skinning MAF Applications, in Developing Mobile Applications with Oracle Mobile Application Framework.
Save the changes.
Open the maf-config.xml file.
Update the skin-family element with the name of the custom skin family that should be applied to the entire application.
Update the skin-version element if the custom skin was defined with a different version. If the custom skin does not have a version, remove the skin-version element.
Save the changes.
Deploy the application to iOS Simulator to verify that the new skin is being picked.
After upgrading to a new SIM Mobile version, the custom skin changes are still applied over the base application.
In order to support localization, Oracle Retail SIM Mobile references application string resources in the XLIFF resource bundles.
Since Oracle MAF does not support MDS customizations of XLIFF resource bundles, the Customization Developer role does not allow you to make changes to the XLIFF resource bundles. Any changes made in the Studio Developer role to the XLIFF resource bundles delivered in the SIM Mobile application are overridden when the application is upgraded at a later date, so this approach is not recommended.
In order to add custom string resources to the SIM Mobile application in a future-proof way, you must create new resource bundles under the Studio Developer role, add strings to these new bundles, and then reference strings from these new resource bundles in customizations to AMX pages or other customizable artifacts under the Customization Developer role. For more information about this process, see Enabling Customizations in Resource Bundles in Developing Mobile Applications with Oracle Mobile Application Framework.
The application name cannot be customized, so for most use cases, it is not recommended to create a new application-level resource bundle as described in the MAF documentation. Instead, create new resource bundles in the projects where you want to add your custom strings.
The SimMobileViewController project contains the string resources used by the SIM feature. If you want to change strings used in the feature, create a new resource bundle (while in the Studio Developer role) under the SimMobileViewController project, add your custom strings to it, and then in the JDeveloper Customization Developer role, customize the files to reference these new strings.
Springboard Navigation
The SimMobileApplicationController project contains application name string resources referenced by the application Springboard. They are referenced in the navigation.json file. To customize the name of features as they show up on the Springboard, create a new resource bundle (while in the Studio Developer role) under the SimMobileApplicationController project, add your custom strings to it, and then update the navigation.json file to reference your new strings.
To update the navigation.json file, you must first add a new property that maps the key you decide to use for your new resource bundle's basename in the bundles object. For example, if you created a new bundle whose basename is customer.custom.bundle.CustomBundle, you would add a property key that maps to a bundle basename:
customBundle : customer.custom.bundle.CustomBundle
The complete bundles object may look like the following example:
"bundles" : { "SimMobileApplicationControllerBundle" : "oracle.retail.sim.mobile.client.application.SimMobileApplicationControllerBundle", "simmobileviewcontrollerBundle" : "oracle.retail.sim.mobile.client.SimMobileViewControllerBundle" }
Next, you need to update the name attribute of the application name you plan to update. If the new customBundle contains the string under the ID NEW_APP_NAME, the reference would follow this format: [customBundle.NEW_APP_NAME] where customBundle is the reference to the resource bundle you defined in the bundles.
Note that the navigation.json file must be updated under the Studio Developer role since you cannot modify this file under the Customization Developer role. Additionally, the customizations to the navigation.json are not managed by MDS, so they are lost whenever you upgrade the SIM Mobile application.
Application Level
The SimMobileViewController project contains the string resources used by the SIM Mobile application for some of its application-level features such as the About page. To add your own custom strings to these features, create a new resource bundle (while in the Studio Developer role) under the SimMobileViewController project, add your custom strings to it, and then in the JDeveloper Customization Developer role, customize the files in the project to reference these new strings.
Note: Some strings displayed on the UI may not be customizable through MDS since the data could originate from web services or be programmatically constructed. |
Oracle Retail SIM Mobile can be customized to remove features. Features that have been removed are not accessible by users when the application is deployed.
To remove features from the application:
Open the SIM Mobile workspace under the Customization Developer role.
Open the maf-application.xml file.
Select the Feature References tab.
Select the feature that you wish to remove from the application.
Click the X icon just above the table of features to delete the selected feature.
Save your changes.
Note: Any updates to the navigation.json file are overridden by SIM Mobile upgrades. |
Oracle Retail SIM Mobile can be customized to add new custom features. The recommended approach to adding new features to SIM Mobile is to develop the feature in a separate workspace, deploy a Feature Archive (FAR) file containing the feature, and add the FAR as a library to the SIM Mobile application.
For more information on FARs, see Reusing MAF Application Content of Developing Mobile Applications with Oracle Mobile Application Framework available at the following web site:
http://docs.oracle.com/middleware/maf212/mobile/develop-maf/maf-apps-feature-archive.htm#ADFMF25114
Note: Adding new features to the application requires a MAF license. For more information on restricted licenses, see the Restricted Use Licenses chapter of the Oracle Retail Licensing Guide. |
To add a new feature:
Open JDeveloper in Studio Mode.
Create a new MAF application for your custom feature development.
Develop your custom feature.
Test your custom feature by deploying it to an iOS Simulator before adding it to the SIM Mobile application to verify it is working as expected. This is a recommended step.
Create a FAR deployment profile as described in the MAF documentation.
Note: If your feature references connections from the connections.xml file, change the Connections Include option from Connection Name Only to Connection Details (excluding secure content) in the MAF Feature Archive Deployment Profile Properties window. When you later add the FAR you generate to an application, the connection details (that is, URLs) are copied into that application's connections.xml file. |
Deploy your feature as a FAR.
Add the FAR as an application library as described in the MAF documentation to the SIM Mobile workspace.
Save your changes.
Switch to the JDeveloper Customization Developer role.
Open the maf-application.xml file.
Add a Feature Reference in maf-application.xml for the feature coming from your FAR. Note:
Note: Oracle Retail recommends that the platform.mobile.authorization feature remain as the first feature in the list of Feature References. |
If you want the feature to appear on the springboard, update the navigation.json file to reference it. The order that features appear on the springboard comes from the order they are defined in the navigation.json file. In order to add a reference to your feature on the springboard, insert a JSON object with the following structure to the desired location in the navigation.json file:
{"name": "The name of your feature", "id": "the feature ID of your feature."}
Customizations to the maf-application.xml file are preserved across application upgrades, but changes to the navigation.json file are not. After upgrading, you may need to add the FAR as an application library to the SIM Mobile application again. This again updates any connections in the connections.xml file that may have been removed during the upgrade process.
Since the SIM Mobile UI is built using MAF artifacts, many of them can be customized. For a full list of components that can be customized, see Chapter 18, Customizing MAF AMX Application Feature Artifacts, available at the following web site:
http://docs.oracle.com/middleware/maf212/mobile/develop-maf/maf-mds-ui-components.htm#ADFMF24124
Following are examples of UI customizations that can be performed:
Adding a New Component to the User Interface
To add a new UI component to the UI:
Open the SIM Mobile application under the JDeveloper Customization Developer role.
Open the AMX page or page fragment you want to customize with a new UI component.
Use one of the standard ways of adding UI Components to the page (right click a component in the Structure pane and select one of the insert options, drag and drop a component from the Component pane to the location in the source where you wish to add the component, and so on). For more information on adding UI Components to a page, see Chapter 13, Creating the MAF AMX User Interface, available in Developing Mobile Applications with Oracle Mobile Application Framework.
Save your changes.
Updating Attributes of User Interface Components
If you want to change the text label of a component on the UI or change one of its other attributes:
Open the SIM Mobile application under the JDeveloper Customization Developer role.
Open the AMX page or page fragment containing the component you wish to customize.
Find the component you wish to change in the AMX source code.
Click anywhere in the source code of the component you wish to change. The Properties pane updates to display the properties of the selected component.
Update the properties in the Properties pane that you wish to change. Note that several key properties appear to be disabled in the Properties pane when under the JDeveloper Customization Developer role (for example, the text property of the amx:commandButton component). Although the property input field is disabled, you can usually still access the menu to the right of the property input field to change its value using the Expression Builder or Select Text Resource options and make updates to the property input field using those UIs.
Save your changes.
Removing a Component from the User Interface
If you want to remove a component from the UI (for example, a field on the UI that is not important to your application users):
Open the SIM Mobile application under the JDeveloper Customization Developer role.
Open the AMX page or page fragment containing the component you wish to remove.
Find the component you wish to remove in the Structure pane.
Right click the component.
Select Delete from the menu that appears.
Save your changes.
Some features in SIM Mobile, such as the application Springboard, come from a FAR file generated from a separate Mobile Platform workspace. In order to customize these Platform features, you must make the customizations in the Platform workspace first. The following steps assume you have created a workspace from the PlatformMobileArchive.maa file and have prepared it for customization:
Open JDeveloper in the Customization Developer role.
Open the workspace you created from the PlatformMobileArchive.maa file.
Make any of the above supported customizations to the features in the PlatformMobileViewController project.
Save your changes.
Right click the PlatformMobileViewController project.
Select Deploy > Platform Mobile Features from the menu.
To deploy the feature archive JAR file, click Finish in the Deploy PlatformMobileFeatures window.
Overwrite the existing PlatformMobileFeatures.jar file in the lib folder of your SIM Mobile workspace with the PlatformMobileFeatures.jar you just created.
Open the SIM Mobile workspace.
Deploy the SIM Mobile application.
Note: Whenever you upgrade the SIM Mobile workspace to a newer version, you need to redeploy your customized PlatformMobileFeatures.jar file and overwrite the existing PlatformMobileFeatures.jar file in the lib folder. |
Customizations are applied on top of the new upgraded version of SIM Mobile. However, the following are examples of updates that need to be reapplied after upgrading:
The addition of any libraries or JARs to the application-level Libraries and Classpath. Note this includes the following:
The JARs containing your customization classes.
Any FARs that were added to add new feature content to the SIM Mobile application.
Any changes to the navigation.json file.
Any changes to the application branding.
Any images you added should be preserved in the upgraded version, however, the application-level configuration to use your new images will be overwritten.
Any changes to the connections.xml file.
Any changes made under the Studio Developer directly to delivered resource bundles.
Note: Making these kinds of changes is not recommended since it is not upgrade-safe. |
For more information on upgrading a MAF Application that is built from a MAA file such as SIM Mobile Section, see Upgrading a MAF Application with Customizations available at the following web site:
http://docs.oracle.com/middleware/maf212/mobile/develop-maf/maf-apps-customize-mds.htm#ADFMF24079
Note: Although JDeveloper creates a backup copy of the workspace, it is usually a best practice to create your own backup in case the JDeveloper backup fails for some reason. |
The following non-exhaustive list provides some examples of customizations that are not supported:
Adding new pages to a feature:
Although MDS supports customizations to task flows and AMX pages, it currently is not very upgrade-friendly to add new pages to a feature. The Customization Developer role does not allow new pages to be added, so they would have to be added under the Studio Developer role. Upon upgrading, any new pages you have added are preserved. However, adding pages usually changes the DataBindings.cpx file, which is overridden by the upgrade process.
The recommended customization is to add a new feature to the application instead of trying to add new pages to a given feature.
Modifying business logic:
Most business logic is implemented outside of the artifacts that are customizable by MDS, so this is unsupported.
Modifying ReST service calls:
Similar to modifying business logic, service calls cannot be customized to add additional request parameters, accept different responses, and so on.
If the SIM Mobile application is deployed with configuration services enabled, and you run the configuration services, any changes in subsequent deployments are not picked up by the application at runtime. In order to make sure changes in subsequent deployments of the application are picked up at runtime, first delete the existing installation of the application on the device before deploying the latest version. (Note that this is necessary only if you run the configuration services.)
You many encounter issues with the JDeveloper Customization Developer role. These bugs may interfere with your ability to customize the application. Following are some common issues you may encounter and recommended workarounds:
Sometimes the JDeveloper UI indicates that changes can be made to files that support customization, however, it does not seem to respond to changes. For example, sometimes the menu to the right of a field in the Properties pane is unavailable, and you need to access that menu to select a text resource. Usually restarting JDeveloper in the Customization Developer role fixes these kinds of issues.
The Customization Developer role does not let you directly modify source code in the source editor. If you are unable to modify the source code in the source editor, that is the expected behavior.
At various times during customization (for example, switching between certain files, deployment, and so on), JDeveloper may display an exception stack trace dialog for an error that has occurred. In most cases, the dialog allows you to file a bug for the error or ignore it. Although the error has occurred, usually upon dismissing the window you are able to successfully continue with your customization.
Internationalization is the process of creating software that can be translated more easily. Changes to the code are not specific to any particular market. Oracle Retail applications have been internationalized to support multiple languages.
Translation is the process of interpreting and adapting text from one language into another. Although the code itself is not translated, components of the application that are translated include the following:
Graphical user interface (GUI)
Error messages
The following components are not translated:
Documentation (online help, release notes, installation guide, user guide, operations guide)
Batch programs and messages
Log files
Configuration tools
Reports
Demonstration data
Training materials
Oracle Retail SIM Mobile stores text resources in XLIFF (XML Localization Interchange File Format) resource bundles, the standard for Oracle Mobile Application Framework (MAF). For more information about XLIFF, see the following web site:
http://docs.oasis-open.org/xliff/xliff-core/xliff-core.html
See the Developing Mobile Applications with Oracle Mobile Application Framework documentation for MAF's requirements for localized XLIFF files. New localized versions of delivered resources bundles can be added to the workspaces built from the Retail Mobile Platform and SIM Mobile MAA files.
When the SIM Mobile application is deployed to an iOS device, the version of the resource bundles that is used by the application depends on the language set on the device.
The following sections describe the XLIFF resource bundles used by the mobile application:
The following table lists the resource bundles that are packaged in the Retail Mobile Platform MAA file:
Base XLIFF Resource Bundle | Text Resource Descriptions |
---|---|
PlatformMobile/PlatformMobileApplicationController/src/oracle/retail/apps/platform/mobile/PlatformMobileBundle.xlf | Default string resources referenced by Retail Mobile Platform AMX fragments. |
PlatformMobile/PlatformMobileViewController/src/oracle/retail/apps/platform/mobile/PlatformMobileViewControllerBundle.xlf | String resources for the Configuration Services feature, the Springboard feature, and so on. |
The following table lists the resource bundles that are packaged in the SIM Mobile MAA file:
Base XLIFF Resource Bundle | Text Resource Descriptions |
---|---|
SimMobile/.adf/META-INF/SimMobileBundle.xlf | Text resource for the application name. |
SimMobile/SimMobileViewController/src/oracle/retail/sim/mobile/SimMobileViewControllerBundle.xlf | Text resources for the SIM Mobile feature. |
SimMobile/SimApplicationController/src/oracle/retail/sim/mobile/client/application/SimMobileApplicationControllerBundle.xlf | Text resources for the application names as shown on the springboard. |
Oracle MAF applications choose the resource bundle to load based on the iOS language settings. For example, if the language is set to Spanish in iOS Settings and there is a localized Spanish version of the XLIFF resource bundle deployed with the application, the localized Spanish XLIFF resource bundle is used at runtime instead of the base English XLIFF resource bundle.
Note: In order to run the SIM Mobile application in Brazilian Portuguese, the device language must be set to Brazilian Portuguese and the device region setting should be set to Brazil. After updating the language in the iOS settings, the application should be closed and reopened for the new language settings to take effect. |