Versionsdarstellung auf api.drupal.org
Eingetragen von drubb (578)
am 24.09.2008 - 09:32 Uhr in
am 24.09.2008 - 09:32 Uhr in
Hallo zusammen,
nach langer Zeit komme ich langsam dazu, die Arbeit an www.drupal-info.de wieder aufzunehmen :-)
Jetzt suche ich aber eine Möglichkeit, Versionen von Beiträgen zu unterschiedlichen Drupal-Versionen zu erfassen ähnlich wie das auf http://api.drupal.org gemacht ist (Core-Version als Karteireiter). Aber wie? Momentan kann ich mir drei Lösungsansätze vorstellen:
- über eigene Sprachversionen (statt deutsch, englisch etwa 5.X, 6.X, ...)?
- über Revisions von Beiträgen, aber wie greift man da zu?
- über Kategorien?
Weiß vielleicht jemand von Euch wie das auf api.drupal.org gemacht ist?
Danke schön!
Gruß,
Boris
- Anmelden oder Registrieren um Kommentare zu schreiben
API
am 24.09.2008 - 09:51 Uhr
Moin!
Weiß vielleicht jemand von Euch wie das auf api.drupal.org gemacht ist?
Mit dem Modul api (überraschenderweise :-)).
Du könntest Dir ein Minimodul schreiben, welches zu der gerade angezeigten Node die Revisionen lädt und die dann in
hook_menu()
als Tabs zur Verfügung stellt.Sollte gar nicht mal so schwer sein.
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Revisions sind plausibel
am 24.09.2008 - 15:11 Uhr
Hallo,
danke erst mal. Vom Konzept her sind mir die Revisions auch am plausibelsten. Das api Modul kommt (überraschenderweise:-)) nicht in Frage für diesen Zweck.
Ich hab mir mal das Revision Tags Modul installiert, blick aber noch nicht ganz durch. Ansonsten versuch ich mal selbst was zu programmieren...
Gruß,
Boris
Revision tabs
am 24.09.2008 - 15:39 Uhr
Hi.
"Revision Tags" wird Dir wohl nicht wirklich weiterhelfen können. Damit kann man einzelne Versionen mit einem Namen ("Tag") versehen.
Das Modul (nennen wir es mal "revision_tabs"), was Du dann schreiben möchtest (:-)) enthält dann in etwa sowas:
<?php
/**
* Implementation of hook_menu().
*/
function revision_tabs_menu() {
if ((arg(0) == 'node') && is_numeric(arg(1))) {
$node = node_load(array('nid' => arg(1)));
$revisions = node_revision_list($node);
foreach($revisions as $vid => $revision) {
$items['node/' . $node->nid . '/revisions/' . $vid . '/view'] = array(
'title' => t('Revision %d', $vid),
'type' => MENU_LOCAL_TASK,
);
}
}
}
?>
Nur so eine Idee, funktioniert so höchstwahrscheinlich noch nicht...
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Revisions!!
am 24.09.2008 - 16:07 Uhr
Revisionen sind auf jeden FALL die Lösung
Warum verwendest du nicht Taxonomy für die verschiedenen Versionen, denn seit DR6 werden diese auch mit versioniert.
Des weiteren
Wenn ein Tutorial angelegt wird, werden gleichzeitig die Revisionen mit Tag 5.x 6.x 7.x angelegt
ABER man darf keine neuen Revisionen erstellen, sondern man kann nur die vorhanden bearbeiten
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
So viele Möglichkeiten...
am 24.09.2008 - 16:41 Uhr
Hallo,
hier geht ja richtig was, danke. Also:
- das Revision Tags Modul hab ich so weit, dass es mir bei Beiträgen die Revisions besitzen einen Block anzeigt in dem man die passende Revision anklickt. Aus dem Block könnte man sicher Tabs generieren
- Das "Revision Tabs" oben sieht auch gut aus, macht so was ähnliches. Probier ich vielleicht
- @dereine: ich kann dir noch nicht ganz folgen. Mit Kategorien möchte ich ungern arbeiten, denn ich will ja nicht dass jemand beim Anklicken von "5.X" ALLE Beiträge dazu bekommt (deshalb sind diese Tags auf drupalcenter.de oder drupal.org ziemlich witzlos, oder?). Und das mit dem Tutorial hab ich nicht verstanden...
Zur Klärung:
Viele Beiträge wird es nur in einer Version geben, manche in zwei, oder auch drei. Also z.B. Template Datei in Drupal 5, Drupal 6, oder...
Von der Sprachidee bin ich noch nicht ganz weg, die wäre natürlich sehr simpel und transparent: Standardsprache z.B. 6.X, "Übersetzungen" in andere Versionen bei Bedarf, der Nutzer kann "seine" Version dauerhaft vorwählen, automatischer Fallback wenn gewählte Version nicht existiert, und... Bloß: es ist halt ein "Missbrauch" des Language-Systems, böse, böse.
In anderen Worten:
Ich mag das Revision System von Drupal nicht so gerne...
Gruß,
Boris
mh ja meine Idee war nicht
am 24.09.2008 - 18:47 Uhr
mh ja meine Idee war nicht so gut...
In Drupal5 war das LanguageSystem übrigens ein Missbrauch des Revisionsystems...
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
"Tabbed Blocks" oder "Quick Tabs"
am 24.09.2008 - 18:56 Uhr
Aus dem Block könnte man sicher Tabs generieren
Modul "Tabbed Blocks" oder "Quick Tabs".
Bei "Quick Tabs" ist eventuell ein Bug noch nicht gefixt. Ein Workaround (kein Hack) liegt vor.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Die Entscheidung naht...
am 25.09.2008 - 15:20 Uhr
Je mehr ich über diese Geschichte nachdenke, desto mehr Fallstricke tun sich auf. Eigentlich bräuchte man für diesen Zweck etwas wie "Node Varianten" (gleichberechtigt) statt "Node Revisionen" (1 aktuelle, n archivierte). Ich werd mal über so ein Modul grübeln.
Ansonsten:
Die Revisionen sind mir vom Handling her eindeutig zu umständlich, gibt auch Probleme z.B. mit PATHAUTO u.ä.
Manuelle Methode (z.B. mit Node Clone und Tagging) scheitert schon an den Node-Titeln, die dann nicht identisch sein dürfen
Die Sprachmethode macht eigentlich den besten Eindruck auf mich: es gibt eine Standardsprache (aktuelle Drupal Version), der Benutzer kann die Site dauerhaft auf "seine" Version umstellen, es gibt schon im Core-Modul den Umschalter und die Inline Links zu anderen Versionen (falls vorhanden), das Handling ist easy, ...
Jetzt muss ich mir allerdings noch über die Suchmaschinen Gedanken machen: wie reagieren die wenn mehrere Beiträge fast identisch existieren? Und was geschieht wenn man die Standard-Sprache der Site (alias Drupalversion) umstellt, z.B. von 5.X auf 6.X ?
Gruß,
Boris