24 Hours with Habari

So here we are, 24 hours after moving nearly 2 weeks worth of work (on and off) and it’s still standing. I’m impressed. :) Anyway, given that I know my conversion is generating a lot of talk about Habari and interest amongst you guys I thought I’d collect together some of my initial thoughts. Let’s start with the negative, because then we can end on a positive note…

  • There is no comment mailing built in. I woke up to a near-empty inbox and spent 5 minutes trying to figure out where the world went to. Turns out, all your comments were hiding in here waiting for me.
  • The feed is doing something wonky with some of my older posts. Three old book reviews are sat in there, despite being backdated in the blog.
  • The Habari autop() function ends paragraph tags before <code>, treating it like a block-level element. It’s an inline element.
  • The Spam Checker plugin is not the greatest. I’ll either be improving it or rolling my own.

With that said, these are easily outweighed by some of my favourite ‘features’:

  • Theming was incredibly intuitive for me. I think if you know what a PHP include does, you should be able to very easily create your own theme after a quick glance at one of the available themes. (It didn’t take long to code up this theme, although admittedly the design is from Scott.)
  • The admin panel is FAST. I’ve had WP Dashboard crash Firefox more times than I care to recall. No such problem here.
  • No MySQL connection errors yet. (If you remember, this was one of the problems I had with my first blog system.)
  • The reception from the Habari community on twitter, in the comments on my previous entry and in the #habari channel has been fantastic.

Of course, this post wouldn’t be complete without a spot of code…

To fix the autop() <code> bug, open /system/classes/format.php and change (line 117ish):

$regex = '/(<\s*(address|code|blockquote|div|h[1-6]|hr|p|pre|ul|ol|dl|table)[^>]*?'.'>.*?<\s*\/\s*\2\s*>)/ism';

to:

$regex = '/(<\s*(address|blockquote|div|h[1-6]|hr|p|pre|ul|ol|dl|table)[^>]*?'.'>.*?<\s*\/\s*\2\s*>)/ism';

(Interestingly, I googled this to see if anyone else had brought it up and noticed a previous version of autop without code, as above.)

I don’t expect to have the time to make too many of these Habari posts, but look forward to seeing how the blog holds up.

19 comments so far

  1. Melissa said:
    On 30 Sep at 5:13 pm

    I don’t know if it’s Habari causing it or not, but scrolling on your site now seems very choppy, even on pages where there isn’t a lot of content. It’s definitely not as smooth as it used to be.

    Love the simplicity and colors of the new layout, though.

  2. Anthony said:
    On 30 Sep at 5:25 pm

    You’ve definitely created a lot of buzz. Several websites that I’ve recently visited have posted a entry beginning with something to the effect of "I’ll be converting to Habari because of Jem, it seems like an amazing CMS. I’m not sure yet, but I’ll check it out.

  3. Vera said:
    On 30 Sep at 5:42 pm

    Heh, you’re turning into quite the Habari fan girl. I’ll be checking it out later, but purely from a developmental ease point of view :P

  4. Mumblies said:
    On 30 Sep at 6:04 pm

    Meh! still too bright for me, Habari sounds like something you would find in the food products ethnic aisle to me hehe

  5. Andy C said:
    On 30 Sep at 6:23 pm

    Another great way to avoid all MySQL connections errors forever and ever is to use the SQLite database back-end.

  6. Jem said:
    On 30 Sep at 8:08 pm

    Thanks Melissa – it’s probably the fixed background rather than Habari. Is your connection particularly slow? :/

  7. Melissa said:
    On 30 Sep at 9:08 pm

    Jem – No, just my normal DSL connection.

  8. Anthony said:
    On 30 Sep at 10:50 pm

    I have a high speed connection. On most fixed backgrounds the scrolling is choppy for me. I don’t have a problem with your background, however.

  9. Michael C. Harris said:
    On 01 Oct at 1:07 am

    Thanks for the feedback, that’s great.

    You’ll find that there are many things in Habari that aren’t built in. This is a concious design decision; a small (fast and flexible) core and powerful ways to extend through plugins. Many people don’t want comment mailing, so it’s not in core, but you’ll find a plugin in our extras repository, http://habariproject.org/dist/plugins.

    autop has been completely rewritten for 0.7 to use an HTML tokeniser instead of a regular expression. The code that you have will work fine for single line code, but if you’ve got multiple lines they won’t get autop’d (you’d need a whitespace:pre rule for code elements or insert your line breaks yourself – one of the syntax highlighting plugins might handle it for you too).

    There are several options for combating spam. You can use one of the outsource spam solutions like Mollom or Defensio. The honeypot plugin, which creates a hidden form that bots fill in, works pretty well. Habari’s comment handling is likely to change in the near future (maybe for 0.7), making it simpler to build plugins to catch spam.

  10. Michael C. Harris said:
    On 01 Oct at 1:14 am

    I forgot to mention, if there are things you want to change about the core, the best way to override stuff is to copy the class you’re changing to user/classes/ and change it there. Habari will use your modified class ahead of the core class and it won’t be clobbered in an upgrade.

  11. Louise said:
    On 01 Oct at 1:35 am

    Well this is looking good! :D If it’s as smart and simple as it appears to be, I might give it a test-run myself.

  12. Ali B. said:
    On 01 Oct at 4:24 am

    A few points that might help you overcome some of the "cons". I will try to keep links to the minimum to avoid uglifying the comment :-)

    – Comments notification is implemented in a very simple plugin, Comment Notifier, that’s avaialble in habari-extras repository as well as the dist site (http://habariproject.org/dist/plugins/). Habari aims to avoid bloating core with features that some might not use (although I personally find it essential to be notified with comments).
    – The feed issue sounds like a problem to me. You’ll probably get that fixed/reported if you could provide more details. I do assume that you are referring to your original feed and not the feedburner one as I see no issues with the latter when subscribing to your feed.
    – Looking at Format.php in SVN trunk shows the ‘code’ tag being apart of the nonAutop array. So this issue should be fixed by the time you update to 0.7 (When it’s released). Or, if you decided move closer to the edge and run trunk :)
    – The spam checker plugin that ships with Habari is of the simplest form and does not use any external service to recognize spam comments. I personally get zero false negatives when combining the plugin with another two, Simple Black List and PreApproved. If you have to use one that is backed up by a service though, many have found the Defensio plugin to be quite handy. All of these plugins are available from habari-extras or the dist page linked above.

    Hope all of the above helps you with the annoying bits. And if you didn’t experience the "helpfullness" of the community yet, well you should! post to habari-users, habari-dev, the forums or join the habari irc channel in freenode if you need anything.

  13. Catherine said:
    On 01 Oct at 2:14 pm

    The more I hear about habari the more I want to look into it as an alternative for one of my sites. WordPress really annoys me at times with how bloated it is. I like how with habari there is a simple core and then you can choose how you expand on that through plugins. I looked through the documentation and stuff and it really does look good. It helps to hear you say it’s good too :P

  14. Julia said:
    On 03 Oct at 1:34 am

    The new theme looks great!

  15. Caity said:
    On 03 Oct at 5:08 pm

    I’m glad to hear you’re still impressed with it. I’ve started to play around with it a little bit and have started to dabble and make a layout. I’m hoping to convert my site at some point in the near future. Your comments look great. Last time I was here you hadn’t styled them yet. I can’t wait to hear more and more about it. I hope you’ll keep posting as you have more to say about it.

  16. Nile said:
    On 10 Oct at 1:49 am

    Hi Jem!

    I was wondering if you might be able to do a guest post about Habari for my site Blondish.net, since you have been using it and are a bit more familiar with it than I am? If you can – awesome. I really only ask between 200-400 words, and I give a little introductory paragraph for my guest bloggers.

    I appreciate if you might get in touch with me. If you do not want to… that is fine as well. I just like to showcase guest bloggers once in a while and since this is a publishing platform and I end up talking about WordPress, perhaps introducing something different like Habari might be nice. I am eager to hear from you. My email is the one I used in this comment.

  17. Steven said:
    On 18 Oct at 10:51 pm

    Habari looks amazing, but unfortunately my host does not have the PDO driver for MySQL installed. I’m currently haggling with them about it; I can’t wait to try this out! Thanks for getting the word out to me!

  18. Kaytlin said:
    On 21 Feb at 4:13 pm

    A cleaner, faster CMS sounds great to me but I’m too lazy and inexperienced to abandon my WordPress right now…I’ll keep Habari in mind though if I ever do need to switch. Thanks Jem!