SlideShare a Scribd company logo
PLONE SYMPOSIUM EAST 2011




Plone Theming in a
     Nutshell
    Chrissy Wainwright
Create the Theme
                                          PLONE SYMPOSIUM EAST 2011




$ paster create -t plone3_theme


From the command line, use paster in
builtout/src to create the theme.

This template does work for Plone 4, specify
‘Sunburst Theme’ as the skinbase.
Install the Theme
                                            PLONE SYMPOSIUM EAST 2011




Add your new theme to buildout.cfg in the
[buildout] section under eggs, zcml, and develop.


Run buildout, start instance, and install theme in
ZMI > portal_quickinstaller.
Change the Logo
                                       PLONE SYMPOSIUM EAST 2011




The name of the logo image to be used can be
found and changed in
skins/styles/base_properties.props


Put your new logo in skins/images/ and make
sure the filename matches what is in
base_properties.
Apply Styles
                                            PLONE SYMPOSIUM EAST 2011




Put a file into your theme/skins/styles folder
called ploneCustom.css


Create new CSS files by adding them to the CSS
registry.

cssregistry.xml - Generic Setup - portal_css
Generic Setup
                                          PLONE SYMPOSIUM EAST 2011




Generic Setup is the connection between
content/changes in your site and the filesystem.

ZMI > portal_setup > Import/Export tab

theme/profiles/default/
Generic Setup
                                             PLONE SYMPOSIUM EAST 2011




* portal_actions : Action Providers : actions.xml
* portal_css : Stylesheet Registry : cssregistry.xml
* portal_javascripts : Javascript Registry :
  jsregistry.xml
* portal_types : Types Tool : types/[type].xml
* @@manage-viewlets : Viewlet Settings :
  viewlets.xml
Find Original Templates
                                         PLONE SYMPOSIUM EAST 2011




Using omelette, you can find the templates you
want to override.

Viewlets: plone/app/layout/viewlets

Portlets: plone/app/portlets/portlets


Other templates: Products/CMFPlone/skins/
Identify Plone Elements: Viewlets
                                    PLONE SYMPOSIUM EAST 2011
Override Viewlets
                                            PLONE SYMPOSIUM EAST 2011




From plone/app/layout/viewlets:
* viewlet-specific code in configure.zcml
* viewlet template
Override Viewlets
                                             PLONE SYMPOSIUM EAST 2011




Put overrides into theme/browser:
* configure.zcml
  - update relative paths (manager, class)
  - add template=”...
  - add layer=”.interfaces.IThemeSpecific”
* viewlet template
Override Viewlets: z3c.jbot
                                          PLONE SYMPOSIUM EAST 2011




Or use z3c.jbot!
In theme/browser/configure.zcml:

<include package=”z3c.jbot” file=”meta.zcml” />

<browser:templateOverrides
      directory=”template-overrides”
      layer=”.interfaces.IThemeSpecific” />
Override Viewlets: z3c.jbot
                                      PLONE SYMPOSIUM EAST 2011




Templates can now go into
theme/browser/template-overrides named by
referencing the dotted path to the file:


plone.app.layout.viewlets.footer.pt
Identify Plone Elements: Portlets
                                    PLONE SYMPOSIUM EAST 2011
Override Portlets
                                           PLONE SYMPOSIUM EAST 2011




In theme/browser/configure.zcml:

<include package=”plone.app.portlets” />

<plone:portletRenderer
    portlet=”plone.app.portlets.portlets.events.
             IEventsPortlet”
    template=”events.pt”
    layer=”interfaces.IThemeSpecific” />
Override Templates
                                       PLONE SYMPOSIUM EAST 2011




If the original template is found in skins:
 * put a copy in your theme/skins/ folder
 * use the exact same name
 * copy any associated .metadata files
 * ex: Products/CMFPlone/skins/plone_content/
    document_view.pt
Editing Actions
                                               PLONE SYMPOSIUM EAST 2011




Parts of the site that use actions:
* personal bar (login, preferences, etc)
* main navigation Home link
* document actions (print, send)
* site actions (contact, accessibility, etc)
Editing Actions
                                        PLONE SYMPOSIUM EAST 2011




* ZMI > portal_actions
* Export Action Providers
* remove extra code from actions.xml that you
  did not adjust
Common Stumbling Blocks
                                        PLONE SYMPOSIUM EAST 2011




What to look for when your changes are not
showing up




                                          Flickr: gfpeck
Common Stumbling Blocks
                                      PLONE SYMPOSIUM EAST 2011




1. Make sure the theme is installed

ZMI > portal_quickinstaller
Common Stumbling Blocks
                           PLONE SYMPOSIUM EAST 2011




2. Restart your instance
* .zcml
* .py
* new z3c.jbot override
Common Stumbling Blocks
                              PLONE SYMPOSIUM EAST 2011




3. Turn on Development mode


ZMI > portal_css
ZMI > portal_javascripts
Common Stumbling Blocks
                                     PLONE SYMPOSIUM EAST 2011




4. Generic Setup - XML Files
* import changes in
   ZMI > portal_setup > import tab
Common Stumbling Blocks
                                       PLONE SYMPOSIUM EAST 2011




5. Check the custom folder


ZMI > portal_skins > custom
ZMI > portal_view_customizations > contents
Common Stumbling Blocks
                                      PLONE SYMPOSIUM EAST 2011




5. Skins Order

ZMI > portal_skins > properties tab
PLONE SYMPOSIUM EAST 2011




   eck out
Ch
           .com/ demos
six feetup

More Related Content

What's hot

Joomla : Akeeba backup and Amazon S3
Joomla : Akeeba backup and Amazon S3Joomla : Akeeba backup and Amazon S3
Joomla : Akeeba backup and Amazon S3
Marc DECHEVRE
 
JD17NL Joomla! Overrides and alternate layouts
JD17NL Joomla! Overrides and alternate layoutsJD17NL Joomla! Overrides and alternate layouts
JD17NL Joomla! Overrides and alternate layouts
Hans Kuijpers
 
Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3
Gunjan Patel
 
Why ExpressionEngine is Great for Designers
Why ExpressionEngine is Great for DesignersWhy ExpressionEngine is Great for Designers
Why ExpressionEngine is Great for Designers
FortySeven Media
 
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Peter Martin
 
WordPress Hardening
WordPress HardeningWordPress Hardening
WordPress Hardening
Maurizio Pelizzone
 
Building YAP Applications with YUI
Building YAP Applications with YUIBuilding YAP Applications with YUI
Building YAP Applications with YUI
Reid Burke
 
Doing Things the WordPress Way
Doing Things the WordPress WayDoing Things the WordPress Way
Doing Things the WordPress Way
Matt Wiebe
 
State of play for Joomla - Nov 2014
State of play for Joomla - Nov 2014State of play for Joomla - Nov 2014
State of play for Joomla - Nov 2014
Tim Plummer
 
Upgrading a Plone 3 Theme for Plone 4: Beyond the Basics
Upgrading a Plone 3 Theme for Plone 4: Beyond the BasicsUpgrading a Plone 3 Theme for Plone 4: Beyond the Basics
Upgrading a Plone 3 Theme for Plone 4: Beyond the Basics
Heather Wozniak
 
Joomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesJoomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic Templates
Andy Wallace
 
Joomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus PresentationJoomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus Presentation
Andy Wallace
 
WPtech: L'API Customizer pour les plugins
WPtech: L'API Customizer pour les pluginsWPtech: L'API Customizer pour les plugins
WPtech: L'API Customizer pour les plugins
corsonr
 
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Peter Martin
 

What's hot (14)

Joomla : Akeeba backup and Amazon S3
Joomla : Akeeba backup and Amazon S3Joomla : Akeeba backup and Amazon S3
Joomla : Akeeba backup and Amazon S3
 
JD17NL Joomla! Overrides and alternate layouts
JD17NL Joomla! Overrides and alternate layoutsJD17NL Joomla! Overrides and alternate layouts
JD17NL Joomla! Overrides and alternate layouts
 
Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3
 
Why ExpressionEngine is Great for Designers
Why ExpressionEngine is Great for DesignersWhy ExpressionEngine is Great for Designers
Why ExpressionEngine is Great for Designers
 
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
 
WordPress Hardening
WordPress HardeningWordPress Hardening
WordPress Hardening
 
Building YAP Applications with YUI
Building YAP Applications with YUIBuilding YAP Applications with YUI
Building YAP Applications with YUI
 
Doing Things the WordPress Way
Doing Things the WordPress WayDoing Things the WordPress Way
Doing Things the WordPress Way
 
State of play for Joomla - Nov 2014
State of play for Joomla - Nov 2014State of play for Joomla - Nov 2014
State of play for Joomla - Nov 2014
 
Upgrading a Plone 3 Theme for Plone 4: Beyond the Basics
Upgrading a Plone 3 Theme for Plone 4: Beyond the BasicsUpgrading a Plone 3 Theme for Plone 4: Beyond the Basics
Upgrading a Plone 3 Theme for Plone 4: Beyond the Basics
 
Joomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesJoomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic Templates
 
Joomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus PresentationJoomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus Presentation
 
WPtech: L'API Customizer pour les plugins
WPtech: L'API Customizer pour les pluginsWPtech: L'API Customizer pour les plugins
WPtech: L'API Customizer pour les plugins
 
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
 

Similar to Plone Theming in a Nutshell

Unknown plone
Unknown ploneUnknown plone
Unknown plonecdw9
 
Building Volto Addons, Plone Conf 2020
Building Volto Addons, Plone Conf 2020Building Volto Addons, Plone Conf 2020
Building Volto Addons, Plone Conf 2020
Alok Kumar Singh
 
Martin Aspeli Extending And Customising Plone 3
Martin Aspeli   Extending And Customising Plone 3Martin Aspeli   Extending And Customising Plone 3
Martin Aspeli Extending And Customising Plone 3
Vincenzo Barone
 
Building Content Types with Dexterity
Building Content Types with DexterityBuilding Content Types with Dexterity
Building Content Types with Dexterity
David Glick
 
Introduction to Plone (PyCon Ireland 2010)
Introduction to Plone (PyCon Ireland 2010)Introduction to Plone (PyCon Ireland 2010)
Introduction to Plone (PyCon Ireland 2010)
Kevin Gill
 
BP501 - Building and deploying custom IBM sametime connect client installatio...
BP501 - Building and deploying custom IBM sametime connect client installatio...BP501 - Building and deploying custom IBM sametime connect client installatio...
BP501 - Building and deploying custom IBM sametime connect client installatio...
Carl Tyler
 
World Plone Day 2012 Taipei
World Plone Day 2012 TaipeiWorld Plone Day 2012 Taipei
World Plone Day 2012 Taipei
TsungWei Hu
 
Custom theme creation for Websphere Portal 8
Custom theme creation for Websphere Portal 8Custom theme creation for Websphere Portal 8
Custom theme creation for Websphere Portal 8michele buccarello
 
ZopeSkel & Buildout packages
ZopeSkel & Buildout packagesZopeSkel & Buildout packages
ZopeSkel & Buildout packagesQuintagroup
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web apps
Dylan Jay
 
How to Build a Module in Odoo 15 Scaffold Method
How to Build a Module in Odoo 15 Scaffold MethodHow to Build a Module in Odoo 15 Scaffold Method
How to Build a Module in Odoo 15 Scaffold Method
Celine George
 
Plugins And Making Your Own
Plugins And Making Your OwnPlugins And Making Your Own
Plugins And Making Your Own
Lambert Beekhuis
 
The Future of the Web
The Future of the WebThe Future of the Web
The Future of the Web
Ray Nicholus
 
Cocoon Blocks ApacheCon US 2005
Cocoon Blocks ApacheCon US 2005Cocoon Blocks ApacheCon US 2005
Cocoon Blocks ApacheCon US 2005
Daniel Fagerstrom
 
Yobi d2 naver(create)
Yobi d2 naver(create)Yobi d2 naver(create)
Yobi d2 naver(create)
Lay Bunnavitou
 
Creating CentOS Template For CloudStack
Creating CentOS Template For CloudStackCreating CentOS Template For CloudStack
Creating CentOS Template For CloudStack
Shanker Balan
 
MacSysAdmin Tools Smörgåsbord
MacSysAdmin Tools SmörgåsbordMacSysAdmin Tools Smörgåsbord
MacSysAdmin Tools Smörgåsbord
Timothy Sutton
 
Odoo Material Backend Theme
Odoo Material Backend ThemeOdoo Material Backend Theme
Odoo Material Backend Theme
AppJetty
 

Similar to Plone Theming in a Nutshell (20)

Unknown plone
Unknown ploneUnknown plone
Unknown plone
 
Building Volto Addons, Plone Conf 2020
Building Volto Addons, Plone Conf 2020Building Volto Addons, Plone Conf 2020
Building Volto Addons, Plone Conf 2020
 
Martin Aspeli Extending And Customising Plone 3
Martin Aspeli   Extending And Customising Plone 3Martin Aspeli   Extending And Customising Plone 3
Martin Aspeli Extending And Customising Plone 3
 
Building Content Types with Dexterity
Building Content Types with DexterityBuilding Content Types with Dexterity
Building Content Types with Dexterity
 
Introduction to Plone (PyCon Ireland 2010)
Introduction to Plone (PyCon Ireland 2010)Introduction to Plone (PyCon Ireland 2010)
Introduction to Plone (PyCon Ireland 2010)
 
Symfony quick tour_2.3
Symfony quick tour_2.3Symfony quick tour_2.3
Symfony quick tour_2.3
 
BP501 - Building and deploying custom IBM sametime connect client installatio...
BP501 - Building and deploying custom IBM sametime connect client installatio...BP501 - Building and deploying custom IBM sametime connect client installatio...
BP501 - Building and deploying custom IBM sametime connect client installatio...
 
World Plone Day 2012 Taipei
World Plone Day 2012 TaipeiWorld Plone Day 2012 Taipei
World Plone Day 2012 Taipei
 
Custom theme creation for Websphere Portal 8
Custom theme creation for Websphere Portal 8Custom theme creation for Websphere Portal 8
Custom theme creation for Websphere Portal 8
 
Spring Framework -I
Spring Framework -ISpring Framework -I
Spring Framework -I
 
ZopeSkel & Buildout packages
ZopeSkel & Buildout packagesZopeSkel & Buildout packages
ZopeSkel & Buildout packages
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web apps
 
How to Build a Module in Odoo 15 Scaffold Method
How to Build a Module in Odoo 15 Scaffold MethodHow to Build a Module in Odoo 15 Scaffold Method
How to Build a Module in Odoo 15 Scaffold Method
 
Plugins And Making Your Own
Plugins And Making Your OwnPlugins And Making Your Own
Plugins And Making Your Own
 
The Future of the Web
The Future of the WebThe Future of the Web
The Future of the Web
 
Cocoon Blocks ApacheCon US 2005
Cocoon Blocks ApacheCon US 2005Cocoon Blocks ApacheCon US 2005
Cocoon Blocks ApacheCon US 2005
 
Yobi d2 naver(create)
Yobi d2 naver(create)Yobi d2 naver(create)
Yobi d2 naver(create)
 
Creating CentOS Template For CloudStack
Creating CentOS Template For CloudStackCreating CentOS Template For CloudStack
Creating CentOS Template For CloudStack
 
MacSysAdmin Tools Smörgåsbord
MacSysAdmin Tools SmörgåsbordMacSysAdmin Tools Smörgåsbord
MacSysAdmin Tools Smörgåsbord
 
Odoo Material Backend Theme
Odoo Material Backend ThemeOdoo Material Backend Theme
Odoo Material Backend Theme
 

More from cdw9

Debugging Your Plone Site
Debugging Your Plone SiteDebugging Your Plone Site
Debugging Your Plone Site
cdw9
 
Crafting an Impactful Home Page That Your Editors Will Love
Crafting an Impactful Home Page That Your Editors Will LoveCrafting an Impactful Home Page That Your Editors Will Love
Crafting an Impactful Home Page That Your Editors Will Love
cdw9
 
Contributing to Open Source (Lightning Talk version)
Contributing to Open Source (Lightning Talk version)Contributing to Open Source (Lightning Talk version)
Contributing to Open Source (Lightning Talk version)
cdw9
 
Debugging with PDB
Debugging with PDBDebugging with PDB
Debugging with PDB
cdw9
 
Introduction to Transmogrifier
Introduction to TransmogrifierIntroduction to Transmogrifier
Introduction to Transmogrifier
cdw9
 
Contributing to Open Source
Contributing to Open SourceContributing to Open Source
Contributing to Open Source
cdw9
 
The Future of [Plone] Theming
The Future of [Plone] ThemingThe Future of [Plone] Theming
The Future of [Plone] Theming
cdw9
 
Making CSS and Firebug Your New Friends
Making CSS and Firebug Your New FriendsMaking CSS and Firebug Your New Friends
Making CSS and Firebug Your New Friends
cdw9
 

More from cdw9 (8)

Debugging Your Plone Site
Debugging Your Plone SiteDebugging Your Plone Site
Debugging Your Plone Site
 
Crafting an Impactful Home Page That Your Editors Will Love
Crafting an Impactful Home Page That Your Editors Will LoveCrafting an Impactful Home Page That Your Editors Will Love
Crafting an Impactful Home Page That Your Editors Will Love
 
Contributing to Open Source (Lightning Talk version)
Contributing to Open Source (Lightning Talk version)Contributing to Open Source (Lightning Talk version)
Contributing to Open Source (Lightning Talk version)
 
Debugging with PDB
Debugging with PDBDebugging with PDB
Debugging with PDB
 
Introduction to Transmogrifier
Introduction to TransmogrifierIntroduction to Transmogrifier
Introduction to Transmogrifier
 
Contributing to Open Source
Contributing to Open SourceContributing to Open Source
Contributing to Open Source
 
The Future of [Plone] Theming
The Future of [Plone] ThemingThe Future of [Plone] Theming
The Future of [Plone] Theming
 
Making CSS and Firebug Your New Friends
Making CSS and Firebug Your New FriendsMaking CSS and Firebug Your New Friends
Making CSS and Firebug Your New Friends
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

Plone Theming in a Nutshell

  • 1. PLONE SYMPOSIUM EAST 2011 Plone Theming in a Nutshell Chrissy Wainwright
  • 2. Create the Theme PLONE SYMPOSIUM EAST 2011 $ paster create -t plone3_theme From the command line, use paster in builtout/src to create the theme. This template does work for Plone 4, specify ‘Sunburst Theme’ as the skinbase.
  • 3. Install the Theme PLONE SYMPOSIUM EAST 2011 Add your new theme to buildout.cfg in the [buildout] section under eggs, zcml, and develop. Run buildout, start instance, and install theme in ZMI > portal_quickinstaller.
  • 4. Change the Logo PLONE SYMPOSIUM EAST 2011 The name of the logo image to be used can be found and changed in skins/styles/base_properties.props Put your new logo in skins/images/ and make sure the filename matches what is in base_properties.
  • 5. Apply Styles PLONE SYMPOSIUM EAST 2011 Put a file into your theme/skins/styles folder called ploneCustom.css Create new CSS files by adding them to the CSS registry. cssregistry.xml - Generic Setup - portal_css
  • 6. Generic Setup PLONE SYMPOSIUM EAST 2011 Generic Setup is the connection between content/changes in your site and the filesystem. ZMI > portal_setup > Import/Export tab theme/profiles/default/
  • 7. Generic Setup PLONE SYMPOSIUM EAST 2011 * portal_actions : Action Providers : actions.xml * portal_css : Stylesheet Registry : cssregistry.xml * portal_javascripts : Javascript Registry : jsregistry.xml * portal_types : Types Tool : types/[type].xml * @@manage-viewlets : Viewlet Settings : viewlets.xml
  • 8. Find Original Templates PLONE SYMPOSIUM EAST 2011 Using omelette, you can find the templates you want to override. Viewlets: plone/app/layout/viewlets Portlets: plone/app/portlets/portlets Other templates: Products/CMFPlone/skins/
  • 9. Identify Plone Elements: Viewlets PLONE SYMPOSIUM EAST 2011
  • 10. Override Viewlets PLONE SYMPOSIUM EAST 2011 From plone/app/layout/viewlets: * viewlet-specific code in configure.zcml * viewlet template
  • 11. Override Viewlets PLONE SYMPOSIUM EAST 2011 Put overrides into theme/browser: * configure.zcml - update relative paths (manager, class) - add template=”... - add layer=”.interfaces.IThemeSpecific” * viewlet template
  • 12. Override Viewlets: z3c.jbot PLONE SYMPOSIUM EAST 2011 Or use z3c.jbot! In theme/browser/configure.zcml: <include package=”z3c.jbot” file=”meta.zcml” /> <browser:templateOverrides directory=”template-overrides” layer=”.interfaces.IThemeSpecific” />
  • 13. Override Viewlets: z3c.jbot PLONE SYMPOSIUM EAST 2011 Templates can now go into theme/browser/template-overrides named by referencing the dotted path to the file: plone.app.layout.viewlets.footer.pt
  • 14. Identify Plone Elements: Portlets PLONE SYMPOSIUM EAST 2011
  • 15. Override Portlets PLONE SYMPOSIUM EAST 2011 In theme/browser/configure.zcml: <include package=”plone.app.portlets” /> <plone:portletRenderer portlet=”plone.app.portlets.portlets.events. IEventsPortlet” template=”events.pt” layer=”interfaces.IThemeSpecific” />
  • 16. Override Templates PLONE SYMPOSIUM EAST 2011 If the original template is found in skins: * put a copy in your theme/skins/ folder * use the exact same name * copy any associated .metadata files * ex: Products/CMFPlone/skins/plone_content/ document_view.pt
  • 17. Editing Actions PLONE SYMPOSIUM EAST 2011 Parts of the site that use actions: * personal bar (login, preferences, etc) * main navigation Home link * document actions (print, send) * site actions (contact, accessibility, etc)
  • 18. Editing Actions PLONE SYMPOSIUM EAST 2011 * ZMI > portal_actions * Export Action Providers * remove extra code from actions.xml that you did not adjust
  • 19. Common Stumbling Blocks PLONE SYMPOSIUM EAST 2011 What to look for when your changes are not showing up Flickr: gfpeck
  • 20. Common Stumbling Blocks PLONE SYMPOSIUM EAST 2011 1. Make sure the theme is installed ZMI > portal_quickinstaller
  • 21. Common Stumbling Blocks PLONE SYMPOSIUM EAST 2011 2. Restart your instance * .zcml * .py * new z3c.jbot override
  • 22. Common Stumbling Blocks PLONE SYMPOSIUM EAST 2011 3. Turn on Development mode ZMI > portal_css ZMI > portal_javascripts
  • 23. Common Stumbling Blocks PLONE SYMPOSIUM EAST 2011 4. Generic Setup - XML Files * import changes in ZMI > portal_setup > import tab
  • 24. Common Stumbling Blocks PLONE SYMPOSIUM EAST 2011 5. Check the custom folder ZMI > portal_skins > custom ZMI > portal_view_customizations > contents
  • 25. Common Stumbling Blocks PLONE SYMPOSIUM EAST 2011 5. Skins Order ZMI > portal_skins > properties tab
  • 26. PLONE SYMPOSIUM EAST 2011 eck out Ch .com/ demos six feetup