Entwickler
technische Infos für Entwickler
- Entwickler Schnellstart
- OrgaMon Test-Suite
- Technik
- eCommerce
- Linux
- I18n
- AqBanking
- Preisrundung
- HotKeys
OrgaMon-RC
OrgaMon-Servers
ein Projekt, das Server-Prozesse ohne GUI bereitstellt
- Indexerstellung
- FTP-Uploads
- Backup / restore
- XMLRPC
- ...
OrgaMon-GUI
ein Projekt, das zum Ziel hat OrgaMon mit einer Plattform-Übergreifenden GUI anzubieten
Technologie Review
- FreePascal GTK+ Binding
- http://wiki.freepascal.org/Qt4_binding
- http://www.rodi.dk/programming_cairo.php
Team-Entwickler
Für das Gesamtkunstwerk OrgaMon wird ein zentrales Repository mit der Software Subversion verwaltet. Der Read Only Zugriff ist anonym möglich. Schreibenden Zugriff erhalten Entwickler nach Kontakt zum OrgaMon-Maintainer Andreas(Punkt)Filsinger(bei)orgamon(Dot)org .
- Web-Interface (WEBsvn) Read-Only Zugriff: http://orgamon.org/subversion/
- SVN-Interface: svn://orgamon.org/orgamon
Installation
- Lade Dir TortoiseSVN herunter (http://tortoisesvn.net/downloads) und installiere es
- Erstelle in "Eigene Dateien"->RAD Studio->Projekte ein neues Verzeichnis mit dem Namen "OrgaMon" (kann auch woanders liegen oder auch anders lauten!) und öffne es (ANMERKUNG: Es MUSS sich wegen eines Bugs im TortoiseSVN auf einer LOKALEN Platte befinden, Samba Shares gehen nicht!!!!)
- Rechtsklicke in das offene Verzeichnis in den leeren Bereich und wähle "SVN Checkout"
- Als Repository gebe "svn://orgamon.org/orgamon" an
- Vergewissere Dich, dass Dein "Check Out Directory" (eigentlich das Target Dir!) das eben angelegte "OrgaMon" ist
- Drücke OK, alle Optionen einfach so lassen!
täglicher Arbeitsablauf
Beginn
- rechter Mausklick auf Dein OrgaMon-Verzeichnis
- "SVN Update"
-> Du bist nun auf dem neuesten Stand!
Coding & Test
- öffne z.B. mit Delphi ./OrgaMon/OrgaMon.dproj
- editiere Dateien wie bisher
- mache alles wie bisher, teste alles gut ...
-> wenn Deine Änderungen Release-Fähig sind ...
Löschen von Dateien
bei einem Commit sind Löschungen nicht automatisch im Änderungsauftrag an den Server mit dabei: Es reicht aber "select / deselect all" anzukreuzen, alternativ kann bei jeder gewünschten Löschung ein Haken gesetzt werden.
Hinzunahme neuer Dateien
ACHTUNG: Jeder neue Content (neue Verzeichnisse / neue Dateien) wird erkannt jedoch muss wie bei der Löschung das "select / deselect all" angekreuzt werden, dass überhaupt der Content übertragen wird. Bei dieser Verfahrensweise bekommen jedoch andere Entwickler diese neuen Dateien nicht zu Gesicht. Es muss hier mehr getan werden:
Man sollte erst mal alles zu Ende bringen, also alle Hinzunahmen erst mal zu Ende bringen. Nun muss man
- auf neue Verzeichnisse einen rechten Mausklick machen und "TortoiseSVN" -> "+ add" ausführen, jetzt hat man die Chanche Datei-Extensions, die man nicht auf dem Server haben will zu demarkieren (default ist "Alles angekreuzt"). Nach einem OK wir im lokalen Repository zunächst mal der neue Content als überhaupt "SVN-relevanter" Content beachtet. Der Fragezeichenstatus geht über in ein fettes blaues Plus.
- neue Dateien, die noch ein blaues Fragezeichen haben muss einzeln ge "+ add"ed werden.
Vor einem "Commit" sollten also alle "hängenden" Stati ordentlich in echte Stati "add" oder "ignore" umgesetzt werden!
Release erzeugen
- mache diesen Schritt sobald all deine Test erfolgreich laufen
- Nebeneffekte deiner Release sollten ausgeschlossen sein, wenn unsicherheiten bestehen bitte Andreas Filsinger kontaktieren
- "SVN Update" auf die Projekt-Datei im Rev-Verzeichnis (z.B. OrgaMon.rev.txt)
- Rev-Datei nun laden und eine Version hochzählen (und merken) und einen neuen Eintrag machen
- in "globals.pas" die gemerkte Version Nummer eintragen
- nochmals compilieren
- Autoup und ab damit
- Nun all deine Änderungen committen: rechter Mausklick auf das Repository Haupt-Verzeichnis
- "SVN Commit"
- dokumentiere in der Msg-Box dein Patch-Set
optional
- anschliessender "SVN Update", denn andere waren in der Zwischenzeit nicht untätig
- dies erhöht die Chanche dass Dein nächster "Update" / "Commit" problemlos durchläuft
Bedeutung der Verzeichnisse
- anfix32 (*.pas Tools)
- PHPincludes (*.php Tools)
- rev (Die Revision-Dateien)
- OrgaMon (*.pas der OrgaMon-win32-Client)
- MonDaServer (*.pas ein Server)
- Oc (*.pas ein Kommandozeilen Tool)
- aqbd (*.c ein HBCI Dämon)
- TWebShop (*.php5 der OrgaMon Webshop)