Web Quick Start       a look at the web tier<br />2<br />Brian Remmington<br />Alfresco Product Architect, WCM<br />
Web Quick Start<br />3<br />A quick demonstration<br />The architecture<br />How it’s wired together<br />The WQS API<br /...
A tour of the Quick Start website<br />4<br />
The WQS architecture<br />5<br />WQS API<br />WQS API<br />Transfer Service<br />
Wiring the application together<br />6<br />web.xml<br />Creates Spring dispatcher servlet<br />web-application-config.xml...
The Web Quick Start API<br />7<br />API wired with “wcmqs-api-context.xml”<br />Auto-bootstrapped when dropped into a Surf...
The WQS API – websites, sections, assets<br />8<br />Bean “webSiteService” is a good starting point:<br />
The WQS API – asset collections, renditions, feedback<br />9<br />
The application data interceptor<br />10<br />Executes before the default controller is reached<br />Uses the requested UR...
The dynamic page view resolver<br />11<br />Wired in to respond whenever an asset has been resolved<br />Discovers the pag...
The streamed asset controller<br />12<br />org.alfresco.wcm.client.controller.StreamedAssetController<br />Provides suppor...
The other controllers<br />13<br />org.alfresco.wcm.client.controller.SearchFormController<br />An example of a Spring Ann...
Handling a typical request<br />14<br />
A whirlwind tour of the WQS folder structure<br />15<br />
The anatomy of a page<br />16<br />
The anatomy of a page<br />17<br />
The anatomy of a page<br />18<br />five-block.ftl<br />
The anatomy of a page<br />19<br />bellyband<br />left1<br />right1<br />bottom-left<br />bottom-right<br />
The anatomy of a page<br />20<br />
The anatomy of a page<br />21<br />
The anatomy of a page<br />22<br />webscripts/list/wide.get.js<br />webscripts/list/wide.get.html.ftl<br />bottom-left<br ...
The anatomy of a page<br />23<br />left1<br />
Learn More<br />24<br />wiki.alfresco.com<br />forums.alfresco.com<br />twitter: @AlfrescoECM<br />
Upcoming SlideShare
Loading in...5
×

Web Quick Start: Exploring the Web Tier

1,708

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
1,708
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
70
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 />
    1. A particular slide catching your eye?

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

    ×