CroogoThe CakePHP CMS
About me• Fahad Ibnay Heylaal• @fahad19 on Twitter/GitHub/IRC• From Bangladesh• Currently living in London• Working at Sky...
Introduction
What is Croogo?
What is Croogo?• Yet another Content Management System
What is Croogo?• Yet another Content Management System• Built on top of CakePHP framework
How did it start?
How did it start?• It started as a personal tool for projects
How did it start?• It started as a personal tool for projects• With common features I needed
How did it start?• It started as a personal tool for projects• With common features I needed• Later open sourced
Weird name?
Weird name?• Name taken from a Bengali novel called  Krugo
Weird name?• Name taken from a Bengali novel called  Krugo• Written by Muhammad Zafar Iqbal
Weird name?• Name taken from a Bengali novel called  Krugo• Written by Muhammad Zafar Iqbal• Wanted a unique name that Goo...
Download
Download• From GitHub: http://github.com/croogo
Download• From GitHub: http://github.com/croogo• Two options:
Download• From GitHub: http://github.com/croogo• Two options:   • Zip archive with all dependencies      included
Download• From GitHub: http://github.com/croogo• Two options:   • Zip archive with all dependencies      included   • Grab...
Installation
Installation• Upload Croogo files to your server
Installation• Upload Croogo files to your server• Visiting your site starts the web based  installer
Installation• Upload Croogo files to your server• Visiting your site starts the web based  installer• Whole process takes l...
Content
Content• Content is organized in different types
Content• Content is organized in different types• There are two primary types:
Content• Content is organized in different types• There are two primary types:   • Page
Content• Content is organized in different types• There are two primary types:   • Page   • Blog post
Content• Content is organized in different types• There are two primary types:   • Page   • Blog post• You are able to cre...
Taxonomy
Taxonomy• Basically means categorization of content
Taxonomy• Basically means categorization of content• Terminologies to understand:
Taxonomy• Basically means categorization of content• Terminologies to understand:   • Term: individual category names
Taxonomy• Basically means categorization of content• Terminologies to understand:   • Term: individual category names   • ...
Taxonomy• Basically means categorization of content• Terminologies to understand:   • Term: individual category names   • ...
Users & Permissions
Users & Permissions• Croogo uses CakePHP’s ACL
Users & Permissions• Croogo uses CakePHP’s ACL• Users belong to a Role
Users & Permissions• Croogo uses CakePHP’s ACL• Users belong to a Role• Roles are given access to controller actions
Users & Permissions• Croogo uses CakePHP’s ACL• Users belong to a Role• Roles are given access to controller actions• By d...
Extensions
Themes• Extra layer on top of your Views• Helps customize the appearance of your  website• Find themes at Croogo wiki
Plugins• Need to be activated from admin panel
Plugins• Need to be activated from admin panel• Plugins have bootstrap and routes
Plugins• Need to be activated from admin panel• Plugins have bootstrap and routes• Callbacks on activation/deactivation
Plugin activationFile at /app/plugins/example/config/example_activation.php
Hooks
What is a Hook?• Ways plugins can integrate with the app  without modifying core files
What is a Hook?• Ways plugins can integrate with the app  without modifying core files• Hooks are set from plugin’s bootstr...
Hook examples  Attach Example behavior to Node modelLoad Example component in NodesController  Load Example helper in Node...
v2.0?
Changes in v2.0• Migration to CakePHP 2.0
Changes in v2.0• Migration to CakePHP 2.0• Development will start as soon as v1.3.x  leaves beta
Changes in v2.0• Migration to CakePHP 2.0• Development will start as soon as v1.3.x  leaves beta• Terminology will be made...
Changes in v2.0• Migration to CakePHP 2.0• Development will start as soon as v1.3.x  leaves beta• Terminology will be made...
Who uses Croogo?
( http://expresshyundai.com/ )
( http://ispmn.gov.ro/ )
( http://www.calzedonia.co.uk/ )
( http://www.festiwalmtv.pl/ )
The Community
“Getting people involved in open source is not aseasy as appointing them”                                   Mark Story
Community Activities• Contributions coming in from 20+  developers
Community Activities• Contributions coming in from 20+  developers• Lighthouse account with 200+ tickets
Community Activities• Contributions coming in from 20+  developers• Lighthouse account with 200+ tickets• Google Group wit...
Community Activities• Contributions coming in from 20+  developers• Lighthouse account with 200+ tickets• Google Group wit...
Community Activities• Contributions coming in from 20+  developers• Lighthouse account with 200+ tickets• Google Group wit...
Links• Official Website: http://croogo.org• Wiki: http://wiki.croogo.org• Issue Tracker: http://croogo.lighthouseapp.com• G...
Thank you!
Upcoming SlideShare
Loading in …5
×

Croogo: The CakePHP CMS

8,577 views

Published on

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,577
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Croogo: The CakePHP CMS

    1. 1. CroogoThe CakePHP CMS
    2. 2. About me• Fahad Ibnay Heylaal• @fahad19 on Twitter/GitHub/IRC• From Bangladesh• Currently living in London• Working at SkylightIT.com
    3. 3. Introduction
    4. 4. What is Croogo?
    5. 5. What is Croogo?• Yet another Content Management System
    6. 6. What is Croogo?• Yet another Content Management System• Built on top of CakePHP framework
    7. 7. How did it start?
    8. 8. How did it start?• It started as a personal tool for projects
    9. 9. How did it start?• It started as a personal tool for projects• With common features I needed
    10. 10. How did it start?• It started as a personal tool for projects• With common features I needed• Later open sourced
    11. 11. Weird name?
    12. 12. Weird name?• Name taken from a Bengali novel called Krugo
    13. 13. Weird name?• Name taken from a Bengali novel called Krugo• Written by Muhammad Zafar Iqbal
    14. 14. Weird name?• Name taken from a Bengali novel called Krugo• Written by Muhammad Zafar Iqbal• Wanted a unique name that Google didn’t know about
    15. 15. Download
    16. 16. Download• From GitHub: http://github.com/croogo
    17. 17. Download• From GitHub: http://github.com/croogo• Two options:
    18. 18. Download• From GitHub: http://github.com/croogo• Two options: • Zip archive with all dependencies included
    19. 19. Download• From GitHub: http://github.com/croogo• Two options: • Zip archive with all dependencies included • Grab latest code from the repository
    20. 20. Installation
    21. 21. Installation• Upload Croogo files to your server
    22. 22. Installation• Upload Croogo files to your server• Visiting your site starts the web based installer
    23. 23. Installation• Upload Croogo files to your server• Visiting your site starts the web based installer• Whole process takes less than 5 minutes
    24. 24. Content
    25. 25. Content• Content is organized in different types
    26. 26. Content• Content is organized in different types• There are two primary types:
    27. 27. Content• Content is organized in different types• There are two primary types: • Page
    28. 28. Content• Content is organized in different types• There are two primary types: • Page • Blog post
    29. 29. Content• Content is organized in different types• There are two primary types: • Page • Blog post• You are able to create more content types
    30. 30. Taxonomy
    31. 31. Taxonomy• Basically means categorization of content
    32. 32. Taxonomy• Basically means categorization of content• Terminologies to understand:
    33. 33. Taxonomy• Basically means categorization of content• Terminologies to understand: • Term: individual category names
    34. 34. Taxonomy• Basically means categorization of content• Terminologies to understand: • Term: individual category names • Vocabulary: a collection of Terms
    35. 35. Taxonomy• Basically means categorization of content• Terminologies to understand: • Term: individual category names • Vocabulary: a collection of Terms• Two default vocabularies: Categories, and Tags
    36. 36. Users & Permissions
    37. 37. Users & Permissions• Croogo uses CakePHP’s ACL
    38. 38. Users & Permissions• Croogo uses CakePHP’s ACL• Users belong to a Role
    39. 39. Users & Permissions• Croogo uses CakePHP’s ACL• Users belong to a Role• Roles are given access to controller actions
    40. 40. Users & Permissions• Croogo uses CakePHP’s ACL• Users belong to a Role• Roles are given access to controller actions• By default, there are 3 roles: • Admin • Registered • Public
    41. 41. Extensions
    42. 42. Themes• Extra layer on top of your Views• Helps customize the appearance of your website• Find themes at Croogo wiki
    43. 43. Plugins• Need to be activated from admin panel
    44. 44. Plugins• Need to be activated from admin panel• Plugins have bootstrap and routes
    45. 45. Plugins• Need to be activated from admin panel• Plugins have bootstrap and routes• Callbacks on activation/deactivation
    46. 46. Plugin activationFile at /app/plugins/example/config/example_activation.php
    47. 47. Hooks
    48. 48. What is a Hook?• Ways plugins can integrate with the app without modifying core files
    49. 49. What is a Hook?• Ways plugins can integrate with the app without modifying core files• Hooks are set from plugin’s bootstrap file
    50. 50. Hook examples Attach Example behavior to Node modelLoad Example component in NodesController Load Example helper in NodesController
    51. 51. v2.0?
    52. 52. Changes in v2.0• Migration to CakePHP 2.0
    53. 53. Changes in v2.0• Migration to CakePHP 2.0• Development will start as soon as v1.3.x leaves beta
    54. 54. Changes in v2.0• Migration to CakePHP 2.0• Development will start as soon as v1.3.x leaves beta• Terminology will be made easier to understand
    55. 55. Changes in v2.0• Migration to CakePHP 2.0• Development will start as soon as v1.3.x leaves beta• Terminology will be made easier to understand• Plugin based architecture very likely
    56. 56. Who uses Croogo?
    57. 57. ( http://expresshyundai.com/ )
    58. 58. ( http://ispmn.gov.ro/ )
    59. 59. ( http://www.calzedonia.co.uk/ )
    60. 60. ( http://www.festiwalmtv.pl/ )
    61. 61. The Community
    62. 62. “Getting people involved in open source is not aseasy as appointing them” Mark Story
    63. 63. Community Activities• Contributions coming in from 20+ developers
    64. 64. Community Activities• Contributions coming in from 20+ developers• Lighthouse account with 200+ tickets
    65. 65. Community Activities• Contributions coming in from 20+ developers• Lighthouse account with 200+ tickets• Google Group with 300+ members
    66. 66. Community Activities• Contributions coming in from 20+ developers• Lighthouse account with 200+ tickets• Google Group with 300+ members• Translated in 12 different languages
    67. 67. Community Activities• Contributions coming in from 20+ developers• Lighthouse account with 200+ tickets• Google Group with 300+ members• Translated in 12 different languages• 70+ repos on GitHub related to Croogo
    68. 68. Links• Official Website: http://croogo.org• Wiki: http://wiki.croogo.org• Issue Tracker: http://croogo.lighthouseapp.com• Google Group: http://groups.google.com/ group/croogo• @Croogo
    69. 69. Thank you!

    ×