cancel
Showing results for 
Search instead for 
Did you mean: 

Can custom aspects be applied to WCM generated content?

chrisb
Champ in-the-making
Champ in-the-making
I have successfully managed to implement some custom aspects and apply them to content within the main Alfresco repository based on the info in the Shariff Alfresco book.

Can these custom aspects be applied to XML content generated via XForms in the WCM? I couldn't see a way of applying them to spaces within the Web project area, but I may be missing something here  Smiley Happy .

btw I'm Using the 2.0 WCM release, and would be interested to hear if this is possible with the current release or whether its something that will be available in a future release.

Thanks.
6 REPLIES 6

kevinr
Star Contributor
Star Contributor
The ability to add/edit custom aspects and to use custom avm types will be added in a future release for the WCM module.

Thanks,

Kevin

chrisb
Champ in-the-making
Champ in-the-making
Thanks Kevin.

Any idea whether this will be in the next release, or are we talking about sometime later in 2007 (3rd/4th quarter)?

kvc
Champ in-the-making
Champ in-the-making
Chris:


Different Kevin here (Cochrane versus Roast).

The AVM today supports custom types and aspects (although it does not for a variety of reasons support associations specifically yet).  What is missing from web projects today is the GUI for enforcing assignment of metadata, specifically at time of asset submission.

We are investigating this capability for our next feature release, 2.1.0, which is targeted for June (dates are still in flux, however).  This capability is likely to push, however, to a subsequent update, 2.x.0, tentatively targeted for end of summer.

With 2.0.0, the general model should be the following:

1.  For documents, documents should be created in a regular Alfresco
     space.  Content types can be enforced and content rules can be
     used to transform that document to a web-ready format (PDF) and
     promote to multiple web projects (multi-channel publishing).  The
     promoted PDF asset will carry with it it's metadata upon promotion,
     meaning that within a web project there should not be a need for
     having metadata assignment enforced by a custom content type.

     This is the general model we will follow in all future versions of
     Alfresco (knowledge workers originate and collaborate on documents
     in a collaborative environment and "publish" either manually or
     via a rule to multiple web projects where they can be staged,
     linked into web pages, and launched with other "published"
     documents from other knowledge workers at an appropriate time.

2.  For XML, XML documents should have their metadata captured
     in-line with the content itself and have the data defined in it's XSD.
     A web form essentially uses XSD to define a custom content type,
     where shared elements across XSD are supported in the XSD
     via an xsd:include.

3.  For cases where users wish to only use a web project for uploading
     and publishing documents, a web form can be created to define
     the metadata required for a particular document type.  This
     XSD should include an file browser data type as it's first element,
     and end-users can then choose to create a new asset, say a
     datasheet, by selecting the database web form.  In that web form,
     end users can upload the document and then assign the metadata
     to that document.  The document itself will live as a file in the
     web project, and the metadata as a separate XML document.

#1 and #2 will be continue to be the preferred and supported model
for document collaboration and multi-channel publishing even when
our GUI supports metadata assignment for custom AVM asset types.
#3 is an intermediate step towards that GUI, as we do look to leverage
XForms for metadata capture moving forward.

Let me know if any further questions.


Kevin

chrisb
Champ in-the-making
Champ in-the-making
Thanks for the comprehensive reply Kevin 8). That helps me better understand the way we should be approaching our project design.

I think for us the development of the association management side of things will be of particular interest. The ability for Alfresco to automatically update / validate associations between linked XML documents (& metadata) in particular would be really useful for us.

Thanks,

Chris

ftoth
Champ in-the-making
Champ in-the-making
Hi,

I've seen a couple of references in various posts about using PDF as
the preferred mechanism for moving from "classic" spaces to WCM
spaces.

And each time I go, "huh?". What's the significance of PDF here? Everybody
publishes everything on the web, not just PDF, right?

I must be missing something?

Thanks,

Fred

rsung
Champ in-the-making
Champ in-the-making
Chris:


Different Kevin here (Cochrane versus Roast).

The AVM today supports custom types and aspects (although it does not for a variety of reasons support associations specifically yet).  What is missing from web projects today is the GUI for enforcing assignment of metadata, specifically at time of asset submission.

We are investigating this capability for our next feature release, 2.1.0, which is targeted for June (dates are still in flux, however).  This capability is likely to push, however, to a subsequent update, 2.x.0, tentatively targeted for end of summer.

With 2.0.0, the general model should be the following:

1.  For documents, documents should be created in a regular Alfresco
     space.  Content types can be enforced and content rules can be
     used to transform that document to a web-ready format (PDF) and
     promote to multiple web projects (multi-channel publishing).  The
     promoted PDF asset will carry with it it's metadata upon promotion,
     meaning that within a web project there should not be a need for
     having metadata assignment enforced by a custom content type.

     This is the general model we will follow in all future versions of
     Alfresco (knowledge workers originate and collaborate on documents
     in a collaborative environment and "publish" either manually or
     via a rule to multiple web projects where they can be staged,
     linked into web pages, and launched with other "published"
     documents from other knowledge workers at an appropriate time.

2.  For XML, XML documents should have their metadata captured
     in-line with the content itself and have the data defined in it's XSD.
     A web form essentially uses XSD to define a custom content type,
     where shared elements across XSD are supported in the XSD
     via an xsd:include.

3.  For cases where users wish to only use a web project for uploading
     and publishing documents, a web form can be created to define
     the metadata required for a particular document type.  This
     XSD should include an file browser data type as it's first element,
     and end-users can then choose to create a new asset, say a
     datasheet, by selecting the database web form.  In that web form,
     end users can upload the document and then assign the metadata
     to that document.  The document itself will live as a file in the
     web project, and the metadata as a separate XML document.

#1 and #2 will be continue to be the preferred and supported model
for document collaboration and multi-channel publishing even when
our GUI supports metadata assignment for custom AVM asset types.
#3 is an intermediate step towards that GUI, as we do look to leverage
XForms for metadata capture moving forward.

Let me know if any further questions.


Kevin

Hi Kevin,

It appears that custom multi-value aspects are not supported. Is this correct? 

When a collection is passed as an aspect value, AlfrescoRuntimeException is thrown by the function in org.alfresco.repo.domain.PropertyValue class.


    private static ValueType makeValueType(QName typeQName)
    {
        ValueType valueType = valueTypesByPropertyType.get(typeQName);
        if (valueType == null)
        {
            throw new AlfrescoRuntimeException(
                    "Property type not recognised: \n" +
                    "   type: " + typeQName);
        }
        return valueType;
    }

Thanks in advance.