Blog | On the Web | About me
Daniele Vistalli @ BleedYellow

Search 

Getting social ?

Three Domino Views (Web 2.0) in a single page

After ILUG 2007 and some discussion with colleagues working with Lotus Domino on the web i spent some time experimenting Ajax with Dojo Toolkit

One of the most common use of Ajax with Domino is obviously for displaying our beloved views in a new way, more dynamic, allowing view browsing without affecting the whole page.

What we've seen so far


Most of current View 2.0 implementations are based on the use of new XML methods available with Domino 7 and 8 to:
  • Read view structure in XML format (or JSON starting with Domino 7.0.2)
  • Read view entries/rows in XML format (or JSON starting with Domino 7.0.2)
  • Generate html output for the browser (including styling and formatting)

I'm not completely fond with this approach since:
1.        Generation of XML for Domino views is almost cpu intensive as HTML generation in the Domino HTTP task
2.        Analisys and handling of  XML/JSON for structure and data is pushed to the clientsia (web browser) that gets loaded with more data to store in memory (Vs. the actual domino html output) in order to build all the necessary structures to render view data and styling.
3.        View formatting is no more controlled by Domino Desinger. It's often re-defined in the html/script generating the view.
4.        Categorization and response documents is an issue without a "generalized" solution.

Looking a those point with a "critic" attitude I woudl say that with this approach :
1.        There's no advantage on the server side in terms of load ... (for each views i've to request both xml definition and data)
2.        Also more load is brought to the client (the browser) with many XML/JS operations just to show the same data domino has always been able to display.
3.        Double work is needed for view designe: First i design the view in Domino Designer then I've to do more development to integrate in the web app and eventually more work is defined to style the view. Not any domino developer has the skill to handle this and also changes and maintenance may require more work.
4.        Whatever you do there's still no an implementation handling categorization and response documents.

What I propose


Starting with this in mind i changed my approach to Views in Web 2.0...

I told myself.. what if i take html view fragments the Domino server has already been generating for years without a hitch?

I begun working on the idea and created a Dojo Widget doing exactly this. It (the ViewContentPane widget) transforms a "standard" (and I mean standard) Domino Web View in a dynamic, resuable and customizable widget retaining all the functionalities of domino views.

The widget allows:
  • View navigation: Next page, previous page, goto row starting with (aka &StartKey=)
  • Search the view: with fulltext search
  • Re-sort columns based on what is defined in Domino Designer by clicking on column header
  • Expand / Collapse view categorizations and document / response relationship (any depth without changes)
  • Use all the formatting defined in Domino Designer for the view.

Today I'm not going to explain the magic, just show you the result in four samples I prepared. Soon, after some cleanup, I'll explain it all and prepare some more advanced samples and a "download" package.

Test Drive


It's time for a test drive. Here's my review guide:

1° Click on a sample
2° Use it, browse the view, do whatever you would do with a standard domino view
3° Look at the page source and enjoy
4° Go to next sample

When you're done with the samples leave me comment :)









Note: There's not yet a downloadable package, I'm working on it. If you can't wait drop a note to me at daniele@vistalli.it



Comments (0)
Daniele Vistalli July 7th, 2007 21:09:44