[opencms-dev] How to add a relation

Paul-Inge Flakstad flakstad at npolar.no
Thu Aug 20 14:40:11 CEST 2009

I've gotten no answers on this question, so I'm just posting an update.

I don't get how the CRE is supposed to work. Seems to me that it actually doesn't work like it's supposed to(?). I've got a structured content type, which is a just a type of general page. It nests paragraphs which in turn nests image containers (where you can VfsFile-link to the image). Pretty straightforward, nothing special.

If I add a picture to the page, save, and then look at the relations using the context menu's "Link relations to/from", I can see the relation between the page and the image just fine. So a relation has definitively been established.

But when I try to publish the page "with related resources", the system apparently fails to recognize the relation, as no image file appears in the publish list, only the page itself... WHY? The relation clearly exists!

I've tried other approaches to try to force the behaviour I want:

Tried to manually add a relation using a simple .jsp that calls addRelationToResource. However, I was only able to add the types CATEGORY and OU_RESOURCE. All the other types caused IllegalArgumentExceptions. And still, "publish with related resources" did not include the image when trying to publish the general page.

Tried to Add the relation in the XSD, but that didn't work either (some elements are optional, which caused this approach to produce mostly errors when trying to create new general pages).

Can anybody shed some light on why the "publish with related resources" behaves like this? Is it a configuration issue?
Also, I would still like to see an example on how to programatically add a new relation between two resources (and how to define a new type of relation).

Anyone? (Michael Moossen..? :) )

All the best,

From: opencms-dev-bounces at opencms.org [mailto:opencms-dev-bounces at opencms.org] On Behalf Of Paul-Inge Flakstad
Sent: 13. august 2009 20:40
To: opencms-dev at opencms.org
Subject: [opencms-dev] How to add a relation

Hi everyone

I'm trying to programatically add a relation between two resources, and things are not going so well.

What I want to do is establish a relation between an xmlcontents type resource (structured content) and an image resource, so that the image gets published when the xmlcontents file is published with related resources. This is actually quite important, because many editors forget to publish images, resulting in an error message for any user who's not logged in...

I'm putting my code inside a Java class method that creates the image (thumbnail) resource. When using the call like this (tried other CmsRelationTypes as well, same result):
cmso.addRelationToResource("/en/index.html", "/images/thumbs/image.jpg", CmsRelationType.JSP_WEAK.getName());

I get the following error:
Error while adding a relation from resource "/en/index.html" to resource "/images/thumbs/image.jpg" with type "JSP_WEAK".

Can anyone tell me what I'm doing wrong - and/or show me how it's done?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://webmail.opencms.org/pipermail/opencms-dev/attachments/20090820/e9990327/attachment.htm>

More information about the opencms-dev mailing list