Web Quick Start: Exploring the Web Tier

2,040 views
1,846 views

Published on

This session aims to give developers the knowledge they need to take the example WQS website and to develop their own website based on it. Kicking off with a quick demonstration of the website, we'll then take it apart bit by bit to expose the underlying architecture, how requests are handled, the WQS API, and how to write new templates and components.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,040
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
71
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 02:00 02:00
  • 05:00 07:00
  • 03:00 10:00
  • 02:00 12:00
  • 03:00 15:00
  • 04:00 19:00
  • 04:00 23:00
  • 03:00 26:00
  • 03:00 29:00
  • 03:00 32:00
  • 02:00 34:00
  • 04:00 38:00
  • 04:00 42:00
  • 08:00 50:00
  • 08:00 50:00
  • 08:00 50:00
  • 08:00 50:00
  • 08:00 50:00
  • 08:00 50:00
  • 08:00 50:00
  • 08:00 50:00
  • Web Quick Start: Exploring the Web Tier

    1. 1. Web Quick Start a look at the web tier<br />2<br />Brian Remmington<br />Alfresco Product Architect, WCM<br />
    2. 2. Web Quick Start<br />3<br />A quick demonstration<br />The architecture<br />How it’s wired together<br />The WQS API<br />How requests are handled<br />Creating and using a new page template<br />Primary goal:<br />To equip you with knowledge of how the web tier of WQS works so that you can start building your own websites based on it<br />What we’ll cover<br />
    3. 3. A tour of the Quick Start website<br />4<br />
    4. 4. The WQS architecture<br />5<br />WQS API<br />WQS API<br />Transfer Service<br />
    5. 5. Wiring the application together<br />6<br />web.xml<br />Creates Spring dispatcher servlet<br />web-application-config.xml<br />Loads up surf-config and wcmqs-webapp-context<br />Bootstraps Surf itself and defines new default request handler and interceptors<br />surf-config.xml<br />Other request handlers, view resolvers, Freemarker directives, and interceptors<br />wcmqs-webapp-context.xml<br />
    6. 6. The Web Quick Start API<br />7<br />API wired with “wcmqs-api-context.xml”<br />Auto-bootstrapped when dropped into a Surf application<br />Properties that can be adjusted (with their defaults):<br />wcmqs.api.alfresco=http://localhost:8080/alfresco<br />wcmqs.api.user=admin<br />wcmqs.api.password=admin<br />wcmqs.api.alfresco.cmis=%{wcmqs.api.alfresco}/service/cmis<br />wcmqs.api.alfresco.webscript=%{wcmqs.api.alfresco}/service/api/<br />Override in a file named “wqsapi-custom.properties” in the “alfresco/extension” folder on the classpath<br />
    7. 7. The WQS API – websites, sections, assets<br />8<br />Bean “webSiteService” is a good starting point:<br />
    8. 8. The WQS API – asset collections, renditions, feedback<br />9<br />
    9. 9. The application data interceptor<br />10<br />Executes before the default controller is reached<br />Uses the requested URL to find the website, section, and asset that are being addressed<br />www.example.com/news/global/financial_outlook_good<br />Stores the API objects on the request context with the names “website”, “section”, and “asset”.<br />website<br />asset<br />section<br />
    10. 10. The dynamic page view resolver<br />11<br />Wired in to respond whenever an asset has been resolved<br />Discovers the page name to be used to render the asset<br />Each section may define template mappings from asset type to view name<br />Searches up the type hierarchy first, then the section hierarchy<br />
    11. 11. The streamed asset controller<br />12<br />org.alfresco.wcm.client.controller.StreamedAssetController<br />Provides support for simple-to-generate, permanent URLs for assets:<br />http://localhost:8081/wcmqs/asset/de2f9b66-6bbd-4347-8f24-4ed06299ad8a<br />Slightly faster to generate<br />Remains the same when the asset is renamed or moved<br />Supports renditions:<br />…/asset/de2f9b66-6bbd-4347-8f24-4ed06299ad8a?rendition=mediumNewsThumbnail<br />Still looks for the appropriate template<br />Is mapped to the path “/asset/**” (in wcmqs-webapp-context.xml)<br />
    12. 12. The other controllers<br />13<br />org.alfresco.wcm.client.controller.SearchFormController<br />An example of a Spring Annotation Handler<br />Search<br />RSS<br />org.alfresco.wcm.client.controller.RssController<br />Another annotated handler<br />Mapped to “**/rss.xml”<br />
    13. 13. Handling a typical request<br />14<br />
    14. 14. A whirlwind tour of the WQS folder structure<br />15<br />
    15. 15. The anatomy of a page<br />16<br />
    16. 16. The anatomy of a page<br />17<br />
    17. 17. The anatomy of a page<br />18<br />five-block.ftl<br />
    18. 18. The anatomy of a page<br />19<br />bellyband<br />left1<br />right1<br />bottom-left<br />bottom-right<br />
    19. 19. The anatomy of a page<br />20<br />
    20. 20. The anatomy of a page<br />21<br />
    21. 21. The anatomy of a page<br />22<br />webscripts/list/wide.get.js<br />webscripts/list/wide.get.html.ftl<br />bottom-left<br />bottom-right<br />
    22. 22. The anatomy of a page<br />23<br />left1<br />
    23. 23. Learn More<br />24<br />wiki.alfresco.com<br />forums.alfresco.com<br />twitter: @AlfrescoECM<br />

    ×