Monday, November 18, 2013

Siebel Open UI: Drag and Drop Import

One of the most intriguing new features of Siebel CRM Innovation Pack 2013 is the support for drag and drop of items (i.e. records) in applets. Please join me in thanking my co-worker Scott for putting together the following article.

***

Has your sales team just come back from a trade show or marketing event with a list of prospects they need to add to their Siebel application? Have they received a spreadsheet of accounts they need to prospect? To get these contacts into Siebel typically means a lot of typing, a task no user enjoys.

Beginning with version 8.1.1.11 a new feature, Enable Drag and Drop in List, allows users to take data in a spreadsheet and directly import it to Siebel through the list applet. This feature is easy to implement and easy for an end user to use. The example I show here is importing into the contact list applet, but you can use any list applet. You can also drag and drop into the Field Service Dispatch Board, as discussed in the Field Service Guide.

Setting up drag and drop support in a list applet requires two entries in the Applet User Properties.

  • EnableDragAndDropInList = TRUE
  • ClientPMUserProp = EnableDragAndDropInList

These new user properties are discussed in the Siebel Bookshelf. Explanations can be found in the Configuring Open UI Guide and Siebel Field Service Guide.

Click to enlarge
Note that when there are already values present for the ClientPMUserProp user property, then add your new value after a comma. As of IP 2013, we can use this user property to send properties from an object to the Open UI framework.

As this is a repository-side customization, we have to compile the applet and restart the application.

Importing Data from a Spreadsheet

In a spreadsheet enter the column headers for the data to import on the first line, and data for importing on subsequent lines. Make sure you spell the headers carefully as they are case sensitive.

Click to enlarge
Once you have the header and data set up, drag the mouse over the area to select the data.  Move the mouse to the edge of the selected area until an arrowed cross appears.

Left mouse click and drag the area into the list applet. Release the button to import the data. Siebel doesn't care if the columns in the spreadsheet are in a different order than those in the applet. The match is made by column name. Notice the Mr/Ms field is a pick list. Ensure the data entered matches the bounded values in case and punctuation.

In this first release of EnableDragAndDropInList there are several limitations I have found.

  • You can not include data that is part of an MVG. If you have MVG data in the spreadsheet and attempt to import it, the import will not process.
  • If a column is part of the applet but not displayed (Columns Displayed from the menu for the list applet) that data will not import. The other data will import however.
  • When the last column in the spreadsheet matches a pick list field, you will get an error message. Ensure that the last column in the spreadsheet is not a pick list field.

Click to enlarge
Summary

By adding two simple user properties to a list applet, we can import data into that applet from a spreadsheet using drag and drop.

Thanks to Scott for this article.

have a nice day

@lex

19 comments:

Anonymous said...

This is really great. On a separate note, have you looked into F9/Send Email funtional changes in Open UI? We were strugling to get F9/Send Email work same way in Open UI as HI.Any help would be highly appriciated.

Siebelish said...

Thanks @lex for this piece. I hope this magic works on LOV screen also.

Regards,
-Rahul-

Nitin said...

Hi Alex,
Is there any other setting we need to do apart from adding Buscomp user property...??

Could you please confirm.

Alexander Hansal said...

Hi Nitin,

these are Applet user properties and there are no additional requirements other than being on 8.1.1.11 of course.

have a nice day

@lex

R said...

Hi Alex, as always...very nice post. Thank you for share this useful information. I just have a concern, I have been looking into the repository and I have found another user property: "Enable Drag Drop", I haven't work with this user property. Could you please tell me the difference between this one and the one you mention in your post. Thank you in advance

Nitin said...

Hi Alex,
I have tried this on my sample instance, Drag and drop thing is working on Firefox properly however its not working on chrome. Is there any limitation to this..??

Thanks,
Nitin

Alexander Hansal said...

Hi Nitin,

I always test on Chrome (first) and it worked just fine...

have a nice day

@lex

Alexander Hansal said...

Hi R,

in Siebel clients, there is a lot to drag and drop, not only since Open UI. So there are plenty of applets (e.g. Gantt or attachment handling applets) which have user properties to control the drag and drop functionality.

have a nice day

@lex

Gayathri D said...

Hi All,

Can anyone tell me how can we implement the drag and drop data from excel to siebel 8.1.1.9 open UI.

Thanks,
Gayathri

Himanshu Joshi said...

Hi Alex,

In one applet, we are able to achieve this. But we want this functionality to be present in all the List Applets.
Where and what code should I write in PM/PR to achieve this ?
Thanks in advance.

Regards,
Himanshu

Alexander Hansal said...

Hi Himanshu,

while I haven't tested this, you might want to try "injecting" the user property at runtime using either a postload event handler or a view PM, as described in this article.

have a nice day

@lex

Suganya Krishnan said...

Hi Alex,

Can you please tel me how to drag and drop files in Siebel OpenUI

Thanks,
Suganya

Alexander Hansal said...

Hi Suganya,

it starts with enabling drag and drop for an applet as described above.

In addition to the standard functionality of attachment applets (which handle file upload) and the import of spreadsheet data you can write custom JavaScript to handle the drop event and perform the necessary operations with the dropped object.

have a nice day

@lex

Ranjith said...

Hi alex,
I Tried the functionality of resizing and drag of applets which you have posted.But when i tried to do this the applets for which i have added the above functionality are getting disappearing.Could you please look at this thing.

Thanks&Regards,
Ranjith.G

Alexander Hansal said...

Hi Ranjith,

the example is not complete and not ready for production. When you resize/drag the applets they seem to disappear because of the z-index.

You can try the sortable() jQuery UI widget insted of draggable() but still there is a lot of additional code to write to make this fully functional.

have a nice day

@lex

Dheeraj Reddy said...

Alex... Nice meeting you here ... We are unable to drag and drop activities or accounts onto calendarin Open UI. Is thr any fix for that . We are using siebel Pharma application

Alexander Hansal said...

Hi Dheeraj,

as luck has it, I just completed writing a blog post about this (will be published next week). But here's the trick:

Add these two applet user properties to the list applets and their toggle applets:

ClientPMUserProp = EnableDragAndDropInList

EnableDragAndDropInList = TRUE

And ensure you apply at least patchset 8.1.1.11.4.

have a nice day

@lex

Dheeraj Reddy said...

Alex,

Appretiate your reply . But we are on 8.1.1.10 . Does it work on .10 .
Excited to seethis in your blog . We will be more happy if you can include all new calendar features in Open UI .

Thanks
Dheeraj

Alexander Hansal said...

Hi Dheeraj,

support for calendar drag and drop has been added in 8.1.1.11.4, so it won't work in .10.

have a nice day

@lex