Skip to main content link. Accesskey S
  • Translate Page ▼
  • Anonymous
  • Log on
  • Help
  • IBM logo
  • Lotus Notes and Domino Application Development wiki
  • All Wikis
  • Home
  • Community Articles
  • Product Documentation
  • Learning Center


Search

Advanced Search

Categories

Tag Cloud

  • 6.0
  • 6.5
  • 8.0
  • 8.5
  • 8.5.1
  • 8.5.2
  • 8.5.3
  • action bar
  • Agents
  • Ajax
  • app dev
  • beginner
  • C&S
  • calendaring and scheduling
  • client
  • composite applications
  • Controls
  • converters
  • css
  • Custom controls
  • Data Binding
  • db2
  • design elements
  • dialog boxes
  • Documents
  • Dojo
  • Domino
  • Domino Designer
  • Domino Designer 8.5
  • DXL
  • Eclipse
  • error handling
  • errors
  • extensions
  • FAQ
  • Forms
  • formulas
  • getting started
  • globalization
  • Help
  • html
  • Installation
  • interface
  • internationalization
  • Java
  • JavaScript
  • JSF
  • localization
  • Lotus Domino Designer
  • LotusScript
  • LotusSphere
  • LotusTechInfo
  • menu bar
  • Mobile
  • new user
  • Notes
  • Notes 8
  • notes.ini
  • NSD
  • OpenNTF
  • partial update
  • performance
  • Pickers
  • Portal
  • presentations
  • programming
  • Redbooks
  • Requested Articles
  • roadmap
  • rooms and resources
  • samples
  • Scripting
  • security
  • tabs
  • templates
  • themes
  • Tips
  • toolbar
  • troubleshooting
  • tutorials
  • validation
  • variables
  • video
  • VideoFest
  • View
  • view control
  • ViewPanel
  • Views
  • web
  • Web apps
  • Web services
  • webdev
  • x-pages
  • XML
  • Xpage
  • XPages
  • XPages Extensibility API
  • XPages Extension Library
  • xsp-config
  • データソース
InformationInformation
You are currently viewing machine translated content. IBM translation might be available. Click IBM Translated Product Documentation to see what is available.X


Home > Developing XPage Applications > XPages Page Versions
Rate this article 1 starRate this article 2 starsRate this article 3 starsRate this article 4 starsRate this article 5 stars

XPages Page Versions 

expanded Abstract
collapsed Abstract
No abstract provided.
Each XPage has a version number that is compared to the server version when attempting to run the XPage. An XPage that was created in Domino Designer version 8.5.1 and that uses features or options that were added or redefined in 8.5.1 will not run on an 8.5 server.

The error message that appears on the Domino 8.5 server is like so:
    The generated page version 8.5 is not compatible with the server version 3.0, for the page /main.xsp. 


If you were to use an 8.5.2 feature on a Domino 8.5.1 server, the error message would be like:
    The generated page version 8.5.2 is not compatible with the server version 8.5.1, for the page /main.xsp. 


The error message on the 8.5 server is slightly odd. It only prints the first 2 parts of the version numbers (8.5 instead of 8.5.1). Also the 8.5 server has XPage compatibility version 3.0; it was not named 8.5.0.

The server version numbers will be changed in every release. The server versions so far have been 3.0 (Domino 8.5) and 8.5.1 (Domino 8.5.1). The term "server version" is slightly misnamed - it is actual the version of the XPages runtime. So if you have an application designed to run as XPages in the Client, and it uses an 8.5.2 feature, when you try to use it in an 8.5.1 install of the Notes Client it will complain that the "server version" is 8.5.1, when it means that the Notes Client install is 8.5.1.

The page version will depend on both the version of Domino Designer where the application was last opened, and on the contents of the XPage. The Designer install knows which controls and properties were added or redefined in this Domino Designer version, and in each of the previous versions. If your XPage only uses controls and properties that were available in 8.5, and they did not have any incompatible changes in 8.5.1, then the page version will be 3.0, even though the Domino Designer installed is 8.5.1. Such an XPage would continue to run successfully on an 8.5 server. If an XPage uses new features that were introduced in 8.5.1, then it definitely will not run on an 8.5 server, failing with the error message above. It is possible that some later release of Designer might mark all XPages with a recent page version, even where the XPage did not use new features. If that were to occur then that version of Designer would only work with servers that were of the same version or more recent than the Designer install. (If it ever seems necessary to make such a change, customer inconvenience would be a strong consideration in the decision-making.) For now, in Designer 8.5.1, there is a short list of XPage contents that will change the page version to 8.5.1, and hence prevent running such XPages on an 8.5 server.

While Domino has always and still supports backwards compatibility, forward compatibility (newer designs running on older servers) has never been guaranteed. The recommended upgrade path prescribes upgrading servers first, then clients, then the Designer client. Following this pattern will guarantee the best application results. Running newer designs on older servers is not supported or predictable.

If you encounter one of the version error messages, then the easiest solution is to revert to using an older Domino Designer install, with a version matching or lower than all of your server and client installs.

If you are an advanced user who did not intend to use any new features, and who doesn't have an old Domino Designer install to hand, there are some steps to track down which new or redefined tag or property has increased the page version.

To determine the tag or property responsible for the page version


Select the application in Designer, in the menus Search, Search, File Search, "Containing text" (with the double-quotes): "8.5.1"
The search results will be some .java files that correspond to XPages or Custom Controls.
The comment on the selected line will tell you which XPage tag or property is new, like so:
    super("8.5.1"); // version of xp:view readonly
    super("8.5.1"); // version of xp:platformEvent  

The first example refers to the xp:view tag. If you select that tag in the source tab of the XPages editor, you will see that it is the XPage root control. In the All Properties tab, when you hover over the readonly property, you will see that the property was newly added in 8.5.1.

Similarly, the xp:platformEvent tag refers to the new Platform Event Control, added in 8.5.1 to publish Composite Application events in the Notes Client.
Use of any such new property or tag will change the page version.
(The issue MKEE7X3N8Z has been logged, asking for an easier way to determine the page version.)


Unusual version 8.5.1 tags and properties

Some of the tags or properties that are marked as 8.5.1 are not just regular new features.



xp:eventHandler script
That property is new to 8.5.1, and it enables configuring client simple actions that run in the browser.
However it's worth noting that Designer will sometimes automatically change to using that property.
If you have Client JavaScript associated with an event in 8.5, the XPage source is like this:
      <xp:link escape="true" text="Try this..." id="link1"> 
              <xp:eventHandler event="onclick" submit="false"> 
                      <xp:this.handlers> 
                              <xp:handler type="text/javascript"> 
                                      <xp:this.script> 
                                              <![CDATA[Hello()]]> 
                                      </xp:this.script> 
                              </xp:handler> 
                      </xp:this.handlers> 
              </xp:eventHandler> 
      </xp:link> 

If you open that in 8.5.1 Designer, and edit the script, it will change to:
      <xp:link escape="true" text="Try this..." id="link1"> 
              <xp:eventHandler event="onclick" submit="false"> 
                      <xp:this.script><![CDATA[Hello()]]></xp:this.script> 
              </xp:eventHandler> 
      </xp:link> 

Those are functionally identical, but the second one will not run on an 8.5 server.
If you wish to continue using that application on 8.5 servers, you will have to manually change
it back to the old format, and ensure you do not edit the script in the Events view.
That Designer change was related to the issue MKEE7STDLN.



xp:navigationRule
The Navigation Rule tag was present in 8.5, but it has changed substantially in 8.5.1,
so that an 8.5.1 Navigation Rule will not run on an 8.5 server. The implementation was changed
so that the target XPage can be computed, related to the issue PHAN7U5K8C.
The page version will change to 8.5.1 when any Navigation Rule is recompiled in 8.5.1,
even though you have not changed the XPage.
There is an advanced user workaround, but it is recommended to instead revert back to using an 8.5 Designer install.

Advanced user workaround for PHAN7U5K8C

You can initialize the navigation rule in JavaScript code instead of in the compiled Java code,
so that it will work on both an 8.5 and an 8.5.1 server.
If you open the .java file corresponding to the XPage, you'll see the code that creates
and initializes the navigation rule. e.g. for this .xsp source:
  <xp:this.navigationRules> 
    <xp:navigationRule outcome="xsp-success" viewId="/page2.xsp"></xp:navigationRule> 
  </xp:this.navigationRules> 

In 8.5.1 you'll see something like:
            UIViewRootEx2 result ... 
          ... 
          NavigationRule navigationRules = new NavigationRule(); 
          navigationRules.setComponent(result); 
          navigationRules.setViewId("/page2.xsp"); 
          navigationRules.setOutcome("xsp-success"); 
          result.addNavigationRule(navigationRules);   

In 8.5 you'll see something like:
            UIViewRootEx2 result ... 
          ... 
          NavigationRule navigationRules = new NavigationRule(); 
          navigationRules.setViewId("/page2.xsp"); 
          navigationRules.setOutcome("xsp-success"); 
          result.addNavigationRule(navigationRules);   

(that is, it doesn't call setComponent).
Copy that code into the XPage Events view, the afterPageLoad event,
convert the first line to JavaScript, conditionally call the setComponent method,
and use "view" instead of "result", like so:
        <xp:this.afterPageLoad><![CDATA[#{javascript: 
var navigationRules = new com.ibm.xsp.application.NavigationRule(); 
if( navigationRules instanceof com.ibm.xsp.binding.ComponentBindingObject ){ 
      navigationRules.setComponent(view); 
} 
navigationRules.setViewId("/page2.xsp"); 
navigationRules.setOutcome("xsp-success"); 
view.addNavigationRule(navigationRules); 
}]]></xp:this.afterPageLoad>   

Then remove the navigation rules from the XPage source, by deleting these lines:
  <xp:this.navigationRules> 
    <xp:navigationRule outcome="xsp-success" viewId="/page2.xsp"></xp:navigationRule> 
  </xp:this.navigationRules>

The XPage will no longer be restricted to 8.5.1.



If you wish to provide feedback, or if you encounter any problems, please discuss them in the IBM Lotus Notes/Domino 8.5 Forum,
or report them through the IBM Lotus Domino Support system. Comments on this article are not monitored.

expanded Article information
collapsed Article information
Category:
Developing XPage Applications
Tags:
8.5.1, errors, future-proofing, XPages, versioning

This Version: Version 7 November 18, 2009 12:53:10 PM by Maire Kehoe  IBMer
   
expanded Attachments (0)
collapsed Attachments (0)

 


expanded Versions (5)
collapsed Versions (5)
expanded Version Comparison
collapsed Version Comparison
     
Version Date Changed by               Summary of changes
This version (7) Nov 18, 2009 12:53:10 PM Maire Kehoe  
6 Nov 18, 2009 12:13:07 PM Maire Kehoe  
5 Nov 18, 2009 11:37:57 AM Maire Kehoe  
4 Nov 18, 2009 11:06:31 AM Maire Kehoe  
3 Nov 3, 2009 2:42:19 PM Deanna Drschiwiski  
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Tip: When linking to articles use the original title, not the edited title. The alias for the link can be the edited title.
Go ElsewhereStay ConnectedSubscribe to RSSHelpAbout
  • All Lotus and WebSphere Portal wikis
  • IBM developerWorks
  • IBM Software support
  • Lotus Technical Information and Education Team Blog
  • Lotus Tech Info on Twitter
  • Lotus Tech Info on Facebook
  • Lotus product forums
  • Lotus Tech Info blog
  • IBM Collaboration Solutions
  • Recently added feedRecently added
  • Recently edited feedRecently edited
  • Recently added comments feedRecently Added Comments
  • Wiki Help
  • Forgot user name/password
  • Wiki design feedback
  • Content feedback
  • About the wiki
  • About IBM
  • Privacy
  • Contact IBM
  • IBM Terms of use
  • Wiki terms of use
Return to English
Arabic
Chinese Simplified
Chinese Traditional
French
German
Italian
Japanese
Korean
Portuguese
Russian
Spanish