hansen: Werkzeug gesucht: Editor, Repository, Zeitplanung, etc.

Hallo,

ich bin schon seit längerem auf der Suche nach dem richtigen Werkzeug, um meine HTML/PHP-Projekte zu verwalten.

Bisher hab ich einfach einen Editor verwendet, der auch die HTML/PHP Syntax kennt. Zur Verwaltung eines Projektes habe ich Versions- und Konfigurationshistorien in txt-Dateien geschrieben.

Dies ist auf Dauer natürlich eher schlecht, zu mal ich in letzter Zeit auch an Projekten arbeite, bei denen mehrere Personen beteiligt sind (die genauso wenig Ahnung von einem effektiven Projektmanagement wie ich haben ;-))

Vielleicht kennt ja einer das richtige Werkzeug für mich. Folgendes sollte es beinhalten:

  • leistungsstarker Editor
  • Projektmanagement: Verteilung einzelner Aufgaben auf Teammitglieder, Zeiplanung etc.
  • Test-, Konfigurationsmanagement
  • Repository
  • Soweit möglich: Synchronisation der Daten innerhalb eines Teams
  • und natürlich sollte es sein: Open Source, Freeware etc.

Gibt es ein Werkzeug, welches all dies erfüllt, oder kennt jemand eine sinnvolle Kombination von Werkzeugen? Dass ich hier nicht an Dreamweaver o.ä. denke ist denke ich klar :-)

Gruß
hansen

  1. UI ganz schön viel auf einmal ich empfele entweder den Scribe webeditor oder phase5 von uli meybohm. diese beiden editoren erfüllen zwar nicht alle anforderungen aber ich kann sie wärmstens empfehlen

    zum downloaden einfach einen der beiden namen mit dem zusatz "download" bei google eingeben und der rest erledigt sich wie von selbst.

    1. was mir besonders wichtig ist: Ein vernünftiges Versionsmanagement. D.H. Es muss möglich sein, einzelene Enwicklungsschritte innerhalb eines Projektes zu verwalten (ich mein damit nicht nur das ganze in ein extra Verzeichnis kopieren und dieses dann Version xy zu nennen). Ebenso wichtig ist die Möglichkeit Code in eine Bibliothek zu verwalten (um ihn in anderen Projekten einsetzen zu können). Diese Bibliothek sollte man dann auch zumindest exportieren können.

      Soviel ich weiß gibt es sowas bei Scribe nicht (oder täusche ich mich da jetzt).
      phase5 kenn ich nicht, danke für den tipp. werds mir gleich mal anschauen.

      1. Moin!

        phase5 kenn ich nicht, danke für den tipp. werds mir gleich mal anschauen.

        Nein. Phase 5 kann das, was Du willst, auch nicht. Was das Repository angeht: Standard ist CVS, aber ganz ehrlich, da muss Dich wohl ein anderer beraten. Läuft unter Linux und Windows.
        Zeitplanung: auch hier: für Projektverwaltung gibts andere Programme. ich glaube ohnehin nicht, daß Du das Gesuchte "am Stück" finden wirst.

        Eines hast Du nicht geschrieben: welches Betriebssystem?

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
        1. hallo,

          »»Repository angeht: Standard ist CVS
          in verbindung mit eclipse und php plugins? hat jemand erfahrungen mit dieser kombination gesammelt? wie hoch ist der "einarbeitungsaufwand"? (-> mein kenntnisstand: geringe eclipse-erfahrung, keine mit CVS)

          gibt es noch weitere alternativen? was verwendet ihr, um eure projekte zu verwalten?

          Eines hast Du nicht geschrieben: welches Betriebssystem?

          win2k

          gruß
          hansen

          1. Moin!

            gibt es noch weitere alternativen? was verwendet ihr, um eure projekte zu verwalten?

            Ich arbeite überwiegend allein. Da tut es offengestanden das Gedächtnis, ein Terminkalender, die Ordnerstrukter und ein Packprogramm. Genau genommen ist es mir mich erst mal selbst mit solchen Tools anzufreunden, nur sehe ich dazu gegenwärtig keine Notwendigkeit. Ich wollte lediglich den Begriff "CVS" mal in die Runde schmeissen.

            Übrigens ist dies ebenso der Name eines "Programmes" (es ist nicht _ein_ Programm) wie ein Gattungsbegriff. Es gibt also schon mehrere "CVS":"concurrent versions system" - Bitte bei Bedarf korrigieren, ich hab nie Englisch gelernt. _Das_ CVS ist aber, wie es scheint das beste.

            Der Linux- Kernel wird übrigens wohl derzeit auf Bitkeeper verwaltet.
            http://www.bitkeeper.com/
            Quelle:
            http://www.heise.de/newsticker/data/ju-06.11.03-000/

            Ich denke Bitkeeper solltest Du Dir mal ansehen. Was es kann steht hier: (BitKeeper benefits ->)http://www.bitkeeper.com/Sales.BitKeeper.html

            MFFG (Mit freundlich- friedfertigem Grinsen)

            fastix®

            --
            Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
            1. hallo,

              Ich denke Bitkeeper solltest Du Dir mal ansehen.

              danke für den hinweis. werd ich mir mal anschauen...

              gruß
              hansen

          2. Hi Hansen

            »»Repository angeht: Standard ist CVS
            in verbindung mit eclipse und php plugins? hat jemand erfahrungen mit dieser kombination gesammelt? wie hoch ist der "einarbeitungsaufwand"? (-> mein kenntnisstand: geringe eclipse-erfahrung, keine mit CVS)

            Die Verbindung Eclipse und PHP lässt zu wünschen übrig. Automerge kann man in jedem Fall vergessen. Händisches mergen ist hingegen ganz angenehm gelöst. Wir benutzen im Projekt auch Eclipse (wenn auch nur für Java) und haben schon öfters Sourcecode verloren weil automatisch gemergt wurde. Afaik ist das aber ein generelles Problem von CVS. Ich habe darüber auch schon Leute meckern hören, die CVS direkt von der Konsole benutzen. Mir selber ist es an der Konsole aber noch nie passiert.

            Gruss Daniela

  2. Moin!

    ich bin schon seit längerem auf der Suche nach dem richtigen Werkzeug, um meine HTML/PHP-Projekte zu verwalten.

    _DAS_ Werkzeug wirst du nicht finden. Die Kombination aus Werkzeugen macht es. :)

    Bisher hab ich einfach einen Editor verwendet, der auch die HTML/PHP Syntax kennt. Zur Verwaltung eines Projektes habe ich Versions- und Konfigurationshistorien in txt-Dateien geschrieben.

    Örks. Naja, bis auf den Editor. ;)

    Vielleicht kennt ja einer das richtige Werkzeug für mich. Folgendes sollte es beinhalten:

    • leistungsstarker Editor

    Such dir einen aus. Ein Editor hat die Aufgabe, der Aufgabenstellung "Programmieren" angepaßt zu sein. Ich benutze Phase 5 sowie Proton und bin damit sehr zufrieden.

    • Projektmanagement: Verteilung einzelner Aufgaben auf Teammitglieder, Zeiplanung etc.

    Das ist ein Punkt, den ich dir nicht vollständig mit einer Empfehlung abdecken kann. Ich verwende Bugzilla als Aufgaben- und Bugverwaltung. Damit gehen einem zumindest keine Aufgaben mehr ungesehen durch die Lappen, aber eine Zeitalarmuhr "muß fertig werden" ist leider nicht enthalten. Ebensowenig natürlich die Projektzeitplanung und -kontrolle. Hab ich bislang noch nicht die Notwendigkeit für gesehen, sowas anzuschaffen.

    Eine Stundenerfassung hab' ich mir mal selbst geschrieben, damit kriegt man zumindest die Arbeitszeit erfaßt und kann sie zusammen mit Kommentaren, was gemacht wurde, als Grundlage für eine Kundenrechnung nehmen. Besser als Papier-Stundenzettel ist es jedenfalls. :)

    • Test-, Konfigurationsmanagement

    Keine Empfehlung.

    • Repository

    CVS. Definitiv. Und für die Windows-Clients empfehle ich unbedingt TortoiseCVS! SEEEEHR mächtig und SEHR einfach zu bedienen.

    • Soweit möglich: Synchronisation der Daten innerhalb eines Teams

    CVS.
    Wobei anzumerken ist, dass CVS primär zur Verwaltung von ASCII-Sourcecode zu verwenden ist, aber nicht zur Verwaltung von riesigen Binärdateien. Word-Dokumente sind (leider) Binärdateien, aber sie werden meist nicht riesig. Ich würde die Sinnhaftigkeits-Grenze bei ungefähr einem Megabyte Binärdaten setzen, und die Machbarkeitsgrenze bei 10 Megabyte. Alles, was darüber liegt, erfordert viel RAM auf dem Server und Geduld beim Benutzer.

    Mein Versuch scheiterte einst bei ungefähr 50 MB Dateigröße und 340 MB RAM. Also beispielsweise keine riesigen Bilder ins CVS packen.

    • und natürlich sollte es sein: Open Source, Freeware etc.

    Ist es alles.

    - Sven Rautenberg

    --
    "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
    (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
    1. Hallo,

      vielen Dank erstmal für die Hinweise. Die bringen mich erst mal ein ganzes Stück weiter...

      Such dir einen aus. Ein Editor hat die Aufgabe, der Aufgabenstellung "Programmieren" angepaßt zu sein.

      Daran mangelt es nicht....;-)

      Hab ich bislang noch nicht die Notwendigkeit für gesehen, sowas anzuschaffen.

      Das Zeitmanagement ist erstmal nicht ganz so wichtig. Das ist eher ein Wunsch- als ein Pflichtkriterium :-)

      CVS. Definitiv.

      Diesen Hinweis hab ich schon von mehreren Leuten erhalten, also muss da wohl was dran sein...*g* Leider kenn ich mich (noch) überhaupt nicht damit aus. kannst du mir ein tutorial empfehlen, welches einem anfänger den einstieg erleichtert?

      Gruß
      hansen

      1. kannst du mir ein tutorial empfehlen, welches einem anfänger den einstieg erleichtert?

        http://www.suse.de/de/private/support/online_help/howto/cvs/cvs.html

      2. Moin!

        CVS. Definitiv.
        Diesen Hinweis hab ich schon von mehreren Leuten erhalten, also muss da wohl was dran sein...*g* Leider kenn ich mich (noch) überhaupt nicht damit aus. kannst du mir ein tutorial empfehlen, welches einem anfänger den einstieg erleichtert?

        Aber sicher. Ein gutes sogar, welches auf TortoiseCVS basiert (das solltest du in jedem Fall installieren - ich gehe mal davon aus, dass du Windows nutzt). Du brauchst übrigens _keinen_ CVS-Server dafür (wenngleich so einer nett ist, wegen dem Zugriff für alle Mitarbeiter und so), du kannst auch einfach lokal arbeiten.

        http://www.xwolf.de/artikel/cvstutor/

        Das Problem mit fast allem - so auch mit CVS - ist: Du steigst erst langsam dahinter, wozu das alles gut sein soll.

        Deshalb gibts noch eine Leseempfehlung für eine englische GNU GPL Fachliteratur:
        http://cvsbook.red-bean.com/. Behandelt wird CVS von Grund auf, es werden reichlich Tipps gegeben, wie man "es macht", um Fallen zu umgehen etc., und anschließen gibts (ungefähr die andere Hälfte des Buches) Tipps zum Open-Source-Entwickeln - was thematisch naheliegt, aber für CVS erstmal uninteressant sein dürfte.

        Tipp von mir:
        Schritt 1: Eine Testdatei anlegen und damit rumprobieren. Bearbeiten, committen, updaten, alte Versionen holen etc...
        ...
        Schritt X: Eine Kopie deines bisherigen Sourcecodes in ein neues Verzeichnis packen und von dort aus in CVS importieren. _Eigentlich_ geht beim Import nichts kaputt (und neue Projekte fängst du üblicherweise mit einem leeren Verzeichnis an, von dem aus sich das Projekt entwickelt), aber sicher ist sicher.

        - Sven Rautenberg

        --
        "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
        (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
        1. Hi Sven!

          Tipp von mir:
          Schritt 1: Eine Testdatei anlegen und damit rumprobieren. Bearbeiten, committen, updaten, alte Versionen holen etc...
          ...
          Schritt X: Eine Kopie deines bisherigen Sourcecodes in ein neues Verzeichnis packen und von dort aus in CVS importieren. _Eigentlich_ geht beim Import nichts kaputt (und neue Projekte fängst du üblicherweise mit einem leeren Verzeichnis an, von dem aus sich das Projekt entwickelt), aber sicher ist sicher.

          Oh ja, wird endlich Zeit das ich das auch mal verwende, gute Links übrigens! Aber eine Sache verstehe ich da noch nicht so ganz:

          Wie sieht das jetzt praktisch aus, wenn ich ein Script von meinem PHP-Projekt austauschen will, das heißt ich mache lokal eine Änderung und will das dann auf dem Server testen. Normalerweise überschreibe ich dann die alte Version, aber wie geht das bei CVS? Soweit ich das verstanden habe greift der Webserver ja nicht auf das Repository zu, also wie bekomme ich die Änderungen die ich jetzt meinetwegen im CVS eingecheckt habe auf den Webserver(in dessen Document Root), also dass dieser das aktuelle Dokument hat?

          Grüße
          Andreas

          1. Moin!

            Wie sieht das jetzt praktisch aus, wenn ich ein Script von meinem PHP-Projekt austauschen will, das heißt ich mache lokal eine Änderung und will das dann auf dem Server testen. Normalerweise überschreibe ich dann die alte Version, aber wie geht das bei CVS? Soweit ich das verstanden habe greift der Webserver ja nicht auf das Repository zu, also wie bekomme ich die Änderungen die ich jetzt meinetwegen im CVS eingecheckt habe auf den Webserver(in dessen Document Root), also dass dieser das aktuelle Dokument hat?

            Der Webserver checkt ebenfalls eine Kopie aus dem Repository aus und arbeitet mit dieser.

            Das hat den Vorteil, dass man die auf dem Server aktive Version genauer regeln kann. Wenn man (was sinnvoll ist - siehe das verlinkte CVS-Buch) mit Tags und Branches arbeitet, dann kann man beispielsweise einen Entwicklungsstand, der funktioniert und Bugfrei ist, "releasen". Also ein Tag auf den aktuellen Stand setzen, und einen Branch an der Stelle definieren, und diesen Branch dann auschecken und auf den Server packen.

            Die Entwicklung geht dann irgendwie weiter. Neue Features werden in der Hauptlinie eingebracht und committet. Ein CVS-Update der Webserverkopie aber wird diese Änderungen _nicht_ einbeziehen, da dort der Branch ausgecheckt wurde.

            Bugfixes im Branch hingegen gelangen auf den Webserver.

            Auf diese Weise kann man eigentlich ganz passabel arbeiten. Und man kann (sofern CVS-Server und Testumgebungs-Webserver eine Maschinen sind) auch konfigurieren, dass Updates im CVS automatisch auf den Webserver ausgecheckt werden und direkt sichtbar werden.

            Ich habe für mich als Entwicklungsumgebung folgende Konstruktion:
            1. Eine lokale CVS-Kopie aus dem Repository in einem Verzeichnis.
            2. Auf diesem Rechner ist lokal auch Apache, PHP, MySQL etc. installiert, das CVS-Verzeichnis ist auf diese Weise direkt testbar, wenn ich mit dem Editor was in meiner Kopie ändere.
            3. Wenn die Änderungen, die ich gemacht habe, funktionieren, werden sie auf den CVS-Server ins Repository eingespielt.
            4. Auf dem CVS-Server ist ebenfalls eine CVS-Kopie, welche, genau wie bei mir lokal, von dem Webserver ausgeliefert werden kann. Dieser Webserver ist öffentlich erreichbar (dann können Teammitglieder und der Kunde den Entwicklungsstand bzw. den Release-Stand sehen) und wird automatisch aktualisiert. Es ist kein Problem, mehrere CVS-Kopien aus mehreren Branches parallel in verschiedenen virtuellen Hosts zu haben. Also eine, die den aktuellen, neuesten Stand zeigt, für intern, und eine, die den letzten Release plus aktuelle Bugfixes des verwendeten Branches zeigt.
            5. Wenn man Shell-Zugang zum Kundenserver hat, installiert man auch dort CVS als Kommandozeile und kann sich direkt vom eigenen CVS-Server das aktuelle Release und die jeweiligen Updates ziehen.

            Ich finde das alles ingesamt sehr komfortabel. Die CVS-Kommandozeile ist nicht so kompliziert, wie man auf den ersten Blick vermutet. Ein CVS-Update beschränkt sich meist auf "cvs -q update" - das war's. Eine CVS-Kopie merkt sich nämlich, woher sie gekommen ist, und wird künftig immer wieder von dieser Position aus Updates ziehen.

            - Sven Rautenberg

            --
            "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
            (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
  3. Hallo!

    ich bin schon seit längerem auf der Suche nach dem richtigen Werkzeug, um meine HTML/PHP-Projekte zu verwalten.

    Das überlege ich auch schon seit längerem, habe auch schon einige Dinge ausprobiert, auch eclipse mit PHP, aber so toll war das alles nicht. Auch Dreamweaver... ist IMHO überhaupt nicht zu gebrauchen, im Prinzip arbeite ich nur mit Proton(Texteditor mit Syntax-Highlighting), mit WinSCP zum hochladen und teste direkt auf einem speziellen Host. Nur bin ich damit überhaupt nicht zufrieden. Ich werde mir die nächste Zeit mal das Zend Studio ansehen, das ist wenigstens mal auf PHP spezialisiert, und man kann CVS integrieren und hat einige nette Spielereien. Ich bin nur noch nicht so sicher ob die wirklich davon ausgehen dass man dessen Server im Produktiv-Betrieb einsetzt, ich hoffe mal nicht. Denn mit dessen Server hast Du einige wirklich interessante Möglichkeiten (halt Code Analyzer, Profiler, Debugger...).

    http://zend.com/store/products/zend-studio.php

    Kannst Du 3 Wochen umsonst testen.

    Grüße
    Andreas