24. Sep 2011

14 Mai 2012

Bildschirmfoto%202012-05-14%20um%2008.00.24

Fehlerkorrekturen:

  • Leerzeichen im Maschinenname verhinderten die SOAP-Kommunikation
  • V13-Nutzer: der zurückgegebene Methoden-Text kann größer 32000k sein (V12-Nutzer haben den Bug nicht bemerkt, weil V12 einen Bug hat und keinen zurückgegebenen Methoden-Text annimmt)

Fixed bugs:

  • spaces in machine-names killed SOAP-communication
  • V13-users: returned method-text now exceeds 32000k (V12-user didn't experience the bug, because V12 has the bug not to accept returned method-text)

Noch in Erprobung -Experimental feature

DBZversions protokolliert den Zeitaufwand nach Projekt.

DBZversions protocolls the time spent dependend on project.

12 Feb 2012

Component-Macro

Erscheint das Komponenten-Macro nicht in der Macro-Liste, müssen Sie das Macro manuell installieren.

If the component-owned macro does not list in the macro-list, you need to install the macro manually.

DE_flag GB_flag

for english readers.

French localization included, merci Arnaud.
DBZversions - une application pour contrôler différentes versions de toutes sortes de méthodes 4D.

4D Methoden automatisch buchführen

VersionsSlogan

Im Laufe der Jahre sammelten sich viele Methoden an, die ich inzwischen in den meisten Projekten verwende. Ab und an muß ich eine Methode an den aktuellen Stand anpassen, ab und an entdecke einen Fehler, den ich dann behebe.

Gleicher Code an vielen Stellen verteilt, das wird schnell unübersichtlich. Nervende Fragen sind:

  • Wo muß ich diese Änderungen nachführen?
  • In welchem Projekt finde ich die aktuellste Fassung?
  • Welche Zeile wurde geändert?
Arbeiten wir zu zweit am gleichen Projekt, wird es noch unübersichtlicher. Ich beantworte mir die Fragen inzw. mit meiner 4D-Anwendung

DBZversions

DBZversions ist

  1. eine V12-Anwendung
  2. In der Einzelplatz-Anwendung werden alle Methoden gesammelt. Dazu agiert die App als SOAP-Server.
  3. eine V12-Komponente
  4. Die Komponente wird in jedem Projekten installiert.
  5. ein Komponenten-Macro
  6. d.h. die Komponente bringt das eigene Macro mit. Das Makro sorgt dafür, daß beim Sichern der aktuelle Stand der Methode an DBZversions geliefert wird*.

Ich starte die DBZversions-Anwendung vor allen anderen 4D-Anwendungen. Dann findet die DBZversions-Komponente den SOAP-Server und kann jede Version jeder Methode, also Projekt-, Form-, Objekt- und Datenbankmethoden sowie Trigger, automatisch protokollieren.

Ich kenne die Zusatzanforderung: in einem Rutsch alle Methoden im aktuellen Stand in DBZversions sichern. Das ist ein Feature der V13, die bringt METHOD GET NAMES, METHOD GET CODE und METHOD SET CODE mit. Wer es vorher braucht, nehme das API Pack und erwerbe meinen Sourcecode.

Hauptfenster

sorry12_13

Links die Liste aller gesammelten Methoden. Suchen reduziert die angezeigte Liste. In der Mitte die Versionen einer Methode, von wann und von wem und aus welchem Modul die Version stammt. Rechts die Methode Zeile für Zeile oder wie hier zwei Versionen der Methode im Vergleich.

Über Text 2 Clip bzw. Text 2 File wird die Methode als Text in die Zwischenablage kopiert oder als Dokument auf Platte geschrieben.

Einstellungen

versionsPref

Per Default ist DBZversions über "http://"+Current machine+".local:8053/4DSOAP/" zu erreichen. Falls das nicht funktioniert oder Ihr Rechner ganz woanders steht, ersetzen Sie die IP und lassen Port und 4DSOAP unberührt.

Die Einstellungen erreichen Sie, indem Sie die Komponenten-Methode VCS_Preferences aufrufen.

Arbeiten Sie zu mehreren an den gleichen Projekten, schalten Sie Modul mit Entwicklername an. Dann sehen Sie, auch wenn Sie nicht im gleichen Haus arbeiten, wer die neueste Version erstellt hat.

In der DBZversions-App sollten Sie über DB Eigenschaften, die 4D-Datensicherung aktivieren. Dann haben Sie auch die Versionen noch mal gesichert.

Download

DBZversionsLogo Laden Sie

versionsAbout

Die aktuelle Version ist:

  • Version: 137
  • Datum: 25.05.12
  • Zeit: 17:54:30
  • erstellt: O. Zillgen

Lizenz

DBZversions – Programm und Komponente – dürfen Sie kostenlos benutzen. Kontrollieren Sie die Funktionalität auf Ihren Rechnern! Die erforderlichen 4D-Lizenzen – Web- bzw. SOAP-Server – stellen Sie.

4D können Sie auf einem Rechner in mehreren Kopien laufen lassen. Nehmen Sie eine Kopie und betreiben damit das DBZversions-Anwendung. Die DBZversions-Komponente legen Sie direkt oder als Alias in den Components-Ordner Ihrer 4D-Projekte. Erscheint das Komponenten-Macro nicht in der Macro-Liste, müssen Sie das Macro manuell installieren.

Nie mehr ohne!

Mich beruhigt es, jederzeit zu einer vorherigen Version einer Methode zurück zu können. Ich brauche es nicht häufig, aber wenn ich es brauche, brauche ich es sofort.

Sourcecode kaufen

Brauchen Sie den Sourcecode, müssen Sie ihn haben, wollen Sie ihn verbessern oder Fehlendes selber nachrüsten, so können Sie den DBZversions-Sourcecode für 250,- € erwerben.

* leider hat auch die V12.3 noch einen Fehler. DBZversions liefert den aktuellen Methodentext mit der eingetragenen Versionsnummer zurück. Auch die 12.3 nimmt diesen noch nicht an. Schade!

 

DE_flag GB_flag

lieber auf deutsch

Keeping track of 4D Methods automatically

VersionsSlogan

Doing projectwork means reusing quite a number of methods in most projects. By and then I need to enhance functionality or factor in behavior which wasn't thought about before or kill a bug.

Same code at many places is no good idea. Too many times I was asking myself:

  • where else do I need to update this funtionality?
  • which project carries the most current version?
  • which lines where actually changed?
Two or more developers working on the same project make things more complicated. Help yourself, write an 4D-app. Mine is called

DBZversions

DBZversions is

  1. a V12-app
  2. This is a single-seat app running a SOAP-server.
  3. a V12-component
  4. This component needs to installed with every project.
  5. a component-macro
  6. This means the component has its own macrofile. That macro triggers DBZversions to create an instance for the method currently saved*.

I always run DBZversions-app before starting any 4D-project. This ensures that the DBZversions-component can find the SOAP-server. Now saving any kind of method, i.e. project-, form-, object- and databasemethodes plus triggers, saves a copy of the current state to DBZversions-app.

Yes, I know about that: getting all methods into DBZversions first. This will be a feature of V13, which gives us METHOD GET NAMES, METHOD GET CODE and METHOD SET CODE. If you need that today, get a copy of API Pack and buy my Sourcecode.

Main window

sorry12_13

On the left hand side the list of all methods collected. Searching reduces the list. The middlepart lists all versions of the selected method, when created, by whom and for which project. On the right hand side you see the method itself line by line or as displayed here two versions of the same method in comparison.

Text 2 Clip and Text 2 File copy the text of the method to the clipboard or save the text to disk.

Preferences

versionsPref

By default DBZversions-service is available at "http://"+Current machine+".local:8053/4DSOAP/". If this isn't appropriate or you run DBZversions on a different machine, exchange the IP and leave port and 4DSOAP untouched.

To change preferences run the component-method VCS_Preferences.

If you are working as a team, check Modulname + developername. Then you know who did the most current version.

For DBZversions-App you should run Database Prefs to start Backup and log-file as you like. This is an extra safety-net.

Download

DBZversionsLogo Here you are

versionsAbout

Current version is:

  • Version: 137
  • Datum: 25.05.12
  • Zeit: 17:54:30
  • erstellt: O. Zillgen

License

Use DBZversions – app and component – free of charge. Check the functionality with your equipement! Necessary 4D-licenses – Web- or SOAP-server respectively – is your business.

I'm running several copies of 4D side by side on the same Mac. I use one copy to run DBZversions-app. I either copy DBZversions-component or place an alias inside the components-folder of my 4D-projects. If the component-owned macro does not list in the macro-list, you need to install the macro manually.

Never again without!

I sleep well, knowing where my versions are stored and how to access them easily. I didn't need them often, but when I needed an older version, I needed it dearly.

Buy the Sourcecode

Too busy to code it yourself, buy the sourcecode. It's just 250,-€

* for me it's still a bug of V12.3. DBZversions sends back the saved method with vcs_Version number updated. Even 12.3 doesn't accept the return yet. That's a pity!