Projekt-Tagebücher
am 26.10.2005 - 16:04 Uhr in
Hallo,
ich versuche schon seit langem, ein CMS zu finden mit dem ich eine Seite für mich und ein paar Freunde bauen kann. Auf dieser Seite wollen wir eigene (Software-)Projekte kurz vorstellen und vor allem in Blog-artiger Form Tagebuch dazu führen.
Mit Drupal glaube ich einen heißen Kandidaten für so etwas gefunden zu haben, und habe auch schon erste Erfolge erzielen können.
Kommen wir zu meinem Problem, also gehen wir mal davon aus dass die Page im Grunde ein einfaches Multi-Blog ist. Jedes Projekt ist dann eine Kategorie (bzw. in Drupal-Notation ein Term in der Vocabulary "Projekt"). Nun kommt der Punkt, an dem sich das ganze von "handelsüblichen" Kategorien unterscheidet.
1. Über den Einträgen soll so etwas wie eine Projektbeschreibung stehen.
2. Man soll in Blöcken oder zur Not im Beschreibungstext zu einer Downloadpage usw. gelangen können, je nach Projekt halt.
3. Die Projekte, die ja eigentlich Kategorien sind, sollen widerrum einsortiert werden. Z.B. in C/C++/Java, Spiele/Applikationen usw, so dass man sie in einer Auflistung (am besten so ähnlich wie die Projekte bei drupal.org) darstellen kann.
Das erste kann man über 2 Module lösen, Taxonomy_assoc oder Taxonomy_context. Ich entschied mich für ersteres, warum siehe unten.
2. kann man mit Bordmitteln lösen: ein Block der nur in diesem Term sichtbar ist ist leicht zu machen.
Das wahre Problem kommt bei 3.:
Ein Projekt ist eigentlich kein Node, aber ich will es behandeln wie eins. Ich habe eine nicht ganz so schöne, aber funktionierende Lösung gefunden. Mit Taxonomy_assoc steht mir pro Projekt ein Node zur Verfügung. In meinem Fall schlicht und ergreifend Page, da das Projekt-Node von Drupal mehr darauf ausgerichtet ist, andere mitarbeiten zu lassen.
Um eine schöne URL zu bekommen richtete ich natürlich ein Alias ein (taxonomy/term/[termID] → /projekt/[name]). Das Problem war, dass man in den Auflistungen nur die Beschreibungsnodes zu sehen bekam, wenn man draufklickte. Mit einem URL-Alias konnte ich das ändern (taxonomy/term/[termID]/0 → /node/[nodeID]). Allerdings habe ich das Gefühl, hierbei etwas unglaublich "dreckiges" getan zu haben, was u.U. auch in späteren Versionen nicht funktionieren wird.
Unschön ist auch, dass in den Auflistungen immer "/node/[nodeID]" steht. Besser wäre natürlich das eingerichtete alias "projects/[name]", allerdings hat noch keine meiner Versuche dazu geführt (eher zu 404).
Meine Frage, kennt jemand eine Alternative dazu, die mit aktuellem (oder kommenden) Drupal funktioniert?
Als "Bonus" wäre es noch sehr schön wenn man neue Projekte "per Klick" anlegen könnte, aber ich habe meine Ansprüche da schon etwas zurückgeschraubt und erwarte es nicht.
- Anmelden oder Registrieren um Kommentare zu schreiben

RE: Projekt-Tagebücher
am 26.10.2005 - 17:22 Uhr
Ein Projekt ist eigentlich kein Node, aber ich will es behandeln wie eins
das versteh ich nicht ganz, meinst du damit, man soll die Projektbeschreibung editieren können ?
bisher versteh ich deine Anforderung wie folgt
- Projekt = Term
- Projekt unterteilt sich selbst nochmals in weitere Terms bzw. die dem Projekt zugeordneten Nodes bekommen noch weiter Zuordnung zu ...ich nenns mal "Themen"
- bei Klick auf Projekt-Seite soll eine Auflistung dieser Terms erscheinen
- zusätzlich soll die Projektbeschreibung sichtbar sein
- Blöcke etc. lass ich hier weg, da du schon weißt wie das geht :-)
daraus würde ich folgende Darstellung ableiten
Seite : your_site_root/projekt1
- ist eine Auflistung die wie folgt ausschaut
Projektbeschreibung (entsprechend der Angabe in der Term-Beschreibung, oder auch ein spezieller Beschreibungs-Node)
- term1
- term2
- term3
- etc.
ggf. auch noch verschachtelt, Terms werden nur angelistet, wenn sie tatsächlich einem Node zugewiesen wurden (Geschmackssache)
vielleicht auch noch geordnet und diverse Angaben (Einträge, last updated etc.)
klickt man auf einen Term, bekommt man die entsprechenden Nodes (zum Projekt + Thema)
genausogut könnte man auch die Page so gestalten, dass pro Term die jeweils aktuellsten Nodes noch zusätzlich aufgelistet werden...gibt hier keine Grenzen :-) ...
bin jetzt nicht 100%ig sicher, aber ich glaub ein Modul oder eine Kombination von Modulen gibt es dafür nicht
ich würds wie folgt machen, allerdings verlangt meine konzeptionelle Lösung einiges an PHP Kenntnis, falls du das Konzept in Betracht ziehst, kann bzw. werd ich dir gern bei Fragen zu Drupal Funktionen helfen, PHP-Wissen musst dir aber schon selbst aneignen :-)
mein Konzept dazu
--> Term-Struktur
- Projekt 1
- Projekt 2
- Projekt 3
- Thema 1
- Thema 2
- Thema 3
ob in einem oder getrennten Vocabularies ist erstmal Geschmackssache, allerdings ist eine Trennung bei der späteren Erstellung von Nodes hilfreich, da dann zwei Auswahlboxen vorhanden sind
Warum nicht hierarchisch ? Weil die Themen so völlig frei zu x Projekten zugeordnet werden können. Bringt später Vorteile in Feeds + Listings
Umsetzung
für alle Sperenzien wie die Ordnung der Liste, diverse Zusatzdaten müßte man halt entsprechenden PHP-Code + html/css schreiben
Ein Vorteil des ganzen wäre evtl. dass man sich um eine "Hierarchie" der Terms keine Gedanken machen muss
Nachteile
- falls du sehr sehr viele path-alias benutzt (so ab 1000 aufwärts) und ein eher günstiges Web-Angebot hast, könnte die Performance leiden
- falls sich in zukünftigen Versionen die Tabellen ändern, muss man die PHP-Scripte anpassen
Konzept für "Projekt auf Knopfdruck"
Grundlage ist ein Node der Formularfelder beinhaltet die mittels "erstellen" ein PHP-Script starten
(Validierung etc. kann von Drupal genutzt werden)
Hinweis : vielleicht gehts auch einfacher mit dem actions Modul, falls ja ändert sich am eigentlichen Ablauf aber nicht allzuviel
dieses Script muss dann natürlich "intelligent" genug sein um folgende Dinge zu tun
......
falls das so gar nicht deinen Vorstellungen entspricht, wärs schön wenn du - notfalls per MSPaint - skizzierst wie du dir die Seiten jeweils vorstellst
MfG Micha
- work in progress mit Langmi.de
Ich fürchte ich hab's nicht ganz einleuchtend beschrieben.
am 26.10.2005 - 17:59 Uhr
Erstmal danke, dass du dir die Zeit dafür genommen hast.
Also, ich habe schon einen kleinen Test aufgesetzt, so wie ich es oben etwas unbedarft beschrieben haben.
Meine Struktur sieht etwa so aus, ich habe ein paar Vocabularies in die ich die Projekte einsortieren will, z.B.
Vocabulary: Sprache
- C/C++
- Java
Vocabulary: Art
- Applikation
- Spiel
Wenn z.B. irgendwann ein Projekt "Pacman" aufkäme, was ich in C++ schreiben wollte, so würde ich es in Spiel, C++ einsortieren.
Man kann es auf meinem Testfeld ganz gut sehen indem man die mit sitemenu erstellte Page sieht: http://test.hackaddict.de/?q=projects
Projekte sind, weil man dazu ja Blogeinträge schreiben soll, jedoch selber Terms. Dazu habe ich ein Vocabulary
Vocabulary: Projekt
- Projekt 1
- Projekt 2
usw...
aufgelistet werden bei mir z.B. 2 Projekte unter http://test.hackaddict.de/?q=projects/applications
Mit dem "dreckigen" Trick hab ich nun z.B. node/18 (Projekt 2501) auf taxonomy/term/12/0 umgebogen, so dass man anstelle des Nodes, wenn man auf "read more" klickt, die Taxonomy begutachten kann.
Hier ist auch die Stelle wo ich es nicht so schön finde, ich habe noch keine Möglichkeit gefunden das so hinzubekommen, dass man als Link http://test.hackaddict.de/?q=projects/project2501 sieht, welcher ja existiert, wobei ich dem System aber nicht mitteilen kann dass er da ist (doppelte Aliase gehen ja nicht).
Der workflow, ein Projekt anzulegen lautet bisher wiefolgt:
1.) Term anlegen
2.) Page anlegen und mit taxonomy_assoc mit dem Term verknüpfen
3.) Aliase anlegen
Ich hoffe dass man an dem Beispiel erkennen kann was ich vorhab, ach ja und stör dich bitte nicht an den sinnlosen Einträgen :)
Re: Projekt-Tagebücher
am 26.10.2005 - 18:48 Uhr
Meine Frage, kennt jemand eine Alternative dazu, die mit aktuellem (oder kommenden) Drupal funktioniert?
Was spricht gegen das Modul Project?
Re: Projekt-Tagebücher
am 26.10.2005 - 18:58 Uhr
Was spricht gegen das Modul Project?
Project setzt seinen Focus auf Bugtracking und andere Issues, und generell darauf dass Fremde da mitarbeiten. Das ist uns hingegen vollkommen egal, bzw. wir wollen allein an unserem Hobbyzeug arbeiten.
Die Seite soll reinen Unterhaltungswert bekommen, indem wir da - wie der Threadtitel schon sagt - ein "Tagebuch" führen, d.h. einem Projekt Blogeinträge zuordnen, die dann dort aufgelistet werden. So etwas ist mit diesem Modul überhaupt nicht möglich.
Multiblog
am 27.10.2005 - 06:10 Uhr
Interessanter Beitrag. Wenn ich das richtig verstehe willst einer geschlossenen Benutzergruppe das Veröffentlichen von Spielen etc. in definierten Rubriken ermöglichen...
Warum legst du dann nicht einfach eine entsprechende Gruppe (Rolle) an wo die da zugeordneten User schreibrechte für Blogs bekommen und dann einfach die benötigten Kategorien dem Blog Modul zuweisen.
Das hat den Vorteil das es schnell eingerichtet ist und man auch mit späteren Drupal Versionen keine Probleme bekommt :-)
mfg holger
www.ebec.net | www.stnetwork.de
Re: Multiblog
am 27.10.2005 - 09:36 Uhr
Warum legst du dann nicht einfach eine entsprechende Gruppe (Rolle) an wo die da zugeordneten User schreibrechte für Blogs bekommen und dann einfach die benötigten Kategorien dem Blog Modul zuweisen.
Ja, das ist quasi die "Basis" an der ich gedanklich aufgesetzt habe. Die Programmierer sind ein Role, können Blogs veröffentlichen und für jedes Projekt existiert ein Term. Das entsprechende Vocab ist natürlich Blog zugewiesen.
Was ich nun versuche ist nur, das ganze etwas zu verschönern. Also dass dieser Term nach etwas mehr aussieht, indem z.B. oben eine Beschreibung drüber ist.
Und ich suche eine schöne Möglichkeit, diese Projekte auflisten zu lassen, sortiert nach gewissen Eigenschaften (Art des Projekts etc.).
Re: Multiblog
am 27.10.2005 - 11:32 Uhr
Was ich nun versuche ist nur, das ganze etwas zu verschönern. Also dass dieser Term nach etwas mehr aussieht, indem z.B. oben eine Beschreibung drüber ist.
... was entweder ein Verändern des Theme-Outputs für "normale" Term-Listings oder eine eigene Seite (node) mit entsprechendem PHP-Code erfordert
wenns nur um die Beschreibung des Terms geht, ist das relativ einfach
- Beschreibung im Term unter /admin/taxonomy/edit/term/x eintragen
- im Theme ermitteln und ausgeben (einfach nachfragen, wenn du wissen willst wie)
Alternativen/Inspiration
- show taxonomy description on top of taxo listings (Veränderung des Taxonomy Modules)
- Funktion taxonomy_term_page im /modules/taxonomy.module anschauen, die Description ließe sich hier recht einfach hinzufügen
Und ich suche eine schöne Möglichkeit, diese Projekte auflisten zu lassen, sortiert nach gewissen Eigenschaften (Art des Projekts etc.).
unabhängig von der gewünschten Verschönerung der Darstellung ist eine Auflistung nach bestimmten Kategorien/Kombinationen von Kategorien schon mit einem standard Drupal möglich
schau dir dazu mal die eingebaute Hilfe unter http://[your_site_root]/admin/help/taxonomy an