<< Site-Checker-Dokumentation [81/117] >>

Site-Checker-Dokumentation


Startseite / Projekte / Site-Checker / Site-Checker-Dokumentation

Site-Checker V1.01: Dokumentation



Aufruf: java -jar sitechecker.jar [-nss] [-nocanci] [-tf modefile]
Unter Window benutzt man am Besten die enthaltene BAT-Datei (Site-Checker.bat) um das Programm zu starten. Letzte Hinweise finden sich in der README.txt.
Programmiert mit: JDK1.5.0 Update 2 (läuft auf älteren Versionen nicht)

Dokumentation
Diese Dokumentation gliedert sich in folgende Abschnitte:
- Einleitung
- Funktionalität
- Vorlagen-Modus
- Start-Parameter
- Kommentare
- Support
- Versionhistory

Einleitung
Die automatische Validierung von HTML-Seiten ist sehr gut zum Finden von syntaktischen Fehlern, wie z.B. falsch geschachtelte Tags. Des Weiteren sollte durch die W3C-Konformität sichergestellt sein, dass die Seiten auf allen aktuellen Browsern korrekt dargestellt werden. Durch das Prüfen des Vorhandenseins von Bildbeschreibungen können Bilder auch in der Google-Bildsuche (http://www.google.de/imghp) besser gefunden werden. Wer also Wert auf gute und syntaktisch korrekte HTML-Seiten legt, der kommt um die Validierung nicht herum.
Da bei den Services im Netz nur die Validierung von einzelnen Seiten bzw. Validierung von Seiten die schon Hochgeladen sind angeboten wird, und ich nach längeren Recherchen kein Programm gefunden habe, das automatisiert eine komplette lokale Internetpräsenz validieren kann, entschloss ich mich zum Entwickeln eines solchen Programms.

Funktionalität
Mit diesem Programm lassen sich komplette Internetpräsenzen die aus HTML-Dateien bestehen automatisiert validieren. Benutzt wird hierbei der W3C Markup Validation Service (http://validator.w3.org/). Somit muss man während der Ausführung des Programmes zum Internet verbunden sein, da die zu validierenden HTML-Dateien zunächst hochgeladen und die Ergebnisse anschließend heruntergeladen werden.
Am oberen Bildschirmrand des GUI's (Benutzeroberfläche) läßt sich das lokale Stammverzeichnis der Site eingeben oder komfortabel per Dateiauswahl setzen. Hier wählt man also dasjenige Verzeichnis aus, das die komplette Site enthält. In dem Remote-Feld läßt sich, zur eigenen Orientierung, die zugehörige Internet-Adresse vermerken.
Die gewählte Site und deren Verzeichnisstruktur wird komplett in einem Baum visualisiert. Es lassen sich Dateien, Verzeichnisse oder komlette Unterbäume selektieren. Dieser Selektionsstatus wird im Baum farblich als auch durch Textstile (normal, kursiv) visualisiert.
Wird die Validation gestartet, werden alle selektierten Dateien, die sich, seit der letzten Speicherung der Validierungsergebnisse, geändert haben und als "not valid" oder "ungeprüft" eingestuft wurden, validiert. Bei einer fehlerhaften HTML-Seite wird die Fehlerbeschreibung sofort angezeigt und der Fehler in der baumartigen Darstellung der Site markiert. Ein rotes X bedeutet "not valid" und ein grünes V "valid". Über einen Revalidate-Button kann die Datei, nach durchgeführten Änderungen, manuell neu validiert werden.
Der Validations-Status einer Site kann über den "Load"-Button geladen oder über den "Save"-Button gespeichert werden. Hierbei wird eine Datei namens "validation-state.bin" in dem Site-Verzeichnis erstellt. Die komplette Site kann auf der Festplatte beliebig verschoben werden, ohne die Validierungsergebnisse zu verlieren. Natürlich nur sofern man die "validation-state.bin" mit verschiebt.
Will man den kompletten Verzeichnisbaum auf ungeprüft setzen und alle Validierungsinformationen zurücksetzen, kann man den "Clear"-Button verwenden. Zu beachten ist hierbei allerdings, dass dann alle Dateien komplett neu geprüft werden müssen.
Beim Drücken des "Mark"-Buttons werden alle Dateien selektiert, deren Inhalte sich seit der letzten Speicherung der Validierungsergebnisse verändert haben und/oder noch nicht "valid" sind. Die Dateien werden dabei zunächst darauf geprüft ob sich das Modifizierungsdatum verändert hat. Ist dies der Fall wird anhand eines MD5-Hashs überprüft ob sich der Inhalt geändert hat. Trifft beides zu, wird die Datei selektiert.
Der "Refresh"-Button dient dazu, den Verzeichnisbaum neu zu laden. Dies wird erforderlich, wenn man zur Laufzeit des Programmes neue HTML-Seiten oder Verzeichnisse, innerhalb der Verzeichnisstruktur, erstellt. Denn die Verzeichnisstruktur wird nur beim Programmstart oder beim Wechseln zu einer anderen Verzeichnisstruktur komplett gescannt.
Über ein Kontextmenü im Baum (Rechts-Klick auf einen Knoten) stehen verschiedene Optionen zur Auswahl. So kann man sich das Validierungsergebnis ("Show result") bzw. die HTML-Seite ("Show HTML") anzeigen lassen , bestimmte Bereiche von der "Mark"-Funktion ausschließen ("Exclude from mark") und den Validierungsstatus manuell setzen ("Set to 'xxx'"). Zu beachten ist hierbei dass sich außer "Show result" und "Show HTML" alles auf den kompletten Unterbaum bezieht. Setzt man also einen Ordner mittels "Set to 'not valid'" auf ungültig, so werden alle Dateien und Verzeichnisse unterhalb dieses Ordners auf ungültig gesetzt. Die "Exclude from mark" hat den Zweck, dass man z.B. eine auf der Homepage vorhandene JavaDoc, die meist nicht komplett W3C-Konform ist, von der Markierung mittels des "Mark"-Buttons ausschließen kann. Durch "Show HTML" kann man auch prüfen, ob die Erkennung von Vorlagen richtig funktioniert, da nur die erkannten bearbeitbaren Bereiche ge-syntax-highlightet werden.

Vorlagen-Modus
Momentan unterstützt der Site-Checker "Macromedia Dreamweaver MX 2004" (geschachtelte) Vorlagen. Diesen Modus aktiviert man über den Start-Parameter "-tf DWMX2004" (DWMX2004-tags.txt wird geladen).
Dieser Modus bedeutet, dass bei der Veränderung einer Vorlage nicht alle Seiten, die auf der Vorlage basieren neu geprüft werden müssen. So wird z.B. beim Betätigen des "Mark"-Buttons in diesem Fall nur die Vorlage markiert.
Erreicht wird dies dadurch, dass der MD5-Hash nur über die bearbeitbaren Bereiche der HTML-Seite berechnet wird. Somit werden Dateien, die auf einer Vorlage basieren, beim Drücken des "Mark"-Buttons nur dann selektiert, wenn sich die bearbeitbaren Bereiche geändert haben. Selbiges gilt auch für den aktuellen Validationsstatus der entsprechenden Dateien, was heißt, dass diese nicht von "valid" auf "ungeprüft" gesetzt werden.
Um die Dreamweaver-Templates selbst zu validieren bedurfte es einen kleinen Tricks bei der Übertragung. So wird z.B. eine Template-Datei mit dem Namen "main.dwt" als Datei mit dem Namen "main.html" an den Validator übermittelt. Würde man dies nicht machen, bekäme man als Ergebnis vom Validator "Dateiformat nicht untersützt. Datei kann nicht validiert werden." zurück. Da die Dreamweaver-Vorlagen im Grunde aber normale HTML-Dateien sind und nur mit Template-Kommentaren versehen sind, ist die Validierung an sich kein Problem.
Damit der Vorlagen-Modus auch bei anderen Programmen als "Dreamweaver MX 2004" funktioniert, muss zumindest das Prinzip der Markierung von bearbeitbaren Bereichen im HTML-Quell-Text gleich sein. Nämlich durch HTML-Kommentare.
Da ich mich in FrontPage, GoLive, etc. nicht beschäftige, kann ich für diese Programme leider keine entsprechende Funktionalität anbieten. Wer möchte kann mir ja mal eine Vorlagendatei und eine darauf basierende Datei per email übermitteln und ich werde mir dass dann mal anschauen.

Start-Parameter
Erklärung zu den Parametern beim Aufruf des Programms:


ParameterWirkung
-nssKeinen SplashScreen (Informations-Fenster) beim Start des Programms anzeigen
-tf modefileVorlagen-Modus aktivieren. Hierbei wird die Datei "modefile" geladen, die die entsprechenden Informationen zur Erkennung von bearbeitbaren Bereichen in Vorlagen enthält. Läßt man diesen Parameter beim Starten weg, so ist der Vorlagen-Modus deaktiviert. Folgende Dateien stehen momentan zur Auswahl. 
- "DWMX2004-tags.txt": Macromedia Dreamweaver MX 2004
- "DWolder-tags.txt": Macromedia Dreamweaver [MX] (ältere Version)  Wer Dreamweaver nicht verwendet, kann den Modus trotzdem aktivieren. Da dann die Vorlagen-Kommentare in den HTML-Dateien fehlen, hält das Programm die Datei für eine Datei die auf keiner Vorlage beruht. Problematisch wird es nur dann, wenn man HTML-Kommentare (<!-- ... -->) im Dreamweaver-Vorlagen-Stil einbaut, was aber äußerst unwahrscheinlich ist.

Kommentare
Da ich keine Möglichkeit habe die Art&Weise bezüglich des Ansprechens des Services zu beeinflussen, kann es möglich sein, dass das gesamte Programm in naher Zukunft nicht mehr funktioniert, weil Änderungen des Anbieters durchgeführt wurden. Um diesem Vorzubeugen habe ich sämtliche Daten die mit der Übertragung zu tun haben in den Dateien "transmit.txt" und "checker.properties" (wird beim ersten Programmstart erzeugt) abgelegt. Sollte der Service verändert werden, müssten dann theoretisch nur diese 2 Dateien aktualisiert werden. Diese Dateien werde ich dann schnellstmöglich auf dieser Homepage zum Download bereitstellen.
Die Darstellung von HTML-Seiten (also der Validierungsergebnisse) in Java entspricht nicht exakt der Darstellung in einem aktuellen Browser, da es ein Problem beim Einbinden von CSS-Dateien (z.B. base.css) gibt. Deshalb habe ich diese im Verzeichnis "validator.w3.org" abgelegt und manuell in die Ergebnisseiten eingebunden.

Support
Um die Qualität dieses Programmes zu verbessern, würde ich mich über E-Mails freuen in denen mir Fehler mitgeteilt werden. Allerdings sollten Sie mir in der E-Mail angeben wie man den Fehler reproduzieren kann, was nicht immer einfach zu erklären ist. Am besten im Betreff der E-Mail "Site-Checker" angeben.
Wer Anregungen oder Verbesserungsvorschläge hat, kann diese mir ebenfalls mitteilen.
Alle eingehenden E-Mails werden gelesen, und die entsprechenden Fehler ggf. in zukünftigen Versionen behoben.
Meine E-Mail Adresse finden Sie auf der Kontakt-Seite.

Versionshistory
V1.0: erste veröffentlichte Version


Visitors PageClicks Valid XHTML 1.0! Valid CSS!

CanciÜber michSite-MapRechtlichesKontaktJSWins (JavaScript-Desktop-System)© 2004-2013 by Markus Krebs