Oracle CRM On Demand: Search Optimized Fields

In CRM OD, we have two types of Optimized fields,

Indexed Custom Fields:

  1. These are special fields that improve the response time during a search or when
  2. Indexed custom fields are preconfigured in the Oracle CRMOD database
  3. We can change the labels on the indexed custom fields to suit the usage, but not the integration tags
  4. These fields are available to be accessed using both WS 1.0 & 2.0
  5. The following table shows the Custom Index Fields supported for each of the Record Type

1

Note: For all Custom Objects, some fields use different naming conventions to those listed in the previous tables:

Index Picklist 6 = Type

Index Short Text 1 = Quick Search 1

Index Short Text 2 = Quick Search 2

Index Long Text = Name

Custom optimized fields:

  1. Unlike Custom Indexed fields, Custom optimized fields don’t come as preconfigured fields. Instead while creating a new custom field, we have a provision to mark a custom field as Optimized
  2. Before creating a new custom field, we should perform a detail assessment on the possibility of using the field as a search filter parameter either in Web services, Reports or Lists. Because a custom field can only be marked as “Optimized” at the time of creation
  3. These fields can be accessed only using WS 2.0
  4. The following table shows the Custom Search Optimized fields supported under each object by data type

123

Identifying the Optimized fields

We can identify the “Indexed Custom Fields or Custom Optimized” fields for a given Object using the following approaches,

  • Using “new List page” of CRMOD UI: Indexed Custom Fields or Custom Optimized fields are marked in green in this page. It is very easy to identify the search optimized fields from this screen

4

  • Navigate to Admin -> Application Customization -> Record Type (Account) -> Record Type (Account) Field Set up. In “Integration Tag Web Services v2.0” column, Integration tags with “Index or Optimized” keywords in it are search optimized field

 

Note: It is recommended to use only these search optimized/indexed fields as Web Services, Reports & Lists Filter parameters

Custom Fields Migration to Optimized fields

If we are already using a non-optimized field as a filter either in Web Services, Reports or Lists; After the detailed analysis if we decided to do the migration from a custom field to an Indexed Custom or Custom Optimized field to increase the performance. Before migrating the field, we have to take care of the following,

  • Data migration for the existing records
  • It is highly possible that the custom field might be used in one or all of these CRM OD modules. Perform a detailed analysis & change the affected modules to point & work with newly configured optimized field.
    a. Web Services components
    b. Workflows
    c. Rules & Validations (Under Field Management)
    d. Reports
    e. Lists
    f. URL parameters in Web Links, Applets & Tabs
    g. Integration Event Queues
    h. Data Rules & Assignment

 

UI Development Frameworks & Responsive Web Page Design

Traditionally to design & build a web page, HTML technology was used.

Using plain HTML to develop a web pages has the following challenges,

  1. Takes more time to design & build web pages
  2. Working with Rich UI elements (Tables, Complex forms, Wizards,..) is difficult & needs specilization skills
  3. Cross browser & device compatablity is not supported by default
  4. More lines of code
  5. Performs slow

To address the above challenges, over the past few years, the number of User Interface (UI) frameworks have exploded.  These recent UI frameworks were largely created in response to new mobile devices that have flooded the market, new browsers, new HTML specifications, the increasing use of Responsive Design, and the decreasing use of Flash.

The following are some of the popular HTML 5 based UI development frameworks available in the market,

  1. Twitter Bootstrap
  2. Mobile Angular UI
  3. Sencha Touch
  4. Kendo UI
  5. Intel XDK
  6. WebIx

These frameworks are cross-browser, cross-device JavaScript frameworks for building interactive web applications using JavaScript, CSS, HTML5 techniques.

So, it is the time to say good bye to developing web pages with traditional approach & consider using the above frameworks to simplify work & improve productivity.

I’m sure most of us have started to use these frameworks, if not it is the right time to get started 🙂

Memory Management in Java Script apps

While developing Java Script (JS) rich applications/pages using UI development frameworks (Say Bootstrap or WebIx) or plain JS, managing memory utilization of our code is very important.

Like JRE, Browsers also have inbuilt Garbage collector (GC) to reclaim the garbage or memory occupied by objects that are no longer in use by the program.

The GC available in older browsers such as IE 9, 10 in not as effective as GC available in the latest browser versions. And hence if your JS application is required to be used in older browser versions, special attention should be given to effective memory management.

Irrespective of the browser versions, to provide a seamless browsing experience to the user; designing JS web pages  by following the memory management best practices is must. Otherwise as the user browses through the app, memory utilization piles up resulting in browser crash leaving the user with bad experience.

We should aim to develop the web pages which performs equally well on any of the hardware, devices (Desktop, tablets, Smart phones) & browsers (IE, FF, Chrome,..) following best practices such as freeing memory used by JS objects, removing DOM nodes from memory, nullifying reference to DOM,..

So next time, before you write any JS code make sure it is memory optimized.

Customer/Developer experience enrichment tools

Though we put our best efforts in Build & QA phases of the project, it is likely that sometimes defects find their way to production.

Traditionally, we expect users to report these problems,  We then try to provide fixes; for critical issues we stretch & stress out to meet SLA’s.

This process results in bad user experience & also drains energy levels of Staff.

Times are changing, technology is evolving and expectations are growing,

We now have tools which helps us to proactively observe the user experience, discover issues affecting the users in real time & act on the issues proactively.

Raygun is one such tool,  https://raygun.io/

Key features of Ragun:

  • Amazingly easy to integrate to our app, just a matter of few minutes
  • Can be configured for both Desktop & Mobile apps. Real savior specially for mobile apps where we don’t have much provisions to track errors
  • Works with all major web and mobile programming languages
  • App performance and error tracking in one platform
  • Can be used during Build, QA, SIT, UAT, Production Support,.. phases as well

So are we ready to embrace this change for good?

Privacy friendly apps

With the emergence of Web 2.0, there is an increase in business adoption of the Web as a means of doing business/delivering services. This results in increased information/data sharing through web.

Hackers often attack the websites/apps to steal the data or to bring down the apps.

As a result, industry is paying special attention to the security of the web applications.

Generally, web app developers and testers follow the security best practices defined by OWASP.

OWASP is the emerging standards body for Web application security. In particular they have published the OWASP Top 10 which describes in detail the major threats against web applications.

Secure web application development should be enhanced by applying security checkpoints and techniques at early stages of development as well as throughout the software development lifecycle.

Knowing the security threats & it’s after affects, it is important that we take proactive measures to enhance our apps with security best practices followed widely across industry.