Frage zu Projektverwaltung

Frage zu Projektverwaltung

am 02.04.2008 12:08:58 von Christian Aigner

Hallo!

Ich habe mehrere Projekte, die zum Teil die gleichen Klassen
verwenden. Das sieht dann z.B. so aus:

Projekt 1:
C:\htdocs\projekt1\class\formular.class.php

Projekt 2:
C:\htdocs\projekt2\class\formular.class.php

Ich bin noch nicht sehr vertraut mit SVN (hab's erst seit gestern),
aber ich benutze es nun, und jedes Projekt hat sein eigenes
Repository. Dadurch werden aber Klassen, die beide Projekte gemeinsam
haben, getrennt verwaltet, was mir ein bißchen widerstrebt. Ist das
nun mal so, oder gibt's einen besseren Weg? Vielleicht ein
"allgemeines" Repository?

Wie handhabt ihr die PHP-Projektverwaltung?

Liebe Grüße,
Christian

Re: Frage zu Projektverwaltung

am 02.04.2008 12:15:25 von Christoph Herrmann

Christian Aigner schrieb:
> Wie handhabt ihr die PHP-Projektverwaltung?

ich habe alles gemeinsame was ich in mehrere Projekten verwende zu einem
eigenen Projekt, also einem Framework zusammengefasst, welches getrennt
von den anderen Projekten verwaltet wird aber in jedem dann eingebunden.

--
Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/

Re: Frage zu Projektverwaltung

am 02.04.2008 12:31:10 von Christian Aigner

On Wed, 02 Apr 2008 12:15:25 +0200, Christoph Herrmann
wrote:

>Christian Aigner schrieb:
>> Wie handhabt ihr die PHP-Projektverwaltung?
>
>ich habe alles gemeinsame was ich in mehrere Projekten verwende zu einem
>eigenen Projekt, also einem Framework zusammengefasst, welches getrennt
>von den anderen Projekten verwaltet wird aber in jedem dann eingebunden.

Ich bin mit dem Begriff Framework noch nicht wirklich vertraut. Wie
kann/soll ich mir das vorstellen?

Re: Frage zu Projektverwaltung

am 02.04.2008 13:17:37 von Christoph Herrmann

Christian Aigner schrieb:
> Ich bin mit dem Begriff Framework noch nicht wirklich vertraut. Wie
> kann/soll ich mir das vorstellen?

Sehe Framework in dem Falle einfach als eine Sammlung von
Klassen/Funktionen, die getrennt von deiner Anwendung liegen hast und
für mehrere Anwendungen benutzt.

Ansonsten hier:
http://de.wikipedia.org/wiki/Framework

Also für dich einfach, die Teile die du in mehreren Anwendungen brauchst
verwaltest du unabhängig von deinen Anwendungen in einem separatem
Repository und bindest diese dann einfach in die jeweiligen Anwendungen
per "require/include" ein.

Ich hab das Ganze halt etwas weitergeführt gehabt und mir Allgemein
Sachen geschrieben, die ich überall brauchen kann und irgendwann hast
dann eine große Sammlung und nennst es Framework. :)

--
Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/

Re: Frage zu Projektverwaltung

am 02.04.2008 14:16:46 von Christian Aigner

On Wed, 02 Apr 2008 13:17:37 +0200, Christoph Herrmann
wrote:

>Sehe Framework in dem Falle einfach als eine Sammlung von
>Klassen/Funktionen, die getrennt von deiner Anwendung liegen hast und
>für mehrere Anwendungen benutzt.
>
>Ansonsten hier:
>http://de.wikipedia.org/wiki/Framework
>
>Also für dich einfach, die Teile die du in mehreren Anwendungen brauchst
>verwaltest du unabhängig von deinen Anwendungen in einem separatem
>Repository und bindest diese dann einfach in die jeweiligen Anwendungen
>per "require/include" ein.
>
>Ich hab das Ganze halt etwas weitergeführt gehabt und mir Allgemein
>Sachen geschrieben, die ich überall brauchen kann und irgendwann hast
>dann eine große Sammlung und nennst es Framework. :)

Danke für Deine Erklärung. Damit kann ich was anfangen und hab auch
schon eine Idee, wie ich das bei mir umsetzen kann.

LG,
Christian

Re: Frage zu Projektverwaltung

am 02.04.2008 17:16:36 von Michael Fesser

..oO(Christian Aigner)

>Ich habe mehrere Projekte, die zum Teil die gleichen Klassen
>verwenden. Das sieht dann z.B. so aus:
>
>Projekt 1:
>C:\htdocs\projekt1\class\formular.class.php
>
>Projekt 2:
>C:\htdocs\projekt2\class\formular.class.php
>
>Ich bin noch nicht sehr vertraut mit SVN (hab's erst seit gestern),
>aber ich benutze es nun, und jedes Projekt hat sein eigenes
>Repository. Dadurch werden aber Klassen, die beide Projekte gemeinsam
>haben, getrennt verwaltet, was mir ein bißchen widerstrebt. Ist das
>nun mal so, oder gibt's einen besseren Weg?

Das muß und sollte nicht so sein. Du handelst Dir eine Menge Arbeit und
mögliche Schwierigkeiten ein, wenn die gleichen Dateien mehrfach ablegt
werden und bei Änderungen alle synchronisiert werden müssen.

Lagere die gemeinsam genutzten Klassen in ein eigenes Verzeichnis aus
und speichere sie auch im SVN getrennt von den anderen Projekten. Ob nun
in einem eigenen Repository oder nur in einem Unterverzeichnis ist eher
Geschmackssache.

Micha

Re: Frage zu Projektverwaltung

am 02.04.2008 20:13:32 von Christian Aigner

On Wed, 02 Apr 2008 17:16:36 +0200, Michael Fesser
wrote:

>Das muß und sollte nicht so sein. Du handelst Dir eine Menge Arbeit und
>mögliche Schwierigkeiten ein, wenn die gleichen Dateien mehrfach ablegt
>werden und bei Änderungen alle synchronisiert werden müssen.
>
>Lagere die gemeinsam genutzten Klassen in ein eigenes Verzeichnis aus
>und speichere sie auch im SVN getrennt von den anderen Projekten. Ob nun
>in einem eigenen Repository oder nur in einem Unterverzeichnis ist eher
>Geschmackssache.
>
>Micha

Danke für den Tip.

Bis jetzt hatte ich immer alle Projektdateien in einem Verzeichnis und
konnte sie einfach alle gemeinsam auf den Server des Kunden hochladen.
Einfach alle Dateien samt aller Unterverzeichnisse hochladen.

Wenn ich die von mehreren Projekten gemeinsam genutzen Dateien in
getrennte Verzeichnisse packe, dann muß ich sie auch getrennt
hochladen.

Bsp:

C:/htdocs
|
|---/gemeinsam_genutzte_Klassen
| |
| |---/termin.class.php
| |---/person.class.php
|
|---/Projekt1
| |
| |---/class (nur Klassen für Projekt1)
|
|---/Projekt2
|
|---/class (nur Klassen für Projekt2)

Wie machst Du das mit dem Abgleich zwischen Deinem Entwicklungsrechner
und dem Web-Server des Kunden?

LG,
Christian

Re: Frage zu Projektverwaltung

am 02.04.2008 20:35:40 von Hadanite Marasek

> Wie machst Du das mit dem Abgleich zwischen Deinem Entwicklungsrechner
> und dem Web-Server des Kunden?

Du kannst übrigens noch die Property svn:externals nutzen. Dann kannst
Du ein Verzeichnis definieren, in dem Daten aus einem anderen Repository
liegen.

Auf diese Weise kann ich immer eine komplette Struktur auf den Webserver
laden.

--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html

Re: Frage zu Projektverwaltung

am 02.04.2008 22:34:40 von Christian Aigner

On Wed, 02 Apr 2008 20:35:40 +0200, Hadanite Marasek
wrote:

>Du kannst übrigens noch die Property svn:externals nutzen. Dann kannst
>Du ein Verzeichnis definieren, in dem Daten aus einem anderen Repository
>liegen.
>
>Auf diese Weise kann ich immer eine komplette Struktur auf den Webserver
>laden.

Wie denn das? Mein FTP-Programm weiß ja nichts von SVN.

Im Moment kann ich mir das nicht vorstellen, wie das gehen soll, aber
ich lese gerade die Doku und hoffe, daß ich in ein paar Tagen schlauer
bin.

Vielen Dank für Deine Unterstützung.

LG,
Christian

Re: Frage zu Projektverwaltung

am 02.04.2008 22:45:44 von Markus Deckmann

Hi Christian,

> Wie denn das? Mein FTP-Programm weiß ja nichts von SVN.
>
> Im Moment kann ich mir das nicht vorstellen, wie das gehen soll, aber
> ich lese gerade die Doku und hoffe, daß ich in ein paar Tagen schlauer
> bin.

Ich nutze SVN derzeit noch nicht ausgiebigst, allerdings so wie ich die
Doku verstehe definierst du über den Parameter lediglich das Konstrukt
der Zusammengehörigkeit der Dateien.

Für den Upload musst du wie ich das verstehe dann einen Check-Out bzw.
ein abrufen der letzten Version in ein Verzeichnis machen und hast dann
dort, trotz verteilter Quellen der Quellcode-Dateien, einen Stand in
einem Verzeichnis den du hochladen kannst.

Ich hoffe ich verbreite hier jetzt keinen Unsinn, ist nur meine schnelle
Interpretation der paar Kapitel über "Externals Definition" auf der
folgenden Seite: http://svnbook.red-bean.com/en/1.0/ch07s03.html

Ciao Markus

Re: Frage zu Projektverwaltung

am 02.04.2008 22:49:16 von Michael Fesser

..oO(Christian Aigner)

>Danke für den Tip.
>
>Bis jetzt hatte ich immer alle Projektdateien in einem Verzeichnis und
>konnte sie einfach alle gemeinsam auf den Server des Kunden hochladen.
>Einfach alle Dateien samt aller Unterverzeichnisse hochladen.
>
>Wenn ich die von mehreren Projekten gemeinsam genutzen Dateien in
>getrennte Verzeichnisse packe, dann muß ich sie auch getrennt
>hochladen.

Ja, sofern nötig.

>Bsp:
>
>C:/htdocs
> |
> |---/gemeinsam_genutzte_Klassen
> | |
> | |---/termin.class.php
> | |---/person.class.php
> |
> |---/Projekt1
> | |
> | |---/class (nur Klassen für Projekt1)
> |
> |---/Projekt2
> |
> |---/class (nur Klassen für Projekt2)

So in etwa hab ich das hier auch.

>Wie machst Du das mit dem Abgleich zwischen Deinem Entwicklungsrechner
>und dem Web-Server des Kunden?

Genau wie oben. Ich hab meine gemeinsam genutzten Klassen (/lib) und den
projektspezifischen Kram. Je nachdem, an was ich gerade arbeite, wird
entweder das eine oder das andere hochgeladen. Oder auch mal beides. Das
ist kein wirkliches Problem.

Micha

Re: Frage zu Projektverwaltung

am 02.04.2008 23:53:21 von Christian Aigner

On Wed, 02 Apr 2008 22:45:44 +0200, Markus Deckmann
wrote:

>Ich nutze SVN derzeit noch nicht ausgiebigst, allerdings so wie ich die
>Doku verstehe definierst du über den Parameter lediglich das Konstrukt
>der Zusammengehörigkeit der Dateien.
>
>Für den Upload musst du wie ich das verstehe dann einen Check-Out bzw.
>ein abrufen der letzten Version in ein Verzeichnis machen und hast dann
>dort, trotz verteilter Quellen der Quellcode-Dateien, einen Stand in
>einem Verzeichnis den du hochladen kannst.
>
>Ich hoffe ich verbreite hier jetzt keinen Unsinn, ist nur meine schnelle
>Interpretation der paar Kapitel über "Externals Definition" auf der
>folgenden Seite: http://svnbook.red-bean.com/en/1.0/ch07s03.html
>
>Ciao Markus

Danke, Markus! Jetzt hab ich's. Das mit dem Checkout in ein eigenes
"Upload-Verzeichnis" hab ich verstanden.

Das werde ich dann gleich mal ausprobieren.

LG,
Christian

Re: Frage zu Projektverwaltung

am 03.04.2008 00:05:46 von Christian Aigner

On Wed, 02 Apr 2008 22:49:16 +0200, Michael Fesser
wrote:

>So in etwa hab ich das hier auch.
>
>>Wie machst Du das mit dem Abgleich zwischen Deinem Entwicklungsrechner
>>und dem Web-Server des Kunden?
>
>Genau wie oben. Ich hab meine gemeinsam genutzten Klassen (/lib) und den
>projektspezifischen Kram. Je nachdem, an was ich gerade arbeite, wird
>entweder das eine oder das andere hochgeladen. Oder auch mal beides. Das
>ist kein wirkliches Problem.
>
>Micha

Danke auch Dir Micha!

Gestern war SVN noch ein Buch mit 7 Siegeln. Heute finde ich es schon
ziemlich cool. Ich wünschte, ich hätte von SVN schon früher erfahren.
:-)

OT: Gibt's neben einer Entwicklungsumgebung (Zend Studio, Eclipse,
etc.) und der Versionierungssoftware (SVN) noch etwas, was man haben
sollte?

LG,
Christian

Re: Frage zu Projektverwaltung

am 03.04.2008 00:26:02 von Hadanite Marasek

> OT: Gibt's neben einer Entwicklungsumgebung (Zend Studio, Eclipse,
> etc.) und der Versionierungssoftware (SVN) noch etwas, was man haben
> sollte?

Ja. WinSCP, eine Cherry G81-3000 LRNDE bzw. G81-3000 LUNDE und ein
Bildschirm im 4:3-Format.

--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html

Re: Frage zu Projektverwaltung

am 03.04.2008 00:31:08 von Michael Fesser

..oO(Christian Aigner)

>Gestern war SVN noch ein Buch mit 7 Siegeln. Heute finde ich es schon
>ziemlich cool. Ich wünschte, ich hätte von SVN schon früher erfahren.
>:-)

Dito. Ich benutze es auch erst seit ein paar Monaten und habe mit
Sicherheit noch längst nicht alle Features ausgeschöpft. Aber es
rentiert sich auf jeden Fall.

>OT: Gibt's neben einer Entwicklungsumgebung (Zend Studio, Eclipse,
>etc.) und der Versionierungssoftware (SVN) noch etwas, was man haben
>sollte?

Etwas Geld, gute Laune und 'ne gute CD im Player. ;)

Micha

--
np: Celtic Woman - A New Journey

Re: Frage zu Projektverwaltung

am 03.04.2008 00:32:09 von Michael Fesser

..oO(Hadanite Marasek)

>> OT: Gibt's neben einer Entwicklungsumgebung (Zend Studio, Eclipse,
>> etc.) und der Versionierungssoftware (SVN) noch etwas, was man haben
>> sollte?
>
>Ja. WinSCP, eine Cherry G81-3000 LRNDE bzw. G81-3000 LUNDE und ein
>Bildschirm im 4:3-Format.

_Zwei_ Bildschirme. Mindestens. ;)

Micha

Re: Frage zu Projektverwaltung

am 03.04.2008 01:14:09 von Christoph Herrmann

Christian Aigner schrieb:
> OT: Gibt's neben einer Entwicklungsumgebung (Zend Studio, Eclipse,
> etc.) und der Versionierungssoftware (SVN) noch etwas, was man haben
> sollte?

Bugtracker (Flyspray, Mantis, Bugzilla usw.) halte ich für notwendig um
den Überblick zu behalten über mittlere und größere Projekte.

--
Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/

Re: Frage zu Projektverwaltung

am 03.04.2008 01:25:23 von Markus Deckmann

Hi Christoph,

> Bugtracker (Flyspray, Mantis, Bugzilla usw.) halte ich für notwendig um
> den Überblick zu behalten über mittlere und größere Projekte.

Wobei Mantis je nach Anforderung noch sehr buggy ist und sich vielfach
nur über den Quellcode an die eigenen Bedürfnisse anpassen lässt. Ich
habe es seit mehreren Monaten im Einsatz und vermisse an mehreren
Stellen spezifische Anpassungsmöglichkeiten die zur Zeit allerdings über
die Konfigurationseinstellungen noch nicht abgedeckt werden.

Ciao Markus

Re: Frage zu Projektverwaltung

am 03.04.2008 10:38:56 von David Fuhr

Christian Aigner wrote in
news:7j08v3513293isbvft35s223e6fvlojvuo@4ax.com:

> OT: Gibt's neben einer Entwicklungsumgebung (Zend Studio, Eclipse,
> etc.) und der Versionierungssoftware (SVN) noch etwas, was man haben
> sollte?

Auf http://www.phpbar.de/w/Entwicklungsumgebung gibts ne Liste, mit
Teilen einer IDE.

Gruß
David

Re: Frage zu Projektverwaltung

am 03.04.2008 11:20:18 von Ulf Kadner

Michael Fesser wrote:

> Etwas Geld, gute Laune und 'ne gute CD im Player. ;)

Ich bevorzuge http://www.screamer-radio.com/ (Nimmt wesentlich weniger
Platz weg als CDs) ;-)

MfG, Ulf

Re: Frage zu Projektverwaltung

am 03.04.2008 17:22:32 von usenet

Hadanite Marasek wrote:
> Du kannst übrigens noch die Property svn:externals nutzen.

Ich danke dir für diesen Tipp! Nach dieser Funktionalität suche ich
schon seit Ewigkeiten ...


Schöne Grüße,
Habbo

Re: Frage zu Projektverwaltung

am 03.04.2008 17:26:42 von Christoph Herrmann

Markus Deckmann schrieb:
> Wobei Mantis je nach Anforderung noch sehr buggy ist und sich vielfach
> nur über den Quellcode an die eigenen Bedürfnisse anpassen lässt. Ich
> habe es seit mehreren Monaten im Einsatz und vermisse an mehreren
> Stellen spezifische Anpassungsmöglichkeiten die zur Zeit allerdings über
> die Konfigurationseinstellungen noch nicht abgedeckt werden.

gibt leider nicht so viele Alternativen, zumindest habe ich nicht viel
gefunden. Flyspray war gut, aber die letzten 2 Updates haben mehr Fehler
als Verbesserungen reingebracht. Bugzilla war mir auf den ersten Blick
viel zu komplex in der Konfiguration.

Bisher hat mich aber im großen und ganzen Flyspray überzeugt.

--
Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/

Re: Frage zu Projektverwaltung

am 03.04.2008 21:15:40 von Hadanite Marasek

> Bugtracker (Flyspray, Mantis, Bugzilla usw.) halte ich für notwendig um
> den Überblick zu behalten über mittlere und größere Projekte.

Stimmt, wusste doch, dass ich noch was vergessen hatte. Von Kollegen
zugesendete Word-Dokumente sind nicht so der Bringer...

--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html

Re: Frage zu Projektverwaltung

am 03.04.2008 22:25:36 von Markus Deckmann

Hi Christoph,

> gibt leider nicht so viele Alternativen, zumindest habe ich nicht viel
> gefunden. Flyspray war gut, aber die letzten 2 Updates haben mehr Fehler
> als Verbesserungen reingebracht. Bugzilla war mir auf den ersten Blick
> viel zu komplex in der Konfiguration.

Flyspray hab ich noch nicht getestet und Bugzilla war mir auch ein
bisschen zu komplex und auch zu unübersichtlich bzw. zu umständlich in
der Anpassung der Darstellung.

Sobald es meine Zeit zulässt werde ich allerdings auf ein eigenes System
umsteigen das ich selbst programmiere, da ich als Geschäft einfach nicht
die Zeit habe ewig auf Updates zu warten. Als Beispiel: Auf der
Mantis-Homepage steht zwar das ab Version 2 ein Template-System im
System integriert sein wird, wann allerdings die Version 2 geplant ist
das sie das Licht der Welt erblickt bleibt das Geheimnis der Entwickler.

Ciao Markus

Re: Frage zu Projektverwaltung

am 10.04.2008 05:13:07 von jacobhayn

Christian Aigner schrieb:
> OT: Gibt's neben einer Entwicklungsumgebung (Zend Studio, Eclipse,
> etc.) und der Versionierungssoftware (SVN) noch etwas, was man haben
> sollte?

Ich finde Trac (http://trac.edgewall.org/) sehr schön. Das hat ein Wiki,
Tickets, Roadmap und integriert auch das Subversion Repository mit Logs,
Diffs und Browser. Die nächste Version (0.11) hat dann auch einen
Webadmin-Bereich.

Brauchst nicht mal nen Datenbank-Server a la MySQL dafür (läuft auch mit
SQLite). Was man allerdings brauch ist Python zum ausführen und eine
Shell zum installieren.

Ich habe mir damit einen Projekt-Server (vmware) aufgesetzt und nutze es
für sämtliche Projekte.

Gruß Jacob