Subscribe via Feed

What's New in 852 for XPages

Paul Hannan, Jul 14, 2010 9:03:15 AM

***
Here is a list of the new XPages features and enhancements, some big, some small, that are in IBM Lotus Notes Domino 852. It's an A to Z with one-liners (a little rough now, some with placeholders - we will get to those in time), with links to existing articles and blog posts.
So here goes...
***
Accessibility:
Active Content Filter:
  • The ACF has been upgrade since 851. The version in 852 is 2.4.0
Agents:
  • Ability to run Agents with In-Memory documents - Agent.runWithDocumentContext(Document doc) - Agent.runWithDocumentContext(Document doc, String noteID)
  • Java Agents in XPiNC.
Ajax - Partial Refresh:
  • Set a timeout for partial refresh - "xsp.partial.update.timeout" - See this for a use case.
Ajax - Type-ahead:
  • Prevent-filtering property (TypeAhead preventFiltering property). The typeahead *always* automatically filters the entries based on the first characters sent by the browser, which prevent some use cases from working. For example, where you would like to show results from the first character on the second word. This new property prevents this filtering.
CKEditor:
  • CKEditor - new default rich text editor to XPages. This is the new default Rich Text Editor for 852, though if you need to switch back to using the previous dojo editor, there is an option here to do so.
Controls:
  • Radio Group & Checkbox Group - has been re-implemented in Designer
  • HTML tag support for Computed text (tagName Property). This allow the control to emit a tag for computed text, like h1, h2, h3 tags to aid in creating semantic HTML structures for documents (to help in search engine optimizations, etc).
  • Support for the "autocomplete" attribute on the EditBox to help manage the setting and changing of passwords.
Data Sources:
  • Soft deletes support enhancement.
  • Better server name support in the database Name attribute. This allows the database to be deployed on different servers and run on the client, XPiNC, without having to update the databaseName property for each NSF deployed to each server.
Designer:
  • Most if not all of the 'pretty' panels have been enhanced. The widely used properties from the 'All Properties' tab have now been promoted to the more user friendly panels. See the Data panel for the View Panel control.
  • Drag and drop to the Source pane.
  • Lots of other stuff...
Discussion Template:
  • The Discussion template has gotten a further update in 852 so that it performs better and has a better user experience.
Documentation:
  • For Release 8.5.2, the XPages user's guide in the product documentation has been revised. It now includes reference topics for all controls and properties. The overview and other material has also been redrafted. Work is on going to improve this guide.
Dojo:
  • Upgraded to Dojo 1.4.3 for the server and XPiNC. The server install will also include a further upgrade to 1.3.x to Dojo 1.3.3.
  • Dojo Type and Attributes added to more controls (including scriptBlock)
  • Support for dojoForms (dojoForm="true")
Events:
  • onClientLoad Event. Its now possible to add scripts in the events to be executed when the page is submitted or this panel or some containing panel is partial updated. 
Extensions API:
Global Objects:
  • Two new Global Objects for Server Side JavaScript, sessionAsSigner (open a session using the signer rights) and sessionAsSignerWithFullAccess(open a session using the signer rights, while giving it full access to the data)
  • sessionAsSigner - assigns credentials based on the signer of the of XPages design element. The session is restricted by the application's ACL and the security tab of the server's Domino Directory entry.
  • sessionAsSignerWithFullAccess - assigns credentials based on the signer of the of XPages design element and allows full administrative access to the application's data. The signer must have the right to such access or the session is not created. 
HeadTag:
  • New resource xp:headTag - this allow you in an easy way to put stuff into the header of a XPage - and here is an example of it's use.
HTML5:
Infrastructure:
  • OSGi Framework. The runtime has switched over to use the OSGi framework. All the XPages libraries (which are under xsp/nsf/lib in 851) have being moved to the OSGI framework under the shared eclipse location.
Miscellaneous: 
  • New complex-type "loaded" property. New support has been added for the loaded attribute to complex types. This will allow for a way to conditionally define a complex objects like a dominoDocument on an XPage. 
OneUI:
  • A new version fully available - oneuiv2.  Try out these new themes: oneuiv2, oneuiv2_green, oneuiv2_gold, oneuiv2_metal and oneuiv2_red. 
Pagers:
  • Last Page - allow for calculating the Last page in a Pager. In 851, there is a restriction on the number of pages the Pager will display. This is because of associated performance hit (this is still the case with this new property). However, customers have asked for an option to calculate this regardless. The 'alwaysCalculateLast' property, new to 852, allows you to do just that.
    '
Performance:
  • Further enhancements in the Java back-end classes help XPages perform better.
Repeat Control:
  • Repeat Control enhancements - "xsp.repeat.allowZeroRowsPerPage". This option may be useful when you need to compute the number of rows to display as there may be situations where no rows should be displayed but the Repeat control should still render.
Security: 
  • Java Agents in XPiNC.
  • New ECL Permissions. 
  • Public Access. Support for Public Access documents in XPages. 
  • Managed beans from JS support 'JQUL7XPMVJ'
Single Copy XPage Design (SCXD):
  • My favourite. Redirect XPages design elements to other databases. See this and this for more information.
Validation:
View Filtering:
  • startKey. Very much like 'keys', startKey allows you to filter the view to start at a certain value.
  • multi-level category. This is an addition to categoryFilter that allows you to filter a view by the category and then the sub-category. 
Views and View Panel:
  • Clickable View Column Header Icons -
  • NotesXspViewEntry.setSelected() -
XPages in the Notes Client (XPiNC) Integration:
  • Run agents in XPiNC. The following NotesAgent methods are supported: NotesAgent.run, NotesAgent.runWithDocumentContext, and NotesAgent.runOnServer. Security is based on the client ECL settings for the signer of the agent.
  • New Tab\Window management support.
  • New Replica option.
  • Open in Designer option.
  • XulRunner upgrade to 1.9
  • window.close() support  -'  Adds the ability to Close a Window from a Client Side or Server Side JavaScript event ' 

Test, Nov 3, 2011 6:57:15 AM
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Mats, Oct 3, 2011 7:05:37 AM
Any news about the !err.PersistenceServiceResourceProvider.Errorwritingtopersistedcontenttor! problem ?=

Ulrich Krause, Oct 15, 2010 4:19:27 AM

Constantly gettin "HTTP JVM: !err.PersistenceServiceResourceProvider.Errorwritingtopersistedcontenttor!. For more detailed information, please consult error-log-0.xml located in D:/Programme/IBM/Lotus/Domino/data/domino/workspace/logs" error messages.
I have an application where the user pastes images from the clipboard to an richtext item i the notes client ( standard notes application )
The documents are then shown in an xpages application in a browser. ( FF , IE ). The application worked without any issue. I first encountered the error on one 8.5.2 server after installing the xpages extension API from OpenNTF. On another server a replica of the application still woirks without showing the above error on the server console.
The error still exists after uninstalling the API and restarting the whole machine. Another strange thing is that the error only occurs when the app is openes in FF or IE. The pictures are displayed on an iPhone when viewed with the safari browser.

Bad thing about this is that the application was supposed to go into production next week. Project now on hold ...



Rasmus, Oct 13, 2010 6:00:27 AM

@Paul:
Thanks for the reply!
I guess the reason no-one is reporting this issue is because they don't know that an image is missing..?!?
The only disadvantage with the solution is that we have quite a few databases on the server, and the log message isn't providing any information about which database causes the message...



Paul Hannan, Oct 12, 2010 1:06:26 PM

@Rasmus, maybe the reason why 'PHAN88HEKA' hasn't been reported is that the user would still see the image in that browser session and not be aware that anything is wrong - that's how I missed it :-X
My guess is that the problem is happening on your server.

We're working on a fix for this issue - should be in 853 for sure, and we're looking to get it into a 852 fix pack, hopefully FP1.

So for now use the workaround as mentioned above.

p.



Martin Rolph, Oct 12, 2010 11:03:26 AM

Hi Paul,

I didn't get notified of your reply so only just seen it by chance. Have tried your fix regarding XPage persistence and it appears to be working!

You're a live saver!
Cheers
Martin



Rasmus, Oct 12, 2010 10:34:25 AM

I'm also seeing the same sort of entry in log.nsf on the server from time to time:
13.10.2010 13:06:31 HTTP JVM: !err.PersistenceServiceResourceProvider.Errorwritingtopersistedcontenttor!. For more detailed information, please consult error-log-0.xml located in D:/IBM/Lotus/Domino/data/domino/workspace/logs
13.10.2010 13:06:31 HTTP JVM: !err.PersistenceServiceResourceProvider.Errorwritingtopersistedcontenttor!. For more detailed information, please consult error-log-0.xml located in D:/IBM/Lotus/Domino/data/domino/workspace/logs
13.10.2010 13:06:31 HTTP JVM: !err.PersistenceServiceResourceProvider.Errorwritingtopersistedcontenttor!. For more detailed information, please consult error-log-0.xml located in D:/IBM/Lotus/Domino/data/domino/workspace/logs

I've checked the suggested file (error-log-0.xml), but it does not provide me with more insight into what actually causes the problem.
When do you see this message? When a document is edited in the Notes Client? Or when you edit it on an XPage in the browser?

Any help is greatly appreciated, as I have not had any users report on any problems with images in RichText fields, I've only seen it starting to appear in the logs after upgrading to 8.5.2.



Paul Hannan, Sep 30, 2010 9:34:24 AM

Hi Martin, Lisa & Daniele,
Sorry for not getting back to you sooner on this. We have an existing issue with images submitted via the ckEditor in 852 that we're seeking to address as soon as possible and get a fix into the first fix pack for 852. So if you're hitting this it's recommended that you log a support call for it and reference this bug number (SPR#) PHAN88HEKA. With your help we can get this addressed quicker.

There is a workaround, though this will not be to everyone's liking as it effects performance.
Go to the Application Properties and on the XPages tab set the 'Server page persistence' to either "Keep pages in memory" or "Keep only the current page in memory". You will need to apply this on an app to app basis.

p.



Martin Rolph, Sep 29, 2010 9:44:24 AM

Hi Paul, Daniele,

I'm experiencing similar problems with uploading images via the CkEditor. they disappear after a while and I get this in the log
30/09/2010 11:04:57 HTTP JVM: !err.PersistenceServiceResourceProvider.Errorwritingtopersistedcontenttor!. For more detailed information, please consult error-log-0.xml located in D:/Domino/data/domino/workspace/logs

Did you ever solve your issue?
Thanks,
Martin



Lisa Schmidt, Sep 29, 2010 9:28:23 AM

Hallo Daniel,
did you fix your Problem with the Image? I've the same Trouble. I use the same xpage in the Client and in the browser.
When i upload and save an image in the Browser and then want to upload and save an other Image in the Webbrowser, i get an Error.
I think there is a Problem with the Path.

regards
Lisa



Paul Hannan, Aug 25, 2010 9:19:23 AM

Hi Daniele,
In the normal use cases we haven't seen anything like what you discribe. Though we are looking at a query from a customer but this maybe app specific. I'll mail for for more on this.
p.



Daniele Grillo, Aug 25, 2010 8:54:22 AM

I try CKEDITOR feature...

Have you some problem when Upload and Embedded and Image with the control Image?
In my Client if I open the document (normal or in Xpages modality) in the rich.text field I see a redbox ( in normal mode)
and nothing ( in Xpages modality)
The Image are show only in a Web

I have investigate in the code and I see that the file uploaded are store in a similar path on the server...

PATHDB/xsp/.ibmmodres/persistence/DominoDoc-5-FIELDNAME/FILENAMEPATHUPLOAD.png

And now..How I can manage ( delete, modify etc..) this uploaded files?

Tnx you



Jyotiprakash, Jul 23, 2010 2:19:22 AM

@Alexey
My/Our wish is a trial version not a Beta version of Domino 8.5.2 after the Gold release of 8.5.2



Alexey Katyushyn, Jul 20, 2010 5:37:21 AM

Paul,
public Beta 8.5.2 will not be available before the release, as 8.5.1? If so, these developers even further away from LND.
I tried to register participation in the managed beta in March, but received no response. I contacted the local representative of IBM. He gave me a contact to whom to appeal on this issue. Turn, and too quiet. I understand that for IBM mainframes more profitable to sell. But if IBM wants to keep the army of Lotus developers, you will need to support them. Among the available beta versions.



Paul Hannan, Jul 16, 2010 7:04:20 PM

@Phil - external data sources is on the list of things to do, though how high up on this list is another question.

@Jyotiprakash - To play with XPages all you need is Designer - it has web preview which is the XPages runtime that sits upon a localhost Domino web server (http task) - yes you won't be able to do everything like working with secuity but you'll be able to work with the majority of stuff. And if you run XPage in the client you will be able to play with even more features - close the the majority.
As for 852, there is currently a managed beta program.



Jyotiprakash, Jul 16, 2010 4:40:20 AM

Great List Paul. I am worried because it is not possible to learn/play all these without a Domino Server 8.5.2.
To my knowledge IBM don’t release Trial version for point release. Ed Brill (http://www.edbrill.com/ebrill/edbrill.nsf/) might be reading your post. So my request to Ed, please release a trail version of Domino Server 8.5.2 this time. So that those financially poor developers/ students can learn those features of Xpages which are not possible only with free Domino designer.



Phil Warner, Jul 15, 2010 7:38:19 PM

Super post. No news on connecting to non-domino data sources yet then?



Paul Hannan, Jul 15, 2010 2:58:19 PM

Hi Rob,
The CKEditor in 852 supports the insertion of images. The image is then stored in the MIME entity tree of the Rich Text Field in the Domino document.
On floating I don't think that is supported.

p.



RobShaver, Jul 15, 2010 1:54:18 PM

Great list Paul. I'm particularly interested in CKEditor. I have it working in a prototype now but if it's going to be supported in 852 than there's no sense in me continuing to develop it on my own.

Do you know if it will support the WYSIWYG insertion of graphics? This will require some kind of infrastructure for storage of the graphics files. I'd imagine that it would use the "Files" storage in the database but I'm hoping it's configurable because I'd like to have an interface that permits web uploads of files for insertion.

I'm also hoping it supports applying float: styles so that text can wrap around the image/graphic.

Thanks again.

Rob:-]



Paul Hannan, Jul 15, 2010 12:42:18 PM

The new attribute 'startKey' is another way to filter views along with 'keys', 'keysExactMatch', 'categoryFilter' and 'search' - 'search' the only one uses FTsearch.
'starteys' is very much related to 'keys' and 'keysExactMatch' and here's an example of them working in action...
Say you have view data from a sorted column consisting of the following...
A
AA
AAA
AAAA
AAAA
AAAb
AB
B
BBB
C
CC

With 'key' = "AAA", you'll get...
AAA
AAAA
AAAA
AAAb

With 'keyExactMatch' = "AAA", you'll get...
AAA

With 'startKey' = "AAA", you'll get...
AAA
AAAA
AAAA
AAAb
AB
B
BBB
C
CC

Here we see the view collection data filtered to start with "AAA".

Hope this helps.
p.



ChrisC, Jul 15, 2010 11:23:17 AM

Paul,

List looks great. The "startkey" functionality... do you have any more info on it? I take it this returns a collection of docs from the view based upon the first character(s) - a bit like a FTSearch when adding a * to the end of the parameter? The benefit being you dont need to wait on the FT Index?

Any info on how it would work would be most appreciated...

Thanks

Chris



Sean Cull, Jul 15, 2010 7:59:17 AM

Hi Paul,

I just mean being able to code an application once for both the browser and the Notes Client

We are developing this one at the moment and so far it works in both although much better in the 852 beta
http://web001.focul.net/Partners_Web/2138_CHP/weekly_moc.nsf#

This single coding for browser and client is the holy grail for us if it can still be done in a RAD way - which I think it can once you get used to XPages and get some standard design patterns.



Paul Hannan, Jul 15, 2010 7:05:16 AM

Hi Sean,
There are a few things that are meant to just work in the XPiNC and not on the regular browser like the window management support. But outside that, the list would be small.
But I'm intrigued by your scenario - "dual client application" - do you have more on this? If I think what you're referring to then this I think is addressed somewhat by the better support for the database name attribute.

p.



Sean Cull, Jul 15, 2010 6:33:16 AM

Thanks Paul, this is really useful.
Is there a list of what is not available in xpages in the client i.e. if I am building a dual client application what I need to look out for ?

Thanks, Sean




Post a new Comment

Name:


Comment: