Share content across subsites in Plone: cultact.subsite
Upcoming SlideShare
Loading in...5
×
 

Share content across subsites in Plone: cultact.subsite

on

  • 288 views

Presentation at Plone Open Garden 2014 for the cultact.subsite content syndication toolkit. See source code + README at https://github.com/cosent/cultact.subsite

Presentation at Plone Open Garden 2014 for the cultact.subsite content syndication toolkit. See source code + README at https://github.com/cosent/cultact.subsite

Statistics

Views

Total Views
288
Views on SlideShare
287
Embed Views
1

Actions

Likes
3
Downloads
5
Comments
1

1 Embed 1

http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Simplifying content lifecycle management by using a proper layout of site structures. The presented package and setup is an excellent example how flexible Plone can be configured to customer – and more important – user demands. This improves the overall experience for different audiences.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Share content across subsites in Plone: cultact.subsite Share content across subsites in Plone: cultact.subsite Presentation Transcript

  • cultact.subsite Guido Stevens guido.stevens@cosent.nl www.cosent.nl Social Knowledge Technology
  • Sharing Content between subsites
  • Twin Sites
  • Shared Content
  • URL rewrites # shared user folders rewrite ^/profielen/$ /profielen permanent; rewrite ^/profielen(.*) /VirtualHostBase/http/$server_name:80/ka/VirtualHostRoot/profielen$1 last; # livesearch all content rewrite ^/livesearch(.*) /VirtualHostBase/http/$server_name:80/ka/VirtualHostRoot/livesearch$1 last; # serve subsite rewrite ^/(.*) /VirtualHostBase/http/$server_name:80/ka/maastricht/VirtualHostRoot/$1 last;
  • cultact.subsite ● request marking ● content containers ● assignment behavior ● catalog & collections ● canonical URL SEO
  • Request Marking ● Inspired by plone.theme ● before_traverse hook maps request SERVERNAME to subsite ● request.set('in_subsite', chosen) ● Marks request with subsite-specific browser layer So? ● body class=”subsite_maastricht” CSS and Diazo rules ● Full custom theme registered for subsite layer possible <drop css:theme=".only-subsite-maastricht" css:if-not-content="body.subsite-maastricht" />
  • Content Containers ● dexterity.container ● Inspired by Lineage ● INavigationRoot ● ISite ● Very little content here – subsite-local advertisements – subsite-local contact info
  • Assignment Behavior ● Dexterity behavior to map shared content to subsites ● subsite_home – “main” subsite – single choice ● subsite_syndication – “default visible in” subsites – multi choice ● Used to power browser query logic – default: request.in_subsite in context.subsite_syndication – other: request.in_subsite != context.subsite_home
  • Catalog & Collections ● Catalog indexes – subsite_home – subsite_syndication ● Collection criteria – subsite_home – subsite_syndication ● MultisiteCollection behavior – override Collection to not force INavigationRoot path query
  • Misc Overrides ● override plone.app.layout.links.viewlets.CanonicalURL – point to “home” subsite virtual URL for shared content ● override Products.Doormat viewlet – show correct footer on shared content – uses request marker to retrieve “right” Doormat ● Need to override search in your own custom code
  • Sharing Content between subsites