SlideShare a Scribd company logo
1 of 10
Download to read offline
Current situation                  Monilith architecture demands that any
                                   deviation in content or logic results in a fork of
                                                                                          As a result a libraries except Copenhagen has
                                                                                          forked the ding.TING code requirering high
                                                                                                                                          Thick, complete basetheme never designer for
                                                                                                                                          subtheming requires every instance to override
                                   the complete ding.TING code repository.                maintenance and high(er) barrier to sharing     and maintain a complete theme, resulting in
                                                                                          patches and features.                           high maintenance costs.


                       København              Aarhus                                    Randers                             Kolding                            Vejle


Brand layer
(subtheme)




Theme layer
(basetheme)




Structure layer
(panels layouts)




Content layer
(panels settings)   ding.TING         ding.TING                                ding.TING                             ding.TING
                    hovedspor         Aarhus-fork                              Randers-fork                          Kolding-fork




ding.TING 2
(custom modules,
con g)




Drupal
(core + contrib)
Example: Drupal                 Drupal Core and Contrib modules. De nes core
                                concepts as entities, elds, RDFa integrations,
                                views, page manager, editorial tools and so
                                forth.


                    København             Aarhus                                 Randers   Kolding   Vejle


Brand layer
(subtheme)




Theme layer
(basetheme)




Structure layer
(panels layouts)




Content layer
(panels settings)




ding.TING 2
(custom modules,
con g)




Drupal
(core + contrib)
Example: ding.TING2             De nes speci c con gurations, settings and
                                custom developed modules including all
                                integration to search.



                    København             Aarhus                             Randers   Kolding   Vejle


Brand layer
(subtheme)




Theme layer
(basetheme)




Structure layer
(panels layouts)




Content layer
(panels settings)




ding.TING 2
(custom modules,
con g)




Drupal
(core + contrib)
Example: Content                The content layers contains ding.TING2’s
                                panels settings, and de nes logic and content.
                                                                                   Example: Should the site print a ‘Share to
                                                                                   Facebook’ button, on what content and in what
                                What content get printet, when and in what         region.
                                region, in what order to the other content.


                    København             Aarhus                                 Randers                           Kolding         Vejle


Brand layer
(subtheme)




Theme layer
(basetheme)




Structure layer
(panels layouts)




Content layer
(panels settings)




ding.TING 2
(custom modules,
con g)




Drupal
(core + contrib)
Example: Structure              The structure layer contains ding.TING2’s
                                panels layout templates. They de ne the
                                                                                   Example: Where is the panels pane containing
                                                                                   the ‘Share to Facebook’ button printet in the
                                structure and wrapping markup for the separate     markup.
                                panels panes.


                    København             Aarhus                                 Randers                            Kolding        Vejle


Brand layer
(subtheme)




Theme layer
(basetheme)




Structure layer
(panels layouts)




Content layer
(panels settings)




ding.TING 2
(custom modules,
con g)




Drupal
(core + contrib)
Example: Theme                  Theme layer de nes elements such as general
                                typography, spacing/layout, general branding
                                                                                    collections and so forth.

                                neutral styling and styling/ui/ixD for shared
                                features such as search, news, ting objects and


                    København             Aarhus                                  Randers                       Kolding   Vejle


Brand layer
(subtheme)




Theme layer
(basetheme)




Structure layer
(panels layouts)




Content layer
(panels settings)




ding.TING 2
(custom modules,
con g)




Drupal
(core + contrib)
Example: Branding               Branding layer de nes elements such as logos,
                                branding colour schemes, local adaptions to
                                menus and other idiosyncrasies.



                    København             Aarhus                                Randers   Kolding   Vejle


Brand layer
(subtheme)




Theme layer
(basetheme)




Structure layer
(panels layouts)




Content layer
(panels settings)




ding.TING 2
(custom modules,
con g)




Drupal
(core + contrib)
The ideal                       Every layer except a thin branding layer
                                containing local logos, colours and idiosyncra-
                                                                                    In reality this is hardly attainable though.
                                                                                    Differences between multi-branch and
                                sies are shared unforked among all partner          single-branch partners will in probability result
                                libraries.                                          in fragmentation of codebase.


                    København              Aarhus                                 Randers                               Kolding         Vejle


Brand layer
(subtheme)




Theme layer
(basetheme)




Structure layer
(panels layouts)




Content layer
(panels settings)




ding.TING 2
(custom modules,
con g)




Drupal
(core + contrib)
Realistic model                 Maintaining two separate content and structure
                                layers - one for multibranch libraries and one for
                                                                                       make long term collaboration and code sharing
                                                                                       possible.
                                (mainly) single branch libraries - should protect
                                against further, unplanned fragmentation and


                    København              Aarhus                                    Randers                            Kolding        Vejle


Brand layer
(subtheme)




Theme layer
(basetheme)




Structure layer
(panels layouts)




Content layer
(panels settings)




ding.TING 2
(custom modules,
con g)




Drupal
(core + contrib)
Possible model                  A multilayer model still includes the freedom for
                                individual partners to fork a speci c layer and
                                                                                      In this example one partner has created it’s own
                                                                                      base theme and another partner has created it’s
                                still use the rest of the stack unchanged.            own panels layouts, while still building on
                                                                                      shared components in other layers.


                    København              Aarhus                                   Randers                             Kolding          Vejle


Brand layer
(subtheme)




Theme layer
(basetheme)




Structure layer
(panels layouts)




Content layer
(panels settings)




ding.TING 2
(custom modules,
con g)




Drupal
(core + contrib)

More Related Content

Similar to Layered architecture for Ding2 [proposal]

Keep Calm and Specialize your Content Model
Keep Calm and Specialize your Content ModelKeep Calm and Specialize your Content Model
Keep Calm and Specialize your Content Modelctnitchie
 
What “Model” DITA Specializations Can Teach About Information Modelinc
What “Model” DITA Specializations Can Teach About Information ModelincWhat “Model” DITA Specializations Can Teach About Information Modelinc
What “Model” DITA Specializations Can Teach About Information ModelincDon Day
 
Build your Chunks! Explain real life to Drupal in its own Words (at BADCamp 2...
Build your Chunks! Explain real life to Drupal in its own Words (at BADCamp 2...Build your Chunks! Explain real life to Drupal in its own Words (at BADCamp 2...
Build your Chunks! Explain real life to Drupal in its own Words (at BADCamp 2...Adelle Frank
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Anne Tomasevich
 
Dita documentation and open source sfd szeged 2011
Dita documentation and open source   sfd szeged 2011Dita documentation and open source   sfd szeged 2011
Dita documentation and open source sfd szeged 2011Kristof Van Tomme
 
DITA,Single-source, Multi-channel Publishing
DITA,Single-source, Multi-channel PublishingDITA,Single-source, Multi-channel Publishing
DITA,Single-source, Multi-channel PublishingBruce Conway
 
Drupal 8: frontend development
Drupal 8: frontend developmentDrupal 8: frontend development
Drupal 8: frontend developmentsparkfabrik
 
Drupal 8 - Corso frontend development
Drupal 8 - Corso frontend developmentDrupal 8 - Corso frontend development
Drupal 8 - Corso frontend developmentsparkfabrik
 
Creating a Component Library
Creating a Component LibraryCreating a Component Library
Creating a Component Librarynathanacurtis
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For TechiesRobert Carr
 
Web Content Management Systems From A Designer's Perspective (Drupal Technica...
Web Content Management Systems From A Designer's Perspective (Drupal Technica...Web Content Management Systems From A Designer's Perspective (Drupal Technica...
Web Content Management Systems From A Designer's Perspective (Drupal Technica...Chris Charlton
 
Twig in the wild august 2018 drupal govcon draft
Twig in the wild   august 2018 drupal govcon draftTwig in the wild   august 2018 drupal govcon draft
Twig in the wild august 2018 drupal govcon draftJeremyKoulish
 
Under the covers of Drupal Commons - the "Instant Community" distribution
Under the covers of Drupal Commons - the "Instant Community" distributionUnder the covers of Drupal Commons - the "Instant Community" distribution
Under the covers of Drupal Commons - the "Instant Community" distributionAcquia
 
Creating and Theming Custom Content Types
Creating and Theming Custom Content TypesCreating and Theming Custom Content Types
Creating and Theming Custom Content Typesheatherrumd
 
Why DITA?
Why DITA?Why DITA?
Why DITA?akashjd
 
Creating and Theming Custom Content Types
Creating and Theming Custom Content TypesCreating and Theming Custom Content Types
Creating and Theming Custom Content Typesheatherrumd
 
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015Big Data Essentials meetup @ IBM Ljubljana 23.06.2015
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015Andrey Vykhodtsev
 
Lotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScript
Lotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScriptLotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScript
Lotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScriptBill Buchan
 

Similar to Layered architecture for Ding2 [proposal] (20)

Keep Calm and Specialize your Content Model
Keep Calm and Specialize your Content ModelKeep Calm and Specialize your Content Model
Keep Calm and Specialize your Content Model
 
What “Model” DITA Specializations Can Teach About Information Modelinc
What “Model” DITA Specializations Can Teach About Information ModelincWhat “Model” DITA Specializations Can Teach About Information Modelinc
What “Model” DITA Specializations Can Teach About Information Modelinc
 
Build your Chunks! Explain real life to Drupal in its own Words (at BADCamp 2...
Build your Chunks! Explain real life to Drupal in its own Words (at BADCamp 2...Build your Chunks! Explain real life to Drupal in its own Words (at BADCamp 2...
Build your Chunks! Explain real life to Drupal in its own Words (at BADCamp 2...
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8
 
Dita documentation and open source sfd szeged 2011
Dita documentation and open source   sfd szeged 2011Dita documentation and open source   sfd szeged 2011
Dita documentation and open source sfd szeged 2011
 
Advanced Layout Techniques @ CMSExpo
Advanced Layout Techniques @ CMSExpoAdvanced Layout Techniques @ CMSExpo
Advanced Layout Techniques @ CMSExpo
 
DITA,Single-source, Multi-channel Publishing
DITA,Single-source, Multi-channel PublishingDITA,Single-source, Multi-channel Publishing
DITA,Single-source, Multi-channel Publishing
 
Drupal 8: frontend development
Drupal 8: frontend developmentDrupal 8: frontend development
Drupal 8: frontend development
 
Drupal 8 - Corso frontend development
Drupal 8 - Corso frontend developmentDrupal 8 - Corso frontend development
Drupal 8 - Corso frontend development
 
Creating a Component Library
Creating a Component LibraryCreating a Component Library
Creating a Component Library
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For Techies
 
Web Content Management Systems From A Designer's Perspective (Drupal Technica...
Web Content Management Systems From A Designer's Perspective (Drupal Technica...Web Content Management Systems From A Designer's Perspective (Drupal Technica...
Web Content Management Systems From A Designer's Perspective (Drupal Technica...
 
Twig in the wild august 2018 drupal govcon draft
Twig in the wild   august 2018 drupal govcon draftTwig in the wild   august 2018 drupal govcon draft
Twig in the wild august 2018 drupal govcon draft
 
Under the covers of Drupal Commons - the "Instant Community" distribution
Under the covers of Drupal Commons - the "Instant Community" distributionUnder the covers of Drupal Commons - the "Instant Community" distribution
Under the covers of Drupal Commons - the "Instant Community" distribution
 
Creating and Theming Custom Content Types
Creating and Theming Custom Content TypesCreating and Theming Custom Content Types
Creating and Theming Custom Content Types
 
Why DITA?
Why DITA?Why DITA?
Why DITA?
 
Creating and Theming Custom Content Types
Creating and Theming Custom Content TypesCreating and Theming Custom Content Types
Creating and Theming Custom Content Types
 
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015Big Data Essentials meetup @ IBM Ljubljana 23.06.2015
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015
 
MongoDB is the MashupDB
MongoDB is the MashupDBMongoDB is the MashupDB
MongoDB is the MashupDB
 
Lotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScript
Lotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScriptLotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScript
Lotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScript
 

Recently uploaded

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 

Recently uploaded (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 

Layered architecture for Ding2 [proposal]

  • 1. Current situation Monilith architecture demands that any deviation in content or logic results in a fork of As a result a libraries except Copenhagen has forked the ding.TING code requirering high Thick, complete basetheme never designer for subtheming requires every instance to override the complete ding.TING code repository. maintenance and high(er) barrier to sharing and maintain a complete theme, resulting in patches and features. high maintenance costs. København Aarhus Randers Kolding Vejle Brand layer (subtheme) Theme layer (basetheme) Structure layer (panels layouts) Content layer (panels settings) ding.TING ding.TING ding.TING ding.TING hovedspor Aarhus-fork Randers-fork Kolding-fork ding.TING 2 (custom modules, con g) Drupal (core + contrib)
  • 2. Example: Drupal Drupal Core and Contrib modules. De nes core concepts as entities, elds, RDFa integrations, views, page manager, editorial tools and so forth. København Aarhus Randers Kolding Vejle Brand layer (subtheme) Theme layer (basetheme) Structure layer (panels layouts) Content layer (panels settings) ding.TING 2 (custom modules, con g) Drupal (core + contrib)
  • 3. Example: ding.TING2 De nes speci c con gurations, settings and custom developed modules including all integration to search. København Aarhus Randers Kolding Vejle Brand layer (subtheme) Theme layer (basetheme) Structure layer (panels layouts) Content layer (panels settings) ding.TING 2 (custom modules, con g) Drupal (core + contrib)
  • 4. Example: Content The content layers contains ding.TING2’s panels settings, and de nes logic and content. Example: Should the site print a ‘Share to Facebook’ button, on what content and in what What content get printet, when and in what region. region, in what order to the other content. København Aarhus Randers Kolding Vejle Brand layer (subtheme) Theme layer (basetheme) Structure layer (panels layouts) Content layer (panels settings) ding.TING 2 (custom modules, con g) Drupal (core + contrib)
  • 5. Example: Structure The structure layer contains ding.TING2’s panels layout templates. They de ne the Example: Where is the panels pane containing the ‘Share to Facebook’ button printet in the structure and wrapping markup for the separate markup. panels panes. København Aarhus Randers Kolding Vejle Brand layer (subtheme) Theme layer (basetheme) Structure layer (panels layouts) Content layer (panels settings) ding.TING 2 (custom modules, con g) Drupal (core + contrib)
  • 6. Example: Theme Theme layer de nes elements such as general typography, spacing/layout, general branding collections and so forth. neutral styling and styling/ui/ixD for shared features such as search, news, ting objects and København Aarhus Randers Kolding Vejle Brand layer (subtheme) Theme layer (basetheme) Structure layer (panels layouts) Content layer (panels settings) ding.TING 2 (custom modules, con g) Drupal (core + contrib)
  • 7. Example: Branding Branding layer de nes elements such as logos, branding colour schemes, local adaptions to menus and other idiosyncrasies. København Aarhus Randers Kolding Vejle Brand layer (subtheme) Theme layer (basetheme) Structure layer (panels layouts) Content layer (panels settings) ding.TING 2 (custom modules, con g) Drupal (core + contrib)
  • 8. The ideal Every layer except a thin branding layer containing local logos, colours and idiosyncra- In reality this is hardly attainable though. Differences between multi-branch and sies are shared unforked among all partner single-branch partners will in probability result libraries. in fragmentation of codebase. København Aarhus Randers Kolding Vejle Brand layer (subtheme) Theme layer (basetheme) Structure layer (panels layouts) Content layer (panels settings) ding.TING 2 (custom modules, con g) Drupal (core + contrib)
  • 9. Realistic model Maintaining two separate content and structure layers - one for multibranch libraries and one for make long term collaboration and code sharing possible. (mainly) single branch libraries - should protect against further, unplanned fragmentation and København Aarhus Randers Kolding Vejle Brand layer (subtheme) Theme layer (basetheme) Structure layer (panels layouts) Content layer (panels settings) ding.TING 2 (custom modules, con g) Drupal (core + contrib)
  • 10. Possible model A multilayer model still includes the freedom for individual partners to fork a speci c layer and In this example one partner has created it’s own base theme and another partner has created it’s still use the rest of the stack unchanged. own panels layouts, while still building on shared components in other layers. København Aarhus Randers Kolding Vejle Brand layer (subtheme) Theme layer (basetheme) Structure layer (panels layouts) Content layer (panels settings) ding.TING 2 (custom modules, con g) Drupal (core + contrib)