Login




Warning: Invalid argument supplied for foreach() in /opt/lampp/htdocs/cms/components/com_content/helpers/route.php on line 106

Warning: Invalid argument supplied for foreach() in /opt/lampp/htdocs/cms/components/com_content/helpers/route.php on line 106

Warning: Invalid argument supplied for foreach() in /opt/lampp/htdocs/cms/components/com_content/helpers/route.php on line 106
Mithelfen/Beitragen PDF Drucken E-Mail
Geschrieben von: Administrator   
Dienstag, 19. August 2008 14:07

Duale Lizenzierung

agorum core wird in zwei Versionen angeboten. Einerseits als Open Source unter GPL (Version 2) und andererseits als Closed Source (als kommerzielle OEM-Lizenz).

 

Open Source (GNU General Public License Version 2)

Wenn Sie eine Software unter GPL-Lizenz entwickeln und/oder vertreiben, so können Sie ebenfalls agorum core unter der GPL-Lizenz anbieten.

 

Kommerzielle Lizenz von agorum core

Wenn Sie agorum core als Teil einer kommerziellen Lösung vertreiben, oder Sie kommerzielle Module für agorum core anbieten, so steht Ihnen agorum core Pro unter einer kommerziellen Lizenz zur Verfügung.

Weitere Informationen dazu finden Sie hier: http://www.agorum.de/german2/page_product.php

 

 

Entwickler-Beiträge zu agorum core

Wichtige Regeln

Wir freuen uns über jeden externen Beitrag, der für agorum core entwickelt und bereitgestellt wird. Mit jedem Beitrag helfen Sie, agorum core noch besser zu machen. Zudem haben Sie so die Möglichkeit, eigene Ideen mit in die Entwicklung einfließen zu lassen und so das Produkt nach Ihren Vorstellungen zu beeinflussen. Wir haben eine Reihe von Regeln definiert, die helfen sollen, das Entwickeln für agorum core so sinnvoll und reibungslos wie möglich zu gestalten. Von daher ist es absolut notwendig, dass diese Regeln eingehalten werden:

  • Um Ihren Beitrag überhaupt berücksichtigen zu können, müssen Sie ein Formular über die Teilung Ihres Urheberrechts (Copyrights) an Ihrem Beitrag mit uns ausfüllen, unterschreiben und an uns senden. Das Formular erhalten Sie hier: joint_copyright_assignment_(jca)_agorum.pdf
  • Bitte benutzen Sie für Ihre bereitgestellten Verbesserungen die neueste Version aus dem Versionierungssystem.
  • Orientieren Sie sich von der Form her am vorhandenem Quellcode. Beachten Sie die unten aufgeführten Regeln.
  • Stellen Sie Änderungen in Form eines Patches über unser Bug-Tracking System als Anhang zu einem Problem/Feature zur Verfügung.

Joint Copyright Assignment (JCA)

Das JCA dient dazu, dass Sie Ihr Copyright (Urheberrecht) an Ihrem Beitrag zu agorum core mit uns teilen. Sie selbst behalten natürlich die vollen Nutzungs- und Verwertungsrechte an dem von Ihnen erstellten Programmteilen, richten uns aber dieselben Rechte ein. Hierfür füllen Sie bitte folgendes Formular aus und schicken es uns unterschrieben zu. Bitte beachten Sie, dass wir Ihren Beitrag erst nach Erhalt dieses Formulars integrieren können. Das Formular erhalten Sie hier: joint_copyright_assignment_(jca)_agorum.pdf

 

 

Source Code herunterladen, Versionierungssystem SVN (Sub-Version)

Der Source-Code zu agorum core wird über das Versionierungssystem Subversion zur Verfügung gestellt. Sie können den Source-Code direkt über folgende Adresse erreichen: https://svn.agorumcore.de/agorum.

Folgend eine kurze Anleitung, wie Sie sehr einfach an den Source-Code gelangen können. Laden Sie sich den Command-Line-Client für Subversion herunter:

Wichtig ist dann, dass Ihre Pfad-Umgebungsvariable auf den Pfad zeigt, in der die ausführbare svn (unter Windows svn.exe) sich befindet. Sie können das testen, indem Sie eingeben:

svn --version

Das Projekt ist in mehrere Zweige unterteilt. Der Haupt-Entwicklungszweig befindet sich immer unter trunk. Definierte Releases befinden sich unter tags. Beta oder bestimmte Abspaltungen in der Entwicklung befinden sich unter branches. Hauptentwicklungen bzw. die neueste Entwickler-Version finden Sie immer unter trunk. Von daher sollten Sie dies immer als Entwicklungs-Basis benutzen.

Zum "auschecken" des gesamten Projektes auf Ihre Festplatte, erstellen Sie bitte ein Projekt-Verzeichnis, zum Beispiel c:\projekte\agorum oder /projekte/agorum

Wechseln Sie in dieses Verzeichnis und rufen Sie folgendes auf:

svn checkout https://svn.agorumcore.de/agorum/trunk

Dadurch wird der komplette Entwicklungszweig auf Ihre Festplatte geladen.

Wenn Sie nun in regelmäßigen Abständen immer wieder eine Aktualisierung Ihres lokalen Kopie mit dem Versionierungssystem durchführen möchten, so müssen Sie lediglich in Ihren trunk-Ordner wechseln und dort folgendes aufrufen:

svn update 

Dadurch werden alle Änderungen von unserem Entwicklungszweig übernommen.

 

 

Arbeiten mit dem Source-Code

Vorbereitung

Anmerkung: derzeit gibt es nur Build-Scripte in Form von DOS-Batch-Files. Da allerdings die gesamte Build-Logik in ANT-Scripten verteilt ist, ist es ein leichtes, die Batch-Dateien anzupassen und in Shell-Scripte zu wandeln.

Um den Source-Code übersetzen zu können, benötigen Sie noch folgende Tools:

  • ANT ab der Version 1.5
  • Java 1.4.2 SDK (aktuelle Version ist 1.4.2_16). Es ist wichtig, dass Sie die 1.4 Version der Java-Maschine verwenden, keine neuere, sonst ist der kompilierte Code inkompatibel zu agorum core. Sie können auch einfach die bei agorum core mitgelieferte Java-Version benutzen.

Als erstes müssen Sie einige Parameter im Build-Script anpassen, damit das Script weiß, wo zum Beispiel ant liegt oder Java, oder wohin das Kompilat gespeichert werden soll.

Bearbeiten Sie die Datei ../trunk/agorum_core/ant/setenv.bat . Stellen Sie dort die Parameter entsprechend Ihrer Verzeichnisse an:

 

Parameter
Erklährung
BASE_DIR
Hier tragen Sie den Basis-Pfad ein, in dem alles, was erzeugt wird gespeichert wird
PROJECTBASE_DIRHier tragen Sie den vollen Pfad zu Ihrem trunk Ordner ein
APPSERVER_DEPLOYMENT_DIR  
Hier tragen Sie den Pfad zu Ihrer agorum core Installation ein, bis hin zum deploy-Verzeichnis (wenn agorum core auf einem anderen Rechner installiert ist, dann können Sie hier irgendein Verzeichnis angeben und dieses dann später einfach 1 zu 1 zu agorum core kopieren
ANT_HOMEHier tragen Sie den Pfad zu Ihrem ANT ein
JAVA_HOMEHier tragen Sie den Pfad zu Ihrem Java SDK ein (Wichtig: Es muss eine 1.4.2 Version sein)

 

Build

Wenn alles korrekt eingestellt ist, können Sie agorum core komplett kompilieren. Dazu wechseln Sie in das Verzeichnis  .../trunk/agorum_core/ant. Um einmal alles komplett zu übersetzen, rufen Sie folgende Befehle auf:

  • build_agorum_core.bat
  • build_agorum_core_autoupdate.bat

Damit ist alles für agorum core übersetzt worden. Das Ergebnis (die LIB-Dateien) finden sie unter PROJECTBASE_DIR/libs

Nun müssen die übersetzten Dateien installiert werden. Durch das Starten eines Update-Scriptes (Details siehe unten) werden alle notwendigen Dateien inklusive der Bibliotheken und Web-Dateien, etc... nach APPSERVER_DEPLOYMENT_DIR kopiert. Es kommt jetzt ganz darauf an, wie Sie diese Umgebungsvariable in der Datei setenv.bat zuvor eingestellt haben:

Wenn APPSERVER_DEPLOYMENT_DIR direkt auf Ihr agorum core Installationsverzeichnis zeigt, gehen Sie folgendermaßen vor:

  • stoppen Sie agorum core
  • starten Sie das Script update_agorum_core_all.bat
  • starten Sie agorum core

Wenn das APPSERVER_DEPLOYMENT_DIR  in ein extra-Verzeichnis zeigt (also nicht direkt auf die agorum core Installation, zum Beispiel dann, wenn agorum core auf einem anderen PC installiert ist), dann gehen Sie folgendermaßen vor:

  • starten Sie das Script update_agorum_core_all.bat
  • stoppen Sie agorum core auf dem Server
  • kopieren Sie das Verzeichnis jboss  (im Standard-setenv-script APPSERVER_DEPLOYMENT_DIR\app\core) über das Verzeichnis in Ihrer agorum core Installation und überschreiben Sie dabei alle vorhandenen Dateien, falls gefragt wird.
  • starten Sie agorum core auf dem Server

 

Zu beachten:

  • Falls Änderungen an JSP-Dateien durchgeführt wurden, müssen Sie unter Umständen noch den Inhalt des scratchdirs unterhalb des jboss-Verzeichnisses in Ihrer agorum core Installation löschen. Wichtig ist, dass Sie vorher agorum core stoppen. Dies ist nicht immer notwendig, meistens werden die Änderungen automatisch festgestellt.
  • Falls es zu Problemen bei der Übersetzung kommt, prüfen Sie bitte Ihre Pfade in der setenv.bat - Datei.
  • In den einzelnen Modul-Verzeichnissen gibt es auch einzelne ANT-Scripte, so dass Sie gezielt nur geänderte Teile übersetzen können und nicht immer alles kompilieren müssen.
  • Das Script install_agorum_core.bat ist für interne Zwecke gedacht. Wenn Sie dieses Script verwenden, besteht die Gefahr, dass Sie ihre agorum core Installation zerstören!

 

 

Erstellen und zur Verfügung stellen von Patches/Änderungen/Neuerungen

Zu Koordiniereung und Protokollierung von Änderungen verwenden wir das Bug-Tracking System Mantis. Hier wird jede Änderung in Form eines Eintrages festgehalten. So kann man jederzeit sehen, was in welcher Version von wem geändert/verbessert wurde. Vorab, um Probleme zu vermeiden: Die Standardvorgehensweise sollte folgende sein, um zu verhindern, dass mehrere Personen gleichzeitig an denselben Dingen arbeiten. Erstellen Sie, bevor Sie mit Ihren Arbeiten beginnen einen Eintrag im Bug-Tracking System und ändern den Status so, dass Sie diesen jetzt bearbeiten, also ordnen Sie sich selbst als Bearbeiter zu. Wenn Sie einen bereits vorhanden Eintrag bearbeiten möchten, ordnen Sie sich dort als Bearbeiter zu (im Screenshot: 1,2 und 3). So weiß jeder, dass gerade jemand an diesem Feature/Bug arbeitet. Hierfür ist es notwendig, dass Sie sich am Bug-Tracking als Benutzer anmelden.

Um uns Ihre Patches/Änderungen oder Neuerungen zur Verfügung zu stellen, gehen Sie bitte folgendermaßen vor:

  • Erstellen Sie eine ZIP Datei in der sämtliche neuen und geänderten (bitte wirklich nur das, was Sie geändert haben, es macht keinen Sinn, alles zu liefern!) Dateien enthalten sind. Wichtig dabei ist, dass Sie die relative Verzeichnisstruktur zum trunk beibehalten, so dass wir sehen, welche Datei wohin gehört.
  • Melden Sie sich im Bug-Tracking System von agorum core an: https://www.agorum.com/mantis
  • Hängen Sie an den neuen oder bereits vorhandenen Beitrag  die ZIP-Datei (Screenshot 4 und 5), die Ihre Änderungen enthält an. (Den Beitrag haben Sie hoffentlich vorher Ihnen selbst als Bearbeiter zugeordnet). Es sind maximal 100 MB möglich.
  • Beschreiben Sie kurz, was Ihr Patch beinhaltet (Screenshot 6 und 7) und ganz wichtig zu welcher SVN-Version dieser Patch gehört. Sie erhalten die aktuelle Version, indem Sie folgendes im trunk Verzeichnis eingeben: svn log. Der erste/oberste Eintrag beinhaltet die aktuelle Versionsnummer.

 

Hier ein paar Screenshots:

Auswahl eines vorhandenen Problems/Features:


Bearbeiter zuordnen:


Patch hochladen und beschreiben:

 

Entwickeln, Eclipse, Source-Code Regeln

Source-Code-Format

Wenn Sie an agorum core mitentwickeln wollen, bitten wir Sie, sich an folgende Quell-Code-Format-Regeln zu halten. Dies macht es uns später einfacher, Ihre Beiträge zu integrieren.

  • Für Java-Code halten Sie sich bitte an die Code Conventions for the Java Programming Language von SUN.
  • In JSP Code verwendet Sie möglichst nur Taglibs und vermeiden Sie in jedem Fall Java-Inline-Code. Verlagen Sie die Logik in die Action-Klassen. Wir verwenden hier ein sehr strenges MVC-Prinzip (Model-View-Controller). Sprich, Business-Logik gehört nicht in die JSP-Webseiten, sondern in dazugehörige Actions und Klassen. Orientieren Sie sich einfach am vorhandenen Code.
  • Bitte vermeiden Sie das Kopieren von wiederverwendbarem Code. Lagern Sie stattdessen Funktionen in Utility-Klassen aus.
  • Programmieren Sie Objekt-Orientiert und vermeiden Sie Spaghetti-Code. Teilen Sie Funktionen in kleine funktionale Einheiten auf. 
  • Kommentieren Sie Code-Stellen, die nicht selbsterklärend sind
  • Übernehmen Sie den GPL-Version 2 Standardkopf (siehe folgendes Beispiel) und tragen Sie sich als Autor ein.
  • Verwenden Sie für Variablen, Klassennamen, Kommentare, etc... englische Begriffe.
/*
 * Copyright (C) 2008  agorum Software GmbH
 *
 * This file is part of agorum core
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; version 2
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 */
package your.package.path;
/**
 * Descripe here, what your class does
*
 * @author Your Name
 */
public class YourClassName {
.....

Neue Module für agorum core

Erstellen Sie neue Module, dann halten Sie sich bitte an folgende Verzeichnisstruktur:

Erstellen Sie ein Verzeichnis mit dem Modul-Name unterhalb des trunks. Unterhalb dieses Ordners sind folgende Unterverzeichnisse anzulegen:

  • ant/Modul-Name (hier legen Sie  die ANT-Scripte für das Kompilieren ab, orientieren Sie sich an vorhandenen ANT-Scripten)
  • bin (hier werden die Class-Files von zum Beispiel Eclipse abgelegt, dieser Ordner wird nicht eingecheckt)
  • docs (hierunter werden Beschreibungen und die Javadoc abgelegt)
  • installation (darunter sind Dinge enthalten, die zur Installation in den Applikationsserver notwendig sind)
  • libs (hierunter werden alle verwendeten JAR-Dateien abgelegt, die von diesem Modul verwendet werden, ausgeschlossen sind die agorum core Bibliotheken selbst)
  • resources (hier werden zusätzliche Dinge abgelegt, wie zum Beispiel Scripte, irgendwelche Einstellungen, etc..)
  • src (hierunter wird der Quellcode für das Projekt gespeichert)
  • src_autoupdate (optional, hier wird der Quellcode für autoupdates für dieses Modul abgelegt)
  • src_ejb (optional, hier werden die EJB-Sourcen abgelegt, wenn notwendig)

Eclipse

Zum Entwickeln benutzen wir Eclipse in der Version Europa (3.3.1.1). Den Source-Code, den Sie aus dem Versionierungssystem ausgecheckt haben, beinhaltet bereits die Projekt-Dateien für Eclipse. Wenn Sie sich streng an folgende Anleitung halten, können Sie das gesamte Projekte sehr einfach in Eclipse einbinden.

  • Als erstes brauche Sie Eclipse ab Version 3.3.1.1
  • Zusätzlich benötigen Sie das Zusatzmodul Subclipse (ist der Subversion Client für Eclipse)
  • Installieren Sie beides und starten Sie Eclipse
  • Legen Sie einen neuen Workspace an in Eclipse
  • Importieren Sie im Eclipse über den Befehl "File/Import/General/Existing Project into Workspace" alle Projekte aus Ihrem trunk
  • Wichtig ist, dass Sie in den Einstellungen des Workspace den JDK-Compliance Level auf 1.4 stellen (Finden Sie in den Einstellungen zum Workspace unter dem Punkt Java Compiler)


Fragen/Hilfe

Haben Sie Fragen oder benötigen Sie Hilfe, dann benutzen Sie bitte unser Support-Forum.

Aktualisiert ( Montag, 01. September 2008 09:42 )