Search
Categories

Entries in 851 (4)

Saturday
17Oct2009

What's New For XPages in 8.5.1

A special thanks to Bruce Elgort for allowing me to mix company with some of the XPage gurus at The XPages Blog.

So I am half way through Xpages 1st grade and I suddenly I find the course material is being changed.  Now there is a whole bunch of new stuff to learn thanks the 8.5.1.  Here is a list of the stuff I have found so far:-

Note: Detailed information is still scarce so I have added links to material that explains these new features  in more detail.  If there are features I have missed or you have a link to additional documentation about these features please post a comment and I will update this post for those that follow.

General Improvements

  1. Performance - A nice summary of one such area improved is provided by Matt White
  2. Documentation - No, not really!  The OneUI theme now has excellent documentation
    thanks to  Steve Castledine.
  3. Improved access to resources
  4. Data Palette lists fields in same order as in the Form design.
  5. Data Source can now be assigned when an XPage is first created.
  6. Action added to Sign selected XPages and Custom Controls.
  7. The version of Dojo implemented in 8.5.1 has now changed from 1.1.1 to 1.3.2.

Notes Client Support

  1. XPages can now be displayed in the Notes client using am embedded Web browser (Mozilla-based) that should ensure the same user experience as a Web client.
  2. A new offline mode is available that combines the Notes client support for XPages with replication to allow an Xpage application to be used while a computer is offline.
  3. XPages can now be added as components to a Composite Application.  Events can be defined for an XPage allowing them to interact with other components.
  4. Support for themes have been expanded to allow separate themes to be defined for the Notes client and the Web client.
  5. ?OpenXPage has been added as a supported parameters for the notes:// protocol to launch an XPage in the Notes client.

New Controls

  1. AJAX Type ahead - An input control that automatically completes as user enters values.
  2. Block-level content - Allows other controls to display below it.
  3. Checkbox group - Displays multiple checkboxes
  4. Event Handler - Allows JavaScript to run on both the server and client
  5. Hidden Input - Allows fields to be rendered but not visible
  6. Line Break - Inserts a break in text
  7. Output Script - Outputs Scripts
  8. Pager child control - Placed inside the common pager
  9. Paragraph - Container for text in a paragraph format
  10. Span content - Allows other controls to display beside it
  11. Radio button group - Displays multiple radio buttons

Enhanced Controls

  1. Repeater - Improvements to the HTML generated
  2. View - A new attribute has been added to a Form to designate an Xpage to display documents.  It is then possible to nominate this Form attribute as the XPage to be used when opening documents from an XPage View control.

New Control Properties

  1. align - For tables, specifies the alignment of data
  2. contentType - Allows content to be text or HTML
  3. dataCache - Indicates how data is cached between requests for the same page.
  4. disableModifiedFlag - Specifies whether to prompt the user to save changes.
  5. dojoAttributes - Specifies a list of dojo attributes.
  6. execId - Specifies the ID of code fragment to be executed.
  7. execMode - Used to specify full or partial refresh when code fragment is executed.
  8. htmlFilter - Defines the Active Content Filtering (ACF) to use to guard against malicious code being entered into an XPage control.
  9. htmlFilterIn - Indicates which ACF process should be used when data is uploaded.
  10. mimetype - Forces the MIME type of the file being uploaded
  11. partialExecute - Executes only the relevant controls via a partial refresh
  12. readOnly - Can now be specified as an attribute of a Panel, Included Page
  13. rendererType - Identifies an appropriate renderer to encode/decode the control
  14. viewState - Defines how the state of the view is maintained

New Events

  1. onComplete - Executed after a request
  2. onError - Executed when an error occurs
  3. onStart - Executed before a request

The above events are well explained in a previous article by Jeremy Hodge

Custom Controls

  1. Custom Controls can now have comments
  2. An icon can now be nominated to represent the control in the control palette
  3. A new Design Definition section has been added to Custom Controls allowing a developer to control the visual reprsentation of the control inside DDE (e.g. When it is added to an XPage).
  4. An expanded set of property types can be nominated for Custom Properties.

Thursday
24Sep2009

Why XPages? A manager's point of view

Collaboration University was running this week in London, and by all accounts it was as useful and informative to the attendees as we have come to expect over the years. A few of us went out for dinner and a drink during the evening earlier in the week and, of course, the conversation turned to tech at some point. The question was asked "XPages... convince me". This was a more general question than purely technical, the nature of the people at the table is that they know the geeky stuff well, this was more about the business benefits, whether it's worth spending the time learning the detailed technical elements.

Now of course, I am hardly impartial, most of the work I've done in the last year has been XPages based in one way or another. But it has given me a decent perspective of using XPages in the real world (not an internal IBM view). So I thought I'd put the argument for, from the Manager's point of view, for a change.

The first thing to say, is that of course there is a learning curve for your developers and compared to previous additions to Domino development it is relatively steep. It will take a good couple of weeks to be doing productive work with XPages. But my main argument for their use is that once you have climbed that initial hill, the developer gets offered a couple of routes, they can stay using the standard controls (views, data tables, forms etc etc) that IBM offer us out of the box and they can be putting together really nice looking and well performing applications. Or they can continue to learn the more technical aspects of XPages, digging down into the JSF underpinnings that actually make up an XPage and really get into some very cool, deeply technical web development. The point being that XPages is very unlike classic Domino web development where to do *anything* of any complexity you needed a serious amount of skill, or at least a lot of time served to learn all of the hacks that make up a Domino web application.

The example I use is IdeaJam. I have effectively worked on two different IdeaJam applications, we ship, in the same template, a classic Domino web interface, and also an XPages version. The administrator can choose which one to run in the configuration of the application. The classic IdeaJam interface looks decent and works well, but to get to that point I have used pretty much every Domino web development hack that I have learned over the fourteen years that I've been working on Domino. In contrast the XPages version of IdeaJam has pretty much every feature of the classic version (including a few extras that just aren't possible in classic) and, by definition, I can't have had more than one year's experience to write it. In fact most was written when I had less than 3 months XPages under my belt.

So what does this mean for you, the poor, put upon dev team manager? It means that you can worry less about who is going to support that super spangly Domino application that the (very expensive) Domino consultant came in and wrote for you. One of your existing dev team will almost certainly be able to get up to speed on the development techniques within a month or two to be able to support the app for you. They'll also be able to write new apps or at least make significant updates to your existing XPages apps.

It sounds like I'm trying to do myself out of work here, as my bread and butter is writing custom apps for different companies. But, to be honest, I *hate* doing application support, so if I can write the code and then hand it over to someone else then I really am a very happy bunny indeed.

So we've made support easier for you. What else can XPages offer? How about blurring that distinction between web and Notes client development? In Notes and Domino 8.5.1, the capability to run XPages in the Notes client becomes a reality. For those applications that your business users want to run in both environments you've had basically two choice in the past; either do lots of dev and test work twice so that you get a decent user experience in the client and browser, or force the users to decide between the two. With XPages in the client you get a lot of the benefits of the Notes Client (offline access seems to be the killer feature here) combined with the nice UI and functionality offered by XPages. I won't try and convince you that you'll get the full "rich client" experience, you won't, but you're getting a new option to offer your users, and that's never a bad thing.

I'm a developer, and to be honest, the geeky pleasure of playing with new tech was enough to convince me that XPages are a good thing, I don't have to worry about those annoying budgets and support and things that you manager types have to think about. Hopefully this will let you see some of the non-geeky benefits that XPages can offer.

Disclaimer: IBM Lotus Notes/Domino and Lotus Notes Traveler 8.5.1 is prerelease code and there are no guarantees from IBM that the functionality presented will be in the final shipping product.

Friday
18Sep2009

See XPages in Action on a Domino 8.5.1 Server

So you might ask what's the big deal with XPages in 8.5.1?* Notes Domino 8.5 has XPages, why should I upgrade?

Here's 3 reasons: 

  1. XPages in the Client:
     In 851 you can now use your XPages web application inside the Notes client. Another step closer to design-once-run-anywhere.
  2. Lots and lots of bug fixes:
    OK, XPages in 85 wasn't bad, it's excellent. And XPages in 851 is even better with lots and lots bug fixes (I'm not going to say how many ;-) ).
  3. Performance Improvements:
    Designer is faster, and you can configure your application or server so XPages performs and scales much better.

And it won't be long now before 851 is released and if you would like to see some XPage applications (most developed on Designer 851) running on 851 Domino pre-release servers here are a few fine examples... 

  • IQJam
    This is a real good example of a 851 (near) production ready application from Elguji Software. It's hard to believe that this is a beta app and a Domino web app at that. Its look and feels, and its performance is excellent. IQJam.net is currently setup to handle Lotus Software questions and answers that come from the community, and so far it is turning into a valuable resource.
  • OpenNTF
    With its transformation continuing, OpenNTF.org is running on top of a pre-release 851 Domino server and it also takes advantage of the much improved scalability and performance.
    And we shouldn't forget that OpenNTF contains many live examples; the Wiki,  Demo App, Navigator Control and more.

 

I'm sure there are more examples of live XPages Apps on pre-release Domino 851 servers. If you have one post a comment.

p.

 

* Disclaimer : IBM Lotus Notes/Domino and Lotus Notes Traveler 8.5.1 is prerelease code and there are no guarantees from IBM that the functionality presented will be in the final shipping product.

 

 

Monday
14Sep2009

Accessing Resources in the Domino HTML Directory

I mentioned previously, in my post on Writing Efficient and Scalable XPages applications that you get a considerable performance boost by serving static resources, such a images, style-sheets and client side JavaScript from the disk, i.e. using http server directly. This is now even easier with Domino 8.5.1, you can reference resources within an XPage, Custom Control or Theme using /.ibmxspres/domino/ which translates to the the <domino install>/data/domino/html/ directory. This also allows you to reuse the same resource across multiple applications, but only need to maintain it once. In a Theme file you can reference a style sheet like so:

<resource>
<content-type>text/css</content-type>
<href>/.ibmxspres/domino/oneuiv2/base/core.css</href>
</resource>

On a xpage you can use an image like so:

<xp:image url="/.ibmxspres/domino/oneuiv2/images/ibmLogo.png" />

Originally posted here.

Disclaimer:

IBM Lotus Notes/Domino 8.5.1 is prerelease code and there are no guarantees from IBM that the functionality presented or discussed will be in the final shipping product.