Skip to main content

Freigabeprozess: Wie kann ich dort ein eigenes Panel anzeigen?

Comments

4 comments

  • Zendesk API User
    Author: nagel - 9/29/2016 10:48

    Hallo Marcus,

    ich bin mir nicht 100%ig sicher ob ich deine Frage richtig verstanden habe.

    Du holst dir in einem Workflow Daten aus einer externen Schnittstelle und möchtest diese Daten dann durch einen Redakteur noch einmal sichten lassen bevor du sie weiterverarbeitest, oder?

    Wenn das der Fall sein sollte:

    Jeder Workflow hat ein eigenes Formular in dem der Redakteur Daten hinterlegen kann. Dieses Formular könntest du benutzen um die Daten aus der externen Schnittstelle anzeige zu lassen.

    Alterantiv kannst du mit dem OperationAgent und darüber mit dem ShowFormDialogOperation und dem FormsAgent ein Formular erstellen und befüllen das du dann anzeigen lassen kannst. Darüber könntest du optionalerweise dem Redakteur auch die Möglichkeit geben die Daten anzupassen.

    Beide Methoden hätten den Vorteil, dass sie nicht nur im SiteArchitect funktionieren würden, sondern auch im ContentCreator. Außerdem würde es keinen Stillbruch geben, da du weiterhin die FirstSpirit Eingabekomponenten benutzt.

    Viele Grüße

    Benjamin Nagel

    0
  • Zendesk API User
    Author: mstaender - 9/29/2016 10:55

    Hi Benjamin,

    danke für die ANtwort. Du hast das korrekt verstanden. Im Workflow werden Daten von einem externen Service abgeholt (in diesem Fall 30 Bilder) welche die kontrollierende Instanz sichten muss. Istd er Inhalt und diese Bilder alle OK kann es weiter gehen.

    Workflows kamen in der DTA leider nicht drau (außer, dass es sie gibt). Wo finde ich denn am besten ein Beispiel, wie man das Formular generiert und bestenfalls sogar, wie ich drauf zugreife? ich glaube aber es gibt keine sinnvolle Möglichkeit 30 Bilder in einem FS Formular halbwegs sinnvoll anzuzeigen oder?

    MfG Marcus

    0
  • Zendesk API User
    Author: nagel - 9/29/2016 13:03

    Hallo Marcus,

    hier nun ein kleines Beispiel wie du mit den Klassen und den FirstSpirit Eingabekomponenten so etwas ansastzweise lösen kannst:

    final OperationAgent operationAgent = context.requireSpecialist(OperationAgent.TYPE);

    final ShowFormDialogOperation showFormDialogOperation =   operationAgent.getOperation(ShowFormDialogOperation.TYPE);

    showFormDialogOperation.setMultiLanguage(false);

    final FormsAgent formsAgent = context.requireSpecialist(FormsAgent.TYPE);

    String gomForm = getGomForm();

    Form form = formsAgent.getForm(gomForm);

    showFormDialogOperation.setTitle(title);

    FormData newFormData = form.createFormData();

    fillFormData(newFormData);

    showFormDialogOperation.setFormData(newFormData);

    showFormDialogOperation.setRuleset(getRuleset());

    LanguageAgent languageAgent = context.requireSpecialist(LanguageAgent.TYPE);

    Language masterLanguage = languageAgent.getMasterLanguage();

    FormData formDataResult = showFormDialogOperation.perform(form, Arrays.asList(languageAgent.getMasterLanguage()));

    Dein gomForm könnte dann zum Beispiel wie folgt aussehen:

    <CMS_MODULE>

      <FS_CATALOG name="wf_images" height="4" useLanguages="no" viewMode="symbols">

        <LANGINFOS>

          <LANGINFO lang="*" label="Images to check"/>

        </LANGINFOS>

        <TEMPLATES type="section">

          <TEMPLATE uid="wf_image"/>

        </TEMPLATES>

      </FS_CATALOG>

    </CMS_MODULE>

    Die dazu gehörigen Regeln ( getRuleset() ):

    <RULES>

              <RULE when="ONLOCK">

                        <WITH>

                                  <FALSE/>

                        </WITH>

                        <DO>

                                  <PROPERTY name="NEW" source="wf_images"/>

                                  <PROPERTY name="EDIT" source="wf_images"/>

                                  <PROPERTY name="REMOVE" source="wf_images"/>

                        </DO>

              </RULE>

    </RULES>

    Und das SectionTemplate:

    <CMS_MODULE>

      <FS_REFERENCE name="wf_image" hFill="yes" imagePreview="yes" upload="no" useLanguages="no">

        <FILTER>

          <HIDE type="all"/>

          <ALLOW type="media"/>

        </FILTER>

        <LANGINFOS>

          <LANGINFO lang="*" label="Image"/>

        </LANGINFOS>

        <PROJECTS>

          <LOCAL name=".">

            <SOURCES>

              <FOLDER name="root" store="MEDIASTORE"/>

            </SOURCES>

          </LOCAL>

        </PROJECTS>

      </FS_REFERENCE>

    </CMS_MODULE>

    Um das FormData zu befüllen kannst du nun die normalen Methoden eines FormData und der FormFields benutzen.

    Da musst natürlich die Bilder erst mal als Media im MediaStore abgelegt haben. Wenn die Medien durch den Redakteur abgelehnt werden musst du sie nur noch im Anschluss entfernen.

    Viele Grüße

    Benjamin

    0
  • Zendesk API User
    Author: MichaelaReydt - 10/11/2016 9:40

    Hallo Marcus,

    ist dieses Posting noch aktuell? Benötigst du noch weitere Hilfe oder konnte Benjamin dir bereits weiterhelfen? In diesem Fall wäre es super, wenn du seine "richtige Antwort" entsprechend markiest.

    Viele Grüße

    Michaela

    0

Please sign in to leave a comment.