Web Quick Start: Under the Covers


Published on

In this session we'll be introducing the Web Quick Start and taking a detailed look at the elements that sit in the background to make the system work. We'll be covering the content model, custom behaviours, rendition configuration, the publishing mechanism, and how user feedback is processed. Finally, we'll give a demonstration of it all in action.

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 01:00 01:00
  • 02:00 03:00
  • 04:00 06:00
  • 03:00 09:00
  • 04:00 13:00
  • 03:00 16:00
  • Create new site and import WQS dataWalk around doc lib, pointing out things of interest: website metadata, folder structure, collections, section template configEdit the port number for the editorial site, and remove the “isEditorial” flagWalk around the website: into each section – blogs lastTake a look at the data list(s) that have been created (empty)Post a comment to a blog post, show it appear in the data listBack to site – show the comment on the blog page (including count)Load a new image into the news section (Koala) – show the rendition definitions for the news sectionFind it’s UUID, and show using the asset controller. Show the renditions “largeNewsThumbnail”, “mediumNewsThumbnail”, “featuredNewsThumbnail”Find a news article on the website and point out its image. In Share, edit the primary image of that article to be the Koala. Show the change on the website.Into Share. Add a tag or two to some news articlesOnto site: show the tags appear on the articles and the tag roll-up on the news landing pageSend a “contact us” requestShow the contact us request in the data list and the workflow task in admin user’s task list.Publish section structure some example articles (blogs?)Show them appear in Share and on the “live” website.
  • Web Quick Start: Under the Covers

    1. 1. Web Quick Start under the covers<br />1<br />Brian Remmington<br />Alfresco Product Architect, WCM<br />
    2. 2. Web Quick Start<br />2<br />The WQS model<br />Behaviours tied to the model<br />Asset collections<br />Generating renditions<br />Processing received feedback<br />The publishing mechanism<br />Primary goal:<br />To equip you with knowledge of how the WQS works under the covers so you can take it, use it, and extend it<br />What we’ll cover<br />
    3. 3. The Web Quick Start model<br />3<br />
    4. 4. The content model<br />4<br />
    5. 5. Section behaviours – SectionType.java<br />5<br />Create an index page<br />Create a collections folder<br />Create default collections<br />3 asset collections by default<br />Default asset collections are configurable by overriding a List bean:<br />wqsmodule_sectionAssetCollections<br />Upon creation<br />Convert images to ws:image<br />Convert text to ws:article<br />Apply ws:webasset aspect<br />Render Office documents as PDF<br />Prevent the conversion to ws:image and ws:article type by overriding a Set bean:<br />wqsmodule_sectionTypesToIgnore<br />Upon child being added<br />
    6. 6. More behaviours<br />6<br />On add aspect<br />Set initial published time<br />Generate renditions<br />On update content<br />Generate renditions<br />Before delete<br />Place deletion on the publish queue<br />Assets – WebAssetAspect.java<br />VisitorFeedbackType.java<br />TaggableAspect.java<br />TagScopeAspect.java<br />WebSiteType.java<br />…<br />All in the same package:<br />org.alfresco.module.org_alfresco_module_wcmquickstart.<br /> model <br />And yet more…<br />
    7. 7. Asset collections<br />7<br />Groups of assets that are uniquely named within the scope of a particular section<br />Static asset collections<br />Editor control over which assets are included<br />Dynamic asset collections<br />Configured with a search query, maximum number of results, and a refresh period in minutes<br />The query is executed periodically (as configured), and the results are placed in the asset collection<br />CMIS and Lucene supported<br />
    8. 8. Dynamic asset collections<br />8<br />Queries can contain references to sections using the “section” placeholder:<br />${section:.} is the section that owns the asset collection<br />${section:/} is the root section of the website<br />${section:..} is the parent of this collection’s section<br />${section:/news/global} is the section at the path “news/global” from the root<br />etc…<br />
    9. 9. Generating renditions<br />9<br />Each section may define what renditions should be created when an asset is added or updated<br />The configuration allows rendition definitions to be related to asset types (both by content type and MIME type)<br />Rendition definitions are defined in a Spring bean named “wqsmodule_renditionDefinitions”(defaults are in the file “rendition-context.xml”)<br />Each section may either inherit the rendition configuration from its parent section or not<br />
    10. 10. Receiving and processing feedback<br />10<br />Each website has a corresponding data list for feedback (auto-created)<br />New entries are periodically processed – each type of feedback can have its own handler defined<br />CommentFeedbackProcessorHandler<br />feedbackType = “Comment”<br />ContactFeedbackProcessorHandler<br />feedbackType = “Contact Request”<br /><bean id="commentFeedbackProcessorHandler" parent="feedbackProcessorHandler"<br /> class="org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.feedback.CommentFeedbackProcessorHandler"><br /><property name="feedbackType" value="Comment" /><br /></bean><br />
    11. 11. The publishing mechanism<br />11<br />Each website has a publishing queue<br />WQS has a PublishService that processes the queues (“org_alfresco_module_wcmquickstart_publishingService” bean)<br />Two processes defined: “wswf:publishTree” and “wswf:reviewPublish”<br />Two actions defined: “webqs_publishTree”and “webqs_publish”<br />
    12. 12. The publishing mechanism cont’d<br />12<br />Queues are published periodically – every minute by default (override with property wcmqs.publishQueueProcessor.schedule)<br />Each website node may specify another website node that it publishes to<br />A configurable node crawler is used to publish other nodes that the published ones depend on (override by specifying a replacement for the “wqsmodule_publishingCrawlerConfigurer”bean)<br />A reconfigured transfer service is used to do the publishing<br />
    13. 13. The WQS Share Dashlet<br />13<br /><ul><li>Override map of available ACP files using a bean named “wqsmodule_siteImportFileLocations”</li></li></ul><li>Seeing it all together<br />14<br />
    14. 14. Learn More<br />15<br />wiki.alfresco.com<br />forums.alfresco.com<br />twitter: @AlfrescoECM<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.