SlideShare ist ein Scribd-Unternehmen logo
1 von 31
From design to Plone site.

   XDV-driven
 Plone theming




       Denys Mishunov
          Jarn AS
From design to Plone site.

   XDV-driven
 Plone theming




       Denys Mishunov
          Jarn AS
This is Painful
even this is painful
Deliverance
XDV
(XSLT Deliverance)
XDV   vs.
            Deliverance
collective.xdv
XDV

       XML
HTML
       Rules
<copy content="//*[@id='portal-footer']/*"
      theme="//*[@id='footer']" />
<copy content="//*[@id='portal-footer']/*"
      theme="//*[@id='footer']" />
<copy content="//*[@id='portal-footer']/*"
      theme="//*[@id='footer']" />
<copy content="//*[@id='portal-footer']/*"
      theme="//*[@id='footer']" />
• Theme without Plone;
• use any HTML/CSS

• no main_template dependancy

• migrate without a headache
Practice
(Plone) content        (Static) theme
              BEFORE
(Plone) content          (Static) theme




                  DROP
(Plone) content             (Static) theme




                  REPLACE
(Plone) content        (Static) theme

             PREPEND
(Plone) content          (Static) theme




                  COPY
(Plone) content        (Static) theme

             PREPEND




              APPEND
(Plone) content           (Static) theme




                  AFTER
Creampuff NF
 Creampuff NF
  Creampuff NF
   Creampuff NF
Nick Curtis
Questions

Weitere ähnliche Inhalte

Ähnlich wie From design to Plone site. XDV-driven Plone theming.

Ähnlich wie From design to Plone site. XDV-driven Plone theming. (17)

Web Typography with sIFR 3 at Drupalcamp Copenhagen
Web Typography with sIFR 3 at Drupalcamp CopenhagenWeb Typography with sIFR 3 at Drupalcamp Copenhagen
Web Typography with sIFR 3 at Drupalcamp Copenhagen
 
What bringing Drupal to cloud really meant. - DrupalCon Seattle 2019
What bringing Drupal to cloud really meant. -  DrupalCon Seattle 2019What bringing Drupal to cloud really meant. -  DrupalCon Seattle 2019
What bringing Drupal to cloud really meant. - DrupalCon Seattle 2019
 
Evolving Archetecture
Evolving ArchetectureEvolving Archetecture
Evolving Archetecture
 
HTML5 and CSS3 for Teachers
HTML5 and CSS3 for TeachersHTML5 and CSS3 for Teachers
HTML5 and CSS3 for Teachers
 
Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018
 
Powering your website with realtime data
Powering your website with realtime dataPowering your website with realtime data
Powering your website with realtime data
 
Stephanie Rewis - css-startech
Stephanie Rewis -  css-startechStephanie Rewis -  css-startech
Stephanie Rewis - css-startech
 
Html5 Brown Bag
Html5 Brown BagHtml5 Brown Bag
Html5 Brown Bag
 
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
 
Continuous Delivery and Zero Downtime: What your architecture needs to succeed
Continuous Delivery and Zero Downtime: What your architecture needs to succeedContinuous Delivery and Zero Downtime: What your architecture needs to succeed
Continuous Delivery and Zero Downtime: What your architecture needs to succeed
 
Parent and child themes
Parent and child themesParent and child themes
Parent and child themes
 
Zabbix 101 - Enterprise Monitoring doesn't have to suck
Zabbix 101 - Enterprise Monitoring doesn't have to suckZabbix 101 - Enterprise Monitoring doesn't have to suck
Zabbix 101 - Enterprise Monitoring doesn't have to suck
 
Grok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateGrok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb update
 
Simplify Localization with Design Pattern Automation
Simplify Localization with Design Pattern AutomationSimplify Localization with Design Pattern Automation
Simplify Localization with Design Pattern Automation
 
CMU TREC 2007 Blog Track
CMU TREC 2007 Blog TrackCMU TREC 2007 Blog Track
CMU TREC 2007 Blog Track
 
1500 JIRAs in 20 minutes - HBaseCon 2013
1500 JIRAs in 20 minutes - HBaseCon 20131500 JIRAs in 20 minutes - HBaseCon 2013
1500 JIRAs in 20 minutes - HBaseCon 2013
 
WordPress Security Blitz
WordPress Security BlitzWordPress Security Blitz
WordPress Security Blitz
 

Mehr von Denys Mishunov

Научный дизайн
Научный дизайнНаучный дизайн
Научный дизайн
Denys Mishunov
 

Mehr von Denys Mishunov (7)

В погоне за производительностью
В погоне за производительностьюВ погоне за производительностью
В погоне за производительностью
 
Illusion of Time. When 60 sec is not 1 minute
Illusion of Time. When 60 sec is not 1 minuteIllusion of Time. When 60 sec is not 1 minute
Illusion of Time. When 60 sec is not 1 minute
 
Let me tell you a story
Let me tell you a storyLet me tell you a story
Let me tell you a story
 
Научный дизайн
Научный дизайнНаучный дизайн
Научный дизайн
 
Science of Design 2
Science of Design 2Science of Design 2
Science of Design 2
 
Science of Design
Science of DesignScience of Design
Science of Design
 
Making a Plone Theme: 5 Most Wanted Tips
Making a Plone Theme: 5 Most Wanted TipsMaking a Plone Theme: 5 Most Wanted Tips
Making a Plone Theme: 5 Most Wanted Tips
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

From design to Plone site. XDV-driven Plone theming.

Hinweis der Redaktion

  1. Plone is a wonderful tool. It&amp;#x2019;s very flexible and very powerful. When it comes to a Plone theme it&amp;#x2019;s still flexible, it&amp;#x2019;s still powerful&amp;#x2026; but it&amp;#x2019;s not easy at all. If you only consider starting with Plone - learning curve and knowledge requirements for starting a Plone theme might be very steep and not inspiring these days. You can&amp;#x2019;t just pick any free HTML/CSS theme out there and make it work in Plone. Days and maybe weeks of work are waiting for you in order to make such theme &amp;#x201C;Plone-compatible&amp;#x201D;.
  2. You want to go table-less, change DOCTYPE or use any advanced structure for your Plone theme? Good luck in doing and maintaining it. A 3rd-party product or next Plone&amp;#x2019;s version might make you cry.
  3. Those who tried to migrate a Plone theme from 2.5 to 3.0...
  4. ... that was a challenge, wasn&amp;#x2019;t it? Of course after all you have decided to make the Plone 3.0 theme from scratch. But I know this feeling: &amp;#x201C;It just can&amp;#x2019;t be that hard. Plone is great and it should be easy to migrate a theme. There should be a button somewhere to do just that, right?&amp;#x201D;
  5. Yes, we have made a lot of mistakes in Plone when it comes to Plone themes. But...
  6. We realize that it should be easier to make a new Plone theme, and here&apos;s where we&apos;re heading with that in Plone 5. Wouldn&amp;#x2019;t it be wonderful to make Plone themes in a more relaxed manner, with much more freedom and definitely with less knowledge required? Not to worry a lot about migration of a theme? To be able to pick a theme from templatemonster.com or oswd.org and make it a Plone theme without hitting your head against a brick wall? A couple of new approaches are already here, ready to serve.
  7. A new technology comes to rescue - Deliverance. To be very brief - from a Plone integrator&amp;#x2019;s point of view it is the tool that takes responsibility of applying your static HTML/CSS theme to a site. It can even be not Plone site at all. Deliverance maintained by Ian Biking these days, went way beyond it&amp;#x2019;s original idea by Paul Everit and is much more than just a Plone theming tool. In the context of a Plone theme rather think of it as a replacement for your main_template.pt.
  8. XDV stands for XSLT Deliverance. Faster sibling of Deliverance. Though Deliverance and XDV are different tools with slightly different ideas, in general XDV does the same - applies a static theme to your Plone site. plone.org is running on XDV so its mature enough for serious deployments by the time.
  9. Deliverance is a bit more complex to set up for proper production use these days, a bit more powerful, and possibly a good choice if you&apos;re looking to integrate many different applications like Plone, Trac, .NET applications and such into a single look and feel, or if you have a lot of different templates. XDV is the stripped down version of Deliverance that is based on original idea of Deliverance. In this talk we are going to investigate XDV way of theming a Plone site because of it being faster, it&amp;#x2019;s simpler installation and one additional tool that might change the way you do a Plone theme.
  10. The last for now but not least step towards happy life of the Plone theme integrators - collective.xdv package developed by Martin Aspeli, which makes XDV for Plone just one additional package away. Obvious advantage for the Plone theme integrators - collective.xdv is the tool that lets one use XDV power without additional server-side tools and settings which Deliverance and pure XDV require. So further in the talk we will review how to use collective.xdv as the simplest way to get involved with XDV especially for Plone theme integrators. In general it should be not hard to switch between Deliverance and XDV if you need to because they use similar ideas and approaches. Details differ though. You might consider using collective.xdv if: your only task is to style a Plone site you can use collective.xdv. collective.xdv is Plone dependent and is not supposed to work with any other tool. While Deliverance and XDV can be used to style any web-based tools like Trac, WordPress and such (not necessary Plone-based) as well. you don&amp;#x2019;t feel like setting up proxy, WSGI, Apache and such (most Plone theme integrators don&amp;#x2019;t want to do that) you might consider using collective.xdv. You might consider trying another tool if: If you already have a Plone theme done, switching to collective.xdv will not gain you anything. Stay where you are. You need to style more than just a Plone site - your customer has corporate identity and needs intranet, public site, Trac instance, their favorite blog and other applications to be styles with the same visual theme. In this case you might still consider developing the theme with Plone and collective.xdv. But for deployment you will need to use pure XDV or Deliverance with all server-side technologies required and without collective.xdv dependancy.
  11. From an integrator&amp;#x2019;s point of view XDV is based on 2 main points: XML rules and static HTML of your theme. By using these XML rules XDV imposes the theme on the generated pages.
  12. There is no strict requirement to HTML file. XDV can be pretty much happy with invalid or not well-formed HTML. It is not even necessary to have it XML formatted. XDV does pretty good job for you by fixing your HTML &amp;#x201C;on the fly&amp;#x201D; when theme transformation happens. There is one advise though. To make your life easier it is a good idea to follow basic IDs and classes of Plone for the elements that you assume will be replaced with the content from Plone. This will let you just copy some styles from Plone later if you don&amp;#x2019;t have styles for those elements in your stylesheets.
  13. Example &lt;copy content=&quot;//*[@id=&apos;portal-footer&apos;]/*&quot; theme=&quot;//*[@id=&apos;footer&apos;]&quot; /&gt; You specify a piece of content in your Plone site and an HTML element in your static theme which XDV should glue together. For specifying both - the piece of content in the Plone site and the HTML element in the theme XPath is used. XDV doesn&amp;#x2019;t support CSS selectors, but it&amp;#x2019;s very easy to get XPath. We will see how in the practical part of the talk. We will also review rules, supported by XDV.
  14. What&amp;#x2019;s the real benefit of using XDV?
  15. We will find out how to integrate a visual theme into your Plone site using collective.xdv in the next, practical part of this talk.