Tuesday, 12 March 2019

Bookmarks in Siebel : Use of Browser Web Storage

Hello All,

Recently i tried to mimic one very important feature of browser, the bookmarks.
Bookmarks store our saved web pages/ links to important websites which we want to visit again or are frequently accessed by us.

So i tried to built something in siebel UI wherein i can store some important websites and access them from siebel only.

Web storage which is property of browser, is the key to store this data.




Below is the sample solution ,                               


Links Applet on Home Page



Option to Add new link







Working Solution 






















  • Need a Container to capture the website information and store it in web storage 

var a = '<div id="container"><div id="header"><h2>My Favorite Links</h2><small>save your best links</small></div><div id="content"><ul id="favorite-links"><li><a href="http://www.siebelfoundations.com">Siebel Foundations</a><button class="removebtn">x</button></li><li><a href="http://www.google.com">Google</a><button class="removebtn">x</button></li><li><a href="https://support.oracle.com/">Oracle Support</a><button class="removebtn">x</button></li></ul><div id="new-link-button"><button>Add New Link</button></div></div><div id="add-link-form" style="display: block;"><label>Title</label><br><input id="title" placeholder="Title here"><br><label>URL</label><br><input id="url" value="http://"><br><button id="add">Save Link</button></div></div>'

$('#_swecontent').prepend(a);  // append it to page

  • Since this information is stored in web storage, values persists even after logout of application and no siebel files, Database is required

localStorage.setItem('vk-links', $ul.html());   // use of web storage       

Sample code for this can be found on , https://codepen.io/4gray/pen/glGun

                        
Limitation 


  • If we clear browser cache the values stored in web stores vanishes.


Benefits


  • No Database, Files, Preference file is accessed 
  • Lightweight and customizable to include links to internal screens and views (haven't yet explored this but feasible) --Tried to extend this functionality for Siebel View Navigation and it worked see article 



Thursday, 7 March 2019

Tree Hierarchy in Siebel Open UI

Hello All,

In this post let us try to show data from a Entity in a Tree structure, to show a 360 Degree view all related entities in one place


Use Case, 

For any Entity Say contact if we need to See its related Opportunities, Account or Orders, we need to first drill down on contact and from 3rd level view bar navigate to particular view to see its details,

This approach can bring in all related entities in one view so avoiding any drill down and additional Navigation 

Solution, 

  • The implementation of its solution is very simple, we need to capture full details of current Contact in XML format so we can use any IO based on contact, 
  • Get IO Hierarchy using EAI Siebel Adapter Business Service 
  • Get XML by converting IO Hierarchy to XML using EAI XML Converter


Now we have XML, we need to display the XML in Expandable Format to mimic a tree structure,





















You can have multiple modification in the structure to include Drill downs, color combination etc.

Sample Code, 
https://drive.google.com/open?id=1EIxHVcwKJxz-IGfpzjFIuU52kHlQVUkw


Reports in Siebel Open UI without BI Publisher

Hello All,

in this post let us explore report generation functionality in siebel.
Generally we have BIP integration with siebel for any report generation.

RTF files/Templates are uploaded in siebel and we can genrated reports in the uploaded format.

I tried to achieve something that can generate reports/PDF files without BI Publisher, seems a bit absured but its achieveable.
Though it cannot get all the functionalites of BI Publisher but it servers the purpose for simple reports

The Solution

1. Get the values which we need to display in Report in PR file
2. Generating HTML in Desired format with field values/records from a PR file
3. Call 3rd party plugin to convert the HTML to Canvas and then to pdf

here's the output,

Click on Open Summary it displays a Preview and when i click on Generate Report, PDF for reports gets generated and downloaded













Benefits,


  • Although it cannot replace BI Publisher, but can be used for certain reports that are single page and require no/less calculations
  • Since no BIP is used, can be set up for some priority reports which are very critical and cannot afford  BIP unavailablility
  • No Cost included, so free :-)


Disadvantages

  • Since it works on HTML, so complex logics and multi page reports cannot be build
  • Need Individual Coding/Setup for each report which will be difficult to maintain
  • Generated Reports are not very clear i.e. qualty of pdf generated is not very good
  • Dependent on 3rd party,

Open UI Code

3rd Party Jquery required,

  • https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.22/pdfmake.min.js
  • https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js
Code that generates the PDF


$('.open-report').click(function () {
                html2canvas($('#report123')[0], {
onrendered: function (canvas) {
var data = canvas.toDataURL();
var docDefinition = {
content: [{
image: data,
width: 500
}]
};
pdfMake.createPdf(docDefinition).download("Table.pdf");
}
})

Complete Code, 

https://drive.google.com/open?id=14qCed01MaqnoN9rKJU-AWVQcaHSC5A0e





Siebel GoTo View - Handling Realtime cases

 Hello All,  We all must have used GoTo view functionality of siebel to navigate to a particular view from current view. What if the require...