Hallo,
Wer es selber mal ausprobieren will, geht auf http://aktuell.de.selfhtml.org/extras/selfchm.htm. Dort kann man die chm-Version downloaden.
Das ist wirklich beeindruckend. Und zwar in mehrfacher Hinsicht:
Natürlich habe ich (als deren Autor) zuerst ausprobiert, ob die
eingebaute Selfhtml-Suchmaschine auch hier funktioniert. Sie tut es. Die
Microsoft-Entwickler haben offenbar ganze Arbeit geleistet, was die
Synchronisierung der Komprimierungs- und Kompilierungstechnik mit dem
"Browsermotor" angeht. Auch komplexe Javascript-Anwendung werden eins zu
eins mit verpackt. Praktisch bedeutet das für den Nutzer der
Selfhtml-CHM-Version, daß er zwei Volltextsuchen zur Verfügung hat und
sich die für ihn nützlichere aussuchen kann.
Ich habe mir das auch mal angeschaut, weil mir zuerst die Komprimierung ins Auge viel. Allerdings liegt die CHM Version nach dem öffnen meiner Meinung nach nicht mehr komprimiert vor, da sie ca. 14 MB an Arbeitsspeicher verschlingt. Davon sind Anzeige-Elemente ausgenommen denn die ganze CHM Datei arbeitet mit der Browsertechnologie des IE und große Teile davon sind im Explorer vorhanden, so das nichts zusätzlich geladen werden muss oder Speicher verbraucht.
Zur SelfHTML Suchmaschiene und CHM Suche !!!
Nach meinen Testversuchen kann ich gut und gerne auf die Suche der CHM Datei verzichten. Es werden nur einfache Stringsuchen und verknüpfte String treffer geliefert. Völlig nutzlos !
Ich greife nach wie vor lieber auf die implementierte JavaScript Suche zurück. Diese liefert eindeutig perfekte Ergebnisse. Themenbezogen etc... ( schon klar, brauch ich mich nicht drüber auszulasen.... kennst du besser)
Die andere große Überraschung war, daß der große Datenumfang von
Selfhtml der CHM-Konvertierung nicht entgegen stand. Vielleicht kann ja
Wolfgang Reszel an dieser Stelle etwas dazu schreiben, wie aufwendig die
Umsetzung war. Ich betreue selbst ein Internet-Projekt in einem Umfang
von rund 100 MB Html-Seiten, aus dem einmal eine CD-Version entstehen
soll. Bislang hatte ich eine CHM-Fassung ausgeschlossen, aber nach
dieser Demonstration sieht das anders aus.
Wie er das umgesetzt hat ist mir im Moment auch noch unbekannt. Allerdings passiert bei der Konvertierung nichts "Weltbewegendes". Grob gesagt ist es nur ein anderes Frontend für einen Browser. Der ich glaube... intern mit einer grammatikalischen Komprimierung arbeitet. So ist die Datei kleiner aber da es nur die HTML Syntax betrifft, sehr schnell in der Suchfunktion.
Allerdings will ich das selbst nocheinmal überprüfen !
Hui rund 100 MB Html-Seiten... das ist ne Menge!!!
Ich arbeite in der Freizeit an einem Programm in Java, welches ähnlich CHM sein soll. Ich verwende dazu Java ! Als Frontend soll der User aber seinen vertrauten Browser verwenden. Also eine Client-Server Architektur.
Ich arbeite mit zwei Typen der Komprimierung.
Der "Transport Compression" - welche nur dazu dient, für übertragungen so klein wie möglich zu sein. (Derzeitiger SelfHTML Status liegt bei ca. 3.6MB)
Und einer "Container Compression" - welche nur die HTML Syntax betrifft. So soll die Arbeitsgröße der Datei weit unter 10MB liegen.
Etwas Probleme macht mir da allerdings dein SucheScript mit knapp 3.8MB. Darauf kann ich leider noch keine Regeln anwenden. Könnte passieren das sie genauso groß bleibt wie die ganze SELFHTML Doku.
Böse gesagt... weg damit !! wäre einfach. Aber das liegt nicht im Sinn des ganzen. Mein Ziel ist es die JavaScript Suche erst beim lösen der "Transport Compression" dynamisch zu erstellen um so auf die gewaltigen JS index Daten in dieser Phase verzichten zu können.
Aber erst wird erstmal alles so bleiben, denn Priorität hat der reine HTML Modus und SelfHTML dient mir dazu nur als Beispiel. Diese Form der Komprimierung lässt sich auch wunderbar auf z.B. die Dokumentation des Java SDK anwenden. (erste Tests mit über 60% Kompression - gegenüber zip).
Komischerweise geht das auch mit Java class Daten.
Bis aus dem allem ein richtiges Programm wird, kann noch dauern.(Bin erst bei der Konstruktion der Protokolle und Funktionen...)
Hätte man doch nur mehr Freizeit ;-)
Gruesse code2i