th_biedermann
Occasional Collector

Projekt. Aufloesungen auf andere Projekte verteilen

Hallo zusammen

Wir haben sehr viele Auflösungen in den Projekten. Wenn es neue Auflöungen gibt ist dies sehr aufwändig zu diese zu verteilen.

Gibt es einen Script der auch funktioniert, der die Verteilung automatisiert?

- setResolutions funktioniert nicht!

//!Beanshell

import de.espirit.firstspirit.access.project.Resolution;
import java.util.*;

connection = context.getConnection();
masterProject = context.getProperty("masterProject");

List<Resolution> resolutions = null;
ArrayList<Resolution> resolutionList = null;

context.logInfo("DEBUG-masterProject: " + masterProject);

// get resolutions
project = connection.getProjectByName(masterProject);
if(project != null) {
          resolutions = project.getResolutions();
}

for(resolution : resolutions) {
          context.logInfo("DEBUG Resolutions " + resolution.getUid());
          if("ORIGINAL".equals(resolution.getUid())) {
                    context.logInfo("DEBUG resolution to remove: " +resolution.getUid());
                    resolutions = new ArrayList(resolutions);
                    resolutions.remove(resolution);
          }
}

// set resolutions
context.logInfo("DEBUG Class Info1: " + resolutions.getClass());
Resolution[] resArray = resolutions.toArray(new Resolution[resolutions.size()]);

targetProject = context.getProject();
targetProject.setResolutions(resArray);

context.logInfo("DEBUG-Projectname: " + context.getProject().getName());
context.logInfo("Script End");

Besten DANK für Eure Hilfe

Grüsse

Thomas

 

0 Kudos
2 Replies
hoebbel
Crownpeak employee

Hallo Thomas,

ich würde einfach fs-cli benutzen. 

Aktueller Release auf GitHub 

allgemeine Doku auf docs.e-spirit.com  (die Doku zu den einzelnen Parametern findest Du nach dem Entpacken des Releases im docs Unterverzeichnis)

Anwendung ist ganz einfach:
Entpacken des Releases in ein beliebiges Verzeichnis
Kopieren des fs-isolated-runtime.jar aus dem Verzeichnis <FirstSpiritROOT>/data/fslib des FirstSpirit Servers in das lib Unterverzeichnis von fs-cli
mit der Kommandozeile das Tool aufrufen. Um die Auflösungen zu exportieren würde der Aufruf beispielsweise so aussehen:
bin\fs-cli -h <Servername> -port <Port> -p "<Quellprojekt>" -u <Adminuser des Quellprojektes> -pwd <Passwort des Users> -sd <Zielpfad in den exportiert werden soll> export projectproperty:RESOLUTIONS

der Import in das Zielprojekt wäre dann:
bin\fs-cli -h <Servername> -port <Port> -p "<Zielprojekt>" -u <Adminuser des Zielprojektes> -pwd <Passwort des Users> -sd <Pfad in den exportiert wurde> import

In den Beispielen einfach die Platzhalter in den <> durch die korrekten Werte ersetzen, also beispielsweise:
bin\fs-cli -h firstspirit.myhost.com -port 8080 -p "myProject" -u Admin -pwd Admin -sd c:\fs-cli\myProjectResolutions export projectproperty:RESOLUTIONS

Das ist deutlich einfacher, als das Ganze per Skript zu versuchen 😉

Schönes Wochenende
Holger

0 Kudos

Hallo Holger

Vielen DANK! Das ging ja fix 🙂

Was mich hier stört ist, dass der User und das PW in der kommandozeile eingegeben werden muss.

Gibt es noch einen anderen weg ?

PS: Diese Links sind kaputt:

https://docs.e-spirit.com/odfs/edocs/sync/dev/de/espirit/firstspirit/store/access/nexport/operations...

https://docs.e-spirit.com/odfs/edocs/sync/dev/de/espirit/firstspirit/store/access/nexport/operations...

Grüsse. Thomas

0 Kudos