skip to content

DerekAllard.com : CodeIgniter, ExpressionEngine, and the World of Web Design

Top 8 Code Igniter Wiki Resources

December 18th, 2006

One of the reasons I started getting active in the Code Igniter community was because of... um... well, the community. The people who are active are such interesting people, who give a lot of themselves back into the framework. You only need to look at the very active forums to see this happening. Community contributions are cropping up all over, including CIForge.com, as well as numerous independent efforts to educate and evangelize. People from all walks of life are drawn to Code Igniter, presumably for the same reason I was. It just plain rocks. It helps you build faster, it helps you build more organized, and it helps you build more securely.

In fact, CI is so sweet, that you could download the framework and never visit the site again, and be instantly more productive... but if you really want to push the bounds, then you need to spend some time in the community wiki. The wiki is a mysterious, fantastic place - and if you can sort through the disorganization and flux, there are some real treats in there. In fact, nearly every project I've built has used something from the wiki*. So in no particular order, here are my top eight, wiki resources.

Panachart charting library

PanaChart is a PHP class for online charts creation using PHP scripting language and the GD image manipulation library. It makes it easy to plot several types of charts with less then 10 lines of code. PanaChart is suited for any scientific or business web application.

I needed a graphing library in my most recent project, and Panachart library worked out beautifully. Thanks go to Oscar Bajner for doing this up and making it available.

Honourable mentions: Craig's adaptation of an excellent and elegant 3D Pie chart library.

Session Libraries

Sessions form the backbone of nearly every web application you can build. Tracking logins, userinformation, preferences, etc. Code Igniter does come with its own very handy session class, but there are community contributions that make working with sessions even more secure and powerful. There are at least 3 excellent contributions in the session management realm, but I keep coming back to Seele's native session. Its my "go to" session management library. Nice work, and thanks Seele!

My favourite feature? "Flashdata"; you can set the session attribute that will persist only for the next request.

Also noteworthy are PHPsession and DB session.

PDF generation using dompdf plugin

I needed to be able to generate PDFs on the fly for Bambooinvoice's invoice export. There are a few choices out there, and I played with most of them. FPDF was nice, but I found the syntax to onerous to be practical (I want users to be able to control the look of their PDFs, and with FPDF they'd essentially need to learn a new language).  After much searching, I hit upon dompdf.  EXCELLENT!  Decent support for what I needed to do, and has decent (not great) support for many CSS styles and XHTML. Please note, that it is PHP 5 only. PDF generation using dompdf plugin.

Filters

Filters allow you to execute code before, after or "around" a controller; modifying a controllers execution path without modifying the controller itself. Filters permit customization of an application to specific deployment requirements using CI hooks.

Also from Seele, the excellent Filters system. I've used this for authentication, data cleanup, and other assorted and sundry uses. It also seems to be one of those features that other frameworks use and is a commonly requested feature.

Microformats Plugin

Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.

This helper is meant to ease the creation of various well known microformats. So if you ever need to generate microformats on your site, consider using the Microformats plugin. Currently it supports the widely used hCard implementation, and the less widely used (but I needed it) rel="license".

Rapyd Components

Rapyd is a set of components/classes that can help you to develop web applications "rapidly". Now It's a library for Code Igniter. Felix built this contribution up so much that it grew from its humble wiki entry, into its own website! I admit to this being the only entry in this article that I haven't put into production use yet, but it just looks so nice that I had to include it.

Sentry

Once upon a time, I wrote my own authentication library, and called it "userauth". Since then, George Dunlop has admirably taken over the project, and it has grown into a full mini-framework (nice work George). But now it is much too large for a drop-in authentication library. And that's where the excellent Sentry comes into play. Sentry is a simple security system written by thzero and actively discussed on the forums.

Sentry is perfect for those mid-size applications that need a functional user authentication system but don't really warrant building your own. It is practically plug and play, and when combined with hooks is a very quick and easy authentication system.

Excel Plugin

If you work with information long enough, your going to find a need to move it into the format of popular desktop applications. None is more popular then Office, and in the past I've found myself needing the ability to take arbitrary database results and push them out into CSV format that would get read by Excel. The result? I wrote the Excel Plugin.

Richmail

This library extends the Email library, adds the ability to take images and add them as inline attachments. It also made some performance improvements. If you build an email application, you can see how these are sorely needed. The richmail project has so much potential. Unfortunately it hasn't evolved much since its inception, and won't work without some heavy hacking. So reluctantly, I don't count it as one of the "8" top wiki entires... but I wish I could. Genoil come back to us!

* Let me be clear; I'm not saying these contributions are better then any other contribution, I'm just saying that these are the ones I find myself coming back to again and again.

This entry was made on December 18th, 2006 @ 8:31 and filed into CodeIgniter.

Comments

Cam wrote on December 18th, 2006 @ 13:03

These are really good. Thanks.

rk99 wrote on December 18th, 2006 @ 14:40

Excellent list!

I definitely like the idea of using Filters for authentication as it seems to be a cleaner approach.  Do you have any code examples?  Also, would you recommend using Filters over the existing CI auth libraries?

Guido wrote on December 18th, 2006 @ 16:22

Wow! Really good list!

I think this post will contibute so that more people definitively start using CI

Yannick wrote on December 18th, 2006 @ 18:10

Awesome Derek, thanks! Some of these I have heard about, but others I haven’t. Right away I can see a need to use some of these. :)

Lorenzo wrote on December 20th, 2006 @ 6:06

All good entries, I would like to point everyone to rapyd, because its really the best thing you can add to code igniter.

And when you need help… Felix is always there to help!

Derek wrote on December 20th, 2006 @ 6:19

@rk99: I seem to remember seeing a thread about that on the forums… but I couldn’t find it off hand.

@Guido & Yannick: Thanks!  These are such overlooked goodies.  I just wanted to chat about the ones that I’ve found most useful.

And also just let me say that Felix is a great guy, I love how invested he is in keeping raypd great (that’s why I included it).

cory wrote on December 20th, 2006 @ 9:56

Thanks for the list. The wiki is difficult to navigate, and this helps to narrow down some of the choices.

I noticed that you listed Sentry, but in the Sentry discussion in the forums it says that the project is no longer being developed and that no one can get it to work with the newest release of CI.

Derek wrote on December 20th, 2006 @ 13:57

Truthfully, I haven’t used Sentry with any of my 1.5 or 1.5.1 CI projects, so I can’t speak to its compatibility… sorry Cory.  The auth  project seems to fork sentry though and claims to work in 1.5.  That might be the best direction.

Eric wrote on December 22nd, 2006 @ 6:27

Excellent resource! 

shocki wrote on December 29th, 2006 @ 10:04

Great !

I just wish Sentry would be completed and work with CI 1.5.

Please add this list to the forum. It would be a big help for everyone.

Felix wrote on January 05th, 2007 @ 23:20

Hey thanks Derek and thks Lorenzo about rapyd entries.

Great blog!

Post a Comment

Sorry, comments are automatically closed after 45 days, or sooner if one entry gets targetted by spammers. Why not contact me directly?