cancel
Showing results for 
Search instead for 
Did you mean: 

Can Alfresco manage templates for structured content for websites

asimakath
Champ in-the-making
Champ in-the-making
I am trying to build a content repository for an e-commerce website for which a lot of content gets authored on a daily basis for creation of promotions, events, etc. The 'assets' that I want to create are not really 'documents', but rather structured content. For example, to create a 'Product Review' asset, I would like to provide the business user with a form to enter a headline (text), a teaser (text), an image URL, and repeatable sections with an optional section heading and paragraphs (limited rich-text). We are planning to expose the assets that gets created in the repository via a REST API for a 'page builder/manager' application that is used to build pages by selecting the presentation templates (HTML/CSS), and manage events to use this content on the customer-facing website. I am curious to know if I can create a hierarchy of asset class definitions to store, search and retrieve such assets using Alfresco Share. I cannot just go with the document management features of Alfresco as there is no 'content' or 'file' to be stored, but only structured 'content'.
1 REPLY 1

jpotts
World-Class Innovator
World-Class Innovator
Yes, it is definitely possible to do this. The devil is in the details, of course. For example, Alfresco supports multi-valued properties but has nothing out-of-the-box that groups together multiple related properties. That makes things like repeating groups a little tough to model.

Types are hierarchical in Alfresco, so the asset class definitions might map well to a set of hierarchical types.

The repository itself is also hierarchical, so if you have data that "contains" other data, the repository is well-suited for that.

You may find that although you think you do not have files to store, it may be easier from a modeling perspective to store chunks of JSON as the content stream on an object. For example, suppose the front-end web application expects an object to be described as a chunk of JSON. You might not need to actually extract much of that data into properties on the Alfresco node. So if you don't, you might be better off storing the JSON chunk in Alfresco as content and only setting properties on the node itself that you need for fetching that object later.

As you mentioned, you'll probably have a custom authoring user interface to gather the data and persist it into the repository. This is quite common. There is nothing that requires you to use Alfresco Explorer or Alfresco Share.

The biggest thing I would caution you about is that the repository is not relational. You can associate nodes with other nodes but then querying across those relationships becomes painful as the number of different types of relationships grows or even as the number of related nodes grows. There is no join-like query, for example. So if your data is highly relational it may not be the best fit.

If you won't be managing files and you won't be taking advantage of some of the other Alfresco subsystems (workflow, transformations, versioning, security, etc.) then I have to wonder why you would want to use Alfresco for this versus some other type of repository.

With that said, what you describe is a fairly common use case. At least one company (http://craftersoftware.com) has built an entire product on that approach. And there are multiple examples of people developing their own custom solution to do what you describe.

Hope that helps,

Jeff



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.