I guess the title of this post pretty much sums up my impressions of Mango Blog, but, let me add some details and context …
I use Ray Camden’s BlogCFC for this blog, and have for many years. BlogCFC has served me well, and continues to do so. I have thousands of entries, many thousands of comments, and many more thousands of page views. As I said, BlogCFC has served me well, and while I do have some suggestions/criticisms of it (which I do share with Ray who is very receptive to the feedback), I have no plans on switching away from it. BlogCFC works for me and does what I need.
I also run another blog, an Adobe internal blog that is used by all of the Platform Evangelists. We use it for trip reports, pointing out news stories, and more. It’s been running on BlogCFC for a while, and I actually hacked Ray’s code to make it use the Adobe LDAP server for authentication, as well as to build a mail server bot that the team uses to send blog posts from their e-mail, great for those of us who need to file trip reports but who live on the road. But some members of the evangelism team were a little less than enamored with BlogCFC, they wanted something that looked much better and which could be skinned easily, they wanted richer editing capabilities, and more.
So I downloaded Laura Arguello’s Mango Blog and installed it on a test server. The setup was quick and painless; it just worked flawlessly the first time. And I was pleased (and surprised) to see that it even includes an option to import an existing BlogCFC blog (it can import from WordPress, too), and that worked quite well (I had to tweak the database tables to fix a few things, but nothing too painful or time consuming). The blog is fast, looks good (by default, and can be made to look even better quite easily by using other skins, some of which are included and others can be easily downloaded and activated), and the Administrator tool is superb.
But what about the code and the ability to make modifications if needed? I started working through Laura’s code, and honestly, this is some of the best ColdFusion code I have ever seen. It is well organized, consistent, documented, highly understandable … but it’s also pretty sophisticated, so casual hacks would not be recommended at all. So I pinged Laura for pointers. As it so happens she was working on a custom authentication feature for her next update (which she released this week), pass it the name of a custom CFC to do your authentication and everything else just falls into place. Clean, easy, problem solved. My mail bot was a little trickier, but actually very doable via Mango Blog’s plug-in mechanism. I now have a plug-in CFC that was able to reuse much of the raw processing of my prior mail bot code, but which now invokes Mango Blog APIs to add posts. And the end result is actually much cleaner and safer than the casual hacks I was using previously. I still have a few bugs to work out with this one, but I am more than impressed with the code and how extensibility and flexibility were thought of and built in from the very beginning.
The bottom line is that while I am sticking with BlogCFC for my own blog, I really like Mango Blog, and am very pleased that the ColdFusion community has another great blogging option available.

19 thoughts

  1. Great to see it gets the Forta Seal of Approval…
    Contributing to Mango is the first open source project I’ve ever got involved with; the only danger is that it seems to divert my attention from my paid work!

  2. You are right.
    Last year I stared my blog, I do my homework a lot research but, my to last options were. The Raymond BlogCFC, and this one Mango. I install both, In my opinion the BlogCFC it’s more robust but the look and feel of Mango is amazing. And there are some different themes to choose.
    So I use Mango blog, so thank you Laura great job.

  3. Hey Ben, thanks for providing your thoughts on this. Mind if I ask a question of you/Laura/other Mango users who’ve moved from BlogCFC? As a long-time (and grateful) user also of BlogCFC, I’ve had my eye on Mango and of course know of the many and fine contributions from Laura and the asfusion team.
    You mention the option to import a BlogCFC blog’s data into Mango. This for many is a key factor and concern. Since Laura’s commented here and will see this, and other BlogCFC users may as well who have the concern, can we just clarify a point about that…
    Does it do the import in such a way that the URLs one used for BlogCFC remain (or can remain) the same in Mango? If that’s solved, it may dispel a significant concern some would have, given that we could have so many links out in the wild pointing back to our current blog entries. If we knew those would not break, it would lift a major barrier to switching.
    I’ve not tried it, and I’m not trying to make this into a Mango support call. 🙂 But I imagine other current users of BlogCFC (or any blog Mango imports) would wonder about this. If it’s easy, great. I just didn’t see clarification of the point in the few pages and searches I viewed at the Mango site, and while I could ask there, this is a more direct opp to speak to people considering the switch. (And, Laura, I’d propose that importing may be worthy of mention as a "quick info" link on the nav bar, since it may be a critical first point to some.)
    Thanks to both of you for the all the great work you do.

  4. Charlie, no, the URLs are different, BlogCFC uses a date along with the alias, Mango does not. And aliases are not imported. The changing URLs is not an issue for the blog I converted, but it would indeed be a massive issue for others. If I were to convert another blog I’d actually create a table that mapped old URLs to new one’s, and stuck that conversion processing in Application.cfc so it happens before the blog code gets called. Actually, I do that already. Way back when BlogCFC used a simple number for the post ID and then later switched to UUIDs, and I had lots of links that used the old IDs, so I have a mapping table, and f the entry id is a number and not a UUID, I inject a lookup and convert it.
    — Ben

  5. Ah, ok. Sure, that makes sense. I’ll admit I was hoping that perhaps it was a built-in feature. So was the process of creating that lookup table (the mappings of old to new) entirely hand-done? Seems it would be a chore for those with lots of entries (hundreds or thousands), or was it somehow automatable?
    And Laura, have you had any thoughts from anyone offering perhaps a plug-in or some other process to help with this, whether something for the import process itself or the kind of mapping code and table that Ben had written? I realize he didn’t do it for Mango, but I refer to the concept.
    Sure, most of us could be up to creating it from scratch but just wondering if someone may have started down that road. If not, no worries. Just one more hurdle for people to keep in mind.

  6. I should have said, "just a hurdle" (not "one more"). I’m not aware of any others. Indeed, all who use Mango speak very highly of it.
    It’s just that this is one that keeps it from being a seamless transition. The import process is compelling, but without some mapping, it just seems to leave one hanging, which is too bad. But I realize it may not be easy, for if it was, it would have been done already.

  7. Hi Charlie I understand your concern.
    I made a small migration (so small a few records) from BlobCFC, but in your case your blog is HUGE, really huge, I think you will have to do some manual adjustment, inside the database records. In my experience with different kind of system and platform we always have some kind of lost or damage. Good luck.

  8. Hi Charlie,
    Regarding your concern about migrating from BlogCFC, I created a plugin that will do what you need. That plugin, however, will only work if the alias of the posts match the new alias (they do most of the time).
    There is code in the latest repository for importing that adds some hints from the old blog that makes the plugin much more robust, so that it will work even if the aliases are different, and even if you were using the old URLs (mode=entry&entry=UUID).
    If you’d like to try it out, let me know. Otherwise, just wait for release 1.3.2 🙂
    Cheers,
    Laura

  9. I just think it is so marvelous that we have two great applications; BlogCFC and Mango which no doubt involved days-weeks of work and which have been released to the community and the blog world in general; just great stuff and accolades to all those giving of their time; thank you.

  10. Pathetic, isn’t it? I’ve had a work in progress revamp of this site ongoing for over half a decade, and have never gotten to finish it. All those nested tables, hard-coded color and widths and alignment … I know, I know. I will get to it one day, when I have nothing else more pressing!
    — Ben

  11. Add me to the list of people in awe of the coding mastery evident in MangoBlog.
    But I find myself a little conflicted. Through applications like MangoBlog, Coldfusion is being presented as a tool of amazing extensibility. Nobody could look at that application and not take it seriously. But, at the same time, it looks to me like the power of CF plays second fiddle to the genius of the application framework. That could just as easily be PHP or JSP as there was definitely nothing "rapid" about that application development. Essentially, it took over 700 files to create a Blog in CF.
    I like to think that it merely displays the flexibility of the language. But I can’t help feel that the power and grace of CF is being lost or eroded as it becomes all about masking CF behind OOP frameworks.

Leave a Reply to Matt Ondrey Cancel reply