Showing posts with label siebel open UI. Show all posts
Showing posts with label siebel open UI. Show all posts

Friday, 19 October 2018

Enabling breadcrumb navigation on Siebel Simplified UI / Synergy Theme

Synergy Theme has been doen't have breadcrumb navigation (It is hidden),
Eventhough customers loved this theme,they demands breadcrumb.
Here is the qucik code snippets to enable those.

Js (Add below code to postload)
---------------------

var elm = $("#s_tb").eq(0)
$("#s_tb").eq(0).remove();
$("#_swescrnbar").after(elm);

CSS
------
#siebui-threadbar .siebui-crumb {
    color: #ffffff;
    font-weight: 300;
}

#siebui-threadbar>li a {
    color: #ffffff;
    text-decoration: underline;
}


Monday, 27 February 2017

Clib.System function fails in Solaris 11

Clib.System functions are commonly used to invoke system process or batch/shell files etc. This function is having some compatibility issues with Solaris 11 or above.

When you migrate Clib.system is returning some error codes like 32512 or 9.
This is because of Siebel is referring some 64 bit libraries instead of 32 bit.

To over come this issue kindly follow below steps:

1. Make a backup copy of $SIEBEL_ROOT/bin/siebmtshw.

2. Edit siebmtshw file

3. Change LD_PRELOAD to LD_PRELOAD_32

4. export LD_PRELOAD_32

5. Save the file

6. Take clean bounce of siebel services and a machine bounce as well.

By this way the library would be preloaded for 32-bit binaries

for more information please refer:
Doc ID 2193193.1
Doc ID 2149311.1

Wednesday, 11 March 2015

Log In Undefined issue in Siebel Open UI

In some of our environment, we noticed that Login button is showing as Login Undefined.


Solution to this problem.
From support web

1. On "CC Login Page (Login Only)', locate the "LoginButton".
2. Remove the Caption String Override.
3. Open UI script need to have nothing but HTML code in the caption. Otherwise, it will returns "Undefined" condition.

This did not worked for me due to some reason. The alternate way I used is by editing LoginSWT.

<script language="javascript" src="23030/scripts/3rdParty/jquery.js?_scb="></script>

<script>
$(document).ready(function(){
            $(".loginButton a").text("Login");
     });

</script>​

started working perfectly ;-)

Tuesday, 4 February 2014

How to set your custom theme as Default theme

In Siebel Open UI, user can change theme from their user preferences.  If they did not choose any thing a default theme will get loaded. By default that is "Gray Tab".

Suppose you created a new theme called "Golden Tab" and you have to make it by default, Otherwise we have to force our clients to change their theme from their user preference and that is not recommended.
You can change this thing by using some tool level change.

In order to do that please follow the steps.


1. Using Siebel Tools, navigate to "User Preferences" BC.
2. Update the calculated value for field "Behavior/DefaultTheme" to "<custom theme>"
3. Update the Predefault value for field "Behavior/DefaultTheme" to "<custom theme>"
4. Compile the changes and re-test the behavior

You will need to remove the user pref file (spf) file to make the changes take effect.


Monday, 6 January 2014

8.1.1.11 Installation Fails when attempting to create a backup of the current Installation

8.1.1.11 Installation Fails when attempting to create a backup of the current Installation

Oracle provide a solution for this issue

In the installation location ...\Siebel_Enterprise_Server\Disk1\install there is a file named oneclick.properties

Open it into an editor and locate the line

BACKUP_FOLDER=

Please specify the location where the backup should be taken.

The backup will be made to

$BACKUP_FOLDER\$SIEBEL_ROOT

e.g In Siebel is installed in /sblqa, and the BACKUP_FOLDER=/temp/backup, then the backup will be made to /temp/backup/sblqa

The installer then needs to copy the contents of the existing installation to backup location specified above and then try to delete the contents of existing installation directory.

Modify the backup command line to do a copy instead of a move command:

e.g.

#UNIX_BACKUP_CMD will be used in case BACKUP_FOLDER parameter has a non empty value. Do not change %SOURCE_ORACLE_HOME_LOCATION% and %BACKUP_LOCATION% in command

UNIX_BACKUP_CMD=cp -r ORACLE_HOME_LOCATION BACKUP_LOCATION&&rm -rf ORACLE_HOME_LOCATION/*

Save the file and rerun the install.

Thursday, 12 December 2013

Custom File Upload Applet Based On Class CSSSWEFRImpExp / CSSSWEFRImpExp Fails

We have an Import Button in an Applet, on clicking that button, a small popup applets comes and we can upload CSV which is to be imported in to parent applet. This functionality works well in HI mode. But this functionality fails in OpenUI.
Oracle support says this issues addressed in 8.1.1.11, but still I am getting error.

We can Implement this feature with some tricks.

lets create a button on applet and give method name as "FilePopup". And make sure that CanInvoke is true for this method.



function WebApplet_PreCanInvokeMethod (MethodName, &CanInvoke)
{
    if(MethodName == "FilePopup")
    {
            CanInvoke="TRUE";
            return (CancelOperation);
    }
    return (ContinueOperation);

Now open Applet Browser script. 


function Applet_PreInvokeMethod (name, inputPropSet)
{
    switch(name)
    {
        case "FilePopup":
        var ShowModalOptions= "dialogHeight:150px;dialogLeft:100px;dialogWidth:350px;scrollbars:no";
        var intRet = theApplication().ShowModalDialog ("FileImport.htm", "", ShowModalOptions);
       
        var Bc = this.BusComp();
        var csvval=intRet.split("|");
       
        for(var j=0;j<csvval.length-1;j++){
            this.InvokeMethod("NewRecord");
            var csvvalue=csvval[j].split(",");
            Bc.SetFieldValue("First Name",csvvalue[0]);
            Bc.SetFieldValue("Last Name",csvvalue[1]);
            Bc.SetFieldValue("Age",csvvalue[2]);
            Bc.SetFieldValue("Sex",csvvalue[3]);
        }

        return ("CancelOperation");
        break;

        default:
        return ("ContinueOperation");
        break;
    }
    return ("ContinueOperation");
}


Next step is creating an HTML file. Copy the below code and save it as  "FileImport.htm"
in Webserver as well as siebel server. ( \Client\PUBLIC\ and \siebsrvr\WEBMASTER\ )

<html>
</head>
<script language="javascript" src="23030/scripts/3rdParty/jquery.js"></script>
<script>
$(document).ready(function(){

$("#filename").change(function(e) {
var ext = $("#filename").val().split(".").pop().toLowerCase();

if($.inArray(ext, ["csv"]) == -1) {
alert('Upload CSV');
return false;
}

if (e.target.files != undefined) {
var reader = new FileReader();
reader.onload = function(e) {
var csvval=e.target.result.split("\n");
var inputrad="";
for(var j=1;j<csvval.length-1;j++){
    var csvvalue=csvval[j].split(",");
    for(var i=0;i<csvvalue.length;i++)
    {
    var temp=csvvalue[i];
    if(inputrad==""){
         inputrad=temp+"";
    }else if(i!==0){
         inputrad=inputrad+","+temp+"";
    }else{
        inputrad=inputrad+""+temp;
    }
   
   
    }
    inputrad =inputrad+"|";
}

window.returnValue = inputrad;
return inputrad;
};
reader.readAsText(e.target.files.item(0));

}


});
$("#import").click(function(){
    self.close();
});
})
</script>
</head>
<body>
<input type="file" name="filename" id="filename">
    <div id="csvimporthint_1">
        <table border="1" id="csvimporthint">
        </table>
    </div>
<input type="button" id="import" value="import">

</body>
</html>

compile applet and run GenB script.
Click on Import button and test this functionality.

Thursday, 28 November 2013

Siebel Open UI : Migrating a renderer from 8.1.1.10 to 8.1.1.11

Siebel Open UI : Migrating a renderer from 8.1.1.10 to 8.1.1.11

This tutorial is all about how to migrate code from 8.1.1.10 to 8.1.1.11


thanks to  Duncan Ford

Tuesday, 5 November 2013

White screen issue after patching openUI (8.1.1.11)

Some of developers getting white screen after patching open UI, and error console says.
 
Message: Object doesn't support this action
Line: 38
Char: 799
Code: 0
URI:
http://192.168.1.104/callcenter_enu/23030/scripts/siebel/navctrlmngr.js?_scb=

Oracle support web came with a solution for this problem.

Cause
FP 8.1.1.11, aka Innovation Pack 2013, contains many changes for the Siebel Open UI. When the pre-8.1.1.11 SRF is used for Siebel Open UI, it cannot perform the operation correctly and the above error is shown

Solution

Please download the new SRF to replace the pre-8.1.1.11 SRF as below.

1) Login to Oracle Software Delivery Cloud, aka edelivery (https://edelivery.oracle.com/)

2) Search Siebel CRM product with the following criteria then click "Go" button.
Select a Product Pack: Siebel CRM
Platform: (corresponding platform)

3) Find the description below then select it.
Description: Siebel Industry Applications Innovation Pack 2013 Release 8.1.1.11 Media Pack for "corresponding Platform"

4) Find Siebel Repository Files (SRF) as below and click "Download" button.
Name: Siebel Industry Applications Version 8.1.1.11 Siebel Repository Files
Part Number: V39883-01

5) Downloaded file contains SRF for many languages. Choose the correct one for the system and unzip it to siebsrvr\objects\LANGUGAE folder.
** LANGUAGE should be replaced by the appropriate three letter language code.

Please use
https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=2ygn9xguq_9&_afrLoop=59616672061561

Wednesday, 9 October 2013

Siebel OpenUI 8.1.1.11 Fix Pack - Features

The next release on 8.1.x is 8.1.1.11. This innovation pack is releasing with lot of features, that is available in non-open UI versions and missed in older open UI versions(8.1.1.9/10)
  • Siebel Mobile Disconnected
  • Customer Facing Sales Applications
  • Partner Facing self Registration
  • Marketing - HTML/Rich Text Editor, Allocation, Calender, Flow Universal Inbox
  • C/OM - Sum totals on list: Contact hierarchy view
  • Sales - Funnel Chart
  • Right-to-left language support
  • List views - Column lock, column resizing, save state
  • Online Help- Searchable, Context sensitive help
  • Personalization, Applet Location/Hide
  • Expression/Rule Designer
  • Outbound email f9/Email Response
  • Calendar Drag/Drop Validation
  • Applet right click menu
  • Bar code toolbar
  • Chat
  • CTI toolbar - Hotelling
  • GANTT Chart
  • Chart program Designer
  • SmartScript -Designer/Player

Thursday, 20 June 2013

Benchmark of a Siebel OpenUI Theme from OpenUIThemes.com

In my previous post, I told you about the contact I had with the OpenUIThemes’ staff and said that a test was scheduled.

Well, yesterday, I could get my hands on their themes. My review below, I had access to their Gmail Theme and  every major topic I tested is listed here:

  Design
o   Being a daily user of Gmail as well as a global Google fan, I could feel the impression to work on my desktop using their test machine.

o   The UI is easy to navigate and the visuals are ok.

o   Some menus have changed position (like sitemap and so on) but as a user you don’t want to use this menu every day. In fact thinking again about it, I think that it adds something to user navigation as UI is focused on what will be immediately useful for the Siebel user.

 Performance
o   Performance was fine on this theme, the theme did not contain heavy images but I was on a low-bandwidth connection so for me it’s OK. I don’t know how it would behave with more and heavier visuals (high-definition logo of a company, etc...) but maybe high-bandwidth connection will compensate in this case.

o   Navigation is fluid between the pages and response time is also, even on first connection to the Siebel environment.

o   I didn’t try to make performance-costly operations specifically so I can only say that the UI performed well with basic operations and navigation.

 Compatibility
o   As you can imagine, this is my major concern (as I point out in some articles where I present webkit properties implementation for example), I try to draw attention on this point everytime I can when customizing the OpenUI.

o   So I tried with IE9, Chrome and Firefox (I don’t have Safari and Opera installed so I couldn’t test it with these browsers). They state on theme pages that they support Opera and Safari also but I can’t confirm that.

o   The result is same in 3 browsers I tried. Apparently, they took into account the difficulties to make customization depending on different browsers.

The theme I have tested is OK on design (depends on your taste actually), performance and compatibility as far as I could test it.

So this is a great news to see some companies going along with the OpenUI product expansion. Check it out yourself at http://www.openuithemes.com


Additional note:

Apparently, they also offer Plugins to modify the user experience.
They presented me 2 examples and also offered me to test it for free. They told me that other plugins are like I already did for voice recognition in Siebel OpenUI, mouse hover info, applets layouts changes and so on but I don’t know much more right now.

Monday, 27 May 2013

Homepage EditLayout Issue

In Siebel 8.1.1.10, Edit layout is not working. As per their document, no Quick fixes are available for this issue & next version (8.1.1.11) may not fix this issue.

Friday, 19 April 2013

GetProfileAttr/SetProfileAttr not Working in Siebel 8.1.1.10

In 8.1.1.10 version, SetProfileAttr() has been disabled for HTTP calls as a security fix.
That means if you have a browser scripts uses SetProfileAttr(), it won't work. No change to GetProfileAttr() access.
Oracle disable this "SetProfileAttr()" as a security fix. So enabling this is not recommended.

SetProfileAttr() access can be turned on by setting the server parameter “EditProfileAttr” value to TRUE

Sunday, 24 March 2013

Siebel Business Applications Release 8.1.1.10

Oracle just released siebel version 8.1.1.10 . You can download this from edelivery cloud.


Hope that this version will be a solution for all issues that we faced in previous version (8.1.1.9)

Sunday, 20 January 2013

adding voice input in siebel openUI :: Physical Render experiement


Please Note: Here we are using a webkit property. That means this feature will work only in google chrome.
Google chrome supports it's own voice search property. We can add this property to our application by adding "x-webkit-speech" in our input fields. Here we can create a physical render and implement this feature.


<!-------------------CODE Begins----------------------------!>

if( typeof( SiebelAppFacade.GoogleVoicePR ) === "undefined" ){
    SiebelJS.Namespace( "SiebelAppFacade.GoogleVoicePR" );
   
    SiebelApp.S_App.RegisterConstructorAgainstKey( "GoogleVoicePRenderer", "SiebelAppFacade.GoogleVoicePR" );
   
    SiebelAppFacade.GoogleVoicePR = ( function(){
       
       
        function GoogleVoicePR( pm ){
            SiebelAppFacade.GoogleVoicePR.superclass.constructor.call( this, pm );
            var controls = this.GetPM().Get( "GetControls" );
            var cntrl = controls[ "Last Name" ];   
            var lastNameCntrl  = cntrl.GetInputName();
            $('input[name="'+lastNameCntrl+'"]').attr("x-webkit-speech","x-webkit-speech");

        }
       
        SiebelJS.Extend( GoogleVoicePR, SiebelAppFacade.PhysicalRenderer );
       
        return GoogleVoicePR;
    }());
}


<!-------------------Code Ends------------------------------!>

Thursday, 17 January 2013

Coding Physical Render(Part -3)




I have given three color for code. Red indicated that it is mandatory. Black indicates comment and green indicates custom code.

if( typeof( SiebelAppFacade.ValidatePR ) === "undefined" ){
    SiebelJS.Namespace( "SiebelAppFacade.ValidatePR" );
   
    SiebelApp.S_App.RegisterConstructorAgainstKey( "ValidatePRenderer", "SiebelAppFacade.ValidatePR" );
   
    SiebelAppFacade.ValidatePR = ( function(){
       
                               
        function ValidatePR( pm ){
            SiebelAppFacade.ValidatePR.superclass.constructor.call( this, pm );
            this.GetPM().AttachPMBinding( "isEmailSet",  validateEmail, { scope: this });
                /* This is very important. We bing “isEmailSet” variable. So that this will track changes in this variable in physical model. and if changes happed, then validateEmail will execute. */
        }
       
        SiebelJS.Extend( ValidatePR, SiebelAppFacade.PhysicalRenderer );
       
                                 function validateEmail() {
                var controls = this.GetPM().Get( "GetControls" );
            var cntrl = controls[ "EmailAddress" ];        
/*The  controls[ "EmailAddress" ]; will return an object  that contain all information about EmailAddress*/
                                                var emailcntrl  = cntrl.GetInputName();
/*cntrl.GetInputName(); Using the above object getting input name  */
                                                var email = $('input[name="'+emailcntrl+'"]').val();
/*Here is jQuery!!... using our input name we are reading the value in it. */
                                                alert(email);
                                                var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
                                                if( !emailReg.test( email ) ) {
                                                                alert("Please enter a valid Email");
                                                                return false;
                                                } else {
                                                                alert("This is a valid Email");
                                                                return true;
                                                }
/*Using a regular expression, we are testing whether it is a valid email or not.. old browser script.. */
                                }
       
        return ValidatePR;
    }());
}

Now if you change value in email field, will trigger Physical Model.. then Physical render and email filed will get validated.  Hope you understand… :)