Search the FirstSpirit Knowledge Base
Hallo,
bei einem unserer Projekte wurde das Corporate Content Paket gelöscht.
Später wurden gelöschte Absatzvorlagen wieder hergestellt, diese haben jetzt noch eine Bezeihung zu dem gelöschten Paket.
Über Rechtsklick "Corporate Content" --> "Aus Paket entfernen" lässt sich die Beziehung nicht lösen, Fehleranzeige "Das Paket konnte nicht gefunden werden"
Lässt sich diese Beziehung lösen?
Die Absatzvorlagen sollen jetzt wieder benutzt werden, führt das zu Problemen?
Viele Grüße
Hallo Silke,
wir vermuten, dass es sich unter Umständen um einen Bug handeln könnte.
Bitte wende Dich daher an unseren Technical Support.
Viele Grüße,
Sebastian
Hallo Sebastian,
vielen Danke für die Rückmeldung.
Die Absatzvorlage wird jetzt vorerst nicht verwenden.
Bei Bedarf wenden wir uns dann an Technical Support.
Viele Grüße,
Silke
Hallo Silke,
wie Sebastian schon erwähnt hat hört sich das nach einem Bug / Feature an.
Wir hatten ein ähnliches bzw. gleiches Verhalten oft beim Im- und Export von Projekten. Dabei sind die Pakete verloren gegangen, aber die darin enthaltenen Elemente hatten noch immer die entsprechenden Beziehungen. Wir haben uns da immer mit ein paar kleinen Skripten beholfen, die die noch vorhandenen Beziehungen über die API entfernen.
Etwa wie folgt:
public void removePackageRelations(String... packageNames) {
LOGGER.info("# Start removing package relations");
for (Type type : Type.values()) {
LOGGER.info("## Start removing package relations for store: " + type
.getName());
Store store = FsStoreUtil.getStore(project, type, true, false);
Listable<PackagePoolItem> children = store
.getChildren(PackagePoolItem.class, true);
for (String packageName : packageNames) {
for (PackagePoolItem packagePoolItem : children) {
if (packagePoolItem.isPackageItem() && StringUtils
.equals(packageName,
packagePoolItem.getPackageName())) {
removePackageRelations(packagePoolItem);
}
}
}
}
}
private void removePackageRelations(PackagePoolItem packagePoolItem) {
Package package1 = packagePoolItem.getPackage();
if (null != package1) {
try {
LOGGER.info("Trying to remove PackagePoolItem with ID '"
+ packagePoolItem.getId() + "' from package '"
+ package1.getName() + "'.");
packagePoolItem.removeFromPackage(packagePoolItem.getPackage());
LOGGER.info(
"Removed PackagePoolItem with ID '" + packagePoolItem
.getId() + "' from package '" + package1
.getName() + "' successfully.");
} catch (LockException | ElementDeletedException e) {
LOGGER.error("Failed to remove PackagePoolItem with ID '"
+ packagePoolItem.getId() + "' from package '"
+ package1.getName() + "'.", e);
}
}
}
Evtl. hilft dir das ja schon weiter.
Grüße
Sandro