Search the FirstSpirit Knowledge Base
Hallo zusammen,
da wir immer wieder den Fall haben, dass sich innerhalb unseres sehr großen Projekts innerhalb kurzer Zeit die Generierungsfehler häufen, wäre es hilfreich die Ursache über die Änderungshistorie des Projekts zu ermitteln. Leider bietet die Funktion "Projekthistorie" nur wenig Funktionen. Ist es möglich per Beanshell Skript die Projektänderungen eines bestimmten Zeitraums aus der Projekthistorie zu filtern? Hat jemand dazu bereits einen Ansatz entwickelt? Wir setzen die aktuellste Version des FS 5.2 Release ein.
Hallo Andre,
das ist möglich, siehe http://www.e-spirit.com/odfs52/access/.
Wenn man sich das Objekt Page ansieht, sieht man das dort das HistoryProvider-Interface implementiert wird: http://localhost:8000/help/odfs/access/de/espirit/firstspirit/storage/HistoryProvider.html
Dadurch kann ich mir alle Revsionen zwischen zwei Zeitpunkten anzeigen lassen. Allerdings bietet der Revionsdialog meines erachtens genug Informationen... ggf. kann man die Anzahl der Revisionen pro Seite anpassen, damit man mehr sieht. Wenn man zwei Revisionen anklickt, kann man diese miteinander vergleichen.
Wenn ihr die Änderungen an den Templates besser tracken wollt, empfiehlt es sich vielleicht, den Template-Code per SVN oder Git zu verwalten und per FS-CLI in die Projekte zu importieren. Siehe dazu auch im ODFS den dazugehörigen Artikel: http://www.e-spirit.com/odfs52/weiterfuehrende-themen/externe-synchronisierung/integration-mit-versi....
Grüße Marian
Hallo Marian,
der Revisionsdialog für einzelne Elemente war mir schon bekannt. Es ging mir um die gesamte Historie des Projekts. (im SiteArchitect unter dem Button "Aufgabenliste" zu finden).
Die Funktion bietet leider nur eine Liste der letzten geänderten Elemente. Hier würde ich gern die Änderungen eines bestimmten Zeitraums ausgeben.
Der SVN Ansatz klingt auch ganz gut, allerdings greift dieser dann wirklich nur für die Vorlagen, nicht für Generierungsfehler, die aus redaktionellen Arbeiten entstehen.
Hallo Andre,
dann würde ich vorschlagen, dass Du einen Feature-Request stellst, da das bestimmt von allgemeinen Interesse wäre, wenn es dort weitere Filtermöglichkeiten gibt.
Grüße Marian
Hallo Andre,
ich habe bei Kunden schon Projekte gesehen, in denen die von dir gewünschte Funktionalität über ein Skript realisiert wurde.
Das Skript hat alle Stores und Elemente abgegrast (Proformancekiller!) und geprüft ob diese im betroffenen zeitraum geändert wurden.
Die Liste der geänderten Elemente wurde anschließend ausgegeben.
Man sah zwar nicht was sich geändert hat, aber dafür wo es änderungen gab.
Ich fände es aber auch schöner wenn eine solche Funktion wie du gesagt hast direkt in FS integriert ist, mit Möglichkeit zum geänderten Element zu springen etc.
Grüße
Sandro
Hallo,
von den StoreElementen auszugehen ist natürlich nicht unbedingt sehr effizient. Man kann sich aber per API auch die Revisionen eines Zeitraumes holen und daraus die "beteiligten" Objekte und "Aktionen". Das Ganze ist allerdings nicht ganz trivial.
Grobe Idee:
Über zweimaligen Aufruf von project.getRevision(Date date) die Revisionen von Start- und Endtatum holen. Dann per project.getRevisions(...) alle Revisionen dieses Zeitraums.
Hierüber kommt man dann über die Revisionsmetadaten und die Operationen oder ggf. auch per getChangedStoreElements() an die beteiligten Elemente. Man muss sich da schon ein bisschen "durchhangeln" und auch ein paar Fallunterscheidungen machen wenn ich mich richtig erinnere 😉
Viele Grüße
Michael