aVogt
Returning Creator

FS5: aus einem XML-String ein EditorWrapper erzeugen

Hallo,

folgendes Anliegen:

Wir wollen einen Webauftritt umgestalten. Dazu werden wir (wahrscheinlich) einen externen Dienstleister beauftragen. Nun haben wir jede Menge Daten in Datenquellen liegen. Diese wollen wir dem Dienstleister auch bereitstellen, allerdings mit leicht geänderten Daten (Datenschutz).

Aus diesem Grund hatte ich folgendes Vorgehen überlegt:

  • Daten exportieren (XML-Struktur)
  • Daten verändern
  • Daten importieren

Solange die DB-Felder kein „FirstSpirt-Editor“ ist, komme ich mit o.g. Weg zu Recht.


Bei einem „FirstSpirt-Editor“ wird bei entity.setValue(spaltenName, value) wir ein EditorWrapper erwartet.

Frage kann ich den EditorWrapper irgendwie aus dem xml-String (also so wie er auch in der DB steht: z.B. <CMS_VALUE name="cs_ctlist" tag="FS_LIST"><LANG id="§" set="1"><DATA><ENTRY id="127" template="absatz"….) erzeugen?

Die Vorlagen werden wieder so verwendet, wie sie bisher eingesetzt werden.


Oder muss ich einen anderen Weg gehen?

Grüße

Andreas

11 Replies
MichaelaReydt
Community Manager

Hallo Andreas,

ist diese Frage noch aktuell oder hast du bereits eine eigene Lösung gefunden?

Mir ist nicht ganz klar, warum die Daten für die Bearbeitung exportiert werden sollen. Werden die initialen Daten beim Import durch die geänderten Daten überschrieben? Wäre es in dem Fall nicht möglich, die Daten direkt in FirstSpirit z.B. über ein Skript zu ändern?

Viele Grüße

Michaela

0 Kudos

Hallo Michaela,

Hintergrund ist folgender: Wie geschrieben werden wir unseren Internetauftritt umgestalten und dies von einem externen Dienstleister vornehmen lassen.

Das Ganze wird zum Großteil nicht bei uns passieren. Da aber der Dienstleister auch Daten braucht, wollte ich die Daten aus der DB exportieren , dem Dienstleister übergeben damit er diese in sein System importieren kann.

Das einzige "Problem" ist momentan noch der CMS_INPUT_DOM. Beim Export kann ich mir zwar den Text des CMS_INPUT_DOM ausgeben lassen, dabei gehen aber z.B. Links verloren.

Somit wollte ich in die XML-Datei (Export) den Wert <CMS_VALUE name="cs_ctlist" tag="FS_LIST"><LANG id="§" set="1"> ..</CMS_VALUE> schreiben und diesen dann wieder importierten (lassen - beim Dienstleister).

Somit kam die Frage auf, ob ich irgendwie bei einem DB-Feld (vom Typ XML) einen Wert <CMS_VALUE ...> setzen kann.

Grüße

Andreas

0 Kudos

Hallo Andreas,

hast du dir schon mal überlegt den Content Transport dafür zu verwenden?? Du kannst die Datensätze in ein Feature paken, dieses exportieren, bearbeiten und wieder importieren.

Ich meine, ab FirstSpirit 5 kannst du das komplett über die API steuern. Es wäre also möglich, das Ganze zu automatisieren.

Viele Grüße

Thorsten

0 Kudos
aVogt
Returning Creator

Hallo Torsten,

den Content Transport haben wir nicht lizenziert und nur deswegen? Das lohnt sich definitiv nicht.

Wir haben FS5. Kann nicht irgendwie über API-Mittel ein "cms_value" bei z.B. einem DOM setzen?

Grüße

Andraes

0 Kudos

Hallo Andreas,

der EditorWrapper hat einen Konstruktor, dem du Daten mitgeben kannst:

public EditorWrapper(final String data)

Alternative kannst du auch die Methode

public void setData(final Element value)

verwenden.

Ich habs aber nicht getestet.

Viele Grüße

Thorsten

Hi,

mir ist die Problematik nicht ganz klar. Zum Einen möchte ich natürlich nicht unerwähnt lassen, dass EditorWrapper keine API ist, die Nutzung ist also potentiell unsicher und kann sich in Folgeversionen ändern. Zum Anderen verstehe ich nicht, warum der Rohdatenexport aus der bzw. -import in die Datenbank über die FirstSpirit-Infrastruktur erfolgen muss. Sind hier irgendwelche Mechanismen oder Informationen aus FirstSpirit erforderlich, um die Daten wieder zu setzen? Womit/wie bearbeitet der Dienstleister die Daten?

Beste Grüße

Stefan

0 Kudos

Hallo Stefan,

ich versuche mein Anliegen noch mal zu erklären:

Es soll ein kompletter Relaunch einer Website stattfinden. Damit der Dienstleister (der das Relauch und die Umsetzung in FS vornimmt) auch Daten hat, Sollen ihm diese aus den Datenquellen zur Verfügung gestellt werden. Alle Daten darf er jedoch nicht lesen. Deswegen editiere ich sie auch.

Die Strukturen der Datenbank sollen unangetastet bleiben.

Nun haben wir in dem Datensatz eine FS_LIST. Diese FS_LIST wollte ich als „<CMS_VALUE…>“ exportieren und dann wieder importieren. Die referenzierten Absätze oder anderen Vorlagen wird es in dem neuen Projekt wieder geben.

Einen kompletten Export des Projektes wollten wir nicht vornehmen, da zu viele Inhalte mit übergeben werden und das Projekt „halbwegs“ leer (bis auf die DB-Vorlagen und die darin verwendeten Vorlagen) neu aufgesetzt werden soll.

Grüße

Andreas

0 Kudos

Wenn der Dienstleister Daten braucht, könnte man ihm diese doch "rendern", sprich 'geeignet' generieren über speziell dafür angepasste Templates in einem Format eurer Wahl.

Peter

Das generieren ist ja nicht das Problem, eher das importieren, damit man weniger Anpassungsaufwand hat (eben wegen der FS_List).

Wenn das wirklich so schwierig ist, muss ich mir halt was anderes überlegen 😞

0 Kudos