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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

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...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

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