Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: -Flo- am 01.02.12 - 12:40:42

Titel: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: -Flo- am 01.02.12 - 12:40:42
Hallo zusammen,

ich lese schon so lange hier mit und nutze immer fleißig die Suche und bin dann glücklich das ich nie der erste bin der eine Frage stellen musste, heute ist es dann doch mal an der Zeit das ich mich registrieren musste.

Ich stehe vor folgendem Problem. Ich habe bei uns im Betrieb ein eigenes Template, welches in gut und gerne 300 Datenbanken verwendet wird. Nun hat unsere Doku Abteilung sich nach langer Zeit mal dazu durchgerungen eine Endanwenderdoku für diese Datenbank zu schreiben und auch ein Visitenkärtchen mit Datenbankinformationen.

Schlau wie ich bin, habe ich im Designer die Daten in die entsprechenden zwei DB Dokumente eingetragen (About / Using).


Unternehmensvorgabe zum ausrollen von Templateänderungen ist es, dass wir ein neues Template anlegen und neu Versionieren. Nun habe ich mit dem convert task alle Instanzen der Datenbank auf das neue Template aktualisiert, aber das About Document wurde nicht übernommen.

Lösung: Probit design replace Hacken entfernen. Soweit so gut, aber ich kann das doch nun nicht in allen Instanzen der Datenbank entfernen ... da sitze ich ja Tage dran. Gibt es dafür ein schönes Script das durch die Datenbanken läuft und ggf. über DXL oder wie auch immer man da dran kommt, den Hacken entfernt? Oder gibt es vllt. eine andere Möglichkeit mit der ich erreichen kann, dass alle Datenbanken die das Template ABC haben nun einer Ersetzung zustimmen?

Ich danke euch für eure Antworten,

Viele Grüße,

Florian
Titel: Re: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: smokyly am 01.02.12 - 12:52:47
Sowas?
http://atnotes.de/index.php/topic,49860.0.html

Gruss
Titel: Re: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: pram am 02.02.12 - 16:55:28
Ich würd das mit Script lösen:

1. Über alle Datenbanken im NotesDBDirectory iterieren
2. das About/Using-Dokument mittels  db.getDocumentById("FFFF0002") / db.getDocumentById("FFFF0100") holen: Ids siehe hier: http://www.nsftools.com/tips/NotesTips.htm
3. den Haken entfernen (ist in irgendeinem Feld gespeichert, weiß ich gerade nicht auswendig)
4. DesignNote signieren & speichern
5 Goto 1 :)

Gruß
Roland
Titel: Re: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: ascabg am 02.02.12 - 16:59:00
Hallo,

Sollte doch das Feld "$Flags" sein.
Nur ist bei diesem Feld immer ein wenige mehr Vorsicht geboten als bei 'normalen' Feldern.


Andreas
Titel: Re: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: pram am 02.02.12 - 17:04:06
ja, es ist $Flags und es ist der Buchstabe "P"

Hier hab ich eine fertige Lösung gefunden: http://www.seancull.co.uk/public/seancull.nsf/dx/sntt-agent-to-remove-the-prohibit-design-refresh-flag-from-forms-and-views.htm
Das ist in Etwa das was Florian will

Gruß
Roland
Titel: Re: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: koehlerbv am 02.02.12 - 17:04:25
Das "P" muss aus $Flags heraus. Und gerade das Signieren geänderter Design-Elemente verdient besondere Aufmerksamkeit.

@Roland:
5. muss heissen: Goto 2  ;)  Ansonsten: "'In Ewigkeit - Amen!', sprach die Endlosschleife."  ;D

Bernhard
Titel: Re: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: koehlerbv am 02.02.12 - 17:08:59
Ich sehe gerade eine wichtige Anmerkung im verlinkten Coce:
"as written the code only runs against forms and views".

Das wird Florian wohl eher nicht glücklich machen, wenn er nicht selbst noch ordentlich Hand anlegt.

Bernhard
Titel: Re: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: Christian Weiß am 02.02.12 - 17:46:23
Wenn ich das im 8.5er Designer richtig sehe, müsste bei einem About-Dokument was geschützt ist, das Feld $Flags leer sein.
Da müsste man den Wert "R" reinschreiben, um den Schutz aufzuheben.
Titel: Re: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: pram am 02.02.12 - 17:58:09
@Bernhard, ja wieder was gelernt -> kein Goto verwenden  ;D

Titel: Re: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: koehlerbv am 02.02.12 - 18:03:37
@Bernhard, ja wieder was gelernt -> kein Goto verwenden  ;D

Klar, nach Möglichkeit nicht, in seltenen (!) Fällen kann damit der Code aber damit sogar klarer überschaubar / nachvollziehbar bleiben.
Und: Auch mit einem While bekommst Du locker Endlosschleifen hin. Ist Dir das noch nie passiert?  ;D

Bernhard
Titel: Re: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: pram am 02.02.12 - 20:04:07
Ja, wenn man mal vom Errorhandling absieht, gibts ganz wenige Goto's bei mir.
Meist in Schleifen um ein "continue" nachzubauen. (Goto continue)

Der Klassiker in (Endlos-)Schleifen ist natürlich ein vergessenes "set doc = coll.getNextDocument(doc)"
Code
set doc = coll.getFirstdocument()
do until doc is nothing
  ... machwas
loop

Um aber zurück zum Topic zu kehren:
Bei About/Using-Dokumenten hab ichs gerade durch Ausprobieren folgendes herausgefunden

Haken gesetzt: $Flags = ""
Haken entfernt: $Flags = "R"


Bei einer ScriptLibrary z.B. entspricht ein gesetzter Haken dem Buchstaben "P" in $Flags

Schönen Feierabend
Roland
Titel: Re: About Document - Prohibit Design Replace - In allen Instanzen entfernen
Beitrag von: koehlerbv am 03.02.12 - 00:01:09
Hallo Roland,

offensictlich ist das versionsabhängig. Was ich bei meinen (!) Tests bisher festgestellt habe: Wenn "R" im $Flags enthalten ist, ist das "inherit" immer weg, ist das $Flags leer oder es wurde nur das "P" entfernt, kann "inherit" immer noch greifen.

Das Vorhandensein von "R" finde ich aber auch in all meinen gefundenen Quellen.

So ganz stringent scheint das also nicht zu sein, aber "R" ist offensichtlich die beste Idee. Eine "engültige" Lösung kann ich derzeit leider auch nicht bieten.

Bernhard