[eluser]Johan André[/eluser]
I think you got!
Just one note - use the database activerecord functions as far as possible. they automatically produce "safe" queries. In some cases the AR is not able to help you, then use custom queries.
When I first looked at MVC frameworks I was puzzled because I come from a "traditional" PHP coding world.
But when I understood the concept of splitting code into models, controllers, libraries and views I got alot more productive. At first it can look like having alot of files for simple tasks, but in the long run it's SO much more friendly.
My projects almost always starts like this:
1. Analyze the different parts of the site (for instance blog, portfolio, downloadpage, staffpages etc.)
2. Describe (on paper) what data needs to stored for each part and in what ways I need to access it (ie the model). How the data will validate is important to (even though in CI the validation is done in the controller).
3. Sketch out the views (in pure xhtml/css - with dummy data)
4. Design the controllers (Create/Read/Update/Delete)
5. Create the views based on sketches.
One tip for the road:
Use Jamies Base-controller. It's really cool and supports layouts and partials + it automatically fetches the views based on controller/method naming - meaning if you call blog/edit/234 it automatically load the edit.php-view from the blog-folder. Combine it with Carabiner Asset-loader and you got the start of a pretty solid setup. Saves alot of time.
Good luck!