Garden & Vanilla 2 on GitHub Now

Garden Platform

After a very long week of scrambling, Garden & Vanilla 2 are now available on GitHub.

Things you need to know:

1. Garden & Vanilla 2 are currently beta products that contain bugs and incomplete features.
2. Garden & Vanilla 2 should not currently be placed on production servers.
3. There is a first draft of documentation available at gardenplatform.com.
4. You can not currently upgrade your Vanilla 1 database to Vanilla 2 with the code at GitHub (you’ll be able to soon).
5. If you start to use this code, be prepared to erase your Garden/Vanilla database a few times before the codebase is final. Data WILL be lost.

About GitHub

We are absolute newbies to GitHub. We’ve heard fantastical and amazing things about it, and we can’t wait to start working with all of you on patches, fixes, merges, branches, and all that awesome stuff. Please be patient with us as we learn the subtle nuances of GitHub.

Contributor’s Agreements

We’ve been speaking with a number of lawyers and leaders in the open source world since we got to TechStars. These people have helped us to decide upon releasing the code under the GPLv2, just like Vanilla 1 was. They’ve also recommended that we have contributors sign a contributor agreement before we take any code from anyone. So, if you find a bug and want to fix it, you will have to agree to our contributor agreement first. We will be using the industry standard Sun contributor’s agreement. We will be announcing the URL where you can review and agree to the contributor’s agreement next week. You can also just contact us directly and we’ll get the agreement to you. You can review our contributor’s agreement here. Please note that you must have an account at the Lussumo community forum in order to contribute.

Issue Tracking

If you download the code and encounter errors, please use the issue tracker at GitHub. We will be retiring the old one and moving our existing issues over to GitHub this week.

What Next?

Sleep. Glorious Sleep.

Commitment

A few months ago I posted about how I went down to Boulder, Colorado to attend TechStars for a Day. TechStars is a mentorship-driven seed-stage investment fund. In human terms, it means that they invest a small amount of money in your business and provide mentorship to help you get off the ground in exchange for a small stake in the company.

I stumbled upon TechStars when I decided that it was time to take Vanilla to the next level. Garden and Vanilla 2 were nearing completion, and I realized that without some kind of small investment, I was going to fall back into the pattern of trying to support my open-source efforts by doing side-projects. And inevitably those side-projects become my main project, and Vanilla becomes the side-project in turn. I started emailing and calling everyone I knew asking if they had any ideas for how I might make a real business out of Vanilla. One of my good friends referred me to Jeffrey Kalmikoff at Threadless, and Jeffrey referred me to David Cohen from TechStars.

I honestly didn’t think TechStars was a viable option for me. In my mind I just needed some money so I could continue to develop and pay my monthly bills. Furthermore, I didn’t think that I’d get in if I did apply. After speaking with David, I realized that the money wasn’t the important piece at all – the mentorship was. I decided to attend TechStars for a Day so I could get a better glimpse of what it might be like. Eventually I understood it to be an instant network of people who are all interested in helping me succeed. Living remotely in Saskatchewan, I had nothing of the sort. I could have moved to Toronto or Vancouver and attempted to build a network like this on my own, but getting access to the types of people that TechStars boasted would have taken years.

The most important thing for me was to have the ability to work at Vanilla full-time. I realize that there are so many things about it that could be so much better, and those things would be better if I could just devote 100% of my “office hours” to the job. So, I applied. A few weeks later I discovered that I had been accepted. At that point I scrambled to get as many contract-work hours as I could, scrounged every penny I could, and development on Vanilla ground to a halt.

I’ve been in Boulder now for just over a month, and I still haven’t really had any time to do any development on Garden & Vanilla. The first month was totally devoted to meeting this network of people. I’ve met people from Mozilla, Facebook, Digg, Microsoft, Yahoo, Google, AOL, and many many more. All of them have been excited about Vanilla and very supportive of my efforts. They’ve shared advice, support, contacts, and so much more than I really could have imagined.

So, why am I telling you this now?

There are over 300,000 installations of Vanilla out there that I know about. Over 1,000 plugins are downloaded from our addons site every day. Vanilla has been adopted by Mozilla, O’Reilly Media, and many other companies. There are over 10,000 members in the Lussumo Community. I’ve left my wife and family behind in Canada to spend the summer down in Boulder living on beans.

I wanted everyone who uses Vanilla to understand just how committed I am to making Vanilla better.

The Road

Vanilla 2

It is long overdue that I post an update to the Garden & Vanilla 2 development. First: if you find that I’ve not been posting on my blog, you can take it as a good sign meaning that I’m busy doing other things.

Myself and a great friend of mine (Todd Burry) have been working full-time on the project for the last four weeks.

Next week we will be moving our current issue tracker over to GitHub and simultaneously releasing the Garden and Vanilla 2 code there. The code is still under heavy development and is absolutely not ready for production use. However, it does work and we need your help getting it finished.

Although Vanilla 1 is an open source project, I have always been the bottleneck that keeps it from really taking off. I refuse to let this happen with Garden and Vanilla 2. So, we will be doing our best to allow everyone in the 10,000-strong Lussumo community to help us out this time around, and the release of the code on GitHub is just the first of many steps in this direction.

Following the GitHub move, I will be contacting the authors of the most popular plugins for Vanilla 1 and helping them to get their plugins ported to Vanilla 2 so they can be fully functional and compatible for the Vanilla 2 release. If, for some reason, the authors are uninterested in porting their plugins to Vanilla 2, I will be making announcements here to find anyone out there who is interested in picking up where the previous authors left off, so keep your eyes peeled. If you have a new plugin idea that you want implemented for Vanilla 2 and you want a hand with getting Garden, Vanilla 2, and understanding how things are done: feel free to contact me here on this blog, via twitter @navvywavvy, or directly via email at mark [at] lussumodotcom.

The future starts here!

Survey Says?

Pat Sajak

In an effort to better understand the every day Vanilla user & administrator, I’ve put a short survey together and linked it from the Vanilla download and the Addon download pages. If you are a Vanilla user, were a Vanilla user, or will be a Vanilla user, please take a few minutes to help us out with this survey so we can make Vanilla better for everyone: Survey!

And Or Alternatives

Apples and Oranges

I’m in the process of adding some methods to the database object to help in writing chained queries for Garden. One of the annoying problems I’ve run into is that the words “or” and “and” are reserved and won’t work as method names. So, for example, imagine I wanted to write the following chained query:

$Database
     ->Select('FieldName')
     ->From('TableName')
     ->Where('FieldName', 'value')
     ->Or()
     ->Where('FieldName', 'othervalue')
     ->And()
     ->Where('FieldName', 'Yet Another Value')
     ->Get();

I realize that this query really doesn’t make much sense, but that’s beside the point. The “or” and the “and” methods can’t exist in PHP, so what should I use instead?

I’ve played with things like AndOp and OrOp, implying that they are operators. I’ve tried going for shorter versions like Nd and R, but those are just stupid and don’t make much sense. I’ve also considered having OrWhere and AndWhere methods, but that would mean adding a whole bunch of methods like that (think: OrWhere, AndWhere, OrLike, AndLike, OrWhereIn, AndWhereIn, etc).

I’m looking for community input here. What would you prefer to type?

Turncoating

BillG

I’m in the midst of a switch to Mac from PC (thanks go out to vmware for making this transition slightly less painful). As a result I’ve been very slowly learning about all of the nuances of working on a mac, and trying to find solutions to problems I’ve already solved on Windows (what IDE to use; what email app; what chatting tool; what browser(s); etc).

Probably the hardest part so far has been getting used to this keyboard. Answer me this, mac-addicts: why is there no forward-delete key, but there are there two enter keys? Luckily I found this neat little app called DoubleCommand that allowed me to turn my small enter key (the one next to the arrows) into forward-delete. For a programmer, this was an absolute essential. But now I hear that the new mbpro keyboards have turned that key into a second option key instead (yikes). I digress.

What does this mean for my long-term love-affair with billg? Not much. I’m not throwing away those years of relationship building with Windows out of anger or frustration. I just wanted to try on a different pair of shoes for a while, and for the first time in a long time I won’t need to use Windows-specific applications for a few months. I can almost guarantee that I’ll be giving Windows 7 a shot when she finally graces us with her presence.

So, this is an open call to anyone who cares to recommend your favourite “killer app” on Mac. My eyes and ears are awaiting your input (ewww).

Rebranding

In recent weeks I’ve been working closely with Jon Contino of Onetwentysix to overhaul the branding of Lussumo products. Recently we settled on the new logos for Vanilla, Conversations, and Garden. Thanks Jon!

Vanilla, Conversations, Garden

Update
Jon posted a walk-through of how all of these logos came to life. Check it out!

Vanilla 2 Public Beta

Vanilla 2 Public Beta

The Vanilla 2 Public Beta is online now. Please read this entire post before clicking away, as it contains important information about questions you will surely have after getting there.

Development Status

I wasn’t sure if I should call this an alpha or a beta. There are a number of core features that are not yet in the version of Vanilla you are about to see. The most glaringly obvious of these is a search page. In the end I chose beta simply because it rolled off the tongue. Regardless, rest assured that the application is not yet feature-complete.

Feature Suggestions

I know that many of you will have feature suggestions after playing with the application. Please use the Vanilla category at the community forum as a place for your suggestions. Also, please remember (a) that the application is not yet feature-complete, and (b) to be nice when making suggestions, and (c) if your suggestion is not implemented, Vanilla 2 is a pluggable system (and more easily pluggable that Vanilla 1 was), so your feature ideas can easily come after Vanilla 2 is finalized.

Whispers & Data Loss

There are no whispers in Vanilla 2. Instead there are “conversations”. The installation you are about to see is a copy of the community forum from about 3pm on April 3rd, 2009. All of your whispers from that database have been transformed into conversations. Also note that as bugs are encountered and fixed, it may be necessary for us to roll the database back to the April 3rd date. So, don’t be surprised if your discussions, comments, replies, conversations, messages, status updates, profile changes, etc get wiped out.

Reporting Bugs

We’ve set up a trac issue tracker at issues.gardenframework.com. If you discover a bug, please register there and then search for it before submitting it.

Not For Download

This is a public beta. You do not get to download and install Vanilla 2. You just get to use our installation.

Without any further ado, I give you Vanilla 2.

Vanilla 1.1.7 Released

Vanilla 1.1.7 has been released and is now available at getvanilla.com.

This version fixes a couple of bugs in the installer. It is not necessary to upgrade existing installations. If you want to upgrade anyway, you’ll want to read the upgrade instructions.

If you’re curious about the bugs that were fixed, read the release notes.

A big thank you to all of the contributors!

dinoboff
mumpitz
Pifman
x00

CSS Help

cascade

It’s that time, once again, when I can’t figure out how to do something with CSS and I need your help. I’ve created a full description of the problem and examples of solutions I’ve tried.

The long and short of it is that I have a control that writes messages to the screen. I am currently using an unordered list to render these messages, but I want to format them at the top & center of the screen. I want each message to be on it’s own line, and I want all of the messages to be encapsulated by a solid rectangular background. I want the solid rectangular background to be only as wide as it needs to be in order to encapsulate the widest message.

I’ve been able to accomplish this with a table, but that’s just semantically wrong.

Please check out the examples and let me know how you would solve this problem.

Update

Evdawg posted a solution that works cross-browser! I’ve updated the examples with his working version.

Update 2

Inky posted another kickass center-float solution that also works cross-browser. I’ve added that one to the examples as well.