The document discusses integrating the CakePHP and Drupal frameworks by sharing data and synchronizing user bases between the two systems. It proposes using cURL requests and XML to transfer data without directly connecting the databases. A sample implementation is described where a CakePHP app is built with CRUD functionality and integrated with a Drupal install to facilitate user creation and single sign-on. The code review examines components to interface with cURL and controllers that utilize them to call Drupal when needed.
13. CakePHP
• Great for building web applications
• Uses the MVC design pattern
• Great for rapidly building a prototype using bake and scaffolding
14. 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
15. 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
20. Drupal
• Comprehensive content management out of the box
• Versioning, taxonomy, and menus
• User management including permissions
21. Drupal
• Comprehensive content management out of the box
• Versioning, taxonomy, and menus
• User management including permissions
• Flexible API to add functionality within the CMS
22. 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
26. Integration
• Why integrate when both systems serve
different purposes so well?
• Sharing data between systems seamlessly
27. Integration
• Why integrate when both systems serve
different purposes so well?
• Sharing data between systems seamlessly
• Building related systems to synchronize
user bases
28. 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
29. 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
37. Architecture
• Direct database connection?
• CURL requests - Client URL module.
• Stays within Cake and Drupal architectures
38. Architecture
• Direct database connection?
• CURL requests - Client URL module.
• Stays within Cake and Drupal architectures
• XML as the data transfer mechanism
44. 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
46. Code review
User creation
Admin credentials
Signon
User details
Remote user
creation
Response
Process
complete
47. Code review
• Cake component provides interface to the cURL User creation
requests
Admin credentials
Signon
User details
Remote user
creation
Response
Process
complete
48. 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
49. 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
50. 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