EllisLab text mark
Advanced Search
     
CodeIgniter Book Questions
Posted: 30 July 2009 08:19 AM   [ Ignore ]
Avatar
Joined: 2008-05-04
356 posts

Hey guys,

I am just starting to write my CodeIgniter book and have a few questions for you.

Firstly, would you rather learn from a printed book, or an ebook? I know there are many advantages to both so all comments on this are welcome.

What kinds of things would you want to learn from a book? I know the user guide is a brilliant resource so I would need to go further than that and include extras like best practices in there as well. But what else?

Would you prefer to go through building an application, right from the panning stages? Or focus on CodeIgniter with a number of smaller applications. An example would be a client relations manager vs an image uploader, guestbook etc. (Obviously just an example though.)

Anyway there’s just a few questions there that I would greatly appreciate feedback on.

Thanks,
Adam

 Signature 

[ Adam Griffiths - Freelance Web Applications Developer ]
[ Follow me on Twitter ]

 
Posted: 30 July 2009 08:36 AM   [ Ignore ]   [ # 1 ]   [ Rating: 0 ]
Avatar
Joined: 2008-03-28
430 posts
Adam Griffiths - 30 July 2009 12:19 PM

Hey guys,

I am just starting to write my CodeIgniter book and have a few questions for you.

Firstly, would you rather learn from a printed book, or an ebook? I know there are many advantages to both so all comments on this are welcome.

What kinds of things would you want to learn from a book? I know the user guide is a brilliant resource so I would need to go further than that and include extras like best practices in there as well. But what else?

Would you prefer to go through building an application, right from the panning stages? Or focus on CodeIgniter with a number of smaller applications. An example would be a client relations manager vs an image uploader, guestbook etc. (Obviously just an example though.)

Anyway there’s just a few questions there that I would greatly appreciate feedback on.

Thanks,
Adam

Cool!

I think there would be need of an more advanced book.

Here’s some suggestions:

- Advanced forms and validation (callbacks, customization, form-helper etc)
- Authentication and permissions (creating a auth-library with multiple roles and permissions)
- Writing own libraries, helpers
- Extending the core (controllers, libraries, custom models, helpers etc)
- Image manipulation (making thumbnails, cropping etc.) with the image_lib
- Security (sessions, user input etc.)
- Project setup (moving app-folder, .htaccess, setting up subversion (and/or git))
- AJAX/jQuery (Pagination, saving forms, deleting items, tablesort etc.)
- Database (transactions, solving “standard” but complex queries with ActiveRecord etc)
- Best practices for coding (code indent, following the CI style guide etc.) This is a big one!
- Real-life problem-solving of those problems everyone run into now and then. Smart ways of solving the “everyday”-stuff.

These are just some brainstorming.
I personally think there are alot “basics”-books and tutorial.
Everyone that creates a screencast, tutorial or book focuses far too much on how to displaying records from a database. It would be nice with a book or tutorial on more advanced topics.

Have a great day!
Johan

 Signature 

———————————————————————————————————————————-
Imac 27” Core i7 / 12GB RAM
Macbook Pro 15” C2D 2.53Ghz / 4GB RAM / NVIDIA GeForce 9400M + 9600M GT 512MB
iPhone 4 16Gb Black

http://www.rockkarusellen.se

 
Posted: 30 July 2009 08:48 AM   [ Ignore ]   [ # 2 ]   [ Rating: 0 ]
Avatar
Joined: 2008-09-03
69 posts

Hello,

I think CodeIgniter is seriously lacking a good book with a focus on advanced topics and best practices.

Maybe a book about building an enterprise/large scale web application with CodeIgniter or something like that.

Please don’t just do another book on “basic and newbie” stuff, because there are already enough tutorials and articles about these topics and the user guide is brilliant for that matter.

Regards,
Tomaž

 Signature 

Open Blog
Kick-ass Blog application built using the CodeIgniter PHP Framework

Official website | My website | Demo | Getting started

 
Posted: 30 July 2009 09:28 AM   [ Ignore ]   [ # 3 ]   [ Rating: 0 ]
Joined: 2009-03-18
12 posts

This is fantastic idea. We really need an advanced level book on codeigniter.

Should have capability to teach how to create big applications like social networking sites with ACL system and much more as Johan André above mentioned.

 
Posted: 30 July 2009 09:46 AM   [ Ignore ]   [ # 4 ]   [ Rating: 0 ]
Joined: 2009-03-16
12 posts

I definitely agree with Kami_ and Prabhjeet. CI community needs an advanced level book, a book about building a large scale web application with CI, like Kami_ said.

 
Posted: 30 July 2009 09:48 AM   [ Ignore ]   [ # 5 ]   [ Rating: 0 ]
Avatar
Joined: 2007-07-22
69 posts

To me, a printed book is always a better option than an ebook, because you don’t have to stare at the monitor all the time.

Johan André pretty much covered all the needed topics and right now I can’t think of anything else. I agree with others that if you’re going to write a book, write about more advanced things. Otherwise you might just end up with another CodeIgniter user guide and that would make no sense.

In any case, it’s always nice to see people who take take initiative to make life easier for CodeIgniter fanatics. smile

 Signature 

Sprinkle - Asset Management Library | FlamingGrowl - GNTP library | Twiggy - Twig template engine implementation for CodeIgniter
You will have to excuse me for my sometimes poor English.

 
Posted: 30 July 2009 01:09 PM   [ Ignore ]   [ # 6 ]   [ Rating: 0 ]
Avatar
Joined: 2008-12-01
461 posts

Agreeing with Johan André.

I feel it should be a more advanced book, with examples of how to do certain things and best practices. Johan made a pretty good list of topics IMHO.

edit: Oh, and, personally, I would rather have an ebook. My attention span sucks already, but I have an easier time paying attention to something I can read on the screen as opposed to something in my hand. That’s just a personal preference though.

 Signature 

DO NOT ASK ABOUT CODEIGNITER 2.0 OR PHIL STURGEON WILL EAT YOUR SOUL!

Complete CodeIgniter Textmate/E Bundle

 
Posted: 30 July 2009 01:29 PM   [ Ignore ]   [ # 7 ]   [ Rating: 0 ]
Joined: 2009-07-15
56 posts

I’ll definitely buy it! smile

The problem I see with practical advanced examples are the pages that code consumes, and the book tends to become fat that equals to more expensive and less practical to put in bag.

I prefer that theory comes in the book and the large pieces of code in a CDRom or in the Web

Best luck in writing it!

 
Posted: 30 July 2009 01:33 PM   [ Ignore ]   [ # 8 ]   [ Rating: 0 ]
Avatar
Joined: 2008-05-04
356 posts

Thank you for all your comments guys, this really helps me.

The book will be available as a printed book and also as an ebook. I am looking at publishing books through lulu but have also contacted a publisher about getting them involved. Either way the book will come in two versions.

I plan to have all code online somewhere, probably in a Github repo or something. But all the code in the book will be broken up into segments anyway and I hope to have no code more than one page in length. I’ll do this by splitting up the functions and explaining them like I do on Programmers Voice.

Once again thanks for the comments and any more will be highly appreciated.

Thanks,
Adam

 Signature 

[ Adam Griffiths - Freelance Web Applications Developer ]
[ Follow me on Twitter ]

 
Posted: 30 July 2009 02:18 PM   [ Ignore ]   [ # 9 ]   [ Rating: 0 ]
Avatar
Joined: 2008-09-03
69 posts

And my opinion about the printed vs e-book format.

For the sake of simplicity you could offer both versions and person would decide what fits him best.

For me, if the book is about beginner/introduction topics and you need to retype a lot of the code, ebook is better.

Opposite goes for books on advanced topics or more “abstract” books - I prefer to read those in normal paper version and most of the times not in front of a computer.

Edit: Never mind, since you will offer both versions.

 Signature 

Open Blog
Kick-ass Blog application built using the CodeIgniter PHP Framework

Official website | My website | Demo | Getting started

 
Posted: 30 July 2009 02:48 PM   [ Ignore ]   [ # 10 ]   [ Rating: 0 ]
Avatar
Joined: 2008-05-04
356 posts

Hey guys,

If I could get your feedback on my first version of the contents. I’m basically setting out the contents so I can judge how long the book will be and make sure I’ve got all subjects covered.

What do you think of Chapter 2 — Learning the Libraries? I was planning to do a quick overview of some/all/most of the libraries. Is it worth it? or should I just direct to the user guide? Or should I focus on just parts of the libraries?

Chapter 3 — Becoming a CodeIgniter. I now have a problem, I had an idea for some of the contents of this chapter but went off for tea and came back and forgot. Maybe you guys can help me remember, or give me a few ideas as to what you want to see in there. Or just tell me to scrap it.

What about the size of the font? Is it too small? I’m planning to have it that size all the way through and would rather not change it at the end.

I attached a PDF of the contents.


Thanks,
Adam

 Signature 

[ Adam Griffiths - Freelance Web Applications Developer ]
[ Follow me on Twitter ]

 
Posted: 30 July 2009 03:02 PM   [ Ignore ]   [ # 11 ]   [ Rating: 0 ]
Avatar
Joined: 2007-06-11
2985 posts

Send me a copy when its done and I’ll have it checked out by a qualitfied editor for free. wink

A good coverage of topics so far. Can’t wait to see the results at EECI2009 or before.

 Signature 

————————
Blog | Twitter | GitHub | BitBucket
————————-
PyroCMS - open source modular CMS built with CodeIgniter
PancakeApp - Simple, hosted invoicing/w project management

 
Posted: 30 July 2009 03:14 PM   [ Ignore ]   [ # 12 ]   [ Rating: 0 ]
Avatar
Joined: 2008-05-04
356 posts
Phil Sturgeon - 30 July 2009 07:02 PM

Send me a copy when its done and I’ll have it checked out by a qualitfied editor for free. wink

A good coverage of topics so far. Can’t wait to see the results at EECI2009 or before.

No worries mate I was going to ask you if you wanted to proof read it for me anyway. raspberry

 Signature 

[ Adam Griffiths - Freelance Web Applications Developer ]
[ Follow me on Twitter ]

 
Posted: 30 July 2009 05:50 PM   [ Ignore ]   [ # 13 ]   [ Rating: 0 ]
Avatar
Joined: 2008-06-04
2101 posts
Phil Sturgeon - 30 July 2009 07:02 PM

Send me a copy when its done and I’ll have it checked out by a qualitfied editor for free. wink

Bugger .. I was going to offer my proof-reading services in return for an early draft, but sadly I lack any editorial qualitfications.

 
Posted: 30 July 2009 06:16 PM   [ Ignore ]   [ # 14 ]   [ Rating: 0 ]
Avatar
Joined: 2008-06-04
2101 posts
Adam Griffiths - 30 July 2009 06:48 PM

If I could get your feedback on my first version of the contents. I’m basically setting out the contents so I can judge how long the book will be and make sure I’ve got all subjects covered.

Okay .. from glancing over the ToC you’ve posted .. the following thoughts.

If your sub-sectioning indicates relative weighting, then I’d suggest that 1.8 to 1.11 could be combined into something of the same volume as each of the M V C sections - that is, distinguishing between libs, helpers, plugins and hooks shouldn’t take long - worse yet I think anything other than a concise definition would muddy the waters.  I’ve seen Colin and xwero describe the distinctions in a single paragraph (okay, libs, helper and plugins at least).

I’d bring 1.12 - formatting style guide - to much earlier on in the book, especially if your target audience is as you’ve described - someone with a programming background, presumably PHP.  The idea is that people are going to start coding early on, I gather, with most programming books these days (a laudable goal I think) so you want them getting good habits up front, and also explaining all the code examples you’re about to give.

The getting & installing sections of books always, erhm, move me to tears.  I have several books that deal with MySQL and Apache, f.e., and between them there’s probably 100+ pages of description on how to find, download, and configure the system to a plain vanilla state.  In reality it was a single command (apt-get install apache2 mysql) to do all of that.  I feel vaguely cheated by such sections.

What do you think of Chapter 2 — Learning the Libraries? I was planning to do a quick overview of some/all/most of the libraries. Is it worth it? or should I just direct to the user guide? Or should I focus on just parts of the libraries?

You are undeniably going to have to cover stuff that can be found elsewhere - other books (there’s two or three out there now I think, yes?) the forums (hello readers!) and the user guide.  The trouble with the library section is that it’s going to be out-dated earlier than most other things you are covering in this book.  But to answer your question, my gut feel is that you’d do a quick overview of all the libraries, but weighting towards the ones that you think are important (the HTML Table class, f.e., I think could, with an easily defended rationale, be ignored).

I think C7 and C8 need to live in C2, even if you have the caveat ‘come back to this later if you need to’.

Actually the whole thing is more a reference work than a linear read-through type of book, isn’t it?  In any case, I don’t like the idea that different aspects of libraries are covered in totally different parts of the book .. but that might just be my neatness neurosis shining through.

C6 - if you’re going for the pro audience - consider LDAP.  (Do people still use twitter?)

Chapter 3 — Becoming a CodeIgniter. I now have a problem, I had an idea for some of the contents of this chapter but went off for tea and came back and forgot. Maybe you guys can help me remember, or give me a few ideas as to what you want to see in there. Or just tell me to scrap it.

You’re definitely going to have to have large lumps of demonstration code.  I was reading an interesting book a while ago, one of O’Reilly’s ones, called Beautiful Code - where they had a bunch of contributors offering a few pages of code in different languages, and then analysing what made it beautiful.  It’s a fascinating read (though much of it goes right over my head) and includes such gems as Brian Kernighan talking about Rob Pike’s regular expression code that he (Rob) wrote in the space of an hour or so, and squeezed into 30 lines of C (of course).

Anyway, I think that kind of code snippet analysis is always fascinating, insightful, useful.

I think taking a very large project and running it through the course of the whole book .. has obvious advantages and disadvantages.  It can alienate a bunch of people from the get-go, and needs to be very well chosen .. and even then it’s unlikely to cover all the examples and scenarios you probably want to discuss.

What about the size of the font? Is it too small? I’m planning to have it that size all the way through and would rather not change it at the end.

Sounds like someone isn’t using lyx for this project. wink

 
Posted: 30 July 2009 06:58 PM   [ Ignore ]   [ # 15 ]   [ Rating: 0 ]
Avatar
Joined: 2008-05-04
356 posts
jedd - 30 July 2009 10:16 PM

Okay .. from glancing over the ToC you’ve posted .. the following thoughts.

If your sub-sectioning indicates relative weighting, then I’d suggest that 1.8 to 1.11 could be combined into something of the same volume as each of the M V C sections - that is, distinguishing between libs, helpers, plugins and hooks shouldn’t take long - worse yet I think anything other than a concise definition would muddy the waters.  I’ve seen Colin and xwero describe the distinctions in a single paragraph (okay, libs, helper and plugins at least).

Thanks for this. Now that I think about it it does seem silly having a sub section for what would be a paragraph.

jedd - 30 July 2009 10:16 PM

I’d bring 1.12 - formatting style guide - to much earlier on in the book, especially if your target audience is as you’ve described - someone with a programming background, presumably PHP.  The idea is that people are going to start coding early on, I gather, with most programming books these days (a laudable goal I think) so you want them getting good habits up front, and also explaining all the code examples you’re about to give.

I have taken this on and moved it to just after the section explaining views.

jedd - 30 July 2009 10:16 PM

The getting & installing sections of books always, erhm, move me to tears.  I have several books that deal with MySQL and Apache, f.e., and between them there’s probably 100+ pages of description on how to find, download, and configure the system to a plain vanilla state.  In reality it was a single command (apt-get install apache2 mysql) to do all of that.  I feel vaguely cheated by such sections.

This part of the book will be very simple and I am going to write the book so that you could essentially start from Chapter 6 if you wanted (just like you said somewhere in your post, I’ll see it soon) — I’ll simply cover downloading CodeIgniter and changing values such as the Base URL and moving the application folder out of the system folder. There’ll also be a small part about the folder structure.

jedd - 30 July 2009 10:16 PM

You are undeniably going to have to cover stuff that can be found elsewhere - other books (there’s two or three out there now I think, yes?) the forums (hello readers!) and the user guide.  The trouble with the library section is that it’s going to be out-dated earlier than most other things you are covering in this book.  But to answer your question, my gut feel is that you’d do a quick overview of all the libraries, but weighting towards the ones that you think are important (the HTML Table class, f.e., I think could, with an easily defended rationale, be ignored).

I think C7 and C8 need to live in C2, even if you have the caveat ‘come back to this later if you need to’.

Actually the whole thing is more a reference work than a linear read-through type of book, isn’t it?  In any case, I don’t like the idea that different aspects of libraries are covered in totally different parts of the book .. but that might just be my neatness neurosis shining through.

I have changed it now so those Chapters are covered in Chapter 2. Well, will be covered when I write it. smile

jedd - 30 July 2009 10:16 PM

C6 - if you’re going for the pro audience - consider LDAP.  (Do people still use twitter?)

I’ll have a look at it and see if it’s worth including as I haven’t used it myself.

jedd - 30 July 2009 10:16 PM

Sounds like someone isn’t using lyx for this project. wink

Haha I know, I’m a rebel. raspberry

 Signature 

[ Adam Griffiths - Freelance Web Applications Developer ]
[ Follow me on Twitter ]