Usability - Productivity - Business - The web - Singapore & Twins

XPages View Pager - Advanced edition

XPages does a fe nice things automagically for you. Thinks like giving you the content of a view page by page. While this is impressive on the first view a lot of the potential users would like to see more options in that navigation/paging control. This got me thinking and I drafted how the "Ultimate View Navigator" would look like. After all Bob Obringer designed his classic Domino navigator partly based on my suggestions (Unfortunately Bob's blog is gone). So I doodled around with my favourite screen design tool and here is what I came up with:
Advanced View Pager control for XPages
I think it covers all the usual bases. A few caveats: It hasn't been designed for categorised views, but will display single category selections well (for my view on categorised views, check my earlier post). It also will not perform nicely when you use reader fields protected documents (and again that topic has been covered before). Did I miss anything in the UI?

Posted by on 10 September 2009 | Comments (10) | categories: XPages


  1. posted by Nathan T. Freeman on Friday 11 September 2009 AD:
    @4 - Never *EVER* write off a response with "...just as easily..." If it were just as easy, no one would ask the question.

    Show don't tell. And I know you have an excellent podium for that.
  2. posted by Stephan H. Wissel on Friday 11 September 2009 AD:
    @Peter I think we will see an Ephox Editor for XPages soon and there is a huge list of custom controls lined up to be released soon.

    @Erik: nice idea. Might be subject to an additional version of the pager since it requires that a view is sorted by the column you want to jump with. So it's a special case - but definitely one that needs addressing!
  3. posted by Jake howlett on Friday 11 September 2009 AD:
    Hi Stephan,
    First time I've commented on your site, I think?

    Just wanted to thank you for the link to Balsamiq. Bought it within 10 minutes of seeing it. Brilliant!

  4. posted by Erik Brooks on Friday 11 September 2009 AD:
    A "Starts with:" box that hooks into StartKey. E.g. if you have a view categorized by "Month" you could type "Septem" and be taken to the "September" category.

  5. posted by Paul Withers on Friday 11 September 2009 AD:
    It looks very good.
    "Starts with" is good, but might take some clever trickery to ensure the keytype parameter is set correctly if the first column is numeric or date/time. I had to make an amendment to my implementation of NotesView2 to handle that.
    Would this work for views restricted to a single category?
  6. posted by I agree with Erik on Friday 11 September 2009 AD:
    I was thinking about suggesting a StartKey type function as well.
    The ability to jump to the proper page for a particular key is something my users often want on a large view. Otherwise it is guess work to try and find the page with item.
  7. posted by Patrick Kwinten on Friday 11 September 2009 AD:
    prev - next buttons are so 2004

    I would like to see a slider bar where you can slide through the pages instead Emoticon cheesy.gif
  8. posted by Erik Brooks on Friday 11 September 2009 AD:
    @8 - Good point with the keytype. That's an irritating parameter (can't the ?ReadViewEntries processor just look at the column and guess if it's not provided?) I need to double-check but I'm pretty sure StartKey doesn't work with restrict-to-single-category views...

    This work will reveal some serious shortcomings with view indexes. One of the biggest being the lack of number-of-rows awareness presented as soon as you have readers fields and categories in the view as Stephan pointed out.

    @6 - We implemented something similar here, the "Starts with" appears if there is any sorted column in the view (it doesn't need to be categorized).

    Want to make it really cool? Implement AJAX type-ahead on the starts-with box by doing a dynamic @DbColumn on the column that is the StartKey column. Emoticon shocked.gif
  9. posted by Erik Brooks on Friday 11 September 2009 AD:
    @4 - The grid control mentioned:

    { Link }

    has GLORIOUS filter controls -- you'll have an absolutely lovely time implementing such filtering with Domino, especially with the speed their live demo is showing. Yes it's an ASP 3.5 app, using bleeding-edge stuff against an SQL server, but it's a great target to shoot for.
  10. posted by Peter Presnell on Friday 11 September 2009 AD:
    Hey Steve, If you haven't already done so, take a look at what you can get out of the box for ASP.Net

    { Link }

    In my opinion we can't be playing catchup with major elements like a view/grid control and rich text editor. We need to be out there with the best if we want people to take Notes/Domino development seriously.
  11. posted by Jeremy Hodge on Friday 11 September 2009 AD:
    @Peter ...

    Those grids are client side ajax. We CAN do that today ... look @ dojo's grid control, or Ext(.nd's), or ActiveWidgets (view the demo from my blog here : { Link } ) .. All of those can do the page controlling that Stephan describes here. You can just as easily integrate those controls into your XPage app (especially the dojo control) today.
  12. posted by Jeremy Hodge on Saturday 12 September 2009 AD:
    @5 - Point Taken ... More to come ...

    @11 - With a full text index, and a little but of work, I think we can get a pretty decent filter control ... Let me see what I can work up.
  13. posted by Stephan H. Wissel on Monday 14 September 2009 AD:
    @Patric - Retro is in, especially on mobile devices Emoticon smile.gif
    A pager control gives you a more precise targeting and sense of your position. Nevertheless, noted. "Slilder control for views, data tables and repeat control" added to the controls list.
  14. posted by ChrisC on Wednesday 11 November 2009 AD:

    Your control looks ideal. Like many here I have done this with standard domino and fiddling around with javascript and urls. Is there any way in xPages of pulling info from the "document collection" that results in a view control's search property? What about the events postOpenView, queryOpenView?

    Even basic information such as a .count property.

    Hope this makes sense?

  15. posted by Cory Ma on Wednesday 11 November 2009 AD:
    Balsamiq Mockups is an amazing tool, but unfortunately, it doesn't support double bytes characters.
  16. posted by Tommy Valand on Wednesday 07 April 2010 AD:
    Late to the show. The Wayback machine has Bob's article, including pictures (gotta love archive.org).

    { Link }