Seite 1 von 1

Snippet: Auslagerung der Artikelbeschreibung auf Festplatte

Verfasst: 30.06.2005, 23:28
von Mischa
Aufgabe:

Um die Datenbank zu verkleinern soll eine Auslagerung der Artikelbeschreibung auf Festplatte erfolgen.

Die Auslagerung soll mit dem folgenden Pfad erfolgen:

Code: Alles auswählen

C:\Programme\baywotch3\desc\#START_YEAR#\#START_MONTH#\#START_DAY#\#ARTICLE_NO#.htm


wichtige Einschränkung:

Nach der Auslagerung der Artikelbeschreibungen kann NICHT mehr in der Artikelbeschreibung nach Begriffen gesucht werden.






Teil-Lösung: Anzeige der ausgelagerten Dateien

Um ein weiteres normales Arbeiten mit Baywotch zu ermöglichen (Anzeige der Artikeldaten) ist es notwendig die ausgelagerten Beschreibungen in Baywotch einzubinden.

Bei der Auslagerung wurde jede Artikelbeschreibung mit folgendem Text ersetzt:

Code: Alles auswählen

<export>
<export_date>#DATE#</export_date>
<export_agent>BayWotchTool::Export::Description</export_agent>
<export_path_base>C:\Programme\Baywotch3\desc\</export_path_base>
<export_path_detail>#START_YEAR#\#START_MONTH#\#START_DAY#\</export_path_detail>
<export_path_file>#ARTICLE_NO#.htm</export_path_file>
<export_path_full>C:\Programme\baywotch3\desc\#START_YEAR#\#START_MONTH#\#START_DAY#\#ARTICLE_NO#.htm</export_path_full>
</export>
(Anmerkung: interessant ist hier nur der Parameter: export_path_full - die restlichen Daten hätte man sich auch sparen können.)



um dann noch die richtige Datei anzuzeigen habe ich in der Datei desc.htm folgenden Code im Header ergänzt:

Code: Alles auswählen


...

</style>

<script language="JavaScript" ><!--


function onLoadDesc(){

	var myNode = document.getElementsByTagName("export_path_full")[0]

	if( myNode==null){

		//alert("normale Artikelbeschreibung");

	} else { 

		//alert("ausgelagerte Artikelbeschreibung");
	
		var fileName =  document.getElementsByTagName("export_path_full")[0].nextSibling.nodeValue;
		document.location.href = "file://"+fileName;
	}
}


//--></script>
</HEAD>
<BODY onload="onLoadDesc();">

...


Funktion:
sobald die Seite geladen ist wird geprüft, ob "export_path_full" existiert und dann die entsprechende Seite nachgeladen.

Man merkt keinen Unterschied bei der Darstellung von internen und externen Beschreibungen.



Teil-Lösung: Auslagerung der Dateien

Zur Vorbereitung habe ich eine Kopie der Datei DESC.HTM --> DESC_EXPORT.HTM erstellt, in der nicht das oben beschriebene Script enthalten ist.

Mein Programm durchläuft dann alle Datensätze und lagert die Daten in das entsprechnde Verzeichnis aus.

Um nur bestimmte Datensätze (bestimmte Folder oder vor einem Datum) zu exportieren kann man normal die Einschränkungen der SQL-Abfrage anpassen.

Der Beschreibungstext wird dann immer in der Datei DESC_EXPORT.HTM bei %%article_desc%% eingesetzt und als neue Datei im entsprechenden Pfad (welcher evtl generiert werden muß) gespeichert.

Die Beschreibung in der Tabelle tblAuction wird dann jeweils durch den oben gezeigten Text mit Informationen zum Speicherort ersetzt.


Für diesen Export habe ich mir auch ein Java-Programm geschrieben. (Hinweis: den code dafür habe ich jetzt nicht hier mit angezeigt)


*** ergänzt am 27.07.2005 ***

Vor- und Nachteile

Vorteil:
- Größe der Beschreibungsdaten nur durch Festplatte beschränkt
- keine Änderungen in der Baywotch-Datenbankstruktur notwendig
- nahtlose Integration der internen und der externen Artikelbeschreibungen
- kein Unterschied bei der Anzeige (egal ob intern oder extern)
- genug Platz in der Datenbank wird geschaffen (ca.90% werden frei).

Nachteil:
- keine Suche mehr in Artikelbeschreibung möglich.

Haupt-Funktion:
- Nachlade-Trick: das Nachladen erfolgt nicht durch Baywotch, sondern durch eine URL-Umleitung bei der Anzeige im integrierten Vorschaufenster durch den Internet-Explorer.

Verfasst: 01.07.2005, 01:02
von Borkumer
Hallo Mischa!

Jau... das is et!

Ich denke, dass diese Funktion die ganze Diskussion zum Thema beenden kann.

Auslagern der Beschreibung als HTML-Datei auf die Festplatte mit den gleichen (einstellbaren) Pfadeigenschaften wir die Pics. Durch die Ordnerstruktur der V3 kann man auf die "Suche auch in der Beschreibung" verzichten, vorausgesetzt man hat von vorneherein eine Strategie dazu entwickelt.

Wem das nicht ausreicht : SQL-Server (zynischer Kommentar: "Es war schon immer etwas teurer einen besonderen Geschmack zu haben" 8-) )

Verfasst: 01.07.2005, 01:18
von Mischa
ich hab mir jetzt diese funktion selbst programmiert, da Elmar diese funktion erst für die Versionen nach der 3.0 geplant hat - aber auf jeden fall NICHT für das aktuelle Release :-(

Verfasst: 01.07.2005, 01:20
von Mischa
Borkumer hat geschrieben:Auslagern der Beschreibung als HTML-Datei auf die Festplatte mit den gleichen (einstellbaren) Pfadeigenschaften wir die Pics.
du meinst sicherlich die optionen mit START_YYYY etc.


ich hab jetzt aber bewußt ein anderes verzeichnis /desc/ genommen


ein vorteil zum beispiel: ich kann die XP-Eigene ordnerkomprimierung aktivieren. dies ist bei textdateien sehr sinnvoll.

pix lassen sich schlecht bis gar nicht mehr weiter komprimieren deshalb ein extra verzeichnis für die pix.

Verfasst: 01.07.2005, 01:29
von Borkumer
Hallo Mischa!

Ich meinte einstellbar wie bei den Pics..es muß nicht im gleichen Verzeichnis wie die Pics sein. (deutsche Sprache häufig schwere Sprache 8-) *manchmalichkompliziertweilwillgenau*)

Verfasst: 01.07.2005, 05:43
von Mischa
dann hatte ich dich auch richtig verstanden :-)

*auch.lieber.kompliziert.und.nachgefragend.als.falsch.verstehend*

Verfasst: 27.07.2005, 14:00
von Borkumer
Hallo Mischa!

Eigentlich sollte die o.g. Lösung direkt in BW eingebaut sein, damit sie jederman nutzen kann. Aber ich glaube, Elmar ist nach den letzten Wochen/Monaten und der Geburt der V3 erstmal urlaubsreif und für SonderSonderwünsche nicht ansprechbar!??! ;)

Möchte man aber die Funktion erstmal als Einzellösung individuell auf dem lokalen Rechner nutzen wäre doch zunächst mal der Export der Beschreibung als HTML-Datei (?) in ein eigenständiges Verzeichnis notwendig.

Gibt es unter Access eine (Export-)Funktion, um das elegant zu lösen? Oder wie hast Du den Export gemacht?

Verfasst: 28.07.2005, 07:46
von Mischa
Borkumer hat geschrieben:Eigentlich sollte die o.g. Lösung direkt in BW eingebaut sein, damit sie jederman nutzen kann. Aber ich glaube, Elmar ist nach den letzten Wochen/Monaten und der Geburt der V3 erstmal urlaubsreif und für SonderSonderwünsche nicht ansprechbar!??! ;)
genau ... es sollte später auch in baywotch direkt gehen ... da es aber nicht in der V3.0 eingebaut ist habe ich es mir schon selbst geschrieben (da ich solange nicht warten wollte).
Borkumer hat geschrieben: Möchte man aber die Funktion erstmal als Einzellösung individuell auf dem lokalen Rechner nutzen wäre doch zunächst mal der Export der Beschreibung als HTML-Datei (?) in ein eigenständiges Verzeichnis notwendig.
ich würde die obengenannte verzeichnisstruktur nutzen.
Borkumer hat geschrieben: Gibt es unter Access eine (Export-)Funktion, um das elegant zu lösen? Oder wie hast Du den Export gemacht?
ich nutze die file-lesen und file-schreiben funktion. bei access wären es dann die entsprechenden VBA-Befehle ...

da ich ein wenig java lernen wollte und ich auch kein access bei mir installiert habe ist ein java-code daraus geworden.