cancel
Showing results for 
Search instead for 
Did you mean: 

Branding changes with Agentry iOS Client

Former Member
0 Kudos

Hi everyone,

I am following the document which describes 'Branding iOS with AgentryClient Framework'.

http://help.sap.com/saphelp_smp305sdk/helpdata/en/fb/b9ac8c3ce34453902ef4abf3d0280c/content.htm

Basically below changes the agentry client could branding:

1. iOS Resources, like App name and icons

2. Agentry Resources, we can replace some images with same name and size

3. Agentry String, I have question here.

as described, in order to make string changes, the customer just needs to add a file to the main bundle of their app called Branding.plist. This file should have a all the required strings in a dictionary with the format:

<key>String_n</key>

<string>New text</string>

where N is the number of the resource string in the Agentry string resources file, ClientText.ini. For example, the following Branding.plist file changes string 6155 (the Login Dialog Caption) from "Welcome to Agentry" to "Fun with Branded Apps":

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

  <key>String_6155</key>

  <string>Fun with Branded Apps</string>

</dict>

</plist>

as I know the ClientText.ini should be in the Agentry server folder, but below ClientText.ini found from Sybase website is not similar as described above.

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc01994.0302/doc/html/smc13...

It says:

The ClientText.ini file contains display values that are part of every Agentry client, regardless of the application.

This is an example of the contents of theClientText.iniandClientTextBase.inifiles.

[Strings]

AG3_ABOUT_BMP_FILE=about.bmp

AG3_ABOUT_DIALOG_TEXT=About %1

AG3_ABOUT_MENU=&About %1...

AG3_ABOUT_TXT=about.txt

AG3_ABOUT_NAME=Agentry Client

AG3_ABOUT_OK=OK

So I am confused for now, can anybody give me a sample of the content of ClientText.ini file? what is the branding process between Agentry Client (for iOS) and ClientText.ini in server? I assume the client will load some file like 'Branding.plist' and have replacement with key validation.

The ClientText.ini will be used for language localization, what if server don't have any implementation in it, how the client will communicate?

Thanks in advance for any reply!

Accepted Solutions (1)

Accepted Solutions (1)

bill_froelich
Product and Topic Expert
Product and Topic Expert
0 Kudos

Aaron,

The Branding.plist file provides the same overrides that you can perform with the ClientText.ini.  The format of the two files is different but the result is the same, overriding the displayed strings.  Keep in mind that the ClientText.ini contents will override anything you configure in the Branding.plist. 

The reason you would use Branding.plist is if you wanted to configure some of the strings so they applied the first time the client is executed before the definitions are downloaded from the server at which time the ClientText.ini changes would apply.

--Bill

Former Member
0 Kudos

Thanks Bill.

You mentioned that 'Keep in mind that the ClientText.ini contents will override anything you configure in the Branding.plist.' I think you were saying 'the ClientText.ini contents will be overrided anything configured in Brandig.plist', that means the client display string(like the title of login screen) is pending on content of Branding.plist if have,  could you please confirm?

I added Branding.plist in Xcode with below content, and it works as below screenshot.

<key>String_6155</key>

  <string>Fun with Branded Apps</string>

I use the 'N' = 6155 in instruction to override screen title. so my question is: for example, how can I override the string 'User ID' as 'User Id' in login screen? what number 'N' it should be?

bill_froelich
Product and Topic Expert
Product and Topic Expert
0 Kudos

Aaron,

To clarify using your example.  You changed the Welcome message to "Fun with Branded Apps" using the Branding.plist.  This works as expected for the first login.  However, after you login and the application definitions are downloaded to the Agentry client from the SMP server the ClientText.ini changes will cause the login text to revert back from "Fun with Branded Apps" to the default "Welcome to Agentry Client" unless you also modify it in that file as well.  In your case it worked only because you don't have application definitions downloaded from the server.

In answer to your second question, the mapping to numbers is done through the combination of ClientText.ini whose keys map to the ClientStringNames.ini to get the number you would need to override in the Branding.plist.  The ClientStringNames.ini is located in the C:\SAP\MobilePlatform3\Server\configuration\com.sap.mobile.platform.server.agentry directory since it will not change.

For example in ClientText.ini you find

AG3_LOGIN_USERIDLABEL=User ID:

which in the ClientStringNames has a value of:

AG3_LOGIN_USERIDLABEL=6159

So if you use the 6159 to change the label to "User Id'.  Just remember to also change it in the ClientText.ini as well.

--Bill

Former Member
0 Kudos

Bill,

This is really helpful. Thanks a lot.

Aaron

Answers (0)