cancel
Showing results for 
Search instead for 
Did you mean: 

Xforms tied to WCM?

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

I've been working with 2.0, and it appears that the ability to enter structured XML via Xforms is tied in with the whole optional WCM feature? Is this necessary? It seems like it would be handy to be able to use Xforms as part of the general CMS, without confusing the issue with web site management.

Is there a way?

Many thanks,

Fred
20 REPLIES 20

xmaniac
Champ in-the-making
Champ in-the-making
I've been working with 2.0, and it appears that the ability to enter structured XML via Xforms is tied in with the whole optional WCM feature? Is this necessary? It seems like it would be handy to be able to use Xforms as part of the general CMS, without confusing the issue with web site management.

100% agree. I like the XForms / XSLT approach a lot. I like the CMS a lot. I would really love to add content to a space based on the XSDs uploaded. Otherwise I have to redefine the model and upload void files just for the metadata. A better integration between spaces and forms would be nuts for me.

The thing is, I just don't buy the whole WCM / virtualization scheme.. I find it useful when you are creating a simple site with lots of contributors (wikies?, digg?). My sites aren't like that. In fact, I usually have to build overly complex situations (that needs loads of backend logic) managed by a handful of users (it can be later consumed by thousands). The CMS part shines there, offering a good repository, Spring integration and advanced capabilities (WS, search, versatile uploading, ..). WCM is too complex for just..too little? I rather go with a portal approach. Maybe it's just me, of course. I'm no expert here.

kgeis
Champ on-the-rise
Champ on-the-rise
Please vote for WCM-303 (separate XForms from WCM.)   Smiley Happy

kvc
Champ in-the-making
Champ in-the-making
The thing is, I just don't buy the whole WCM / virtualization scheme.. I find it useful when you are creating a simple site with lots of contributors (wikies?, digg?). My sites aren't like that. In fact, I usually have to build overly complex situations (that needs loads of backend logic) managed by a handful of users (it can be later consumed by thousands). The CMS part shines there, offering a good repository, Spring integration and advanced capabilities (WS, search, versatile uploading, ..). WCM is too complex for just..too little? I rather go with a portal approach. Maybe it's just me, of course. I'm no expert here.

Please note:  Even if you are a single developer working on a site, the concept behind WCM is that sandboxes also act as a source code management environment for your web application … so, you get the benefits of file versioning, snapshoting, preview, deployment (coming with 2.0.1), and rollback.  Even if not deploying to large numbers of contributors with lots of distributed publishing via forms, the source code versioning model (Subversion-like, but tailored for web apps with layers and promotion models between repos and deployment and virtualization) is hopefully quite useful.

Please note that we haven't exposed the full power of the underlying repo yet in the web client - branching, merging, cross-repo comparisions, change set integration, etc. - are all available server-side but yet to be exposed.  That'll be forthcoming in future releases 2H07.

Kevin

kvc
Champ in-the-making
Champ in-the-making
Please vote for WCM-303 (separate XForms from WCM.)   Smiley Happy

Yes indeed … do vote!

We do intend to address this issue, likely 2H 2007 post our 2.1 release which is targeted for this May.  Forms serve more general ECM use cases outside of a WCM context - that is understood - and we are looking at opening up our XForms support to allow you to create and upload your own custom XForms and use them either inside or outside the context of a Web Project.

Kevin

xmaniac
Champ in-the-making
Champ in-the-making
Please note:  Even if you are a single developer working on a site, the concept behind WCM is that sandboxes also act as a source code management environment for your web application … so, you get the benefits of file versioning, snapshoting, preview, deployment (coming with 2.0.1), and rollback.  Even if not deploying to large numbers of contributors with lots of distributed publishing via forms, the source code versioning model (Subversion-like, but tailored for web apps with layers and promotion models between repos and deployment and virtualization) is hopefully quite useful.
Yes, of course. I can understand the value but I would rather use Alfresco as the content repository and keep those issues at Subversion. Subversion (coupled with something like Ant or Maven) already offers all those capabilities and just manages Java sources, classes and libraries better (among othe things). I don't know if I really need another tool for this. I don't know if WCM can even compare with other SCM tools out there, really.

Please note that we haven't exposed the full power of the underlying repo yet in the web client - branching, merging, cross-repo comparisions, change set integration, etc. - are all available server-side but yet to be exposed.  That'll be forthcoming in future releases 2H07.
Is WCM a SCM then? Do you intend us to drop [Subversion / Ant / CruiseControl] (for example) and use it instead? I think I am a little bit confused on the final goals of WCM. Do you have a document that clarifies this?

ftoth
Champ in-the-making
Champ in-the-making
I can be happy with the new WCM repository as long as it gives me all the basic CM features I need: flexible, configurable meta-data, versioning, the ability to get the stuff in and out in my own terms.

I am less comfortable with the virtualization piece, and also what appears to boil down to "you have to learn to do things the Alfresco way".

Consider:

In the WCM tutorial, there are some basic content management tasks, and some nice sandbox experiments, etc.

But there are two areas where "magic" happens.

1. When you enter a press release, if you have things just right, you will get a set of radio buttons that allow you to choose among the "company footers" that you have already set up. This is very cool, but how does it work? It appears that it somehow depends on virtualization! The document even says something like "if you don't see the check boxes, use the virtualization server to preview a particular jsp file". If you look carefully at the schema, you'll see that the list of available footers comes from a chunk of XSD that is generated on the fly via special URL. And behind that there appears to be some java bean that is part of alfresco source. I haven't even seen it, since I haven't gotten around to getting the full source. This is very interesting, but what a lot of learning I've got to do here! And must I use a virtualization server to accomplish this?

2. Later, when you have entered your press releases, there is a sample jsp that will give you a list of them. Exactly the sort of thing we need, right? We need clever ways to USE this structured data that we've entered. Well, again, it turns out that the mechanism for this is a special bean that is deployed with the rest of alfresco, so I have no idea how simple or complex this might be. I will look there next.

I realize there's lots of work to be done here, and these examples are just a first look at this technology, but I, like many, have complex sites to build with their own constraints and technology requirements. There's no way I can adopt alfresco as a "cradle to grave" system and build ALL of the logic of my sites the alfresco way. At this point, I can't see having the alfresco API involved in my final delivery engine.

As I've posted here before, what if I'm building a PHP site? Or a Rails site? (I'm not, but you get the idea.) I still need world-class CM, but there's no way I can use an Alfresco API bean to list my press releases.

So, I'm not giving up on WCM, but I'm being very cautious, and I'm using only the alfresco features that I understand, and only those that don't force me to create basic sites using all new technology that may or may not paint me into a corner.

Thanks,

Fred

arielb
Champ in-the-making
Champ in-the-making
hi,

you bring up a number of good points.  i'll try to give some explanations of what is going on here - and a very limited description of the future direction of wcm to support your use cases.

virtualization is indeed used when populating the company footer repeat within the press release form.  there is a simple backing bean, or rather java api - similar to that used for form data functions within xsl and freemarker transforms - that can be used to query the repository for form instance data of a particular form.  this is a tiny api that is backed by the AVMRemote api.  please remember that forms are in the development environment only - meaning that they have no impact on your production environment or on your choice of technologies for your production environment.  that said, within your development environment, if you want to leverage schema includes for dynamic types - you will need to develop against an alfresco api in java.

for your production environment - yes - right now the implication is that you use the same apis for aggregating form instance data in your development environment as in your production environment which does constrain your choice of technologies.  however, once the deployment piece is hooked into the product, it will enable alternatives.  the goal is that you should be able to leverage forms to generate xml content - and then manage it and utilitize it within your production environment however you wish and wherever you wish.  using workflow and deployment you should be able to implement your own method for manipulating form instance data generated within the development environment.

i hope this addresses some of your concerns.  i'll let others comment in more detail on the plan for deployment as i'm not all that involved in that.

kvc
Champ in-the-making
Champ in-the-making
Yes, of course. I can understand the value but I would rather use Alfresco as the content repository and keep those issues at Subversion. Subversion (coupled with something like Ant or Maven) already offers all those capabilities and just manages Java sources, classes and libraries better (among othe things). I don't know if I really need another tool for this. I don't know if WCM can even compare with other SCM tools out there, really.

Is WCM a SCM then? Do you intend us to drop [Subversion / Ant / CruiseControl] (for example) and use it instead? I think I am a little bit confused on the final goals of WCM. Do you have a document that clarifies this?

Alfresco can be used as a lightweight SCM for your webapps.  It is also designed to be used in conjunction with Subversion or any other SCM system you have.  The goal is to ensure we provide (a) proper in-context preview of both code and content (b) single archive of record for snapshot of entire source tree of your website/web app and © single point of deployment and rollback of your runtime environment (coming with our new deployment service in 2.0.1).

To this end, should your developers choose to leverage an existing SCM, the recommended practice is to leverage Alfresco as a staging server and target the output a build to an Alfresco sandbox, where it can be previewed, tested, and then submitted to staging to (a) ensure all contributors on an ongoing basis are testing content against the latest, greatest working version of the site and (b) snapshot and deploy both code and content.

So, the goal is to not eliminate your existing best practice - if you do not have an SCM system today and do need an environment for source code control, you can leverage Alfresco, or you can leverage Alfresco in conjunction with your SCM for improved code and content testing, staging, and release management.

Hope that addresses your concerns.  Feedback appreciated.

Kevin

xmaniac
Champ in-the-making
Champ in-the-making
The goal is to ensure we provide (a) proper in-context preview of both code and content (b) single archive of record for snapshot of entire source tree of your website/web app and © single point of deployment and rollback of your runtime environment (coming with our new deployment service in 2.0.1).

To this end, should your developers choose to leverage an existing SCM, the recommended practice is to leverage Alfresco as a staging server and target the output a build to an Alfresco sandbox, where it can be previewed, tested, and then submitted to staging to (a) ensure all contributors on an ongoing basis are testing content against the latest, greatest working version of the site and (b) snapshot and deploy both code and content.

Nicely explained! I was considering Alfresco WCM more as a developer tool than a test server. I think I like the in-context preview and test capabilities and the code & content deployments. I have serious doubts on how to use it though (I'm imaging a Spring based web using WCM for forms and CMS for documents). I will re-read all the documentation again.

I blogged yesterday a little about building a website over Alfresco (http://internna.blogspot.com) and I think I wasn't fair with WCM. I now think it can be useful, probably not to develop but in other stages of the project.