Cakefest higher education


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Cakefest higher education

  1. 1. CakePHP in Higher Education J. Erik Schaeffer (aka phpdiddy) @phpdiddy IRC: phpdiddy
  2. 2. Who is this guy? <ul><li>PHP since 2002 </li><ul><li>CakePHP since 2006 – 1.1.x FTW! </li></ul><li>BA in Computer Information Science (yay, a piece of paper!)
  3. 3. Zend Certified Engineer (yay, more pieces of paper!) </li><ul><li>PHP4
  4. 4. PHP5 </li></ul></ul>
  5. 5. But what has he done? <ul><li>CDfuse/DoubleStereo </li><ul><li>CIO/Lead Developer
  6. 6. Ecommerce/Amazon S3 </li></ul><li>CakePHP </li><ul><li>Written some articles for the Bakery </li><ul><li>CDfuse Case Study (1.1)
  7. 7. Custom URLs from the site root (1.1)
  8. 8. Custom sessions with DB storage (1.3) </li></ul><li>Submitted some bugs
  9. 9. Edited roughly 1 line of documentation </li></ul></ul>
  10. 10. How about at St. Edward's? <ul><li>Lead Developer/Web Architect </li><ul><li>Financial Aid Calculator
  11. 11. SOURCE </li><ul><li>Symposium on Undergraduate Research & Creative Expression </li></ul><li>Writing Center </li><ul><li>Appointment scheduling </li></ul><li>Upost </li><ul><li>University News and Event Management </li></ul><li>Omnio </li><ul><li>Portal (the Cake is not a lie) </li></ul></ul></ul>
  12. 12. What's this all about? <ul><li>Variety of Systems and APIs </li><ul><li>LDAP </li><ul><li>CAS/Shibboleth/Other SSO up next </li></ul><li>ERP </li><ul><li>Not quite yet </li></ul><li>Blackboard/Moodle </li><ul><li>Not quite yet, but close </li></ul><li>MailChimp
  13. 13. Zimbra
  14. 14. Drupal </li></ul></ul>
  15. 15. CakePHP is the glue
  16. 16. Code 'n' Stuff <ul><li>LDAP Integration </li><ul><li>Setting up the LdapUser Model
  17. 17. Setting up the LdapAuth Component </li></ul><li>Drupal Integration </li><ul><li>Setting up the Drupal side
  18. 18. Setting up the vendor files
  19. 19. Setting up the DrupalComponent </li></ul><li>Omnio – using Cake to its fullest </li></ul>
  20. 20. LDAP Integration <ul><li>2 pieces to the puzzle </li><ul><li>Model: LdapUser </li><ul><li>Sets up LDAP connection
  21. 21. Check username and password
  22. 22. Could be included in component
  23. 23. Probably should be a datasource, too...but it isn't </li><ul><li>cough – refactor - cough </li></ul></ul><li>Component: LdapAuth </li><ul><li>Extends built-in Auth Component
  24. 24. Enables preAuthentication of users against LDAP </li></ul></ul></ul>
  25. 25. LDAP Integration <ul><li>Let's look at some code (zip on DropBox) </li></ul>
  26. 26. Drupal Integration <ul><li>Setting up Drupal </li><ul><li>Services module </li><ul><li>XML-RPC, JSON, REST, SOAP, AMF </li></ul><li>Devel Module </li><ul><li>Only for debugging
  27. 27. Helps you see what's going on inside Drupal
  28. 28. Helps see what the node objects/arrays look like
  29. 29. See SQL queries
  30. 30. Be sure to turn off for production! </li></ul></ul></ul>
  31. 31. Drupal Integration <ul><li>Services Module Setup </li><ul><li>We went with XML-RPC </li><ul><li>Best documentation at the time </li></ul><li>You write your own services </li><ul><li>Some built-in, but most need to be written
  32. 32. CCK can be painful when pushing content </li><ul><li>Taxonomy can be too </li></ul><li>Node objects/arrays must match up from the Cake side </li></ul></ul></ul>
  33. 33. Drupal Integration <ul><li>Vendor Files </li><ul><li>Create a “drupal” vendor folder
  34. 34. Drupal files need to be copied </li><ul><li> </li><ul><li>“Functions that need to be included on every Drupal request.” </li></ul><li> </li><ul><li>“Common functions that many Drupal modules will need to reference.” </li></ul><li> </li><ul><li>“XML-RPC library for Drupal.” </li></ul></ul></ul></ul>
  35. 35. Drupal Integration <ul><li>Let's look at some code (zip on DropBox) </li></ul>
  36. 36. Omnio <ul><li>Omnio is somewhat ambitious </li><ul><li>Portal product
  37. 37. Plan to open source the product once complete
  38. 38. Heavy integration with variety of services </li><ul><li>LDAP integration
  39. 39. Drupal integration including SSO
  40. 40. Zimbra SSO </li></ul><li>Heavy use of almost every aspect of Cake </li><ul><li>Themes, Plugins, Datasources </li></ul></ul></ul>
  41. 41. Omnio <ul><li>Demo </li></ul>
  42. 42. Wrap it up... I'll take it <ul><li>We love CakePHP at St. Edward's
  43. 43. Make life easy - extend core
  44. 44. Drupal and Cake – a match made in heaven
  45. 45. Did I mention we love Cake? </li></ul>
  46. 46. Questions? Comments?
  47. 47. Thanks! @phpdiddy IRC: PHPdiddy