Friday, November 27, 2009

Super Cool Drag n Drop Sidebar Widget (Eclipse RCP / Lotus Expeditor plug-in)

I've just ended our PoC (Proof of Concept) on a multi featured Eclipse / Expeditor based Drag n Drop Widget, and the product managers and sales guys are ecstatic. They are all really excited and explodes with new ideas to the component.

This is what it look like, right now.... (please remember it's the first PoC so it will have to undergo some UI corrections and better practices ;)





Just to mention some of the features, as it is currently....
  • It's split up into to concepts
    • A drop enabled viewer part with a filter functionality (configured to fetch and show documents from views)
    • A drop pad (here users can drop documents on the current selected target document in the current Notes context, from the inbox, calender....whatever...)
A little word on some of the features:
  • The widget is extremely configurable
  • The widget can listen to Notes document selections coming from any view, folder or alike. And if any of the selected document has a form name that matches one from the configuration....well then it's a potential drop target.
  • You can have sticky targets (targets that stays tight, even when you select other potential target documents)
  • When you drop a bunch of documents they can either get copied and "responsed" on the target / main document or you can configure it to create a DND (Drag n Drop) main document in the target database and make the drop get "responsed" on that DND document instead, enabling you to do some processing on the drop before the dropped documents gets "responsed" on the real target / main document
  • You can configure agents to run on the target document (via the NOTEID) after a drop, enabling you to do some post processing
  • The user can use the viewer to directly open the documents and databases
  • And much much more....


Here is a shot of a drop of mails in the viewer part

 

Here is a shot of a drop of mails onto the drop pad (relating to a current selected target document, which could have been selected in a random Notes view in a random application.



Here you can see some of the setup possibilities in the relating preference pages. Focus on the tabbed folder component to see the different configuration settings.

The Database Tab:



The Viewer Tab:



The Drag n Drop Tab:



The Target Tab:



Cool right? Feel free to supply with any comments and ideas.

So what's the plan now???....Well now the widget has to undergo some further investigation in a complete features set, testing, release plan and other stuff (and we are thinking of distributing it for free!!!!) but let's see what happens in the end.

9 comments:

Anonymous said...

great!

Sean cull said...

I have been looking for a way to "process" documents by dropping them on a target in the sidebar - for example in a CRM system dropping a document from your inbox onto a traget would process that documenbt and make a copy in your CRM system.

This would be really powerfull

At the moment there doesnt seem to be a way to drop documents

Am I right in thinking that your POC would become a tool which supports this ?

If so that would be fantastic

thanks, sean

Ronni Kahalani said...

Thanks guys for the positive comments :)

And to you Sean, yep this is just some of the capabilities that this tool already supports ;)

FYI:
I will get back in the future, on this blog, with more information on the release and license plan when it's complete.

Please be aware that the owner of this PoC and future product is Convergens Denmark A/S (http://www.convergens.dk)

Unknown said...

This is very cool, nice work.

Anonymous said...

Hi!
It's very cool,
where can i find any demo-version?

thanks
Chris

Ronni Kahalani said...

Hi Chris,

Thanks for you comment :)

FYI: I am no longer at the company, convergens.dk, where I made it.

So to get more information, and maybe a demo-version, you could contact Develop manager: "Stephen Hall Reusch"

Again thanks for the comment Chris.

Erik N said...

What transfer type did you use for the notes documents?

Awesome tool!

Ronni Kahalani said...

Hi Erik,

Thank you for your comment and question.

As I recall it, and if I understand your question right, I used the Url based transfer in relation to the drag and drop feature.

In Lotus Notes you get a "notes://..." url, that you can resolve to a Database, View, Document... etc. via a Notes-based Session.

Unfortunately, I do not own the code ( and is thereby not able to share a code snippet).

FYI:
For the last 4 months I've been developing "pure" Eclipse plug-ins and RCP apps. (no Lotus / Expeditor frameworks), so I might not be up to date with the changes to the newer versions.

Hope I answered your question.

Erik N said...

Hi!

Thank you for your answer Ronni!
After spending some time in this and have finaly got to a form of a conclusion.

As of expeditor 6.2.1(?) the transfer type for a dropped document is recognized as a FileTransfer and not URLTransfer.
You will recieve a path to a file which ends with ".URL".
If you read this file you can find a string eg: URL=notes://C1F31234... This is your notes URL.

In short:
If (transferData.endsWith(".URL") {
BufferedReader r = new BufferedReader(new File(transferData.data[0]));
while((String l = r.readLine()) {
if (l.beginsWith("URL") {
String notesURL = l.substring(4);
}
}
}


Something like that! :D
Mikkel Heisterberg had the answer. :)

Search This Blog

Eclipse Live: Equinox Ganymede

The creator of an Eclipse Bible, introduces Equinox and its building blocks for creating applications. We overview the architecture and technology, and demonstrate many of the building blocks.
by Jeff McAffer (Code 9)