Archive for July, 2007

PunBB versus bbPress

Not sure where I heard about punbb, but I’m glad I did. Its clean, simple, and fast - all good things! The project supports a few of my required needs in a bulletin board system:

  • User email validation - cuts down on spam
  • Ban by domain - very good on cutting down on spam
  • Show new posts since last visit
  • Sticky posts

I might just make the switch to punbb one of these days. If you are interested, check it out:

punBB

I emailed the bbPress dev list to ask about the differences between bbPress and punbb, never heard back, but just found this post by PhotoMatt, where he states:

bbPress is not and will not be right for everyone. There are open source traditional forum packages, like PunBB, that get a lot of things right and push the envelope in interesting ways, so that’s covered. bbPress is not going to have avatars, or put post counts next to your name, or give every user 80 options about how they want their dates formatted, and for some people (maybe most people) that just won’t work. However even if WordPress.org is the only site that ever runs this software, it’ll be totally worth it just to get the forum technology growing again and create a richer support experience for the WP community.

That statement makes me want to stick with bbPress, but there are still some issues I’m having with bbPress. I need to clarify what those issues are exactly. I believe they relate to user registration, as I keep getting tons of spammery users. :-(

The main thing I’m missing in bbPress is the show new posts since last visit, or show unread posts. Also, it appears that for some reason, Google isn’t indexing any of the bbPress forum posts, only the rss feeds. That’s odd. I found a bbPress sitemap generator that looks cool, tried it out, it works, but a little buggy. I’ll try to make a patch soon.

Rails versus Symfony

Looks to me like Ruby on Rails is pretty much the same as Symfony, and without worrying about which came first, I have to wonder what makes the MVC system so great.

Personally, I prefer using standards (namely SQL and XML) instead of programming language syntaxes - true, it does make things a little sticky from time to time, but it frees up logic into reusable templates, but also makes it really easy to specialize.

That isn’t to say that the people who created Ruby on Rails and Symfony didn’t do a great job, I really like what they’ve done with tutorials and generally spreading the word about application frameworks.

I guess my gripes have to do with that this can encourage poor database modeling, because its so easy to connect a web interface with a database, and bridge in some code while your at it.

Preparing for Open Source Release: Bug / Issue Tracker




In preparing for the open source release of PBooks, I’m adding more components to the support infrastructure, including:

  • Bug reporting tool using Bugzilla or Flyspray
  • Publicly accessible code repository via subversion
  • User support system via Request Tracker or DITrack
  • Developer and user emailing lists

I’m currently evaluating Bugzilla, and it seems a bit unwieldy, so I’m going to review Flyspray again. I’ve seen it before and it seemed to work OK. I’m open to suggestions!

Also in the running are PHPBT, DITrack, Roundup, and Mantis. Mantis actually looks really good! It appears to be a full “issue” tracking service, which can support general customer support requests, like RT, or request tracker.

Actually DITrack looks really really good. It uses Subversion as its storage mechanism, and they say this on their website:

We do need your help, really. Right now the weakest part of the project is its documentation. We are good at coding, but not in writing texts for humans (let alone we are not native English speakers). If someone could help us out with this, that’d be awesome.

They also mention that DITrack is specifically designed for small developer groups (10 or less) which is how I foresee the core team of PBooks to be. Which leads me to think about Trac, a source code and project management system. Both DITrack and Trac use Python and subversion for data storage (actually it looks like Trac also uses an RDMS like SQLite, Postgres, or MySQL - though MySQL support is experimental). I’ve seen a lot of projects use trac, but I’ve also seen a lot of those trac systems get overwhelmed by spam too. Reading more of their documentation reveals that the project management component may simply be a timeline, a wiki, and an issue tracker. In that case, I believe I will forego Trac in lieu of MediaWiki (already setup for PBooks), DITrack, and plain old Subversion for source code management (and websvn for browsing).

I’m a big fan of MediaWiki, and PBooks can also use it for a FAQ, development notes, and user guides. It is fast (memcached support!), flexible, and has a great developer community.

I also want to note here that Roundup looks really interesting too, somewhere between DITrack and Bugzilla. Simple, but very flexible, with a lot of configurable options. I’ll definitely keep that project in mind for projects with more complex needs. The documentation is also very good.

Features I’d like to have for a bug tracking system for PBooks:

  • Bug creation, retrieval, updates, and deletion
  • Custom categories for bugs
    • GUI
    • installation
    • database
    • functionality
  • Bug priorities
    • critical
    • security
    • low
    • idea
  • RSS syndication of activity - email gets messy
  • Assignment of items to specific developers

Hmmm. DITrack is command line only, and Roundup is a mess frankly - it isn’t very debian friendly and it really suffers from functionality overkill. I’m dumbfounded that they include their own web server. Grrr.

On to mantis…. skipping mantis due to its size and complexity, now found etraxis, which looks really good! Took a little wrestling and installation of dbx, but I’ve got eTraxis running, and although the database model doesn’t make much sense to me know, everything about this project looks good: simple, clean, and clear.

Whoa, etraxis is a bit difficult to get configured. The process is vague, seemingly arbitrary, and quite round-about, but I think I figured it out. Here’s the short cut:

  1. Create project
  2. Create template
  3. Edit template states
  4. Create new template state
  5. Add fields to state
  6. Make state “initial”

All that just to create a record. Ugh. Beyond the initial hurdle, etraxis is pretty amazing and surprisingly flexible. I’m just going to review phpbt real quick before I commit. Well shoot, I wish I had tried PHPBT first. Its easy and ready to go. Although it hasn’t been updated in awhile (2005) it works fine with PHP5, and seems pretty quick. A little more review and I think I’ll go with PHPBT.

While PHPBT doesn’t satisfy all of the functionality I wanted in a BTS (like RSS feeds), it performs the main function of tracking bugs really well.

Practical Ruby for System Administrators

I purchased a copy of “Practical Ruby for System Administrators” by André Ben Hamou today at Barnes & Noble. Its really good! Its my first book on Ruby and it is easy to read, and the author has a good sense of humor and an imaginative creative talent.

Speaking of creative talent, my wife and I just watched Howl’s Moving Castle. A great animation with all sorts of cool artwork and story lines.

But back to ruby, I like it as a programming language so far. It is straightforward and easy to implement. It might be an good language to learn before trying to tackle C or C++. One thing that interested me already is the standard libraries it has access to, like the ssh socket.