CakePHP Plugins - A Biblical Retelling

I'm just going to list a few plugins I use and abuse on a daily basis, as well as things I've discovered but haven't found a use for but seem to be cool. YMMV, but things should mostly work in CakePHP 1.3 unless my description says otherwise.

Any plugin advertised to work in 2.0 should also work in 2.1 just fine.

Authentication and Authorization:

  • Debuggable's Authsome: 1.3 1.2 A no-nonsense replacement for AuthComponent. It doesn't handle redirection, just authentication to your app. On the plus side, it has Authsome::get('fieldName'), so retrieving logged-in user data anywhere is a breeze.
  • Jose Gonzalez's Sanction: 2.0 1.3 Something I cooked up, it works with Authsome and a simple config file to manage your application's permissions. It's cool in that there is a Helper that can be used to replace HtmlHelper and jacks into your Permission configuration file.
  • Nick Baker's Facebook: 2.0 1.3 Facebook integration plugin. It can be used in conjunction with AuthComponent - and maybe Authsome? - to create a fully-functional Facebook authentication section. Neato-burrito, and I hope to use it some day. There is also a demo-site here.
  • Nick Baker's Gigya: 1.3 Looks like a custom social network plugin that integrates with other networks on the service end with one api on your end. Haven't explored it too much, but the idea seems solid.
  • Jedt's Spark Plug: 1.3 An awesome-sounding user management and admin section integrating Authsome with a simple ACL implementation. I haven't tried it, but it apparently uses my own Filter component to optionally filter permissions. Promising for sure, and I hope to have screenshots soon.
  • Valerij Bancer's PoundCake Control Panel: 1.3From the description: "admin panel for users and groups management, dynamic database driven ACL menus generation and management, permissions assignment to users and groups." Cool
  • Travis Rowland's SuperAuth: 1.3 I'll smack you if you want to implement Row-level ACL and don't use this. It's complete genius, and other than the missing tests - it's pretty advanced functionality, so I'd like tests - I wholly recommend it.
  • Mark Story's ACL Extras: 2.1 2.0 1.3 1.2 Extra stuff for ACL. Use ACL all day? Use this shell and make your life easier.
  • Mark Story's Menu Component: 1.3 Build ACL-based Menu's for your application. Cool, no?
  • Matt Curry's Static User: 1.3 1.2 Want to use Authsome::get('fieldName') syntax but you have too much AuthComponent code? This is an easy way to do the same, but with User::get('fieldName'). Try it out, it's pretty simple to implement.

Searching and Pagination:

  • CakeDC's Search: 2.0 1.3 A proper, although slightly advanced, method of filtering paginated data. Written by the CakePHP expert's themselves. Maybe it needs more tests? ;)
  • Neil Crooke's Filter: 1.3 Haven't used it yet, but if it's anything like his Searchable plugin, it blows me out of the water. Meh.
  • Neil Crooke's Searchable: 1.3 Uses JSON to index searchable records. Pretty awesome, and I've used it on a couple sites, including CakePackages. Definitely something to look into.
  • Matt Curry's Pagination Recall: 1.3 An undocumented plugin that allows one to save the current paginated page to the Session, which can then be retrieved whenever redirecting to the pagination action of that controller. Nifty, and something people ask for all the time.

File Uploading:

  • Jose Gonzalez's Upload: 2.0 1.3 I made an Upload plugin based on my work with MeioUpload and UploadPack. I haven't used it yet, but it's currently ~44% unit tested and once it is at 100%, I'll try it out and let you know ;)
  • Vinicius Mendes' MeioUpload: 2.0 1.3 I've worked on this. The versioning is pretty silly atm, but I still say it's definitely usable.
  • Michał Szajbe's UploadPack: 2.0 1.3 File Uploading with a Helper to output the stuff for you. It's dope, for damn sure. I actually prefer this over MeioUpload now, and I contribute to both and have been the "Maintainer" of both in some fashion over the past year.
  • David Perrson's Media: 1.3 The grand-daddy of all CakePHP upload plugins. If this plugin doesn't do what you need it to do, the code hasn't been released as a CakePHP plugin. For advanced users only, but you won't be disappointed.

Optimization

  • Frank de Graaf's Lazy Model: 1.3 1.2 Make your model chain-loading lazy, and potentially speed up the enormous app you've been building. Definitely something to look into if you are in 1.2/1.3. CakePHP 2.0 will have this in the core, but since that's not out, Lazy Model is the next best thing.
  • Rafael Bandeiras' Linkable: 1.3 Think of it as Containable Behavior's crazy best friend. You know, the one that is going to rule the world someday, but is busy in his basement writing SQL at the moment. Terr seems to have an updated version of it, so thats what I am linking to. Check it out.
  • Mark Story's Asset Compress: 2.0 1.3 Compress your CSS and JS. This plugin rules, and no one other than the current lead developer of CakePHP could have such a gem chilling in his github profile.
  • Matt Curry's HTML Cache: 1.3 Cache your pages to HTML. See a huge speedup. Great for static pages. Also has a Croogo hook, if you happen to be using Croogo CMS.
  • Matt Curry's URL Cache: 1.3 This snarky guy seems to have gems all over his Github profile. Cache your generated html urls to whatever caching system you use. Greatly speeds up requests on pages with a fuck-ton of URLs to generate.
  • Matt Curry's Custom Find Types: 1.3 Definitely an easy way to build custom find types for your application, and easily customizable to add stuff like Caching or Filtering. DO NOT USE IF YOU WANT REAL CUSTOM FINDS, THIS IS A HACK AND IT WILL BURN DOWN YOUR KITCHEN. USE THIS INSTEAD

Debugging

  • Mark Story's DebugKit: 2.1 2.0 1.3 1.2 Honestly, this man is a monster. Not only is he a JS-Ninja and CakePHP-bashing fiend, but he also draws incessantly and has time to hack on the most wonderful tool for debugging your CakePHP application. This is something you need to install NOW. You will love me later.
  • Joe Beeson's Referee: 1.3 "A CakePHP 1.3+ plugin for catching errors and exceptions and logging them." I think that's pretty cool, and so should you.
  • Matt Curry's Interactive: 1.3 A panel for DebugKit to interact with your app without refreshing the page. A great way to see what a particular query will perform.

Shells

Useful Helpers

  • Graham Weldon's Goodies plugn: 2.0 1.3 Contains helpers for Gravatar inclusion, automatic javascript file inclusion within your layout and more.
  • Chris Your's CakeHelper: 1.3 "Ever wanted a clean way to capture a block of HTML in your CakePHP view and use it later in your layout just like CakePHP uses $contentforlayout?" This helper is an implementation of Rails' content_for in CakePHP. Chawsome.
  • Joe Beeson's Analogue Helper: 1.3 Sometimes you just need your helpers to pretend to be other, core helpers. Why? How the hell would I know! But now you can!

Random Awesome-sauce

blog comments powered by Disqus