Autor Thema: Suche Tool für Massenänderung im Design  (Gelesen 1979 mal)

Offline Kridgiant

  • Frischling
  • *
  • Beiträge: 24
  • Geschlecht: Männlich
Suche Tool für Massenänderung im Design
« am: 10.11.06 - 14:52:17 »
Hallo Zusammen

Habe folgendes Problem:
Ich muss in mehreren Datenabanken in allen Ansichten (und das sind viele) im Querypast Event einen Script Code einfügen.

Gibt es ein Tool, mit dem das möglich ist??????

Danke vorab
MfG
Dirk

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Suche Tool für Massenänderung im Design
« Antwort #1 am: 10.11.06 - 15:07:12 »
Teamstudio Navigator (Nutzung der mitgelieferten Configurator ScriptLibrary - im FrontEnd kann der Configurator nicht mit Zeilenschaltungen umgehen).

Bernhard

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Suche Tool für Massenänderung im Design
« Antwort #2 am: 10.11.06 - 22:35:31 »
Um so etwas möglichst zu vermeiden, arbeite ich wie folgt:

In jeder Ansicht einer Applikation füge ich in den Options der Globals der Ansicht ein
Use "LibViews" sowie im QUERYOPEN ein

Sub Queryopen(Source As Notesuiview, Continue As Variant)
   Call vQO(Source, Continue)
End Sub

In dieser Lib gibt es die QUERYOPEN-Section, die alle weiteren Events mit einem EventHandler abfängt. Dort braucht man dann nix mehr nachzupflegen

Sub vQO(Source_uiview,Continue)
   Set DH_uiview=Source_uiview
   '// uiview Events
   On Event Postopen From Source_uiview Call vPO
   On Event Queryopendocument From Source_uiview Call vQOD
   On Event QueryPaste From Source_uiview Call vQueryPaste
   On Event PostPaste From Source_uiview Call vPostPaste
   
End Sub

Die einzelnen Subroutinen müssen exakt mit den übergebenen Parametern jedes Einzelevents aufgebaut werden, also z.B. (als Beispiel sei hier ein QUERYPASTE genommen, bei dem es darum geht, ob man Dokumente aus der Zwischenablage absetzen darf oder nicht)

Sub vQueryPaste(Source As NotesUIView,Continue As Variant)
   On Error Goto Fehlerteil
   If DH_uiviewunid="" Then
      NVersion=Evaluate("@Version" )
      If Cint(NVersion(0)) < 190 Then
         MeldungD="Bitte verwenden Sie die Aktion ""Paste"", um Dokumente einzufügen - Aktion abgebrochen"
         MeldungE="Please use the Action PASTE to paste documents from the clipboard - action canceled"
         Call Message
         Continue=False
         Exit Sub
      Else
         xaktdokid=DH_uiview.CaretNoteID
         If xaktdokid="" Then
            MeldungD="Sie müssen auf einem Dokument (nicht auf einer Kategorie) stehen, um Dokumente deer Zwischanablage pasten zu können - Aktion abgebrochen"
            MeldungE="You must highlight a document (not a category) to paste docs from the clipboard - action cancelled"
            Call Message
            Continue=False
            Exit Sub
         End If
         Set DH_Pastedoc = db.GetDocumentByID(DH_uiview.CaretNoteID)
      End If
   Else
      Set DH_doc=db.GetdocumentbyUNID(DH_uiviewunid)
      Set DH_Pastedoc=db.GetdocumentbyUNID(DH_uiviewunid)
   End If
   If DH_Pastedoc Is Nothing Then
      Continue=False
      Exit Sub
   End If
   
   ' Pasten im Archiv ist verboten
   If DH_DBIstArchiv Then
      MeldungD="Sie können im Archiv keine Dokumente aus der Zwischanablage pasten - Aktion abgebrochen"
      MeldungE="You cannot paste docs from the clipboard to aa archive - action cancelled"
      Call Message
      Continue=False
      Exit Sub
   End If
   
   ' Pasten auf gelöschten und gesperrten Dokumenten ist verboten
   If DH_Pastedoc.HasItem("Loeschkenn") Then
      If DH_Pastedoc.Loeschkenn(0)="1" Then
         MeldungD="Sie können auf einem zur Löschung markierten Dokument  keine Dokumente aus der Zwischanablage pasten - Aktion abgebrochen"
         MeldungE="You cannot paste docs from the clipboard to a document which is marked for deletion - action cancelled"
         Call Message
         Continue=False
         Exit Sub
      End If
   End If
   If DH_Pastedoc.HasItem("Sperrung") Then
      If DH_Pastedoc.Sperrung(0)="1" Then
         MeldungD="Sie können auf einem geperrten Dokument  keine Dokumente aus der Zwischanablage pasten - Aktion abgebrochen"
         MeldungE="You cannot paste docs from the clipboard to a locked document - action cancelled"
         Call Message
         Continue=False
         Exit Sub
      End If
   End If
   If Continue Then
      DH_uiviewunid=DH_Pastedoc.UniversalID
   Else
      DH_uiviewunid=""
      Set DH_Pastdoc=Nothing
   End If
   
Ausstieg:
   Exit Sub
   
Fehlerteil:
   MeldungD="Fehler bei DH_QueryPaste " & Cstr(Err) & " Aktion abgebrochen"
   MeldungE="Error at DH_QueryPaste " & Cstr(Err) & " - Action canceled"
   Call Message
   Continue=False
   Resume Ausstieg
End Sub

Damit kann ich alle View-bezogenen Aktionen in eine Library auslagern und pflege den Code nur an einer Stelle. Seitdem funktionieren die Aktionen in allen Ansichten mit den gleichen Fehlern - und wenn man diese Fehler behoben hat, dann sind sie mit einem Schlag in allen Ansichten behoben.

Man erkauft sich diesen Vorteil damit, daß man etwas häufiger den NSD bei Fehlern im Code zu Gesicht bekommt (ich habe zumindest den Eindruck, daß das so ist).

Vielleicht kann ich mit diesem Tipp den Hilferuf bei einigen Programmierern etwas lindern, denn es ist eklig, in allen Ansichten etwas ändern zu müssen.

Gruß

Norbert
Situs vilate in isse tabernit.

botschi

  • Gast
Re: Suche Tool für Massenänderung im Design
« Antwort #3 am: 13.11.06 - 09:14:35 »
Ich kann nur die Tools von Ytria empfehlen.

Glombi

  • Gast
Re: Suche Tool für Massenänderung im Design
« Antwort #4 am: 13.11.06 - 09:17:40 »
@botschi: Kann das Tool von Ytria auch Scriptevents von Ansichten ändern? Aus der Beschreibung geht es nicht eindeutig hervor, denn da wird nur von Ansichtseigenschaften und Spalten gesprochen.

Andreas

botschi

  • Gast
Re: Suche Tool für Massenänderung im Design
« Antwort #5 am: 13.11.06 - 09:29:16 »
Es gibt auch noch ein Tool für die Aktionsleisten.
Aber für die Scriptevents von Ansichten ist das nix, da hast Du Recht.

Offline chabermu

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
    • chabermu.wordpress.com
Re: Suche Tool für Massenänderung im Design
« Antwort #6 am: 13.11.06 - 10:28:24 »
DDSearch ist ein _kostenloses_ Werkzeug, mit dem man zwar keine Änderungen in der Gestaltung aber dafür die gesamte Gestaltung durchsuchen kann.

Die Installation ist etwas trickreich, dafür ist das Werkzeug aber - wie gesagt - kostenlos.
Sonnige Grüße
http://chabermu.wordpress.com
- Good to know IT -

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Suche Tool für Massenänderung im Design
« Antwort #7 am: 13.11.06 - 12:39:24 »
Die Diskussion über das Für und Wider der verschiedenen Tools überdeckt den Blick für das eientlich Wesentliche:

unser Freund hat in 127 Ansichten in 13 Datenbanken denselben Code stehen - und da muß er heute eine Erweiterung/Fehlerbehebung machen. Vielleicht helfen die Tools dabei, aber ich glaube, daß mein Vorschlag das Übel an der Wurzel packt.

Einmal muß man den Parforce-Ritt machen und Alles auslagern - aber dann braucht man die Tools (dafür) nicht mehr, weil der Code nur noch an einer Stelle gepflegt wird.

Und wenn man einmal dabei ist, kann man gleich auch in die Aktionsleisten ein einheitliches Design bringen und viele Aktionen als SHARED ACTIONS einfügen usw.

Mit Tools kann man den Kollaps, dessen Ursache im Wursteln liegt, aufschieben. Aber man kann die Fehler, die dabei entstanden sind, nicht damit beheben.

Gruß

Norbert
Situs vilate in isse tabernit.

botschi

  • Gast
Re: Suche Tool für Massenänderung im Design
« Antwort #8 am: 13.11.06 - 12:57:50 »
Im Kern hast Du sicher Recht, aber es wird immer irgendwann eine Änderung in den 98 oder 124 Ansichten geben. Ob Du nun vorher alles sauber ausgedacht hast oder nicht- Du musst es mehrfach ändern.
Und dann sind die Tools schon gut, egal von welchem Anbieter.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz