Siebel Open UI Interview Questions and Answers

Here we have listed down few frequently asked Siebel Open UI interview questions that you could face in an interview.

Siebel Open UI Interview Questions:

1. Benefits of Siebel Open UI over Siebel HI application
    Click on the link for ans: What is Siebel Open UI and its benefits
 
2. How does Siebel Open UI architecture differ from traditional Siebel architecture?
    Click on the link for ans: Siebel Open UI Architecture
 
3. Tell me a business requirement where you have used Presentation Model and Physical Renderer.
    Ans: Describe the best scenario where you have used PM and PR.
 
4. What is Presentation Model? Explain its customization steps with an example.
    Click on the link for ans: Presentation Model Customization
 
5. What is Physical Renderer? Explain its customization steps with an example.
    Click on the link for ans: Physical Renderer Customization
 
6. Difference between Presentation Model and Physical Renderer JS files
    Ans: Do it by yourself!
 
7. Can we have Presentation Model without Physical Renderer or vice versa?
    Ans: Yes
 
8. What is Siebel Open UI theme ? Have you customized Open UI theme in any project?
    Click on the link for ans: Siebel Open UI Theme
 
9. What is Manifest file and how to configure it in Siebel Open UI?
    Click on the link for ans: Customizing Manifest file
 
10. How does Siebel Open UI behave when custom manifest record matches with predefined manifest?
    Click on the link for ans: Manifest file Customization (look at the end of article)
 
11. How to debug JS files in Siebel Open UI?
    Click on the link for ans: Siebel Open UI Debugging
 
12. Have you followed best practices in Siebel Open UI application configuration?
    Click on the link for ans: Siebel Open UI Best Practices
 
13. What is the purpose of using ‘Define’ Method ? Is it mandatory to use ‘Define’ Method in PM or PR JS file?
    Click on the link for ans: Presentation Model Methods and Physical Renderer Methods
 
14. Can we call business service from PM or PR JS file?
    Ans: Yes
 
15. Can traditional browser script and Siebel Open UI PM/PR JS files work together?
    Ans: Yes
 
List is not over yet! we will add few more real time Siebel Open UI interview questions here. You can also share your interview questions in our comment section.

You may face few questions on CSS also. We recommend you to get a fair idea about CSS from W3schools.

Test your Siebel Open UI skill with our quiz – Siebel Open UI Quiz.

If you have any question about Siebel Open UI Debugging, please feel free to comment below.

Keep in touch, follow TechOneStop on Facebook / Twitter / LinkedIn / Goolge+.

Siebel Open UI Best Practices (Training – Part 10)

In this last module of Open UI training series, we will discuss about Siebel Open UI best practices. There are few thumb rules that you must follow during Siebel Open UI customization.

All best practices that you have followed for Siebel HI, are applicable for Open UI also. Additionally there are few best practices for Siebel Open UI application.

Siebel Open UI Best Practices:

1. Add Presentation Model (PM) or Physical Render (PR) when there is no other way of customization to meet the requirement. You first try to meet the requirement by configuring Siebel tools or modifying Siebel web template file.

2. Make sure all PM variables are treated as properties. You must use ‘AddProperty’ method only to create property in Presentation Model. Never use ordinary JavaScript variable to create any property in Siebel Open UI.

3. Like ‘AddProperty’, use ‘AddMethod’ only to create methods in Presentation Model (Read more about Presentation Model Methods).

4. Use ‘BindEvents’ to bind the PM methods with appropriate PR events and ‘BindData’ to access properties from PM (Read more about Physical Renderer Methods).

5. Typically a Presentation Model is followed by a corresponding Physical Renderer. You write business logic in PM file and rendering logic of Siebel objects in PR file.

6. It is strongly recommended that do not use PR to add any presentation attributes like position, color, font to the Document Object Model (DOM). All presentation related attributes must be declared in CSS file only. You could read our article on Siebel Open UI theme to know more about CSS.

7. Use JavaScript code quality checking tools like JSHint, JSLint to verify PM or PR JS files before deployment.

8. Remove debugger and SiebelJS.log() from the script before moving custom files into production.

10. Try to avoid alert() to print variable values. If you forget to delete it from JS file before deployment, it will show alert message to end users.

11. Test your customization with all browser and device combinations before moving it to production.

This ends our all 10 modules on Siebel Open UI Training. We hope it has helped you to get a fair understanding of Siebel Open UI application.

To read our Siebel Open UI configuration related articles, click here – Siebel Open UI Configuration. Also test your Siebel Open UI knowledge with our quiz – Siebel Open UI Quiz.

To know about Siebel Open UI interview question, read our article: Siebel Open UI Interview Questions

If you have any question about Siebel Open UI best practices, please feel free to comment below.

Keep in touch, follow TechOneStop on Facebook / Twitter / LinkedIn / Google+.

<< Module 9: Physical Renderer Methods

Will Microsoft take over Salesforce ?

Salesforce acquisition - Microsoft takes overIn our previous article (

Salesforce For Sale

), we told you that recently Bloomberg has published a report saying Salesforce has hired financial advisers to assess different takeover offers from potential buyers. Though Salesforce didn’t say anything on acquisition but if it happens, it will be the largest takeover in Software industry. Right now Salesforce has around $49 billion market value and it is also expected that shareholders would demand a premium over its stock price that the buyer needs to bear. This confirms one thing that the potential buyer needs an extraordinary deep pocket to afford the cost.

Several analysts have kept Oracle, Microsoft, Google, IBM and SAP as potential buyers list. But recently SAP has denied the idea of buying Salesforce. Spokesperson from SAP has confirmed that SAP has no intention to take over this cloud based CRM Company. Oracle Corporation also has showed disinterest in acquiring Salesforce. Safra Catz, one of Oracle’s two CEOs, has said that “If it’s acquired by someone else, it’s probably good for us.” IBM could be a potential buyer but the current market value of Salesforce.com is surely a big challenge for them. All these facts are supporting only one company and that is Microsoft.

Already Microsoft and Salesforce have an agreement to promote each other’s products. Also over the last few years, Microsoft has showed its interest in CRM and now by acquiring Salesforce, it could try to extend its presence in CRM business, mainly on cloud. Recently Marc Benioff, Salesforce’s CEO has offered a tweet that shows Microsoft and Salesforce, both are looking for closer relationship. Recently Microsoft’s CEO Satya Nadella told that the company aims of $20 billion annual revenue from cloud business by 2018 and Salesforce acquisition will definitely help to meet the target.

So…
SAP has already answered negative
Oracle has showed disinterest
IBM would not go for it because of high market value
and all other facts point to software giant Microsoft only

Till now neither Microsoft nor Salesforce has opened up their mouth but won’t get surprise if one fine morning you read ‘Microsoft has acquired Salesforce‘.

We are still waiting for more details, keep follow us for further updates.

***Latest update: It seems, Microsoft is also not interested to take over Salesforce because of its huge market value. We have to wait few more days for next story!

Read more: 5 Best Cloud Based Free CRM Software For Small And Medium Business

To get more updates, follow ‘TechOneStop‘ on FaceBook / Twitter / LinkedIn / Google+ or subscribe our website.
Please feel free to share the news with your friends!

<< Is Salesforce For Sale ?

Is Salesforce For Sale ?

Salesforce for Sale

– according to Bloomberg recent report. It is still not decided who is going to take over Salesforce but if it happens, this will be the largest accusation in the software industry.

Salesforce, the giant cloud based CRM software provider, was established by Marc Benioff in 1999 after a career in Oracle. According to Gartner, it has more that 16% CRM market share with stock market capitalization of almost $49 billion after an 11 percent surge on the news.

According to Bloomberg report, Salesforce has hired financial advisers to look at takeover offers. Though it is still not clear who will win the race but it seems, buyer list is not large – potential buyers are Microsoft, Google, Oracle, SAP (Germany), Tencent (China) or Softbank (Japan). But whoever is the buyer, it needs extraordinary deep pocket. Considering Salesforce’s growth, it is expected that shareholders would demand a premium over its stock price that the buyer has to afford.

According to Bloomberg, even if there is no extra cost, it will be the biggest deal in software business. In 2008, Microsoft tried to acquire Yahoo for close to $45 billion but it failed.

Though Benioff, Salesforce’s CEO, didn’t comment anything on potential buyers but it seems, he is more inclined to see Microsoft Salesforce deal. Recently he has offered a tweet that makes this rumor more strong.

Only time can tell us that Salesforce is really for Sale or just speculation. But if the deal is done, buyer will have biggest CRM market share over night.

If Salesforce is acquired by Oracle, will it see the same fate like Siebel? We will discuss this in our next article.

Read More: Siebel Vs Salesforce – is it valid comparison?

To get more updates, follow ‘TechOneStop‘ on FaceBook / Twitter / LinkedIn / Google+ or subscribe our website.
Please feel free to share the news with your friends!

                                                                                    Will Microsoft take over Salesforce >>

Physical Renderer Methods in Siebel Open UI (Training – Part 9)

You know how to configure Physical Renderer in Siebel Open UI. In this module we will discuss few frequently used Physical Renderer Methods that every Open UI developer should know.

Frequently used Physical Renderer methods in Siebel Open UI:

  1. Define
  2. AttachPMBinding
  3. GetPM
  4. BindData
  5. BindEvents
  6. ShowUI
  7. FieldChange
  8. EnableControl
  9. SetControlValue
  10. EndLife

1. Define Method:

Siebel Open UI uses ‘Define’ method to locate the Presentation Model (PM) or Physical Renderer (PR) JS file and other dependent files. It must have a return statement like return “SiebelAppFacade.customclassname”;

Syntax: define (Module_name,List_of_dependencies,Function);

  • Module_name is the Physical Renderer file name with file path but without file extension.
  • List_of_dependencies is an array of all dependent modules required to execute PR JS file. If there is no dependency, keep it blank.
  • Function identifies the function name and returns an object.

Example:

// Define method to make sure Siebel Open UI can identify PR JS file and other dependent files

define(“siebel/custom/ShowHideFieldsPR”, [“order!3rdParty/jquery.signaturepad.min”, “order!siebel/phyrenderer”], function () {
                  — Write the code here—
return “SiebelAppFacade.ShowHideFieldsPM”;

2. AttachPMBinding:

AttachPMBinding is used to bind a method with another method. If there is no conditional expression, Open UI calls ‘Method_to_call’ method after ‘Method_name’ execution.

Syntax:

this.AttachPMBinding(“Method_name”,”Method_to_call”,{when: function(Conditional_function){return false;}});

  • Method_name is the existing method name, typically Presentation Model method name.
  • Method_To_Call is Physical Renderer custom method name. Siebel Open UI calls this method after execution of Method_name.
  • Conditional_function: Siebel Open UI calls ‘Method_to_call’ method based upon return value of Conditional_function. 
    • True: Open UI calls the AttachPMBinding method.
    • False. Open UI does not call the AttachPMBinding method.

Example: this.AttachPMBinding( “ShowHideFieldsPM”, ModifyLayout );

3. GetPM:

GetPM method is used to get Presentation Model instance in Physical Render JS file. It does not include any argument.

Syntax: GetPM()

Example: var controls = this.GetPM().Get( “GetControls” );

4. BindData:

BindData method downloads metadata and data from Siebel server to client proxy and then binds data to user interface. It can access all properties from PM and passes it to PR to build user interface.

Syntax: BindData(SearchData, options);

Example:

custom.prototype.BindData = function(){
SiebelAppFacade. custom.superclass.BindData.apply(this, arguments); };

5. BindEvents:

BindEvents method binds the Presentation Model method to Physical Renderer events.

Syntax: BindEvents(this.GetProxy().GetControls());

Example:

Suppose requirement is when user clicks on plus sign (+) of a collapsible applet, call PM to restore applet as well as data. So you can set an event on restore button action and bind that event with PR JS file.

SiebelAppFacade.RecycleBinRenderer.superclass.BindEvents.call(this);

6. ShowUI:

ShowUI renders the metadata, data and PR events. It shows the physical control corresponding to an applet control.

Syntax: ShowUI()

Example:

If you want to display a list applet in grid layout, use ShowUI to render the third-party grid control.

CustomPR.prototype.ShowUI = function(){

7. FieldChange:

Siebel Open UI uses FieldChange method in Physical Renderer to modify field value. Mostly FieldChange method is followed by SetControlValue method to set the value of the control.

Syntax: 

this.GetPM().AttachPMBinding(“FieldChange”, this.SetControlValue, {scope: this}

8. EnableControl:

EnableControl method is used to enable a control in Physical Render JS file.

Syntax: EnableControl(control_name)

9. SetControlValue: 

SetControlValue method is used to set the value of a control. Generally we call SetControlValue method after FieldChange method.

Syntax: 

this.GetPM().AttachPMBinding(“FieldChange”, this.SetControlValue, {scope: this}

10. EndLife:

EndLife method ends the life of an event. It is recommended  to use the EndLife method to release custom events, delete unused variables and so on.

Syntax: EndLife()

Example:

CustomPR.prototype.EndLife = function(){
$(Object_name).unbind (“Event_name.CustomPR”); };
           – Object_name is the name of the object where the event runs
           – Event_name  is the name of an event

This ends our module on Physical Renderer methods in Siebel Open UI.

If you have any question about Physical Renderer Methods, please feel free to comment below.

Keep in touch, follow TechOneStop on Facebook / Twitter / LinkedIn / Google+.

<< Module 8: Presentation Model Methods               Module 10: Siebel Open UI Best Practices >>

Watch our YouTube Video on Physical Renderer Configuration:

Presentation Model Methods in Siebel Open UI (Training – Part 8)

You already know how to configure Presentation Model in Siebel Open UI. In this module we will discuss few frequently used Presentation Model Methods in Siebel Open UI that every Open UI developer should know.

Frequently used Presentation Model methods in Siebel Open UI:

  1. Define
  2. Init
  3. AddProperty
  4. SetProperty
  5. Get
  6. ExecuteMethod
  7. AddMethod

1. Define Method:

Siebel Open UI uses ‘Define’ method to locate the Presentation Model (PM) or Physical Renderer (PR) JS file and other dependent files. It must have a return statement like return “SiebelAppFacade.customclassname”;

Syntax: 

define (Module_name,List_of_dependencies,Function);

  • Module_name is the Presentation Model file name with file path but without file extension. 
  • List_of_dependencies is an array of all dependent modules required to execute PM JS file. If there is no dependency, keep it blank. 
  • Function identifies the function name and returns an object. 

Example:

// Define the presentation model file location and other dependencies if any

define(“siebel/custom/ShowHideFieldsPM”, [], function () {
— Write the code here—
return “SiebelAppFacade.ShowHideFieldsPM”;
});

2. Init Method:

Init stands for Initialization. It is used to initialize other methods or objects like AddProperty, AddMethod.

Syntax: Init()

Example:

ShowHideFieldsPM.prototype.Init = function(){
SiebelAppFacade.ShowHideFieldsPM.superclass.Init.call( this );
this.AddProperty(“ShowHideStatus”, “” );
this.AddMethod( “ShowSelection”, SelectionChange, { sequence : false, scope : this } );
};

3. AddProperty Method:

AddProperty method is used to add a property in Presentation Model. You can use ‘Get’ method to fetch the value from the property. AddProperty method returns ‘True’ if the property is created successfully otherwise ‘False’. A subsequent call to this method with the same property name will overwrite the previous value.

Syntax:

this.AddProperty(“propertyName”, propertyValue);

Example:

this.AddProperty(“ShowHideflag”, False);
SiebelJS.Log(this.Get(“ShowHideflag”));

4. SetProperty Method:

SetProperty is used to set the property value, created by AddProperty method. It returns ‘True’ if the property value is set successfully otherwise ‘False’.

Syntax:

SetProperty(property_name, property_value);

Example

this.SetProperty( “ShowHideflag “, true);

5. Get Method:

Get method returns the property value.

Syntax: Get()

Example:

this.AddProperty(“ShowHideflag”, False);
SiebelJS.Log(this.Get(“ShowHideflag”));

6. AddMethod Method:

AddMethod adds vanilla or custom methods to the Presentation Model. You can use ExecuteMethod to run the method that AddMethod adds. It returns ‘True’ if the method is added successfully, otherwise ‘False’.

Syntax:

AddMethod(“MethodName”, MethodDef(argument1, argunemtn2,… argument n), {MethodConfig : value});

   MethodName is the name of the method that Siebel Open UI adds to the Presentation Model

   MethodDef is an argument that helps to call another method

   Argument1/2..N are the arguments that AddMethod passes to the method defined in MethodDef

   MethodConfig can have below values

      ♦ Sequence:

               – Set it to ‘True’ if you want Siebel Open UI to call MethodName before the method that already exists in PM.

               – False if you want Siebel Open UI to call MethodName after it calls the method that already exists in PM.

               – Default value is False.

      ♦ Override:

               – If ‘True’, Siebel Open UI does not call the method that already exists in PM.

               – If ‘False’, Siebel Open UI calls the method that already exist in PM.

      ♦ Scope:

               – It defines the scope of the MethodDef.

Example:

this.AddMethod( “FieldChange”,  OnFieldChange, { sequence : false, scope: this } );

** You can not override any method that already exists in vanilla application by using Override as True.

7. ExecuteMethod Method:

ExecuteMethod is used to execute vanilla and custom methods in PM. ExecuteMethod returns a value from the method if it exists otherwise it returns ‘Undefined’.

Syntax:

this.GetPM().ExecuteMethod(“vanilla/custom method name”, arguments);

Sometimes it is written as this.ExecuteMethod(“vanilla/custom method_name”, arguments);

Example:

var controls = this.Get( “GetControls” );
var control = controls[ “Status” ];
var value = this.ExecuteMethod( “GetFieldValue”, control );

** If the method, specified in ExecuteMethod, is a custom method, then make sure AddMethod is used to add the method before calling ExecuteMethod.

Few less frequently used Presentation Model Methods:

  1. AttachEventHandler Method
  2. AttachNotificationHandler Method
  3. AddComponentCommunication Method
  4. AttachPostProxyExecuteBinding Method
  5. AttachPreProxyExecuteBinding Method
  6. OnControlEvent Method
  7. Setup Method

These are not highly used Presentation Model methods. If you want to know any of these methods, please let us know.

This ends our module on Presentation Model Methods in Siebel Open UI.

If you have any question, please feel free to comment below.

Keep in touch, follow TechOneStop on Facebook / Twitter / LinkedIn / Goolge+.

<< Module 7: Debugging in Siebel Open UI                     Module 9: Physical Renderer Methods >>

Watch our YouTube Video on Presentation Model Configuration: