Skip to main content

Datenbankinhalte per Script Projektübergreifend kopieren

Comments

9 comments

  • Zendesk API User
    Author: plamka - 10/7/2011 13:16

    Noch ein paar Infos.

    Wenn ich mir die Klasse von dem Objekt "entity_press_release.getValue("image") "

    zurück geben lasse, erhalte ich de.espirit.firstspirit.client.editorcomponent.EditorWrapper

    Mit der Klasse kann ich leider nichts anfangen ???

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 10/7/2011 14:00

    Bitte den Weg über Dataset gehen, z.B. aus von hier aus: http://www.e-spirit.com/odfs42/access/de/espirit/firstspirit/access/store/contentstore/Content2.html#getDataset(de.espirit.or.schema.Entity)

    0
  • Zendesk API User
    Author: plamka - 10/11/2011 8:40

    Hi, ich habe jetzt folgendes gemacht, komme allerdings nicht so recht weiter.

         dataObject = contentSource.getDataObject(entity_news);

         dateValue = dataObject.createDataValue("cs_pic_subline_ES");

       

    Muss ich überhaupt ein neues Element erstellen  ????   

    Der Inhalt muss am Ende wie folgt ausschauen ->

    <UID>testobjekt</UID><UIDTYPE>MEDIASTORE_LEAF</UIDTYPE><REMOTE>internet</REMOTE>

        DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();

        Document doc = builder.newDocument();

        Element element = doc.createElement("UID");

       

    Reicht es eigentlich aus ein w3c Element anzulegen oder muss ich das anders machen???

    So wie ich das momentan nämlich mache, funktioniert das nicht richtig

       dateValue =    dataObject.create("cs_pic_press_release", us, element) ;

       dateValue.getEditor().setValueNode(element);

       contentSource.setDataObject(entity_news, dataObject);

    Zum Schluss wird abgespeichert, es wird aber immer nur ein leeres Element angelegt ???

      orSession.release(entity_news);

      orSession.commit(); 

    Bin ich auf dem richtigen Weg???

    0
  • Zendesk API User
    Author: plamka - 10/11/2011 9:45

    ich habe jetzt noch folgendes ausprobiert

    dateValue = dataObject.create("cs_pic_press_release", us, null);

    dateValue.getEditor().getValue().setUid("Taufe_Rio_Blanco_2");

    dateValue.getEditor().getValue().setRemoteSymName("internet");

    dateValue.getEditor().getValue().setUidType(UidType.MEDIASTORE_LEAF);

    Das funktioniert ebenfalls nicht, die Änderungen werden nicht gespeichert ????

    Reicht der folgende Aufruf nicht aus ???

    contentSource.setDataObject(entity_news, dataObject);

    orSession.release(entity_news);

    orSession.commit();

    0
  • Zendesk API User
    Author: plamka - 10/13/2011 8:50

    Kann mir jemand sagen ob ich jetzt auf dem richtigen Weg bin???

    So funktioniert das nämlich auch nicht ?

    dataObject = contentSource.getDataObject(entity_news);

    dataValue =    dataObject.create("cs_pic_press_release", us, null);

    editorValue = dataValue.getEditor();

    value = editorValue.get(siteStore.getProject().getMasterLanguage());

    value.setUid("SEITE");

    value.setRemoteSymName("internet");

    value.setUidType(UidType.MEDIASTORE_LEAF);

    editorValue.set(siteStore.getProject().getMasterLanguage(), value);

    0
  • Zendesk API User
    Author: Zeidler - 10/14/2011 14:00

    Ihr letzter Ansatz war schon gut.

    Nach dem verändern des DataObjects müssen sie dieses jedoch wieder sichern.

    Wenn man zusätzlich noch den Weg über das Dataset geht, sollte es mit dem Folgenden Code funktionieren.

    dataset = contentSource.getDataset(entity_news);

    dataObject = dataset.getData();

    dataValue = dataObject.create("cs_pic_press_release", us, null);

    editorValue = dataValue.getEditor();

    value = editorValue.get(siteStore.getProject().getMasterLanguage());

    value.setUid("SEITE");

    value.setRemoteSymName("internet");

    value.setUidType(UidType.MEDIASTORE_LEAF);

    editorValue.set(siteStore.getProject().getMasterLanguage(), value);

    dataset.setData(dataObject);

    0
  • Zendesk API User
    Author: plamka - 10/14/2011 14:39

    Vielen Dank für die Antwort, leider speichert er das Dataset immer noch nicht ???

    Mein Quellcode sieht wie folgt aus:

    us = context.getUserService();

    cs = us.getStore(Store.CONTENT_STORE, false);

    contentSource = cs.getContent2ByName("i_news");

    schemaTable = contentSource.getSchema();

    Session orSession = schemaTable.getSession();

    Select select = orSession.createSelect("I_News");

    keys_news = orSession.fetchKeys(select);

    if(keys_news.size()>0)

    {

        // update

        row_news = keys_news.get(0);

        Entity entity_news = orSession.find(row_news);

        Object object_news = entity_news.getValue("pr_fs_id") ;

        text.append("News update ID: "+object_news+"<br/>");

       

        entity_news.setValue("pic_subline_DE","Text ... ");

       

        // get dataset

        dataset = contentSource.getDataset(entity_news);

        dataObject = dataset.getData();

        dataValue = dataObject.create("cs_pic_press_release", us, null);

        editorValue = dataValue.getEditor();

        value = editorValue.get(siteStore.getProject().getMasterLanguage());

        value.setUid("SITE");

        value.setRemoteSymName("internet");

        value.setUidType(UidType.MEDIASTORE_LEAF);

        editorValue.set(siteStore.getProject().getMasterLanguage(), value);

        dataset.setData(dataObject);

        contentSource.setDataObject(entity_news, dataObject);

           

        orSession.release(entity_news);

        orSession.commit();  

    }

    0
  • Zendesk API User
    Author: gelinski - 10/24/2011 10:16

    Mit diesem Code sollte es funktionieren:

    remoteProject = context.getConnection().getProjectById(9);

    mediaStore = remoteProject.getUserService().getStore(Store.Type.MEDIASTORE,false);

    medium = mediaStore.getMediaByUid("business_handshake");

    tr = TargetReferences.newInstance(context.getProject().getMasterLanguage(),medium, "intranet");

    data.get("cs_pic").getEditor().set(context.project.masterLanguage, tr);

    dataset.setData(data);

    dataset.save();

    Viele Grüße

    Matthias Gelinski

    0
  • Zendesk API User
    Author: TimoMeister - 9/21/2012 8:31

    Gibt es hier ein fertiges Script, das man verwenden kann um Datensätze von einem Projekt in das andere kopireren kann?

    0

Please sign in to leave a comment.