Schema: Ändern des dbName über API möglich?
Author: JoSt
Publication Date: 11/25/2014 12:20
Hallo zusammen,
ist es möglich das dbName Attribut eines (OR)Schemas über das API zu ändern? Der manuelle Weg wäre hier im SiteArchitect das schema extern zu bearbeiten und das entsprechende Attribut zu ändern.
Auslesen ist ja über das API kein Problem (Schema.getOrSchema().getDBName() ).
Wenn es keine direkte Möglichkeit für das Attribut gibt, ist es dennoch möglich die komplette Schema-XML über das API zu speichern?
Viele Grüße,
Johannes
Tags: dbname, schema
-
Author: marza - 2/20/2015 16:02
Hallo Johannes,
ich kann Dein Anliegen gut nachvollziehen und verstehe Dich. Aber das ist nicht Teil der offiziellen API, weshalb wir niemanden ermutigen können solche Funktionen zu nutzen. Es kann immer sein, dass inoffizielle API mit der nächsten Version verschwindet. Für die offizielle API muss nämlich relativ lange Bestand gewährt werden.
Das bedeutet jedoch nicht, dass ein solches Feature nicht sinnvoll oder wünschenswert wäre. Wir geben unseren Kunden selbstverständlich die Möglichkeit, auf die Weiterentwicklung von FirstSpirit Einfluss zu nehmen:
https://community.e-spirit.com/community/feedback
Dort kannst Du Deine Idee vortragen und darüber abstimmen lassen. Mit etwas Glück findest Du Unterstützer und Deine Idee findet dann Berücksichtigung.
Grüße Marian
0 -
Author: dehaatbi - 11/7/2023 14:02
Hallo,
hatte gerade dasselbe Problem und konnte es wie folgt lösen. Der Code nutzt Reflections und ist damit natürlich keine schöne Lösung, und sicherlich auch keine die von Crownpeak irgendwie supported wird, aber es hat erstmal funktioniert:
Schema mySchema = templateStoreRoot.getSchemes().getSchemaByName(SCHEMA_NAME); de.espirit.or.schema.Schema orSchema = mySchema.getOrSchema(); Field dbNameField = de.espirit.or.impl.schema.SchemaImpl.class.getDeclaredField("_dbName"); dbNameField.setAccessible(true); dbNameField.set(orSchema, "P5692_3122"); mySchema.setLock(true); mySchema.setOrSchema(orSchema); mySchema.save("Restore previous dbName"); mySchema.setLock(false);Gruß Tobi
0
Please sign in to leave a comment.
Comments
2 comments