Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino
Wechseln der Schablone aus Java.
flaite:
vielleicht hilft das:
http://www-10.lotus.com/ldd/sandbox.nsf/85d5b6903071400e8525676d0079b3ae/821a88919969356885256f1c0044f446?OpenDocument
Ist zwar in LotusScript. Man kann es allerdings aus Java per Agenten in der DB (oder ähnlichem) ansprechen. Oder die benötigten Teile in Java transkribieren, falls das geht.
thorsten_w:
Hallo Axel,
Leider ist das Problem nicht einfach mit der Designübernahme eines Admins ohne weiteres zu lösen.
Wir haben eine komplexe Applikation, die, ohne Betreuung durch Entwickler, bei Kunden installiert ist.
Leider gibt es immer wieder Kunden, die keinen oder nur schlecht ausgebildete Notes Administratoren haben.
Ich versuche nun eine Installations / Update Routine zu schreiben, die den Admin in einem Dialog betreut und die notwendigen Schritte unternimmt.
Den Command "Load Design" kann ich möglicherweise nicht nutzen, da ich nicht weiss, ob ein Admin vielleicht an den Datenbanken gestellt hat und evtl der DesignTemplateName nicht mehr stimmt. Da im Domino Java API die Property DesignTemplateName und TemplateName nur read only sind stellt sich dieses Problem.
Das DXL Beispiel (ich sagte es schon oben) steht in der Designer Hilfe als Möglichkeit Gestaltungen von Datenbanken zu übernehmen.
Das funktioniert auch soweit ganz gut für alle Designelemente , NUR für die Forms offensichtlich nicht.
--- Code: ---NoteCollection collection = template.createNoteCollection(false);
collection.selectAllDesignElements (true);
collection.setSelectForms(false);
collection.buildCollection();
DxlImporter importer = session.createDxlImporter();
importer.setReplaceDbProperties(true);
importer.setReplicaRequiredForReplaceOrUpdate(false);
importer.setAclImportOption(
DxlImporter.DXLIMPORTOPTION_REPLACE_ELSE_IGNORE);
importer.setDesignImportOption(
DxlImporter.DXLIMPORTOPTION_REPLACE_ELSE_CREATE);
DxlExporter exporter = session.createDxlExporter();
try {
importer.importDxl(exporter.exportDxl(collection), database);
} catch (Exception e){
System.out.println(importer.getLogComment());
System.out.println(importer.getLog());
e.printStackTrace();
}
--- Ende Code ---
Dies hier funktioniert hervorragend nur, sobald ich den setSelectForms rausnehme kommt der Fehler.
Und genau das ist mein Problem...
Gruss Thorsten.
Ralf_M_Petter:
Hallo thorsten!
Ich würde mal beim DXLExporter ForceNoteFormat=true angeben. Leider ist das DXL nicht vollständig implementiert, so dass wenn du manche Features in deinen Forms verwendest diese nicht vollständig exportiert werden. In diesem Fall hilft ForceNoteFormat=true. Du bekommst dann ein ziemlich unleserliches DXL, dass ziemlich viel Binärcode enthält, was dir aber für deine Anwendung egal sein sollte. Eventuell hilft dir das. Normalerweise enthält das formatierte DXL einen Kommentar, dass es nicht vollständig ist und man ForceNoteFormat verwenden soll.
Grüße
Ralf
flaite:
--- Zitat von: thorsten_w am 14.03.06 - 09:32:59 ---Dies hier funktioniert hervorragend nur, sobald ich den setSelectForms rausnehme kommt der Fehler.
Und genau das ist mein Problem...
--- Ende Zitat ---
Hallo Thorsten,
hört sich interessant an.
Für mich ist das aber immer schwer nachzuvollziehen, wenn ich den Kontext nicht kenne. Deshalb die Nachfragen.
Du kannst auch ein notes.net Posting versuchen.
War nicht auf openNtf ein ziemlich ehrgeiziges dxl Projekt, das ähnlich war ?
Schau mal nach.
Wenn du irgendwo hängenbleibst... und dxl/xml ist in Notes ex-post eingeführt worden..
vielleicht hilft ja doch diese ältere DB aus der Sandbox, wenn du mit dem dxl Ansatz nicht weiterkommst.
Oder du kannst die ntf an der erwarteten Stelle (direkt in notes-Data) öffnen und ein paar Properties auslesen.
Wären halt alternative Ansätze.
Gruß Axel
umi:
Ich würde mal sagen das klappt mit Java /DXL nicht. Da fehlen im DXL Import z.T. einige Sachen.
Ich hab das ersetzen von Embedded Outlines via DXL realisiert. Dabei wurden jedoch z.B. die Hintergründe von Feldern nicht wieder importiert, obwohl diese im DXL File waren.
Ich kann mir sehr gut vorstellen, falls der Import irgendwann mal ohne Fehlermeldung klappt, dass einige Elemente nicht aktualisiert wurden, bzw. fehlerhaft importiert wurden.... :-[
Als Alternative könntest Du z.B. die NotesNoteCollection verwenden und alle Designelemente von der Zieldb löschen und durch deine eigenen ersetzen...
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln