February 18, 2016

Siebel Open UI Interview Questions plus bonus jQuery tips

Question 1 : What are different layers of JavaScript classes in Open UI ?

Answer: Siebel Open UI framework provider 4 different type of js files , proxy, presentation model(PM), physical renderer(PM), and plugin wrapper(PW). Out of these only PM, PR and PW are recommended to modify and extend. Proxy is an interface between Siebel server and browser, thus should never be changed.

Siebel Open UI Architecture

Read more



Question 2: What is Proxy in Open UI?

Answer: Proxy is JavaScript library provided by oracle which is responsible for communication with Siebel server and bringing the data to build the UI. It is not advised to customize the proxy.

Question 3: What is Presentation Model in Open UI?

Answer: PM or Presentation Model is javascript layer which works with proxy data and implements the logic on UI. Any data validation, manipulation and event handling should be done in PM layer. Oracle recommends to extend the out of the box PM by creating new file and defining it in manifest.

Question 4 : What is Physical renderer or PR?

Answer: PR layer is reponsible for builing the user interface, it binds events and data from PM layer to physical controls. Just like PM, PR can also be extended. Focus in PR should be to change representation(look and feel) of UI elements and manipulating data and doing validations.

Question 5: What is Plugin Wrapper? How it is different from PR?

Answer: PW or plugin wrapper js files are  control specific PR . PW helps to build and use HTML 5 widgets in Siebel UI. PW should be used to change the behaviour of specific control in Open UI. Example for use of PW would be the slider control, map control etc..

Question 6: How to update manifest for a new PR layer?

Answer: To create new PR layer for Siebel developer has to follow following steps

  1. First place the new file in custom folder of web server.
  2. Go to Administration - Application > Manifest Files and create new record for the new file created.
  3. Go to Administration - Application > Manifest Administration and create new record for Applet and Type = Physical Renderer. Create condition for the manifest record and pick the in file name created in step 2.



Question 7: What is the difference between Init() and Setup() of Open UI framework?

Answer: Both Init() and Setup() method are called when object is initialized. It is recommended that Init() method should be used to attach event listeners and overriding methods.  Setup Method additionally receives property set containing data and metadata(system properties and user properties) from server and it should only be used if there is a need to change the property set.


Question 8: How can we provide different UX/UI in Siebel Open UI for certain group of users?

Answer: Create a new responsibility for the group of users and use this reponsibility in Manifest Condition to call Physical Renderer file which changes the UI.
Following syntax can be used to achieve functionality.
IIf(InList(“Junior Sales Representatives”,GetProfileAttrAsList(“User Responsibilities”)))

Question 9: Where does Siebel Open UI CSS files located on web server?

Answer : CSS and images files are by default placed on web server PUBLIC\enu\files folder.

Question 10:  What is dependency injection? and How does open UI framework achieves dependency injection?

Answer: Dependency injection is a way two JavaScript codes hooks into other code, thus any change of value in one code invokes method on other code.
Open UI achieves dependency injection by AttachEventHandler method in PM layer to attach function to execute when specified event is executed in PR layer.
PR creates dependency by AttachPMBinding method, this helps executing PR code in case property of PM changes.


Bonus jQuery Tips/Questions

Question 1. How would you hide an div element with specific class in jQuery?

Answer: jQuery lets you hide any element in HTML by using .hide method. Syntax could look like:
$("div.class_name").hide();

Question 2: What is the difference between jQuery methods hide() remove()?

Answer: Hide method set the visibility of method to false and element still remains in the current DOM. On other hand remove() method deletes the element from DOM there is no way to bring back the same element back if it has been removed.

Question 3: How can we add new HTML elements in DOM using jQuery?

Answer: New Elements can be added at run time by using jQuery .add() .append() .prepend() and .insertAfter() methods

Question 4: What is difference between == and === in JavaScript?

Answer:
== only compares values
=== compares values + type

var check1 = '10',
check2 = 10;
check1 == check2 // true
check1 === check2 // false

Question 5:  How to add breakpoint in JavaScript code? 

Answer: debug; statement can be inserted in code to halt the normal execution of script. With help of developer tools, execution can be resumed.

Question 6 : How can we change look and feel of element using jQuery?

Answer: jQuery can be used to add inline CSS . This is possible by using .CSS() method.
For example to to increase the font one can use following syntax: 

$("div.special").css("font-size","15px")



Guys, to receive more questions like this be email subscribe to blog. 


If you like this post and would like see more like this in future please +1 this post below. dont forget to leave your comments below to get specific answers. 

No comments :

Post a Comment