Thorsten Scherler wrote:
Hi all,

I was trying to publish opendocuments (odt) and was not really
suprised ;) about following finding:
1) The documentManager.copyToArea(sourceDocument, destination) is
*always* assuming a XML doc.
org.apache.lenya.cms.publication.DocumentManagerImpl.java
    public void copyToArea(Document sourceDocument, String
destinationArea)
            throws PublicationException {
        Document destinationDocument = sourceDocument.getIdentityMap()
                .getAreaVersion(sourceDocument, destinationArea);
        copy(sourceDocument, destinationDocument);
    }
That is leading to the phenomenon that the resulting documents are not
binary anymore and unusable.

That needs to be changed. I'll take a quick look at it.


2) The destination document is "loosing" its original extension. The
resulting document is called now index_en.xml and not like in authoring
index_en.odt.

This is a bug, it has to be fixed.


This is the side effect of the first observation that
binary files are "transformed" into xml documents.

Really? I don't think it is a side effect, rather a separate problem.


In another use case I have a resource type "xType" that aggregates x
files to one document.

What do you mean with "files"?
Lenya doesn't support operations on files ...
The API provides functionality to handle documents.


If I publish with this xType only 2 files are
taken into account. Further if I upload a file of the xType resource
type via webdav PUT, I would need to access the xType specific create
methods

Yes, that sounds reasonable.

to as well create the x-2 other files that my xType needs.

We should discuss if we want to allow documents to consist of
multiple sources.


Further as soon as I want to edit e.g. a odt document with e.g. BXE it
will request the binary document and I cannot edit it.
 Regardless
whether the odt is a zip of xml files and it is certainly possible to
edit the main xml file of the odt if I could define a resource type
specific "Editing" implementation.

Maybe we should add editing formats to the resource type declaration
as well:

<resource-type name="odt" ...>
  ...
  <format name="edit-bxe" uri="..."/>
</resource-type>


With the current architecture this seems not to be possible without a
lot of hacks.

The resource type needs to configure e.g. a Publisher similar to the
creator:

    <publisher src="org.apache.lenya.cms.authoring.DefaultPublisher"/>

I'm not sure if this is the way to go. IMO resource types and
publishing should be orthogonal. Publishing is only about moving
documents from one area to another (and invoking some additional
tasks), it should work with all documents which can be handled
by Lenya without implementing custom publishing components.


which I think should apply for all "components" working on resource
types:
Creator
Editor
Indexer
Publisher
LinkRewriter
....

I'm not convinced that this is really useful, but I'm not yet sure.
I'll think about it and maybe come up with another proposal.

Thanks for sharing your thoughts, this issue has to be discussed
in any case.

-- Andreas


--
Andreas Hartmann
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
[EMAIL PROTECTED]                     [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to