The New Myth family: SprintPHP Bonfire Practical CodeIgniter 3

New Myth Media Blog

Serving the New Myth Media Family.

Practical CodeIgniter 3 Released

My new book about making the most of CodeIgniter 3 is out!

Posts Filed Under “News”

Hello. It's Me. I bet you were wondering if the day would come when Sprint would ever actually have its own pretty website? Well - you're in luck. As of today (or whenever your browser DNS lets you see it), whenever you venture over to http://sprintphp.com you'll be directed to it's shiny new home.

Before you start asking:

  • Yes, there will be more videos in the near future.
  • Yes, there will be better docs.

Speaking of docs - I'm almost finished with a new, central location for the New Myth Media family of project documentation. At least, finished for now. Things are never truly finished, you know that. Once it's ready, the links on all of the sites will update and send you to docs.newmythmedia.com. Don't go there today. It likely doesn't work. Unless you're reading this in the future, in which case, it likely does work...

That's it for now. Back to enjoying the Christmas break and the hundreds of other items on my ToDo list.

First, I've released another round of bug fixes for Bonfire:

  • 0.7.6 includes CodeIgniter 2.2.3, but allows you to use CI 3.x; this release is intended primarily to support sites built on CI v2.x which are being migrated to CI3.
  • 0.8.2 includes CodeIgniter 3.0, but allows you to use CI 2.x; this release is intended primarily for new sites or those which have already been migrated to CI3.

Other than the default version of CodeIgniter included, there are only a small number of differences between the two versions of Bonfire.

Notes on Bonfire's Branches on GitHub

This may be confusing for some users, but, in order to continue supporting 0.7.x and 0.8.x while developing future versions of Bonfire, I've added some branches in GitHub:

  • Development branches:
    • 0.7-dev - The development branch for 0.7.x
    • 0.8-dev - The development branch for 0.8.x
    • develop - The development branch for v0.9+
  • Release branches:
    • 0.7.6 - The current 0.7.x release
    • master - The current 0.8.x release (0.8.2)

This leads to a couple more announcements...

Bonfire Plans

Minimum PHP Version

As previously requested, a few users have provided feedback regarding the minimum version of PHP used in Bonfire. Given the current feedback, I've moved the develop (v0.9+) branch to a minimum PHP version of 5.4. Moving to 5.5 is currently planned for Summer 2016.

The 0.7.x and 0.8.x branches will remain at a minimum PHP version of 5.3.

Feature Freeze on 0.7.x and 0.8.x

The 0.7-dev and 0.8-dev branches are now bugfix-only branches. While this is not quite as strict as CodeIgniter's status on the 2.x branch (which currently receives only security fixes), there will be no new features or major code changes in the 0.7.x and 0.8.x lines.

Versions 0.7.x and 0.8.x will continue receiving bug fixes until October 31, 2015 (the EOL date for CI2). After that, 0.8.x will continue receiving bug fixes, but 0.7.x will end. If there's no demand for continued support of PHP 5.3, I'll probably close out 0.8.x by the end of the year.

v0.9+

The develop branch (0.9+) will start removing support for CI2 and code deprecated before 0.7.4/0.8.0. I'm also hoping that we can start making it easier to replace Bootstrap v2.x on the admin pages, eventually allowing the bootstrap3 branch to be merged and/or go away.

As usual, I have a lot of plans for Bonfire's future, and I'm happy to see that people continue to try it out and come forward with new bug reports and ideas for new features.

One roof. It might be slightly leaky, and might ping nicely when the rain hits the metal, but it's all under one roof, now. At least, the blogs are.

This is the first stage of an effort to consolidate my open source projects into one big, happy family. This will be the home now for all news regarding Sprint, Bonfire, my book, Practical CodeIgniter 3, and any future projects that might fall under this umbrella. You can also expect to find new tutorials from time to time, not just about Sprint or Bonfire, but about anything related to web development and/or design, but especially CodeIgniter, since there's some pretty cool stuff coming down the road in v4 discussions that I'll want to talk about.

Built On Sprint

This blog engine, while pretty basic, is built on top of Sprint. Yes, the dog food tastes great. To make it simple to keep the post history in the repo, it was built to be 100% file-based, using Markdown formatting for the blog (just like the previous one) with some custom header info to keep categories, title, and author information, and more.

I'm sure it will grow in capabilities over time, but seems to be working pretty well for us at the moment.

Coming Soon For The Family

At the top of this site, you can see the "Family Bar". This is all part of the consolidation process. That, and the featured news section (just below the header) will make their way across all of the sites for all members of the family.

The next few stages that will be happening are as follows:

  1. Sprint gets a home. Currently, it's a homeless project whose only information is sitting in GitHub. We know that's sad, and probably lonely for the poor guy, too, so I'm building the project a new home. This is very close to being ready to launch.
  2. Documentation Hub. Current and past versions of documentation for Bonfire and Sprint will find a new online home all in one place, as part of the new documentation hub that is under development. This is using a completely rewritten documentation engine. It's using a standalone doc engine that is a mix between what Sprint has, and Daux.io that can generate static pages out of all of the docs and still keep everything searchable. It's not quite ready, but getting fairly close. Once complete, this new docs engine will find its way into both Bonfire and Sprint, replacing what is currently there.
  3. Bonfire gets a refresh. Bonfire's site will get a refresh to keep it matching the feel of the rest of the family. Can't have it feeling like an orphan in old rags, because it definitely is not.
  4. Forums get a redo. The current forums are pretty sad, I know that. I'm falling out of favor with the Vanilla, and it's really not doing us much love. I've got grand ideas about how a forum system could be created that would really rock, but we will have to wait and see if I've got the time to do that or not. If not, I'll have to revisit the existing solutions out there to see what would work best.

Thanks for being here

Without your continued interest over the years, Bonfire -- and now Sprint -- would not be here. Thank you for your excitement and kind words over the years. May we have many more to come.

The short version (all dates tentative):

  • 0.7.4 by June 11th, 2015
  • 0.8 by June 12th, 2015
  • 1.0 by January 1st, 2016

The long version:

I am currently planning to release Bonfire 0.7.4 next week. This is intended to be the last release which ships with CodeIgniter 2.x. While the release will go into the master branch on GitHub initially, I will create an additional branch to hold this release for those users who still need a CI2 release of Bonfire in the future (and there may be future 0.7.x releases to keep CI2 in synch, as needed). Of course, since CI2 itself will only be receiving security updates through October, it is highly recommended that everyone using Bonfire make an effort to move to CI3.

With that in mind, Bonfire 0.8 will also be released next week. Bonfire 0.8 will continue to support CI2, but will ship with CI 3.x installed and enabled by default. The process for using CI2 in Bonfire 0.8 will be similar to the process for using CI3 in Bonfire 0.7, and the documentation will be updated to include that process.

Sometime after CI2 reaches end of life, I will go through a similar process to create a support branch for 0.8 (for those people transitioning their sites from CI2), and start working on a 1.0 release for Bonfire, which will drop support for CI2. This will remove some of the extra code which currently allows Bonfire to support both CI2 and 3, though some things (like the bcDirectoryMap function in the BF_directory_helper) may remain longer than others.

Thanks for your continued support and interest in Bonfire.

  • Mat Whitney

Whew! Sprint went Alpha on December 12 of 2014, about 3 months ago. And today, we've officially hit Beta status! There's been a TON of work in the last 3 months to create a product that helps you really speed your development time.

There's been a lot of new docs written, including a shiny new Simple Blog Tutorial that covers a lot of the best parts of Sprint in probably 30-40 minute tutorial. There's also been a lot of work under the hood, lots of bugs squashed, and some streamlining and fine-tuning to make it even nicer to use for you.

For API Builders

One of the biggest new features are some tools to quickly build up an API Server. Now, I understand this won't fit everyone's needs, but I think it covers enough basics that you can rapidly build on it and still save tons of time.

First is the ApiController, which contains enforces numerous restrictions (like AJAX-only, HTTPS-only, rate-limiting, IP black/white listing, etc), as well as a number of convenience methods that make returning the correct status code a no-brainer, like respondCreated, respondDeleted, failResourceExists, failResourceGone, and quite a few more.

The real time-saver here, though, is a set of Forge generators that will quickly build out the basic CRUD methods for a single resource for you, including simple API Blueprint doc files.

What's Next?

Over the next 3 months we will continue to squash bugs and refine the entire package, though we are pretty much on a feature freeze until the 1.0 release.

In the meantime, we will be working on a new website, with a number of short, succint video tutorials covering different aspects of the software. We actually have a designer who has offered up their services to help us out and that's exciting!

Sprint is just the first part in a new Bonfire family, so expect some really big things over the next year or so. I've got a road-map roughed in my mind and some very exciting aspects for the future of the project in mind. So, be sure to stay tuned!

Changes Since Alpha

(In no particular order)

  • AJAX features were removed. This framework shouldn't specify any form of front end code.
  • API Server Controller and other resources to make creating an API server pretty simple. Includes HTTP Basic and Digest Authentication.
  • Forge - API Install and API Scaffolds allow you to quickly create basic resources for your API.
  • Added Kint Debug Tools
  • Simple Build System in place - used when packaging up files for release, as well as after inital install and can easily be used by you.
  • Encryption key automatically set in config file during install if using composer create-project
  • Sample Data removed add added to it's own repo
  • Moved Docs to use phpLeague's CommonMark library. You'll only notice if you're using tables.
  • All main parts of Sprint should now be localised. Note, this does not include the generators which are still English-only
  • Stayed up to date with latest changes in CI 3
  • Additional Docs, including a new Simple Blog Tutorial that covers lots of ground.
  • New environment wrapper to restrict routes to only certain environments.
  • Additional tests written, though there's still lots more to write.
  • LocalAuthentication will automatically rehash passwords if the hash_cost changes.
  • New CLI tool to test system to determine appropriate hash_cost for password generation
  • FlatAuthentication updated to include "private permissions" which means it should meet all of the requirements of a Flat RBAC system.
  • Lots of bugs stomped