skip to content

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

BambooInvoice 0.86 Release

July 15th, 2008

Get it while its hot!  BambooInvoice 0.86 features a slew of features and bug fixes including some obvious and useful ones, as well as a few treats. 

For full details, see the changelog.

BambooInvoice 0.86 preview

June 09th, 2008

I've released a preview copy of 0.8.6 here.

If you've got an adventurous spirit, give it a whirl, if no bugs are found, it will form the basis of the next release.

Keep reading to see the changelog.

Video: Installing BambooInvoice 0.8.5

May 27th, 2008

This weekend I took some time and built a quick "here's how to install and use BambooInvoice" video. It lasts about 7 minutes, and covers installing, settings, creating your first client, and creating an invoice. If you just want to see how Bamboo works, skip to about 3:10 of the video. I intend on doing a small series of these over time as a way of helping people get familiar with the software, and showing how I use it.

video showing use of BambooInvoice

BambooInvoice 0.85 preview

May 14th, 2008

Still cleaning up a few things, but BambooInvoice 0.8.5 is looking pretty close to ready for release.  You a Bamboo user?  Nab it: BambooInvoice 0.8.5 for a look.

The biggest change is actually the installer, and several changes meant to make installing and deploying it easier.  There are a few features still to add, but I’m pretty happy.  Tomorrow I hope to write a bit about what I’ve learned recently in building a distributed app.

For update instructions, read on…

BambooInvoice 0.84 released

April 09th, 2008

Just like the title says, BambooInvoice 0.8.4 is “out the door”.  I’ve upgraded all the application queries to take advantage of the new CodeIgniter Active Record improvements, and squashed a lot of bugs on the way.  The changelog is pretty small, but a lot of work went into it.

As I wrote a few days ago about the future of BambooInvoice I think this reduces any lingering bugs down to about none.  I’ve also introduced a few additional error catches, and I’ve tried to make a few error messages more helpful.  The next version of Bamboo will focus on finishing off features that I want to see, and will probably be a full point update (0.9) and then the real work starts, with what will amount to a code overhaul.  That stuff won’t happen until at least summer, but if you are an “end user” you probably wouldn’t ever notice it anyhow.  It’ll be “under the hood” type stuff that programmers obsess with ;)

If you have any specific features you want to see, by all means please comment!

The future of BambooInvoice

April 07th, 2008

This weekend I gave some serious consideration to BambooInvoice.  I made a few hours to fix some known bugs (including I think the dreaded no demo_flag property on line 19 bug), and add a few features.  After working with the code, I know what I need to do.  This post lays out my plans for the future of BambooInvoice, including a “roadmap” (if you can call it that) and my thoughts towards keeping BambooInvoice free and opensource, coding standards, and library integration.  Read the full post for more details, but here’s a telling quote.

This also represents an opportunity to revisit code that is starting to show its age.  Many people are referring to Bamboo as a model for how to build an application in CodeIgniter.  This delights me, and is the entire reason I released Bamboo originally, but, Bamboo was released while CodeIgniter was still very immature.  There were no models; fewer helpers; limited Active Record; fewer libraries.  It was also a bit of a proving grounds for what could be done.  In short, Bamboo blazed the trail that all my CodeIgniter programming would be based on, but as CI has advanced, there are many (many) things in BambooInvoice that I would choose to do another way if I was building it today.  I want to take the opportunity to do them right.  I want Bamboo to be as finely coded as CodeIgniter itself.  This as you can imagine, will be a pretty big task.  In essence, I’ll be writing (re-writing) the entire application.  I’m tired just thinking about it, but its something I really want to do.

So if you’re a Bamboo user, get ready for a large bump in what you current can do, and take your invoicing to the next level.  Is there a feature that you really want to see make it into Bamboo?  Is there one little thing that bugs you?  Have your say, please feel free to leave a comment.

BambooInvoice 0.8.3 has been released

December 12th, 2007

Get it while it’s hot!  (BambooInvoice).

This release represents a pretty major jump in functionality.  I already hit on most of the highlights in my preview post, so I won’t rehash them here.  Sufficed to say that there are many commonly requested features, a few important bug fixes, and major additions to functionality.

Thanks to everyone who helped beta test it!

While Bamboo is absolutely free and open source, if you wanted to buy me a beer, I certainly would not object ;)

We’re there! w00t!

Note: Please backup your data before you do an update.  Anything comes up, feel free to leave a note in the BambooInvoice forums.

BambooInvoice will remain GPL

December 12th, 2007

With the next release of BambooInvoice nearly ready to go, and probably set for release within 24 hours, I’ve needed to finally decide which license I’ll be releasing it under.  If I were going to change it, this update would be a logical one since there are so many foundational changes to the underlying code. But for now, Bamboo will remain GPL.

That said, I’ve decided to continue to release BabooInvoice under the GPL, and I guess I can only ask that people not try to pass it off as their work.  Thanks to everyone who wrote me both on this blog and privately.  The general sentiment from people who identified themselves as Bamboo users was “hey, as long as I can keep using it, do whatever you want… its your software”, which was pretty cool I do have to admit.

I do though want to mention that any change in license would have been made on philosophical grounds, not an “enforcement” one.  The argument that people would continue to “steal*” it no matter what license I used is irrelevant to me - the license is about how I want my software to relate to its users, not about “protecting” myself.  Bamboo has always been about 2 things; scratching an itch, and serving as a proving and learning grounds for CodeIgniter.

So onto happier matters!  The license will remain unchanged, and the next version of Bamboo is (if I can say so myself) pretty kick-ass.

Watch this space for an update!  I have to get it that next version out shortly, so that I’m not too distracted and can keep up with my new duties at EllisLab. ;)

* I do not consider someone taking Bamboo and claiming it as their own “theft” per se, that’s just a convenient word here.

BambooInvoice 0.8.3 Preview

November 28th, 2007

I’m happy to announce that I’ve almost finished work on the next version of BambooInvoice.  I have to say, I’m very happy with the new functionality and features.  Aside from the usual bug fixes and code modifications, there are some very substantial architectural changes - namely, the addition of itemized invoicing.

In order to make sure its running smoothly, I’d like to solicit some people willing to take part in beta tests.  In order to participate, you’ll need to be comfortable backing up and restoring your database.  I’d also love to get some non-English speakers into the mix.  If you’ve been wondering how you can help out with Bamboo, this is it.  Please contact me.

Itemized Invoices

itemized invoicesThis was far and away the most requested feature, and I’m happy to add it in.  If you don’t have a use for itemized bills (I’ll probably never need them), then I’m hopeful that the feature will get out of your way totally, but if you do need them it should be a seamless transition.  A bit of history here - if you’ve used a previous version of Bamboo, you may have noticed me slipping in a field into the invoices table called “itemized”.  This is because in the old system, all invoice information was in a single table ("invoices") that included: id, invoice_number, work description, amount, and now “itemized”.  This works great for an invoicing system were every invoice corresponds to a single piece of work.  But with “itemized” invoices, it sucks.  So my intention was that I would serialize itemized things and store them here.  I spent about a week on and off getting this running.

It was awful.  I wasn’t happy with the way it worked… I found it too slow, very limiting.  So I decided to change gears, and worry about the front end for a while.  I started and stopped no fewer then 3 separate approaches before I finally got one I was happy with.  I spent a lot of time with javascript working through DOM node cloning and other things I wouldn’t wish on any of you.  When I finally got to a solution I was happy with I flipped back into backend work… oh yeah… that damn serialized array again.  So I started getting depressed.  I was trying to use arrays and bend my system to do something it was not built to do.  If I were building it again from scratch, the invoice items would be in a separate table, but I was concerned about all the legacy data and people using Bamboo who would need to migrate.  But since I wasn’t happy, I just bit the bullet and moved all that stuff into another table ("invoice_items") and spent an afternoon writing a migration utility that runs automatically when you update Bamboo.

After it was done, I was “OMG Ponies!”, this is perfect!  Sure it required a major re-architecting of the invoice functions, but now that it works I’m pretty happy.  Itemized invoices are a breeze, and you can even control taxes on individual items.  I’m much happier with the flexibility.  All in all… its a big improvement.

Utilities and Advanced Settings

utilities menu in BambooInvoiceLet’s take a look at a few of the things to expect. There’s a new menu item in the “root panel”.  Under it, there are 2 new options; PHP Info, and Database backup.  The PHP Info is to help me with giving support (if you have read the BambooInvoice Forums, you’ve probably noticed the first thing I always ask people to do when troubleshooting it to upload a phpino() file.  This just makes it easier for all involved.  I shamelessly stole the code from ExpressionEngine on that one.  Hope I’m not violating any copyrights there (don’t sue me Rick!). There is also a database backup utility for… um… database backups.  The backup utility is currently MySQL only - and in fact, with some of the new query-acrobatics I needed to do, I suspect the whole application is nearing the point of me not being able to say it supports multiple databases any longer.  I’ll need to look more into that.

 the new settings panelNext up is the settings panel. The settings panel has undergone a major User Interface (UI) change.  advanced settingsThe result is (I hope) a more streamlined, and easy to follow panel.  It actually offers more choice then before, including an option to save your invoices to the server as you generate them, as PDF files. The image is actually a link to a quicktime movie.  If you’re interested in seeing what it looks like, take a quick watch - the whole thing is only about 15 seconds or so.  If you watch it, you’ll see an advanced settings tab

Bamboo now offers the ability to save copies of your invoices online in PDF format.  Personally, I’m not sure I’ll ever use this feature, but it was specially requested, and so I include it here.

date separationThere are a few other notable UI enhancements. Here you can see that invoices are now separated by month in an effort to make a quick visual scan of your accounts easier.  This turns out to really help when you’re trying to scan through the list.  I’ve had it in my local copy for weeks now, and when I flip back into the “old style” I wonder how I ever did without.

Community Input

Another thing that this release will mark is the first significant input from the community into the project.  BambooInvoice 0.8.2 is probably feature-rich enough for me, but the enthusiasm of the users has really kept me wanting to keep building. Itemized invoices, saving local PDFs, and many of the usability enhancements where user suggestions (thanks!).  Also, another language (Portuguese) has been added, proudly bringing it up to 7 languages.  Thanks Matt Finazzo and ELRafael! Some of the language translations may be inaccurate, so if you use Bamboo in a non-english language, please don’t hesitate to send me corrections or enhancements.  Or heck, other languages!

Private Beta

Yeah, same paragraph from above ;) In order to make sure its running smoothly, I’d like to solicit some people willing to take part in beta tests.  In order to participate, you’ll need to be comfortable backing up and restoring your database.  I’d also love to get some non-English speakers into the mix.  If you’ve been wondering how you can help out with Bamboo, this is it.  Please contact me.

BambooInvoice may be moving away from the GPL Open Source License

October 08th, 2007

I’m finding this post difficult to write.  Not because I’m having internal conflicts, but rather because I know think that this will cause some tension among Bamboo users.  Please read to the end before you jump to any conclusions.  Here’s the “executive summary” if you’re just wanting to skip to it.

Punchline: I’m thinking of doing away with the GPL as the license I distribute BambooInvoice under.  By way of explanation, here’s a bit of history…

 1 2 3 >

Derek Allard

I'm Derek Allard, a programmer, author, and award-winning instructor. I'm also a Technology Architect at EllisLab, and the programmer behind BambooInvoice, a simple, Open Source, web-based invoicing application. [ more about Derek ]

Recent Archives

Categories