-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Opus\Document auf Doctrine umstellen #173
Comments
Wir sollten hier eine neue |
Es ist noch unklar, ob alle Felder von Document mit ORM umgesetzt werden können. TODO Wenn ein Teil der Informationen mit DBAL gespeichert werden müssen, während |
Ich denke hier in diesem Ticket sollten die einfachen Felder von https://github.com/OPUS4/framework/projects/6 Die einfachen Felder umfassen:
|
Ich denke wir sollten zuerst |
Am Anfang, für die ersten, einfachen Properties, probiere mal bitte die Set/Get-Funktionen wegzulassen und Magic-Funktionen zu verwenden. In der alten Die alte Funktionalität verwendete dann die entsprechenden Field-Objekte, um die Werte zu setzen oder zu holen. Jetzt würde ich die Variablen direkt verwenden, wenn keine entsprechende Funktion, set/get, vorhanden ist. Auf diese Weise, kann man die Standardverarbeitung immer mit expliziten Funktionen überschreiben. Falls sich hier Probleme zeigen kann man darüber nachdenken die Standard-Felder und die konfigurierten Felder unterschiedlich zu behandeln. |
Der document Branch wird am Anfang erst einmal eine Menge gebrochener Tests haben. Die werden wir dann schrittweise mit den anderen Issues fixen. |
Document
ist die umfangreichste Modellklasse, die wir bei OPUS 4 haben. Dokumente sind mit Referenz-Metadaten verknüpft, wie zum Beispiel DNB-Institute, und hier muss es in Zukunft weitere Veränderungen geben. Für den Augenblick versuchen wir als Zwischenschritt die Funktionalität so zu erhalten wie sie ist.Dokumente haben einige Metadaten, wie Title, Identifier, Enrichment, die in anderen Tabellen gespeichert werden, aber immer nur zu einem einzigen Dokument gehören. Diese Metadaten sollen langfristig als Block gespeichert und nicht mehr über viele Tabellen verteilt werden. Das ist aber ein großer Schritt, bei dem viele Teil auf einmal geändert werden müssen. Daher wäre es vermutlich sinnvoll die
Document
-Klasse erst einmal für das aktuelle Datenbankschema auf Doctrine umzustellen. Das ORM sollte keine Probleme haben Title und andere Entitäten auf die existierenden Tabellen zu verteilen. Wenn sich dass innerhalb weniger Entwicklungstage umsetzen ließe, dann würde sich dieser Zwischenschritt lohnen, um früher mit dem Umbau der Application für Laminas beginnen zu können.Durch diesen Zwischenschritt würde auch der weitere Umbau einfacher werden, weil dadurch bereits viel Code verschwinden wird, der im Augenblick noch für Verwirrung sorgen kann. Der nächste Schritt wird dadurch später einfacher.
Falls es bei der Umsetzung mit Doctrine-ORM und den aktuellen Tabellen Probleme gibt, muss dieser Plan überdacht werden. Was auch noch nicht abschätzbar ist, sind die Auswirkungen auf die Performanz von OPUS 4. Mit DBAL scheinen die Zugriffe auf die Datenbank schneller geworden zu sein. Ob das auf ORM auch zutrifft, muss sich erst noch zeigen.
The text was updated successfully, but these errors were encountered: