CRM & Cloud

Issues I faced in CRM & Cloud solutions

A few days ago i upgraded my visual studio from 15.7 to 15.8 and I noticed that Live Player option is showing no more. I looked into it and found the solution.
Please use below steps to enable the Xamarin Live Player.


  • Go to Tools -> Options ->Xamarin ->Other
  • Tick mark the "Enable Xamarin Live Player" option

That is it. Go to device list drop down and verify that Live Player option is listed.


I updated my Adroid SDK and right after that everything stops working and I started getting error message "PANIC: Missing emulator engine program for 'x86' CPU".

I started looking into this issue and found that on the Visual Studio output following command was being set:

C:\Program Files (x86)\Android\android-sdk\tools\emulator.EXE -partition-size 512 -no-boot-anim -avd Android_Accelerated_x86_Oreo -prop monodroid.avdname=Android_Accelerated_x86_Oreo
while my path to the emulator when i checked is:
C:\"Program Files (x86)\Android\android-sdk\emulator.EXE
 Further I noticed that when I tried to run emulator from command line from path "C:\"Program Files (x86)\Android\android-sdk\emulator.EXE" the emulator was getting started but from path "C:\Program Files (x86)\Android\android-sdk\tools\emulator.EXE" it was giving the same error message PANIC..

So until here i understood the issue that what is the problem I was dealing with, only thing i had to do was to point my visual studio to start new emulator instead of the older one.

When i googled visual studio forum to check the fix for this issue then i found that it is a known bug and it is going to be fixed in release 15.8 while current release is 15.7.6.

This is what Microsoft official replied:

Added a solution by Jon Douglas [MSFT] Thank you for your feedback! We have fixed this issue and it's available in a future version of Visual Studio. This issue came down to our IDEs using the old outdated tools/emulator path when Google moved emulator items in 25.0.3 to emulator/emulator instead. We have updated this path and thus consider this behavior fixed. Expect this to be inside a 15.8 proper release and we will work on trying to get it in a 15.7 SR if possible.
Question 
URL: https://developercommunity.visualstudio.com/content/problem/252854/unable-to-start-android-emulator-from-within-visua.html
So after getting to know there is not proper fix so I started to look into workarounds..
The workaround I found is very simple, please follow below steps:
  • Go to "Open Android Device Manager"
  • Delete the existing Device
  • Create a New device and MUST select "Google Play Store"
  • Click "Create"




Referring to this post, more issues came across and a new weird issue which was being displaying over the simulator when i was starting it, the issue was stating "Cold Boot: Snapshot doesn't exist".

I started browsing and googling this issue and came across that this is not even an issue. As s developer you don't need to worry about it. Please do not apply any fixes or any configuration settings or no need to create any environment variables.

In order to increase the start up performance and faster boot time of the emulators, its previous state is saved always. This enables the developers to not wait longer each time. So whenever you will start your emulator first time you will see this message. Let your emulator run and continue until you see a proper mobile screen. After you see the mobile desktop, please shutdown and close your emulator. You will see following message when you will do exactly as i mentioned:


It will save the state and on your next try the emulator will be loaded fast and it won't display any message that will worry you.

I build a Xamarin app in visual studion 2017 and it all worked fine. But in the visual studio verbose i saw there was a message that updates are available and i should apply the updated by going to Tools -> Android -> Android SDK Manager. 


I went there and there were three updates recommended, I clicked on apply and after that when i tried to run emulator, it started giving below error:

"hardware virtualization is not enabled on this computer and is required to use haxm. look at the reference material for your computer to find out if you can enable hardware virtualization. "

After googling this issue and reading through multiple contents online i fixed this problem by doing following steps:

  • Go to the machine BIOs then Advance Security and tick mark following options:
  • Go to Android installation directory and reached to the following path:
C:\Program Files (x86)\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager


Bounce your computer and try again.
As a part of our Siebel Upgrade project, we had to upgrade Siebel Actuate reports as well. As Siebel Actuate is not compatible with Siebel IP17 so we decided to move on BIP 12C.

There were certain reports on which client was using check boxes and based on certain condition and value these check boxes are being filled with 'X' sign. In the Actuate reports all these were working perfectly until we moved our reports from Actuate to BIP 12C.

We notice that all the check boxes started appearing as rhombus sign or diamond sign. We looked into the issue fixed by doing using Wingdings2 font. The steps to fix the issues are:

  • Copy the Wingdings2.ttf file of your custom font (e.g. wingdings2.ttf) to the JRE home\fonts (e.g. C:\OraHome_1\jdk\jre\lib\fonts) folder on the BI Publisher Server
Log into the BI Publisher Server using the 'Administrator' login.
    • Click on the 'Administration' tab. 
    • Click on the 'Font Mappings' link under the 'Runtime Configurations' section on the right hand side. 
    • Click on 'Add Font Mapping' button under the 'RTF Templates' section. 
    • Set the following fields: 
Base Font - Wingdings
Style - Normal
Weight - Normal
Target Font Type - Truetype
Target Font - wingding2.ttf 
  • Go the the following location of your BIP 12C installation:
Lets suppose it is intalled in C dir,
C:\Oracle_Home\user_projects\domains\bip\bidata\components\bipublisher\repository\Admin\Configuration 

 Open the xdo.cfg file in textpad and add the entry:

<property name="rtf-checkbox-glyph">Wingdings2;0082;0163</property>
  • Copy the font file wingdings2.ttf  to: $BIP_INSTAL_HOME\user_projects\domains\bifoundation_domain
Please note that, you can also set following property:
<property name="rtf-checkbox-glyph">Wingdings2;0082;0163</property>
By going to "Administration" - > Parameters -> Characters Used for Checkbox,




When you are done with above steps, please bounce the BIP sever and test your reports.


In Siebel IP17 once you will open Weblayout editor to arrange controls on the template then you won't be able to see anything and if you look into the browser console, you will see below error:

Uncaught TypeError: this.GetUIWrapper(...).BuildPreview is not a function
 The issue is caused by the following setup: Customization added at JS level.
WebTools is the correspondent of Tools, and should, therefore, contain no customizations. This includes JS files. 

In order to fix this use below parameters:

Manifest Safe Load : TRUE
Enable Safe Boot : TRUE
The printing of the current record in Siebel IP17 has been taken off. The Print menu option is there but when it is not working. Here is to reproduce the issue:
1. On an applet go to Menu
2. Click on the Print option
3. the print dialog appears
4. Click on Print button nothing happened
5. Clicking on Print Preview button nothing happened

The Print functionality works perfectly in Siebel 8.1x but it is been taken off in Siebel IP17. I am not sure why this happened and what is the alternative Oracle is thinking to provide but so far this is not available.

As per Oracle, Print option from the Siebel Applet menu should not be selected and instead Browser Print functionality will be used. It is recommended by Oracle to hide Print menu option in the applets by using CSS.
In Siebel IP17 there is a major problem with the State Models that some of the business components will not appear in the State Model MVG Applet when you will search the business component.

Until all previous versions all the available business components are available in the MVG applet to be added in a State Model but in IP17 the underlying model got changed.

Now, in IP17+ the business component behind the applet used to show all the BCs to be selected for a State Model is replaced with a virtual business component and only those business components having a user property State Model = Y will be displayed but this is not how it is currently working. Despite the user property is mentioned, most of the business components do not appear in the applet to be selected for State Model. As per Oracle this bug will be fixed in Siebel 18.7.
Apparently Siebel IP17 has some problem for testing development related changes on local environment before pushing it to the server. Development related changes cannot be tested locally on the workspace also known as sandbox in IP17 but changes cannot be seen made in the objects until workspace get submitted and delivered the respository.

As per bookshelf, below are the steps to test changes/modifications locally:
  1. Create a workspace 
  2. Edit objects for example update the Applet control caption 
  3. Checkpoint/versioned the workspace ( i suppose this is optional step) 
  4. Modify the corresponding CFG file say "publicsector.cfg" cfg file as below: 
[Workspace]
Name = Main
Version = 41 -- The version of the workspace for which you wanted to test the changes

[InfraObjMgr]
RequestServerName = <SERVER_NAME>
RepositoryType = RUNTIME 

      5. Start thick client (dedicated client) to view the changes

You can even try mentioning your own workspace name like:

[Workspace]
Name = dev_umer_fieldupdate1
Version = 01

[InfraObjMgr]
RequestServerName = <SERVER_NAME>
RepositoryType = RUNTIME

But in this case it even would not let you log in.

Similarly, in the thin/thick client it is not possible to edit/view Workspace changes by opening Workspace directly, there is no hammer icon anywhere.
In one of our Siebel IP17 upgrade project we had to set an option for the end users cancel currently long running queries. In Siebel 8.1x if user executes a query in the application UI then if the result is taking longer time then a popup window appeared asking and informing user to wait as query is taking longer execute time or Cancel the current operation. In the meanwhile user do not have the option/permission to click anywhere else on the screen while the current operation is in progress.



 But in OpenUI (until IP17.5), in case of long running query a circle appears showing as system is busy but after certain amount of time it stop spinning and disappear and from here the user can click on other screens but as the current operation was not completed the next screen will not be loaded and system appears as stuck.

In case we set set CancelQueryTimeOut >=1 say 10 in the corresponding Object Manager and execute a long running query then a popup window starts appearing after 10 seconds but on clicking Cancel button it did not work and stays as below:




I have written a Java Card (Javacard) shell by which you can communicate with a real javacard compliance smart card. This tool is opensource and can be downloaded from github.

I named it as "GPCShell", global platform shell. By using this shell following can be performed:


  • APDUs can be sent and received
  • Status command can be send and received
  • It is complaint to Global Platform and ISO7816-4
  • It can be used to upload .cap files to a real javacard
The project is compiled via Netbeans and can be downloaded and extended.

A demo is presented here:


The tool works as follows:
  • Card is using a XML file for the Card Manager Id and security keys
  • It reads Card Manager Id from the XML and connects to the card
  • Security keys can be updated by providing SH1 256 byte keys in the XML
  • The tool uses provided security keys in the XML to authenticate the Card using SCP01 and SCP02
The structure of the XML file is as below:



One of the major problem and shortcoming with Siebel CRM was its browser dependence. That is, it was only used to work with IE. Moreover it was using ActiveX technology by Microsoft which is also now going to vanished.
Oracle lunched a major release of Siebel CRM called IP13 [ IP2013] and here for the first time Siebel was made browser independent. That is from IP13 onward now Siebel can be accessed on any modern browsers like Chrome, firefox etc including IE.
Oracle removed ActiveX technology and replaced it with a new custom framework called OpenUI. It is based on Javascript and CSS files. Just like for any modern website development, here now developer's can write javascript code to customize end user functionality like field validation, data manipulation at the browser end etc and can design and formate UI by using by customizing CSS files.
OpenUI enables Siebel CRM to be cloud ready, responsive and mobile friendly. Making UI level customization in Siebel are now as much possible as for with any other website.