Yesterday was a busy day. In addition to making the first PGXN release, I updated the fundraising spreadsheet and then the thermometer displayed on the main site. The good news is that things are coming along nicely. Thanks to recent contributions from Command Prompt, Marchex, Hitoshi Harada, and 25th-floor, we are now just $2500 short of our goal of $25,000. Thank you all!
Can you help us get to our goal in time for PgWest 2010, which is November 2-4 in San Francisco? I’ll be giving a talk there, “Building and Distributing PostgreSQL Extensions Without Learning C”, in which PGXN will of course be featured. Would be great to announce that the fundraising was successful.
As for the time I’ve put in so far, I’m happy to have PGXN Manager up and working, but of course it has taken more hours than I expected. 76.5 so far. I’d estimated 40. Meanwhile, the database design is up to 43 hours from the estimated 24. And that doesn’t count the hours I spent chasing shiny yaks and shaving them, like SemVer and Router::Resource. Those of you who estimate development projects, take heed! I clearly need to double all my estimates before I submit them.
Still, with the fundraising nearly done, I’m committed to finishing this project. I view it as a project budget, and so that’s what it will be, whether or not it takes me twice or four times as many hours as I’d estimated.
That said, you could help. Right? PGXN Manager is in good shape, but it’s not done. If you’d like to roll up your sleeves and contribute some code, please fork it, build it, and hack what you can. A few things on the to-do list:
The database API is there for these bits already; the code would mainly be in Perl. Hit me on #pgxn on Freenode if you want to help.
If documentation is your thing, contributions there would be appreciated, as well. In particular, the About PGXN page is a bit thin. Other interfaces will need help, too. More on that as we add users.
Thanks everyone for your support!
Sometimes I wish I weren’t such a perfectionist.
But not often.
A quick update:
So far, I’ve spent 43 hours on the PGXN Manager database. I had estimated 24 hours. Ha ha ha ha ha!
I’ve spent 45 hours on the implementation of the app itself. I had estimated 40 hours.
How will I make up the difference? I’m not sure, really. I’ve already under-recorded my hours quite a lot, basically donating my time to create SemVer and to create the basic HTML layout for the site (I suck at design, but found a good template to base it on). That will likely continue. This is an OSS project, and while I’m getting paid to work on it thanks to our generous contributors, I’m also contributing quite a lot of time to it.
Speaking of contributors, we’ve still not quite met our fundraising goals. There’s enough there for me to finish PGXN Manager so that you can start releasing your extensions on PGXN, and for me to start on the search and documentation site, but not finish it. If you know any organizations that would like to sponsor this work and get their name and link on the PGXN site in perpetuity, please send them over!.
Ahem.
So what have I been doing? I’ll write up some notes in a few other blog posts, including how I’m generating JSON in the database, using Plack for the app, and nicely-degrading Ajaxification with jQuery and RESTful URLs (I hope!). The main page of the app works, as does authentication via basic auth. There’s a screen to request a user account, and a UI for PGXN admins to accept or reject such requests. To make it actually usable, I just need to add the upload feature for users, and then I can do a first release. That will allow people to sign up, get approved, and start uploading extensions for distribution on PGXN.
I will get that that done this week.
After that, I’ll add screens for users to edit their account information, change passwords, reset passwords, and edit permissions. I expect each of those to take less time, as they’ll use a lot of the infrastructure I’ve already built.
Watch this space, and thanks for your patience!
Oh, and if you want to help out, please do fork PGXN::Manager and ping me in #pgxn on Freenode for the deets on getting it built.