cancel
Showing results for 
Search instead for 
Did you mean: 

Inspirations for WCM?

marcus
Champ in-the-making
Champ in-the-making
My background is largely PHP, but I recently took a job with a predominantly Java based company, who are slowly adopting Alfresco as their tool of choice. The majority of web content management work that I've done previously has been with MySource Matrix, which I found to be quite powerful and despite its flaws in some areas, in others it was far more advanced than many other wcms I've played with. Like most PHP people, I've also dabbled in Mambo/Jango, Textpattern, Wordpress and roll-my-own CMSes.

What little I've seen of Alfresco so far has impressed me, but it seems very document-centric, so now I'm trying to visualise how the WCM side of it will be put together. What WCMSes does Alfresco's WCM take ideas from, both at the technical architecture level, and from an end user's interaction perspective in the various roles (ie site builder/implementor, graphical/html designer, site administrator, content author)? I'm trying to build a mental picture of what it will be like to interact with the WCM side of Alfresco, and what kind of knowledge the different roles will need to interact with the system.

I guess there's a few 'site-builder' type questions I have, which I'll slowly add here as I think of them over time. I'm sure some of them have been answered in other places, but my Java lingo is way out of date and I've found since getting my feet back into Java that I miss the meaning of some things due to that Smiley Wink. And, some of them may not be answerable just yet, so if there is no answer, I guess I'll figure it out in time Smiley Wink

  • How will I go about creating a site wide template that I apply to all pages/content items in a specific tree?

  • How will I generate lists of items on pages? For example, I want to have a page that is a table of contents, or I want to have a sidebar item that is a list of latest news posts to appear on all pages across a site.

  • How do I configure a page to allow content submission by the general public, and have it placed in certain spaces depending on that I specify?

  • How do I allow public users to register an account on the site?

  • The typical question asked about WCMs… How do I build an image gallery?
2 REPLIES 2

kvc
Champ in-the-making
Champ in-the-making
Thanks for the post.  I'll do my best to give you some answers:

I'm trying to visualise how the WCM side of it will be put together

Alfresco's WCM services will introduce the following concepts:

1.  Enhanced repository services to support:
     -  Change sets.  This is the ability to take a collection of assets
        (for example, a JSP page and all its necessary components:  included
         HTML fragments, sourced images, videos, hyperlinked PDFs,
         JavaScript files, and XML content files) and promote through
         a series of virtual staging areas via workflow for editorial review,
         test, and timed deployment.
      -  Virtualization.  This is the ability to preview a fully functional
         version of the website - all hyperlinks working correctly, all
         images properly sourced, all source code both client- and server-side
         properly exectuting for proper preview and test.
      -  Sandboxed development and change set integration.  This is
          the ability to make modifications to files and directories within
          a workspace and preview completely independently of changes
          to a shared virtual source tree (directory structure) made in another
          workspace and support integrating both change sets as part of
          a promotion and staging process for in-context preview of changes
          made by different members of an editorial team (for example,
          developers and publishers)
       -  Directory-level versioning and whole site editioning.  This is the
           ability to support version histories at a directory level to recover
           a previous version of an image library or an entire previous
           version of a website.
        -  Layered views.  This is the ability to establish the development
           and preview context of a changes made in a workspace, setting
           the versions of files and folders against which you want to make
           and test your changes (for example, see your content or code
           change against today's website versus next Monday's view of
           the website).
        -  Branching and merging.  This is the ability to take a snapshot
            of a current version of the website and work on a parallel branch
            doing a redesign, adding new functionality, a new section, etc.
            for full support for sandboxing testing and merging back into
            the mainline of development.

2.  XML data capture and transformation
     -  Support for XSD.  This is the ability to specify content types
        via support for uploading XSDs or building XSDs via an integrated
        GUI builder.
     -  Support for XForms.  This is the ability to generate an HTML form
        that can be exposed to end-users in a content creation wizards to
         capture and validate data that can be written out into Alfresco in
        a form that corresponds to its matching XSD.
     -  Support for XSL.  This is the ability to generate one or multiple
         output formats of one or more XMLs by automatically or manaully
         applying an appropriate XSL against assets created by the content
         creation wizard.
     -  Support for any arbitrary templating engine.  Same as the above,
        except using alternative templating engines as plug-and-play
        modules.  Freemarker support OOTB both others like Velocity
         fully supported.

3.  De-coupled content management and delivery
     -  Flat static HTML to external file-system.  This is the ability to
         capture XML in Alfresco, generate as HTML, and deploy to a
         separate file-server outside your firewall for scalable content
         delivery.
     -  Code assets to external file-system and dynamic assets (XML) to
         a run-time Alfresco server instance.  This is the ability to capture
         XML and manage side-by-side with source code (JSP, class files,
         JAR files) in Alfresco and push finalized code to a file-server and
         dynamic assets to a run-time Alfresco server for dynamic content
          delivery.
     -  Dynamic asset (XML) propogation to a run-time Alfresco instance
        with arbitrary web application or portal framework and custom-built
        front-end.  Same as the above, but instead using Alfresco solely
        to capture XML and push to whatever custom portal or front-end
         you've hand-built using an alternative web app framework.

4.  Integrated content delivery.

     This is a set of OOTB JSF components (leveraging Facelets) that
     use Alfresco's JCR API and can be used in your JSP pages managed
     and deployed by Alfresco for rapidly building dynamic, content-rich
     web apps.

WCMSes does Alfresco's WCM take ideas from, both at the technical architecture level

Alfresco approach to WCM is novel.  Alfresco's approach to WCM is to view web content - and website and web application - management as both an XML publishing and source code management problem.  From the source code side, Alfresco's concepts come from the basic principles of good source code control (sandboxed development, branching, merging, directory versioning) and in final form wind up being a superset of the capabilities afforded by Subversion, albeit in a JSR-170 compliant repository that also servers as  best-in-class document and content repository.

from an end user's interaction perspective in the various roles (ie site builder/implementor, graphical/html designer, site administrator, content author

Alfresco is focused on providing a unified environment for application developers, web developers, web designers, content managers, content publishers, content contributors, and content reviewers.  Each users in each role can use their tool of choice and manage their own unique assets.  Each user in each role can be exposed to and take advantage of more basic or more advanced Alfresco services.  Reviewers will simply work via emails informing them of what needs to be reviewed and approved.  Content contributors will simply work in their collaboration spaces with web publishing triggered as a business rule.  Content publishers will work via our content creation wizard and simple HTML forms.  Content managers wil work via dashboards.  Developers and designers will work in sandboxed environments where they modify and test wholesales changes to the site.

How will I go about creating a site wide template that I apply to all pages/content items in a specific tree?


Two items here.  First, all source code included *.css files will be stored and managed in Alfresco.  Changing a *.css in a workspace (a sandboxed dev environment) can be isolated from other users for separate test and staging.  Second, via workflow change to a master or included template used to generate any or all pages in a subdirectory of the site can be automatically re-applied to regenerate a site or site section in the context of a workspace (a sandboxed dev environment), tested, preview, and staged for publishing.

How will I generate lists of items on pages? For example, I want to have a page that is a table of contents, or I want to have a sidebar item that is a list of latest news posts to appear on all pages across a site.


Three items here.  First, this can be done via XSLT.  Second, this can be done by Freemarker or any other templating engine plugged into Alfresco.  Third, for dynamic pages, Alfresco will provide default JSF components in run-time that leverage Alfresco's JCR API to quickly and easily accomplish this.

How do I configure a page to allow content submission by the general public, and have it placed in certain spaces depending on that I specify?


Since a separate instance of Alfresco will be used for your run-time content
repository, any and all Alfresco services - including Alfresco forms - can be included in your JSP pages using our Java API.  In the future, we will also provide OOTB JSF tags to more readily accomplish this.

How do I allow public users to register an account on the site?


This would be your own custom logic built in your run-time app.

The typical question asked about WCMs… How do I build an image gallery?

Easy!  Just store all your images in Alfresco!

jcox
Champ in-the-making
Champ in-the-making
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.