Domino 9 und frühere Versionen > ND8: Entwicklung - XPages

XPage mit Datenquelle aus anderer nsf lässt sich nicht in Editmode schalten

(1/3) > >>

PLi:
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:

--- Code: ---<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>
--- Ende Code ---
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
--- Code: ---rendered="#{javascript:document1.isEditable()==false;}"
--- Ende Code ---
steht taucht nicht auf. Ebenso sind Eingabefelder im Editmode nicht sichtbar.      

--- Code: ---<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>
--- Ende Code ---

Es ist sicherlich nur eine Kleinigkeit, die ich übersehe, aber ich suche sie schon seit Stunden und finde sie einfach nicht.

Wer kann helfen?

Sven Hasselbach:
Was ist denn der "Maximum Internet Access Level" in Datenbank B?

Sven Hasselbach:
Ach: Das kann gar nicht funktionieren, denn der RequestScope ist beim Klick auf den Button leer - die DocUNID verschwunden...

Warum nicht Url Parameter verwenden?

PLi:

--- Zitat von: Sven Hasselbach am 17.02.14 - 10:58:07 ---Warum nicht Url Parameter verwenden?

--- Ende Zitat ---
... wenn ich die Xpage in Datenbank A einfach nur mit den URL-Parametern öffne

--- Code: ---http://Servername/Entwicklung/DatenbankA.nsf/XpageInDatenbankA.xsp?databaseName=CN=Servername!!Entwicklung\DatenbankB.nsf&documentId=<UniversalIDdesDocumentsInDB-B>&action=openDocument
--- Ende Code ---
habe ich gar keinen Zugriff auf irgendwelche Felder in dem Dokument.

Deshalb dachte ich, dass es so gar nicht geht und habe einen anderen Weg gesucht.

Sven Hasselbach:
Genau so würde es aber gehen. Das CN= muss noch aus dem DB Parameter entfernt werden.

Kann denn das Dokument überhaupt (also direkt) in DB B geöffnet werden? Im Browser, ohne XPage?

EDIT:
Liegen die DBs auf dem gleichen Server?

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln