IBM Support

Error: 'Ignoring portion of document that uses a feature from another version of Notes' when opening doc

Technote (FAQ)


Question

When you attempt to open a document in a database in IBM Lotus Notes Client the following error message occurs:

    "Warning: Ignoring portion of document that uses a feature from another version of Notes."

Typically the document cannot be opened at all; in other cases, the document opens but part of the document is missing.

This issue may also occur with Design elements such as Forms, Pages or the About Database document.

Answer

In cases where you are not using a feature from another version of Notes this issue is known to occur for one of the following reasons:


Reason #1: A graphic is embedded in a field or design element
Reason #2: A Back-end Save is triggered by a form event or form action on a document containing a Computed Rich Text field.
Reason #3: The form the document is using has a Rich Text field with the security option, 'Must Have at Least Editor Access To Use' enabled
Reason #4: The document contains a large Rich Text field which has many items.



Reason #1: A graphic is embedded in a field or design element

The issue can occur when a graphic has been embedded in a field within a document or within the Design element. The source of the graphic is typically not relevant to the issue. This issue has been observed with graphics from a variety of sources, such as MS PowerPoint, MS Word, CorelDraw, etc.

In cases where the document or Design element can be opened in Edit mode it is best to remove the graphic that causes the error. If the issue occurs with a document, and the document cannot be opened you can attempt to delete the field where the graphic is known to be embedded. You can construct an agent which is designed to run on selected documents.

- The Formula for the agent should be: Field <fieldname> := @DeleteField;
- Select the documents that you want to delete the field from and run the agent.

In cases where the Design element cannot be opened then you can attempt to copy the element into a new database and see if this allows it to be edited.

This issue has been reported to Lotus Software Quality Engineering (spr #EDHN4R5FDA). This issue has not been reproduced in Notes 6.x Client.

When this issue is observed with documents from the Database Catalog it is typically caused by a graphic within the About Database document for that problem document's database.



Reason #2: A Back-end Save is triggered by a form even t or form action on a document containing a Computed Rich Text field.

The issue occurs when the LotusScript Save method (of the NotesDocument class) is called from a Form event or Form action. It has been observed with the PostModeChange and QueryClose events but may not be limited to these two events. The issue has been observed in cases where a graphic is present in the Computed Rich Text field as well as cases where the field simply contains formatted text.

Note: Further study of this issue indicates that it occurs in cases where the NotesDocument object was based on a NotesUIDocument object which itself was set using either the CurrentDocument property (of the NotesUIWorkspace object) or the Source variable provided in a Form event.

This issue has been reported to Quality Engineering (SPR # WAT4B2JSA). The issue occurs in the Notes/Domino 5.x and 6.x releases, but not in 4.x releases.

Workaround s :

In Agents:

Design the agent to act on Selected Documents and then use the UnprocessedDocuments property (of the NotesDatabase class) to access a collection of the selected documents, and then used the GetFirstDocument method (of the NotesDocumentCollection class) to get a handle to the opened/current document. Note: The handle to the NotesDatabase class is accessed by using the CurrentDatabase property of the NotesSession).

For example:
    Dim s as New Notessession
    Set db=s.currentdatabase
    set col=db.unprocesseddocuments
    set doc=col.getfirstdocument
_______________________
In Form events and actions:

1. Change the Rich Text field so that it is Editable rather than Computed.
2. Create a Controlled Access Section around the field. Set the section's entry access (3rd tab of the Section properties) to a value none of the users will have. One way to do this is to create a role in the Access Control List (ACL) and give nobody access to it.
3. Set the section to auto-expand (on the 2nd tab of the Section properties).
_______________________
Don't Use a Back-End Save

Since the problem is caused by a back-end save (NotesDocument.Save), another workaround for the issue is to not use a back-end save. Instead, either use a front-end save (NotesUIDocument.Save) or don't save.

This problem is often seen when the form contains LotusScript code that adds text to a computed NotesRichTextItem and then tries to redisplay the modified rich text by saving the document, closing the current window (NotesUIDocument.Close), and reopening the same document in a new window (NotesUIWorkspace.EditDocument). It is possible to do this without saving the document, as shown below.

IMPORTANT NOTE: The following is a sample script, provided only to illustrate one way you can approach this functionality. Notes Support does not support this script and will not be able to customize it for a customer's specific configuration.

Dim wksp As New NotesUIWorkspace
Dim uidoc As NotesUIDocument, uidocNew As NotesUIDocument
Dim doc As NotesDocument
Dim rti As NotesRichTextItem
Dim strFieldname As String

Set uidoc = wksp.CurrentDocument
uidoc.Refresh True ' do this if the rich text field is editable, to get the current contents in case user has modified them.
Set doc = uidoc.Document ' get the back-end document for the document open on screen.
strFieldname = uidoc.CurrentField ' remember the current field if any
Set rti = doc.GetFirstItem(" fieldname")

' Make your rich text changes here, for instance:
Call rti.AddNewLine(1, True)
Call rti.AppendText(Now & ": log entry.")
If session.NotesBuildVersion >= 190 Then
rti.Update ' ND6 only
Else
Call doc.ComputeWithForm(True, False) ' caution, as this may erase some field values if you have @Db functions in formulas.
End If
doc.SaveOptions = "0" ' make it possible to close the document without a "do you want to save" prompt.
Call uidoc.Close(True)
Set uidocNew = wksp.EditDocument(True, doc, , , , True)
Delete uidoc
uidocNew.Document.RemoveItem("SaveOptions")
If strFieldname <> "" Then uidocNew.GotoField(strFieldname) ' return focus to field that was current before.

Note: this will cause Queryclose, Queryopen, Postopen (and so on) form events to trigger. Also, uidoc.Refresh will execute computed field formulas and input validations, so you should write the validation formulas to not return @Failure unless @IsDocBeingSaved | @IsDocBeingSent is true.



Reason #3: The form the document is using has a Rich Text field with the security option, 'Must Have at Least Editor Access To Use' enabled.

This issue has been observed with Rich Text fields (RTFs) which have been set in Domino R5 Designer with the Security Option setting of 'Must Have at Least Editor Access To Use'. Typically in this case the document's RTF contains a file attachment; but the issue may still occur when an attachment is not present.

You can determine if a RTF has this security option enabled because the Field Properties for the field will have a 'Field Flag' containing 'PROTECTED'.

This issue was reported to Quality Engineering (SPR #GJEL4HNJT9). This issue occurs in the 4.x, and 5.x releases. The issue has been fixed in Notes/Domino 6.0.

Workaround:
A LotusScript agent can be used to copy the attachment (if one exists) and any text from the RTF into a new RTF. Please note that all the text formatting in the field will be lost in this process.

The LotusScript agent below needs to be set to run on 'Selected Documents'. The agent is designed to temporarily detach any attachments to the C drive; it will then delete this temporary file after reattaching it to the RTF. The agent is currently designed to act on a Rich Text field called 'Body'; if your application uses a different field name then change this field name appropriately in the agent. The agent should be run from a Notes Client, by manually selecting the documents it is to run on.

IMPORTANT NOTE: The following is a sample script, provided only to illustrate one way you can approach this functionality. Notes Support does not support this script and will not be able to customize it for a customer's specific configuration.


Dim s As New notessession
Dim db As notesdatabase
Dim col As notesdocumentcollection
Dim doc As notesdocument
Dim item As Variant
Dim nitem As Variant
Dim attachments() As String

Set db=s.currentdatabase
Set col=db.unprocesseddocuments
Set doc=col.getfirstdocument
While Not doc Is Nothing
Set rtitem=doc.getfirstitem("Body")
temptext=rtitem.text
Forall i In doc.Items
If i.type = Attachment Then
If count=0 Then
Redim attachments(0) As String
Else
Redim Preserve attachments(Ubound(attachments)+1) As String
End If
Set nitem = doc.GetFirstItem(i.name)
attachments(count)=i.values(0)
Set emb = doc.GetAttachment(i.values(0))
Call emb.extractfile("C:\" & emb.name)
Call emb.remove
count=count+1
End If
End Forall
Call rtitem.remove
Dim nrtitem As New notesrichtextitem(doc, "Body")
If count>0 Then
If attachments(0)<>"" Then
For j = 0 To Ubound(attachments)
Call nrtitem.embedobject(EMBED_Attachment, "", "C:\" & attachments(j), attachments(j))
Kill "C:\" & attachments(j)
Next
End If
Call nrtitem.appendtext(Chr$(13))
End If
Call nrtitem.appendtext(temptext)
Call doc.save(True, True)
Set doc=col.getnextdocument(doc)
Wend



Reason #4 : The document contains a large Rich Text field which has many items. After editing the document with the Notes client, attempting to re-open the document produces the error.

This issue has been observed when attempting to open a document which contains a large Rich Text field which has many items. The document originally works fine but after editing it, attempts to re-open the document produce the error. This issue has been reported to Quality Engineering as SPR# NBRR664V2R.

The specific application features and steps to re-create this issue have not been determined. In one application the issue occurred with an editable Rich Text field that was within a nested section within a subform. It is also unknown whether the issue is specific to editing the document with a specific Notes Client release.

Workaround
The LotusScript agent discussed in reason #3 can be used to salvage text and attachments from documents exhibiting this issue.



    Cross reference information
    Segment Product Component Platform Version Edition
    Messaging Applications Lotus End of Support Products Lotus Domino 7.0, 6.5, 6.0, 5.0

    Historical Number

    112557

    Product Alias/Synonym

    Lotus Notes Client

Document information

More support for: Lotus End of Support Products
Lotus Notes

Software version: 4.5, 4.6, 5.0, 6.0, 6.5, 7.0

Operating system(s): Mac OS, Windows

Reference #: 1097112

Modified date: 04 August 2011


Translate this page: