Questions & Answers

SOLVED
mark_weigelt
Elite Observer

Remote-Links mit Advanced URL Creator (FS 5.0.318)?

Jump to solution

Hallo,

ich habe zwei FirstSpirit-Projekte. Aus dem einen Projekt soll mit einem Remote-Link ein Verweis auf das andere Projekt gesetzt werden.

  <FS_REFERENCE name="link" hFill="yes" sections="no" useLanguages="no">

    <FILTER>

      <ALLOW type="pageref"/>

    </FILTER>

    <LANGINFOS>

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

    </LANGINFOS>

    <PROJECTS>

      <CATEGORY name="default">

        <SOURCES>

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

        </SOURCES>

      </CATEGORY>

    </PROJECTS>

  </FS_REFERENCE>


Die Ausgabe erfolgt รผber $CMS_VALUE(ref(link).url)$

 

In beiden Projekten wird der Advanced URL Creator verwendet.

Leider wird der Link immer nur als Default-Pfad erzeugt - also ein Pfad aus den Referenznamen. Meine Erwartung war, dass ich einen Pfad aus den Anzeigenamen zurรผckbekomme!?

Bei Links innerhalb der jeweiligen Projekte funktioniert der Advanced URL Creator einwandfrei.

Ist das Verhalten ein Bug oder mรผssen neben der Einstellung fรผr den Advanced URL Creator noch weitere Einstellungen vorgenommen werden, damit ein Remote-Link funktioniert?

FirstSpirit-Version: 5.0.318

Danke und viele GrรผรŸe

Mark

0 Kudos
1 Solution

Accepted Solutions

Ja, die Liste mit den gรคnderten Konfigurationen muss auch wieder zurรผckgeschrieben werden.

[EDIT] Ich wรผrde vorschlagen, die ร„nderung nicht im Auftrag vorzunehmen, sondern einmal per Skript und dann persistent zu speichern (Project.save()).

Peter

View solution in original post

0 Kudos
6 Replies
Peter_Jodeleit
Crownpeak employee

Dafรผr muss in der Remote-Konfiguration die zu verwendende URL-Strategie konfiguriert werden: setUrlCreator(..)

Peter
0 Kudos

Hallo Herr Jodeleit,

ich bekomme den Link leider immer noch nicht richtig hin...

Ich habe vor dem Generierungsauftrag ein Skript hinzugefรผgt, das den URL-Creator setzen soll:

//!Beanshell

import de.espirit.firstspirit.access.project.RemoteProjectConfiguration;

for(rpc : context.getProject().getRemoteProjectConfigurations()) {

    rpc.setUrlCreator("Advanced URLs");

}

Es wird dennoch weiterhin der Default-Link erzeugt!?

Ist dass der richtige Ansatz? Und was muss ich noch tun, damit das Setzen des URL Creators auch รผbernommen wird?

Danke und viele GrรผรŸe

Mark

0 Kudos

Ja, die Liste mit den gรคnderten Konfigurationen muss auch wieder zurรผckgeschrieben werden.

[EDIT] Ich wรผrde vorschlagen, die ร„nderung nicht im Auftrag vorzunehmen, sondern einmal per Skript und dann persistent zu speichern (Project.save()).

Peter
0 Kudos

Vielen Dank. Als Menรผ-Skript klappt es:

//!Beanshell

import de.espirit.firstspirit.access.project.Project;

import de.espirit.firstspirit.access.project.RemoteProjectConfiguration;

import java.util.List;

String urlCreatorName = "Advanced URLs";

// get project

Project project = context.getProject();

// get remote project configurations

List rpcList = project.getRemoteProjectConfigurations();

// lock project

project.lock();

// set url creator

for(RemoteProjectConfiguration rpc : rpcList) {

    rpc.setUrlCreator(urlCreatorName);

}

// set remote project configurations

project.setRemoteProjectConfigurations(rpcList);

// save project

project.save();

// unlock project

project.unlock();

Viele GrรผรŸe

Mark

0 Kudos

Vielen Dank fรผr diesen Thread, er hat uns bei der Lรถsung eines รคhnlichen Problems geholfen.

Wir hatten einen angepassten URL Creator sowohl in Lรคnderprojekten als auch im zentralen Remote Medien Projekt bei den Generierungsauftrรคgen eingestellt.

- Die lokalen Links in den Lรคnderprojekten stimmten alle.

- Die Remote Medien wurden wie gewรผnscht in die Verzeichnisse geschrieben

- Nur die Links aus den Lรคnderprojekten auf die Remote Meden ignorierten unseren angepassten URL Creator

Nachdem รผber das obige Skript das "setUrlCreator" ausgefรผhrt wurde, hat es gepasst.

Aber nun fragen wir uns: Lรคsst sich dies nur รผber die API einstellen oder haben wir etwas im ServerManager รผbersehen (FS 5.1.507.70194)?

0 Kudos

Hallo Renรฉ,

so weit ich weiรŸ, geht das persistente Speichern der Remote-Konfiguration nur รผber die API.

Viele GrรผรŸe

Mark

0 Kudos

Type a product name