Ich habe eine Datenbank A in der alle XPages sein sollen und eine Datenbank B in der die Daten liegen und möglichst keine XPages liegen sollen.
Der Anwender soll also Datenbank A im Browser öffnen und wie über ein Portal Daten in der Datenbank B lesen und auch bearbeiten können.
Aktuell arbeite ich mit meinem eigenen User und ich stehe in beiden Datenbanken explizit mit Managerzugriff in der ACL.
Gelöst habe ich es soweit, dass ich eine Redirect Seite habe, die im beforePageLoad die UNID aus der URL in eine RequestScope Variable "docunid" steckt die dann in der Xpage wieder verwendet wird:
<xp:this.data>
<xp:dominoDocument var="document1"
databaseName="Entwicklung\DatenbankB.nsf"
formName="Eingabe" action="editDocument">
<xp:this.documentId><![CDATA[#{javascript:return requestScope.get("docunid");}]]></xp:this.documentId>
</xp:dominoDocument>
</xp:this.data>
So komme ich zumindest schon einmal an das korrekte Dokument heran (mit computed Fields in der Xpage überprüft).
Wenn ich allerdings über folgenden Button, den Bearbeitungsmodus ändere, so verschwindet er zwar, aber ein zweiter Button, bei dem
rendered="#{javascript:document1.isEditable()==false;}"
steht taucht nicht auf. Ebenso sind Eingabefelder im Editmode nicht sichtbar.
<xp:button value="In Lesemodus ändern" id="button1"
rendered="#{javascript:document1.isEditable()==true;}"
refreshMode="complete">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action>
<xp:changeDocumentMode mode="toggle"></xp:changeDocumentMode>
</xp:this.action>
</xp:eventHandler>
</xp:button>
Es ist sicherlich nur eine Kleinigkeit, die ich übersehe, aber ich suche sie schon seit Stunden und finde sie einfach nicht.
Wer kann helfen?