Das System der erweiterten Hilfe wurde entworfen um das Original-Hilfesystem von Drupal zu ersetzen, das mehrere FLAWS hat die es erschweren, neue Hilfe zu erstellen und existierende Hilfen zu pflegen und es besonders erschweren, auf die Hilfe zuzugreifen.
Das primäre Ziel ist daher, die Zugänglichkeit der Hilfe zu verbessern, was die Fähigkeit sowohl für den Benutzer als auch den Hilfetext-Autor die Fähigkeit bedeutet, auf die erforderlichen Werkzeuge zuzugreifen um die Hilfe zu verwenden, zu erstellen, zu pflegen und zu übersetzen.
Dieses System ist völlig getrnnt von Drupals hook_help(). In Drupal 6 koexistiert es damit; in Zukunft wird es hoffentlich hook_help() vollständig ersetzen, so dass es abgekündigt und ersetzt werden kann.
Nachrichten am Anfang der Seite sind oft keine echte Hilfe. Oft sind diese Meldungen eine Einleitung in ein Formular oder EINE KURZE BLURB DIE dem Benutzer sagt was mit einer bestimmten Seite erledigt werden soll. Das Problen ist, dass diese Meldungen immer erscheinen, sie werden leicht ignoriert und sie erscheinen vor der eigentlichen Seite. Im Allgemeinen wollen Benutzer, wenn sie lernen, die Seite zuerst sehen und dann Fragen stellen. Die umgekehrte Reihenfolge is much less conducive to actually teaching a user how to use something. Durch die Möglichkeit, Hilfe auf Anfrage bereitzustellen, passt es mehr zur Arbeitsweise der meisten Personen.
Die erweiterte Hilfe ist nach Themen organisiert
Mit der hook_help()-Methode ist der Hilfetext nach dem URL-Pfad organisiert. Dies ist gut wenn der Hilfetext beschreibt, wie eine bestimmte Seite zu verwenden ist oder was eine bestimmte Seite tut, es ist aber letztlich einschränken, weil Handbücher und Dokumentationen gewöhnlich nach Themen gruppiert sind und diese Themen vom Material selbst bestimmt werden.
Die erweiterte Hilfe ermöglicht dem Autor einer Dokumentation, Themen nach eigener Vorstellung zu organisieren; die wirklich einzige Einschränkung ist, dass jeder individuelle CHUNK OF TEXT als eigenes Thema STANDS ON.
Des weiteren können Module ihre Themen in die Hierarchie eines anderen Moduls einfügen. Dies würde dem Drupal-Kern ermöglichen, eine aufgabenbasiertes Hilfenavigationssystem zu erstellen, das Modulen erlaubt fließend Themen in diese Navigation einzufügen. Dies ermöglicht MOdulen, ihre Systeme getrennt zu halten und doch sich in das Hauptsystem zu integrieren.
Advanced help topics are processed HTML in their own files
Diese Trennung vereinfacht das Finden und Anpassen. Momentan ist alles LUMPED TOGETER in hook_HELP() in PHP-Zeichenketten die durch t() laufen und es eine größere Menge PHP-Code in diesem System erforderlich, that actually gets in the way of writing good, explanatory text.
In fact, requiring a documentation author to understand PHP at all is a detriment. The idea that documentation writers need to have PHP development as a skill seriously reduces the number of available contributors. HTML, on the other hand, is a much more common skill, is relatively easy to learn, and the amount of HTML needed to write documentation is only a little bit more than the HTML used in forum posts.
Ein anderer Vorteil, PHP nicht zu verwenden ist dass die Dateien selbst sicher sind. Sie enthalten sehr wahrscheinlich keinen schädlichen PHP-Code der auf dem Server schlimme Dinger anrichtet. Dies bedeutet dass diese Dateien relativ einfach auf drupal.org-Hardware verwendet werden kann, so dass die Hilfedateien eines MOduls sofort verfügbar gemacht werden können ohne das Modul herunterladen zu müssen. Es bedeutet auch, dass Beschreibungen des Moduls auf drupal.org erstellt werden können, die VERSION AWARE sind, in CVS einfach mit Patches korrigiert werden können, aber auch zusammen mit dem Modul verfügbar gemacht werden können, so dass drupal.org nicht benötigt wird.
Dies bedeutet, dass - falls gewünscht - die drupal.org-Handbücher oder eine Teilmenge davon, direkt in eine Drupal-Distribution oder ein Drupal-AddOn gepackt werden können, so dass Drupal-Administratoren ohne einen Besuch von Drupal.org Hilfe erhalten können. Dies kann in abgeschotteten Firmenumgebungen oder in Flugzeugen wertvoll sein. Aber noch wichtiger, die Handbücher können einfacher VERSION AWARE gemacht werden als die momentane Methode auf drupal.org.
Die Kehrseite dieser Methode ist, dass diese Bücher nicht einfacch dynamisch gemacht werden können. Though the use of alter hooks could allow a module to make modifications to the help as needed, doing this could make the help files less useful when you take them out of context.
Die Dateien der weiterten Hilfe werden als Datei übersetzt
Es ist momentan nicht einfach, Dokumente als Zeichenketten zu übersetzen, besonders wenn die verwendete Sprache sich sehr von Englisch unterscheidet. Beim Übersetzen eines Dokuments kann sich der Satzaufbau tatsächlich deutlich ändern. Es ist auch eine Last für die CPA, dies zu tun, da sehr lange Zeichenketten indiziert werden.
Übersetzer haben es sehr viel einfacher, das Dokument als Einheit zu übersetzen, weil der gesamte Kontext gegenwärtig ist.
Die erweiterte Hilfe hat ihr eigenes Navigationssystem
Mit Hilfe eines in einer INI-Datei angegebenen Navigationssystems (das kein PHP-Code ist daher sicher auf *.drupal.org -Websites verwendet werden kann), kann die Hilfe wie ein Buch strukturiert werden, wass typisch für Online-Handbücher ist. Dies ist Benutzern vertraut, kann organisiert (und umorganisiert) werden und ermöglicht einem Modul deutlich reichhaltigeren Text zu beinhalten ohne den PHP-Code damit zu überlasten, unnötig Hilfe zu laden.
Durch dieses Buch kann auch hierarchisch navigiert werden, was es einfacher macht, aufeinander bezogene Themen miteinander zu verbinden.
Die erweiterte Hilfe wird von der Suche-Engine indexiert
Ein wichtige Ziel dieses Systems war, die Hilfe durchsuchbar zu machen. Die Fähigkeit, Schlüsselwörter in die Suchmaske einzugeben und relevante Themen zu finden, erhalten wir ein System das RESEMBLES die Art von Hilfe die mit vielen Betriebssytemen geliefert wird. Dies ist sehr wertvoll, wenn Handbücher danach durchsucht werden müssen, wie etwas bestimmtes gemacht wird.
Diese Suche ist hilfespezifisch, was bedeuetet, dass die Hilfe nicht mit der globalen Suche in Beiträgen vermischt wird. Dies kann sowohl als Vorteil als auch als Nachteil betrachtet werden. Dieses Hilfesystem soll meistens Hilfe für Website-Administratoren bereitstellen, und Suchen in Inhalt soll sie nicht finden. Der Nachteil ist natürlich, dass sie nicht als Hilfe für Endanwender verwendet werden kann.
Eingebettete Hilfe kann via Popups aufgerufen werden
Zusätzlich zur handbuchartigen hierarchischen Navigation kann die erweiterte Hilfe auch zusätzliche kontextsensitive Hilfe mittels Popup bereitstellen. Während Popups kontrovers betrachtet werden, ist das Argument für die Verwendung, dass die Hilfe erscheint während ein Formular angezeigt wird und das Popup nicht die Daten des Benutzers verwirft. Browser sind nicht sehr bedienerfreundlich bei der Eingabe von Formularen, wenn sie nicht gespeichert werden, und das Wegnavigieren von einem Formular kann gefährlich sein. Es gibt verschiedene andere Lösungen dieses Problems, aber jede hat ein DRAWBACK. DRAWBACKs von Popups sind recht bekannt, aber meistens irritiert es, ein neues Fenster zu erhalten. Wenn Hilfe angeforder wird ist ein Popup aber meistens erwünscht. Hilfe soll nicht den Vorgang stören, den der Benutzer abschließen möchte. Es unterscheidet sich wesentlich von einem unerwünschten Popup, das normalerweise Anzeigen oder Popups aufruft, die Benutzer vom Verlassen einer Website abhalten soll
Diese Popus können einer Seite hinzugefügt werden mit Text- oder Icon-Links.