SlideShare a Scribd company logo
1 of 55
Plumbing with Cake
Integrating CakePHP and Drupal
Plumbing with Cake
Integrating CakePHP and Drupal
About Me
About Me

• Mark Tovey
About Me

• Mark Tovey


• Web Developer
About Me

• Mark Tovey


• Web Developer


• Geek/Nerd
About Me

• Mark Tovey


• Web Developer


• Geek/Nerd


• Twitter: @eM_tEe
About Me

• Mark Tovey


• Web Developer


• Geek/Nerd


• Twitter: @eM_tEe


• Email: mtovey@ionagroup.com
CakePHP
CakePHP
CakePHP

• Great for building web applications
CakePHP

• Great for building web applications
• Uses the MVC design pattern
CakePHP

• Great for building web applications
• Uses the MVC design pattern
• Great for rapidly building a prototype using bake and scaffolding
CakePHP

• Great for building web applications
• Uses the MVC design pattern
• Great for rapidly building a prototype using bake and scaffolding
• Add custom functionality within the framework
CakePHP

• Great for building web applications
• Uses the MVC design pattern
• Great for rapidly building a prototype using bake and scaffolding
• Add custom functionality within the framework
• Great user community provides help and additional functionality
Drupal
Drupal
Drupal

• Comprehensive content management out of the box
Drupal

• Comprehensive content management out of the box
• Versioning, taxonomy, and menus
Drupal

• Comprehensive content management out of the box
• Versioning, taxonomy, and menus
• User management including permissions
Drupal

• Comprehensive content management out of the box
• Versioning, taxonomy, and menus
• User management including permissions
• Flexible API to add functionality within the CMS
Drupal

• Comprehensive content management out of the box
• Versioning, taxonomy, and menus
• User management including permissions
• Flexible API to add functionality within the CMS
• User community that provides support and custom functionality
Integration
Integration
Integration

• Why integrate when both systems serve
  different purposes so well?
Integration

• Why integrate when both systems serve
  different purposes so well?


• Sharing data between systems seamlessly
Integration

• Why integrate when both systems serve
  different purposes so well?


• Sharing data between systems seamlessly


• Building related systems to synchronize
  user bases
Integration

• Why integrate when both systems serve
  different purposes so well?


• Sharing data between systems seamlessly


• Building related systems to synchronize
  user bases


• Avoid multiple account creation
Integration

• Why integrate when both systems serve
  different purposes so well?


• Sharing data between systems seamlessly


• Building related systems to synchronize
  user bases


• Avoid multiple account creation


• Facilitate single sign-on
Methodology
Methodology

• Be a "good citizen" within both systems
Methodology

• Be a "good citizen" within both systems


• Easily portable between installations
Methodology

• Be a "good citizen" within both systems


• Easily portable between installations


• Secure
Architecture
Architecture

• Direct database connection?
Architecture

• Direct database connection?


• CURL requests - Client URL module.
Architecture

• Direct database connection?


• CURL requests - Client URL module.


• Stays within Cake and Drupal architectures
Architecture

• Direct database connection?


• CURL requests - Client URL module.


• Stays within Cake and Drupal architectures


• XML as the data transfer mechanism
Walkthrough
Walkthrough

• Sample implementation of this in action
Walkthrough

• Sample implementation of this in action


• XAMPP install
Walkthrough

• Sample implementation of this in action


• XAMPP install


• A baked cake app with base CRUD
  functionality
Walkthrough

• Sample implementation of this in action


• XAMPP install


• A baked cake app with base CRUD
  functionality


• A Drupal install intended to facilitate our cake
  app
Integrated functionality

• Drupal user creation


• Account modification


• Single sign on


• Shared data display
Code review
              User creation




                              Admin credentials



                 Signon




                              User details


              Remote user
                creation




                              Response


                Process
                complete
Code review
• Cake component provides interface to the cURL   User creation

  requests
                                                                  Admin credentials



                                                     Signon




                                                                  User details


                                                  Remote user
                                                    creation




                                                                  Response


                                                    Process
                                                    complete
Code review
• Cake component provides interface to the cURL           User creation

  requests
                                                                          Admin credentials
• Controllers then utilize the component to call out to
  Drupal where necessary
                                                             Signon




                                                                          User details


                                                          Remote user
                                                            creation




                                                                          Response


                                                            Process
                                                            complete
Code review
• Cake component provides interface to the cURL           User creation

  requests
                                                                          Admin credentials
• Controllers then utilize the component to call out to
  Drupal where necessary
                                                             Signon


• Drupal has a similar structure
                                                                          User details


                                                          Remote user
                                                            creation




                                                                          Response


                                                            Process
                                                            complete
Code review
• Cake component provides interface to the cURL           User creation

  requests
                                                                          Admin credentials
• Controllers then utilize the component to call out to
  Drupal where necessary
                                                             Signon


• Drupal has a similar structure
                                                                          User details

• Common functions within module provide cURL
  interface for other functions to utilize                Remote user
                                                            creation




                                                                          Response


                                                            Process
                                                            complete
Summary
Summary
• Seamless integration provided to
  the end user.
Summary
• Seamless integration provided to
  the end user.


• No disruption to the core
  frameworks
Summary
• Seamless integration provided to
  the end user.


• No disruption to the core
  frameworks


• Roadmap
Summary
• Seamless integration provided to
  the end user.


• No disruption to the core
  frameworks


• Roadmap


• Questions?

More Related Content

Viewers also liked

SMART UMA Alice-to-Bob sharing.
SMART UMA Alice-to-Bob sharing.SMART UMA Alice-to-Bob sharing.
SMART UMA Alice-to-Bob sharing.
smartjisc
 
Cloud4All Introduction
Cloud4All IntroductionCloud4All Introduction
Cloud4All Introduction
Ross Gardler
 

Viewers also liked (7)

SMART UMA Alice-to-Bob sharing.
SMART UMA Alice-to-Bob sharing.SMART UMA Alice-to-Bob sharing.
SMART UMA Alice-to-Bob sharing.
 
Cloud4All Introduction
Cloud4All IntroductionCloud4All Introduction
Cloud4All Introduction
 
A forge is just a tool, but is it the right tool?
A forge is just a tool, but is it the right tool?A forge is just a tool, but is it the right tool?
A forge is just a tool, but is it the right tool?
 
Surviving Public Funding
Surviving Public FundingSurviving Public Funding
Surviving Public Funding
 
ApacheCon 2014 - Apache Stratos - The PaaS Project from Apache
ApacheCon 2014  - Apache Stratos - The PaaS Project from ApacheApacheCon 2014  - Apache Stratos - The PaaS Project from Apache
ApacheCon 2014 - Apache Stratos - The PaaS Project from Apache
 
WSO2 App Dev Strategy and Roadmap - WSO2Con EU 2014
WSO2 App Dev Strategy and Roadmap - WSO2Con EU 2014WSO2 App Dev Strategy and Roadmap - WSO2Con EU 2014
WSO2 App Dev Strategy and Roadmap - WSO2Con EU 2014
 
User-Managed Access: Why and How? - Access Control in Digital Contract Contexts
User-Managed Access: Why and How? - Access Control in Digital Contract ContextsUser-Managed Access: Why and How? - Access Control in Digital Contract Contexts
User-Managed Access: Why and How? - Access Control in Digital Contract Contexts
 

Similar to Plumbing with cake

Microsoft sccm 2012 seminar ddls sydney 22 nov 2012
Microsoft sccm 2012 seminar   ddls sydney 22 nov 2012Microsoft sccm 2012 seminar   ddls sydney 22 nov 2012
Microsoft sccm 2012 seminar ddls sydney 22 nov 2012
DDLS
 
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to KubernetesMigrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
Tony Erwin
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
Majong DevJfu
 
Platform approach-series-the oracleplatform-final
Platform approach-series-the oracleplatform-finalPlatform approach-series-the oracleplatform-final
Platform approach-series-the oracleplatform-final
OracleIDM
 
Beyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services WorldBeyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services World
Nishant Kaushik
 
Oracle_Cisco identity platform approach_webcast
Oracle_Cisco identity platform approach_webcastOracle_Cisco identity platform approach_webcast
Oracle_Cisco identity platform approach_webcast
OracleIDM
 

Similar to Plumbing with cake (20)

Microsoft sccm 2012 seminar ddls sydney 22 nov 2012
Microsoft sccm 2012 seminar   ddls sydney 22 nov 2012Microsoft sccm 2012 seminar   ddls sydney 22 nov 2012
Microsoft sccm 2012 seminar ddls sydney 22 nov 2012
 
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to KubernetesMigrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
System center 2012 configutation manager rc2
System center 2012 configutation manager rc2System center 2012 configutation manager rc2
System center 2012 configutation manager rc2
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
 
Md Zahir Uddin
Md Zahir UddinMd Zahir Uddin
Md Zahir Uddin
 
Creating Mobile Websites with Kentico CMS 7
Creating Mobile Websites with Kentico CMS 7Creating Mobile Websites with Kentico CMS 7
Creating Mobile Websites with Kentico CMS 7
 
Platform approach-series-the oracleplatform-final
Platform approach-series-the oracleplatform-finalPlatform approach-series-the oracleplatform-final
Platform approach-series-the oracleplatform-final
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
CQRS: Command/Query Responsibility Segregation
CQRS: Command/Query Responsibility SegregationCQRS: Command/Query Responsibility Segregation
CQRS: Command/Query Responsibility Segregation
 
Azure in Developer Perspective
Azure in Developer PerspectiveAzure in Developer Perspective
Azure in Developer Perspective
 
Duo World Architecture
Duo World ArchitectureDuo World Architecture
Duo World Architecture
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Building Big Architectures
Building Big ArchitecturesBuilding Big Architectures
Building Big Architectures
 
Smartsup
SmartsupSmartsup
Smartsup
 
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptxUtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
 
Scale Cloud across Enterprise
Scale Cloud across EnterpriseScale Cloud across Enterprise
Scale Cloud across Enterprise
 
Beyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services WorldBeyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services World
 
Oracle_Cisco identity platform approach_webcast
Oracle_Cisco identity platform approach_webcastOracle_Cisco identity platform approach_webcast
Oracle_Cisco identity platform approach_webcast
 
DevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptxDevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptx
 

Recently uploaded

Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 

Recently uploaded (20)

Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 

Plumbing with cake

Editor's Notes

  1. Concept of presentation
  2. Concept of presentation
  3. Cake is good for building web apps
  4. Cake is good for building web apps
  5. Cake is good for building web apps
  6. Cake is good for building web apps
  7. Cake is good for building web apps
  8. Cake is good for building web apps
  9. Drawback: still a cms at it’s core
  10. Drawback: still a cms at it’s core
  11. Drawback: still a cms at it’s core
  12. Drawback: still a cms at it’s core
  13. Drawback: still a cms at it’s core
  14. Drawback: still a cms at it’s core
  15. Mention leveraging the power of both systems without duplicating the functionality of either (pt 3)
  16. Mention leveraging the power of both systems without duplicating the functionality of either (pt 3)
  17. Mention leveraging the power of both systems without duplicating the functionality of either (pt 3)
  18. Mention leveraging the power of both systems without duplicating the functionality of either (pt 3)
  19. Mention leveraging the power of both systems without duplicating the functionality of either (pt 3)
  20. Mention leveraging the power of both systems without duplicating the functionality of either (pt 3)
  21. pt 1: breaks framework, non secure Pt2: well established and widely available PHP add on
  22. pt 1: breaks framework, non secure Pt2: well established and widely available PHP add on
  23. pt 1: breaks framework, non secure Pt2: well established and widely available PHP add on
  24. pt 1: breaks framework, non secure Pt2: well established and widely available PHP add on
  25. Modify app_controller to enable auth
  26. Modify app_controller to enable auth
  27. Modify app_controller to enable auth
  28. Modify app_controller to enable auth
  29. Enable drupal module, describe purpose of modules Modify users_controller, default.ctp
  30. Pt 1, go over component and utilization of in external update
  31. Pt 1, go over component and utilization of in external update
  32. Pt 1, go over component and utilization of in external update
  33. Pt 1, go over component and utilization of in external update