Hallo Zusammen!
Ich wollte mal eine Frage in raum werfen: Wie managed Ihr Eure Konfiguartion von Datengeneratoren & Prepared Searches, bei komplexeren Projekten?
Hier hab ich Kurzform die Themen die mir aufgefallen sind niedergeschrieben. Meine Erfahrungen beruhen auf Projekten Haupia 1.9x Haupia 2.0.60. Eine Migration hab von Haupia 1.9x auf 2.0 hab ich noch nicht durchgeführt.
- DGs und PSs Konfiguration war in 1.9x okay und ist bei 2.0.x nicht eher komplizierter geworden.
- Bei Haupia 1.9x hatte man eine Datei für PSs und eine für die DGs dort waren die Groovy-Skripte serialisiert und gesamten Metadaten enthalten. Nicht ideal, man bekommt keine sauberen Diffs und sehr viel Noise. In Git hatten wir deshalb nur bei Meilensteine und Releases Commit erstellt.
- Bei der 2.0.x hat die Konfig von DGs und PSs an Zookeeper (ZK) ausgelagert diese kann man mit den Kommandzeilen Tool "guano" auslesen und wieder importieren. (Etwas kompliziert als bei 1.9x). Da ZK eher wie ein Directory funktioniert gibt viel mehr Dateien, leider sind Groovy-Skripte hier auch nicht in einer separaten Datei.
- Ein großes Problem ist das DGs und PSs Groovy-Scripte keine Code Sharing erlauben. Man kopiert häufig Codeschnippsel zb fürs Loggen und "Projektspezifische Standards" von A nach B. Es wurde Vergessen Code an manchen stellen Nachzuziehen. Man musste 20 Stellen anfassen um einen Fehler zu beheben. Kurz Wartungsalbtraum.
- Die GUI skaliert nicht gut mit vielen PSs und DGs. Beispiel: Bei 20-50 DGs deaktivieren, das nächtlich Crawling aussetzen, die Crawling URLs anpassen,... Auch hinderlich ist das die GUI nicht gut mit vielen PSs und DGs skaliert. Beispiel: Bei 20-50 DGs deaktivieren, das nächtlich Crawling aussetzen, die Crawling URLs anpassen... Viel geklicke und Pagereloads.
- Bei der Haupia 2.0.x wird Sichtbarkeit für Mandanten mitgepflegt, der Haken mit Developer sieht man keine DGs/PSs auf seinen lokalen System. Das kann bei Arbeiten mit Stages auch zu Porblemen führen. Unser Workaround bis jetzt: Lizenz vom Kunden kopieren.
- Bei Haupia 2.0.60 finde ich den Bug/Feature ganz witzig, dass Haupia erstellt ein Klon wenn man den Name von einem DG oder einer PS anpasst. Etwas komisch.
Mein Wunschzettel/Verbesserungvorschläge:
- Groovy-Scripte in separaten Dateien. Wie man es kennt von jeder Programmiersprache.
- Code Sharing für Datengeneratoren und Prepared Searches.
- Eine Master-Lib die jeder Enahncer, sei es DG oder PS benutzen kann
- Eine getrennte Lib die nur Datengeneratoren benutzen können
- Eine getrennte Lib die nur Prepared Searches benutzen können
- Jeder sollte DG und PS sollte ein Flag haben ob Code aus Libs benutzbar ist. Hilft bei Debugging und Runtime Optimierung
- Es sollte in der GUI Ansichten geben mit denen ich viele Datengeneratoren besser steuern kann. Viele Aktiviert/Deaktiviert, Cron fürs Indexing, Anzahl Dokumente die beim letzten run entfernt wurden bzw hinzugefügt wurden.
- Mandanten Sichtbarkeit sollte man als Dev manipulieren können, auf seinen Dev-System
Was sind Eure Erfahrungen ? Kämpft Ihr auch mit diesen Problemen?