SlideShare une entreprise Scribd logo
1  sur  25
www.mainiotech.fi 
Antti Hukkanen / CEO, Mainio Tech Oy 
concrete5 from developer 
perspective 
concrete5 café - 28.10.2014
Topics 
1. Mainio Tech (About us) 
2. concrete5 in General (for non-concrete5’ 
ers) 
3. Comparison (vs. Drupal, vs. WordPress) 
4. concrete5.7 (The future of concrete5)
Mainio Tech 
• Founded 2011 
• Small office of a couple of developers in 
Lauttasaari, Helsinki 
• Focus on technology 
• All website projects with concrete5 
• Personally actively using concrete5 since 
2010 (v5.4.0.5)
concrete5 in General
Page Types / Page Templates (5.7) 
• Every site consists of different pages with different 
structure 
• Page types/templates generalize this into pre-made 
”templates” that give the structure to a page
Areas & Blocks 
• Each page type in 
concrete5 consists of 
editable areas 
• Blocks are like ”lego 
blocks” that can be 
placed into any area 
of any page
Blocks 
• Blocks map the real life 
concepts into reusable 
”content builder” elements 
that can be placed in 
areas 
• Allows the developer to 
create any kind of editing 
UI for specific type of 
content
Attributes 
• Attributes generalize the ”fields” concept for 
any type of object 
– Internal objects that take advantage of attributes: 
Page, File and User 
• Allows the on-the-fly creation of new attributes 
for any object that utilizes this architecture. 
Can be defined through the UI. 
– E.g. ”we need our users to tell us their names” or 
”we need the ability to tag all our files” 
• Attributes are typed into specific types, e.g. 
text, boolean, date/time, select, file, etc. 
– Developers can create own attribute types that can 
be attached into any object that use the 
architecture
Single Pages 
• Single purpose pages with view layer and 
controller 
– E.g. registration, login, dashboard pages, etc. 
• ”Using concrete5 as a framework” 
• Mainly used to build dashboard functionality 
• Not great for multilingual sites 
– Page types are better for ML sites, they also provide 
the same kind of architecture (view-controller)
Packages 
• Everything can be ”packaged” in concrete5 
– Blocks 
– Page Types 
– Page Templates (5.7) 
– Single Pages 
– Themes 
• Packages are used to make general purpose 
functionality available for multiple sites (compare 
to Drupal modules, WordPress plugins)
Some Technical Points 
• MVC 
– Blocks (view-controller) 
– Page Types (view-controller) 
– Single Pages (view-controller) 
• Overrides architecture allows overriding any 
part/file of the core 
• Database abstraction layer (ADODB in 5.6, 
Doctrine 2 in 5.7->)
+ Lots more… 
• Functionality that helps in building online communities 
– Originally lots of the framework behind concrete5 was developed for this purpose 
• Stacks for reusable content 
• Flexible permissions structure 
• Workflows (enterprise use) 
• Jobs architecture for (recurring) automated tasks 
• Caching layer 
• + Wide range of add-ons 
– Not as many as with Drupal or WordPress (which is not necessarily a bad thing) 
– Many add-ons are paid but very reasonably priced ($15-100) and the commercial 
license allows full code modification for the project where they are used, one license 
per project
Comparison
concrete5 vs WordPress 
• WordPress = ”Printing Press” 
• concrete5 = ”Word Processor” 
• Solving the problem from different perspectives 
– WP: CMS bolted on top of blogging platform 
– C5: Built from bottom up to be a bridge between 
developers and site owners 
• concrete5 is more flexible in terms of the content 
structure of a page and also in terms of being a 
developer framework
Concepts: concrete5 vs WordPress 
concrete5 WordPress 
Attributes N/A 
Blocks Widgets (although they serve 
a different purpose) 
Packages Plugins (and Themes) 
Page Types Templates 
Stacks Sidebars 
Themes Themes
concrete5 vs Drupal 
• Drupal = ”Developer toolbox with CMS functionality” 
• concrete5 = ”User friendly CMS with developer framework” 
• Setup process is much more ”lean” and you can get a site up and running much quicker in 
concrete 
– Drupal: ”For a basic site, you need module A, B, C, D and E, and also need to know how they all 
work together” 
– concrete5: Install and start building 
• Easier to teach 
– concrete5 works truly through an in-context editing interface. In Drupal, the user experience is 
much more confusing to a newbie (as of my own experience, prior to drupal8). Probably the overall 
experience is still better in c5 when comparing concrete5.7 vs drupal8, although drupal8 introduces 
inline editing. 
• MVC 
– Has much of do with preferences but many developers prefer MVC 
– It usually keeps the codebase much cleaner, more understandable and more easily approachable 
(my personal opinion)
Concepts: concrete5 vs Drupal 
concrete5 Drupal 
Attributes Fields, Taxonomies 
Blocks Blocks 
Packages Modules 
Page Types Content Types 
Stacks Panels 
Themes Themes
Where to use concrete5? 
• Short answer: 
– Content and design driven web projects 
– Online communities 
– Or basically anywhere, there is not a reason why concrete5 would not fit 
some problem scope but we ourselves would rather tailor complex web 
application on top of a framework (more flexibility) 
• Longer answer: 
– concrete5 shines in design-centric sites that require lots of different 
types of content 
– When making pixel perfect sites that are easy to edit for the end user 
– When you want to deliver solutions that the end user is able to use
concrete5.7
New functionality in 5.7 
• Full in-context editing 
• New image editor 
• Conversations (for building forums, 
commenting, etc.) 
• Groups can now be hierarchical
Different in concrete5.7 
• Page Types and Page Templates 
• ”Tools” no longer exist 
– Use custom routes and custom controllers insead 
• Directory structure 
• General structuring of the code 
– Most backend stuff now lie in the /src directory, 
except for the controllers
Developer updates in concrete5.7 
• New era of PHP finally reaches concrete5 
– Composer 
– Namespacing 
– Code styling: PSR-2 & PSR-4 + generally better code guidelines (e.g. for writing JS 
and CSS) 
– Autoloading (PSR-0) 
• Symphony framework components replace some of the old homebrew 
components 
– Routing layer 
– Events layer 
– Request, Session & Cookie libraries (Symphony HttpFoundation) 
• Doctrine ORM for DB abstraction 
– Not currently very widely used, even in the core
Other new developer stuff in 5.7 
• Built-in assets system (CSS/JS minification 
and combining, dependecy management) 
• Authentication layer for building 3rd party 
authentications 
• New taxonomy: Topics 
– E.g. categorization of Blog Entries or Projects 
(examples in the default 5.7 installation)
? 
Antti Hukkanen 
antti.hukkanen@mainiotech.fi

Contenu connexe

Tendances

CUST-3 Document Management with Share
CUST-3 Document Management with ShareCUST-3 Document Management with Share
CUST-3 Document Management with ShareAlfresco Software
 
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content ManagementX All The Things: Enterprise Content Management
X All The Things: Enterprise Content ManagementPhase2
 
Getting Started with Drupal
Getting Started with DrupalGetting Started with Drupal
Getting Started with DrupalBrian Pichman
 
Web development using ASP.NET MVC
Web development using ASP.NET MVC Web development using ASP.NET MVC
Web development using ASP.NET MVC Adil Mughal
 
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management SystemBarcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management SystemWong Hoi Sing Edison
 
Introduction tosinglepageapplications
Introduction tosinglepageapplicationsIntroduction tosinglepageapplications
Introduction tosinglepageapplicationsNabeel Khan
 
Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8Exove
 
Developing An Effective e-Learning Platform From Ready-Made Script
Developing An Effective e-Learning Platform From Ready-Made ScriptDeveloping An Effective e-Learning Platform From Ready-Made Script
Developing An Effective e-Learning Platform From Ready-Made ScriptiScripts
 
Umbraco Show & Tell, London 2017
Umbraco Show & Tell, London 2017Umbraco Show & Tell, London 2017
Umbraco Show & Tell, London 2017Andy Butland
 
Introduction to Foundation
Introduction to FoundationIntroduction to Foundation
Introduction to FoundationDesignveloper
 
User Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope CoventryUser Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope CoventrySPC Adriatics
 
WordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational IntranetWordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational IntranetTech Liminal
 
Developing Style Guides at Light Speed with Fabricator
Developing Style Guides at Light Speed with FabricatorDeveloping Style Guides at Light Speed with Fabricator
Developing Style Guides at Light Speed with FabricatorBrett Whittington
 

Tendances (20)

CUST-3 Document Management with Share
CUST-3 Document Management with ShareCUST-3 Document Management with Share
CUST-3 Document Management with Share
 
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content ManagementX All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
 
The headless CMS
The headless CMSThe headless CMS
The headless CMS
 
Getting Started with Drupal
Getting Started with DrupalGetting Started with Drupal
Getting Started with Drupal
 
Web development using ASP.NET MVC
Web development using ASP.NET MVC Web development using ASP.NET MVC
Web development using ASP.NET MVC
 
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management SystemBarcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
 
Ppt ch02
Ppt ch02Ppt ch02
Ppt ch02
 
Introduction tosinglepageapplications
Introduction tosinglepageapplicationsIntroduction tosinglepageapplications
Introduction tosinglepageapplications
 
Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8
 
Ppt ch02
Ppt ch02Ppt ch02
Ppt ch02
 
Ppt ch11
Ppt ch11Ppt ch11
Ppt ch11
 
Developing An Effective e-Learning Platform From Ready-Made Script
Developing An Effective e-Learning Platform From Ready-Made ScriptDeveloping An Effective e-Learning Platform From Ready-Made Script
Developing An Effective e-Learning Platform From Ready-Made Script
 
Umbraco Show & Tell, London 2017
Umbraco Show & Tell, London 2017Umbraco Show & Tell, London 2017
Umbraco Show & Tell, London 2017
 
DOC Presentation by DOC Contractor Alison McCauley
DOC Presentation by DOC Contractor Alison McCauleyDOC Presentation by DOC Contractor Alison McCauley
DOC Presentation by DOC Contractor Alison McCauley
 
Module 4 - Dreamweaver Templates (Static vs. Dynamic Content)
Module 4 - Dreamweaver Templates (Static vs. Dynamic Content)Module 4 - Dreamweaver Templates (Static vs. Dynamic Content)
Module 4 - Dreamweaver Templates (Static vs. Dynamic Content)
 
Introduction to Foundation
Introduction to FoundationIntroduction to Foundation
Introduction to Foundation
 
User Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope CoventryUser Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope Coventry
 
WordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational IntranetWordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational Intranet
 
Developing Style Guides at Light Speed with Fabricator
Developing Style Guides at Light Speed with FabricatorDeveloping Style Guides at Light Speed with Fabricator
Developing Style Guides at Light Speed with Fabricator
 
Font-End Development Tools
Font-End Development ToolsFont-End Development Tools
Font-End Development Tools
 

Similaire à concrete5 from developer perspective

One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp Londonhernanibf
 
Presentation 1 Web--dev
Presentation 1 Web--devPresentation 1 Web--dev
Presentation 1 Web--devaltsav
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFxThomas Daly
 
Drupal training-1-in-mumbai
Drupal training-1-in-mumbaiDrupal training-1-in-mumbai
Drupal training-1-in-mumbaivibrantuser
 
The new way of managing layouts and blocks
The new way of managing layouts and blocksThe new way of managing layouts and blocks
The new way of managing layouts and blocksIvo Lukac
 
Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1asim78
 
Drupal case study: Behind the scenes of website of University of Tartu
Drupal case study: Behind the scenes of website of University of TartuDrupal case study: Behind the scenes of website of University of Tartu
Drupal case study: Behind the scenes of website of University of TartuRené Lasseron
 
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...Davalen LLC
 
Intro to the Office UI Fabric
Intro to the Office UI FabricIntro to the Office UI Fabric
Intro to the Office UI FabricThomas Daly
 
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017La Drupalera
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyMarcos Labad
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...Bill Ayers
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...SPS Paris
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Asish Padhy
 
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelonahernanibf
 
Intro to SharePoint 2013 Branding
Intro to SharePoint 2013 BrandingIntro to SharePoint 2013 Branding
Intro to SharePoint 2013 BrandingThomas Daly
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfOrtus Solutions, Corp
 
SharePoint Design & Development
SharePoint Design & DevelopmentSharePoint Design & Development
SharePoint Design & DevelopmentJonathan Schultz
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSThomas Daly
 

Similaire à concrete5 from developer perspective (20)

One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp London
 
Presentation 1 Web--dev
Presentation 1 Web--devPresentation 1 Web--dev
Presentation 1 Web--dev
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
 
Drupal training-1-in-mumbai
Drupal training-1-in-mumbaiDrupal training-1-in-mumbai
Drupal training-1-in-mumbai
 
The new way of managing layouts and blocks
The new way of managing layouts and blocksThe new way of managing layouts and blocks
The new way of managing layouts and blocks
 
Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1
 
Drupal case study: Behind the scenes of website of University of Tartu
Drupal case study: Behind the scenes of website of University of TartuDrupal case study: Behind the scenes of website of University of Tartu
Drupal case study: Behind the scenes of website of University of Tartu
 
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...
 
Intro to the Office UI Fabric
Intro to the Office UI FabricIntro to the Office UI Fabric
Intro to the Office UI Fabric
 
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing Company
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
 
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelona
 
Intro to SharePoint 2013 Branding
Intro to SharePoint 2013 BrandingIntro to SharePoint 2013 Branding
Intro to SharePoint 2013 Branding
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
 
SharePoint Design & Development
SharePoint Design & DevelopmentSharePoint Design & Development
SharePoint Design & Development
 
The Technical Side of Harvard.edu Redesign
The Technical Side of Harvard.edu RedesignThe Technical Side of Harvard.edu Redesign
The Technical Side of Harvard.edu Redesign
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
 

Dernier

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 

Dernier (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 

concrete5 from developer perspective

  • 1. www.mainiotech.fi Antti Hukkanen / CEO, Mainio Tech Oy concrete5 from developer perspective concrete5 café - 28.10.2014
  • 2. Topics 1. Mainio Tech (About us) 2. concrete5 in General (for non-concrete5’ ers) 3. Comparison (vs. Drupal, vs. WordPress) 4. concrete5.7 (The future of concrete5)
  • 3. Mainio Tech • Founded 2011 • Small office of a couple of developers in Lauttasaari, Helsinki • Focus on technology • All website projects with concrete5 • Personally actively using concrete5 since 2010 (v5.4.0.5)
  • 5. Page Types / Page Templates (5.7) • Every site consists of different pages with different structure • Page types/templates generalize this into pre-made ”templates” that give the structure to a page
  • 6. Areas & Blocks • Each page type in concrete5 consists of editable areas • Blocks are like ”lego blocks” that can be placed into any area of any page
  • 7. Blocks • Blocks map the real life concepts into reusable ”content builder” elements that can be placed in areas • Allows the developer to create any kind of editing UI for specific type of content
  • 8. Attributes • Attributes generalize the ”fields” concept for any type of object – Internal objects that take advantage of attributes: Page, File and User • Allows the on-the-fly creation of new attributes for any object that utilizes this architecture. Can be defined through the UI. – E.g. ”we need our users to tell us their names” or ”we need the ability to tag all our files” • Attributes are typed into specific types, e.g. text, boolean, date/time, select, file, etc. – Developers can create own attribute types that can be attached into any object that use the architecture
  • 9. Single Pages • Single purpose pages with view layer and controller – E.g. registration, login, dashboard pages, etc. • ”Using concrete5 as a framework” • Mainly used to build dashboard functionality • Not great for multilingual sites – Page types are better for ML sites, they also provide the same kind of architecture (view-controller)
  • 10. Packages • Everything can be ”packaged” in concrete5 – Blocks – Page Types – Page Templates (5.7) – Single Pages – Themes • Packages are used to make general purpose functionality available for multiple sites (compare to Drupal modules, WordPress plugins)
  • 11. Some Technical Points • MVC – Blocks (view-controller) – Page Types (view-controller) – Single Pages (view-controller) • Overrides architecture allows overriding any part/file of the core • Database abstraction layer (ADODB in 5.6, Doctrine 2 in 5.7->)
  • 12. + Lots more… • Functionality that helps in building online communities – Originally lots of the framework behind concrete5 was developed for this purpose • Stacks for reusable content • Flexible permissions structure • Workflows (enterprise use) • Jobs architecture for (recurring) automated tasks • Caching layer • + Wide range of add-ons – Not as many as with Drupal or WordPress (which is not necessarily a bad thing) – Many add-ons are paid but very reasonably priced ($15-100) and the commercial license allows full code modification for the project where they are used, one license per project
  • 14.
  • 15. concrete5 vs WordPress • WordPress = ”Printing Press” • concrete5 = ”Word Processor” • Solving the problem from different perspectives – WP: CMS bolted on top of blogging platform – C5: Built from bottom up to be a bridge between developers and site owners • concrete5 is more flexible in terms of the content structure of a page and also in terms of being a developer framework
  • 16. Concepts: concrete5 vs WordPress concrete5 WordPress Attributes N/A Blocks Widgets (although they serve a different purpose) Packages Plugins (and Themes) Page Types Templates Stacks Sidebars Themes Themes
  • 17. concrete5 vs Drupal • Drupal = ”Developer toolbox with CMS functionality” • concrete5 = ”User friendly CMS with developer framework” • Setup process is much more ”lean” and you can get a site up and running much quicker in concrete – Drupal: ”For a basic site, you need module A, B, C, D and E, and also need to know how they all work together” – concrete5: Install and start building • Easier to teach – concrete5 works truly through an in-context editing interface. In Drupal, the user experience is much more confusing to a newbie (as of my own experience, prior to drupal8). Probably the overall experience is still better in c5 when comparing concrete5.7 vs drupal8, although drupal8 introduces inline editing. • MVC – Has much of do with preferences but many developers prefer MVC – It usually keeps the codebase much cleaner, more understandable and more easily approachable (my personal opinion)
  • 18. Concepts: concrete5 vs Drupal concrete5 Drupal Attributes Fields, Taxonomies Blocks Blocks Packages Modules Page Types Content Types Stacks Panels Themes Themes
  • 19. Where to use concrete5? • Short answer: – Content and design driven web projects – Online communities – Or basically anywhere, there is not a reason why concrete5 would not fit some problem scope but we ourselves would rather tailor complex web application on top of a framework (more flexibility) • Longer answer: – concrete5 shines in design-centric sites that require lots of different types of content – When making pixel perfect sites that are easy to edit for the end user – When you want to deliver solutions that the end user is able to use
  • 21. New functionality in 5.7 • Full in-context editing • New image editor • Conversations (for building forums, commenting, etc.) • Groups can now be hierarchical
  • 22. Different in concrete5.7 • Page Types and Page Templates • ”Tools” no longer exist – Use custom routes and custom controllers insead • Directory structure • General structuring of the code – Most backend stuff now lie in the /src directory, except for the controllers
  • 23. Developer updates in concrete5.7 • New era of PHP finally reaches concrete5 – Composer – Namespacing – Code styling: PSR-2 & PSR-4 + generally better code guidelines (e.g. for writing JS and CSS) – Autoloading (PSR-0) • Symphony framework components replace some of the old homebrew components – Routing layer – Events layer – Request, Session & Cookie libraries (Symphony HttpFoundation) • Doctrine ORM for DB abstraction – Not currently very widely used, even in the core
  • 24. Other new developer stuff in 5.7 • Built-in assets system (CSS/JS minification and combining, dependecy management) • Authentication layer for building 3rd party authentications • New taxonomy: Topics – E.g. categorization of Blog Entries or Projects (examples in the default 5.7 installation)
  • 25. ? Antti Hukkanen antti.hukkanen@mainiotech.fi