August 2007 Archives

The trick was finding a small project and someone who knew how to do it once he heard the specs. Call it global sourcing on an individual scale.

On Friday, I posted a note to the Sixapart Pronet mailing list to the effect that I need the following functionality in Movable Type's search feature:

I am doing a global tag search on my MT4 blog, and the entries are coming out sorted by blog. Is there a way to get them sorted by entry date alone?

I had put in a lot of work customizing search templates and just wanted a solution that would give me entries sorted by date without reference to blog. The idea is that students will have their own blogs with a central aggregation blog holding a list of their entries and organizing them by tag. Tags are used to organize conversations that students carry on in their posts. Think of it as a sort of mini-Technorati without the SPAM. I call it the Learning Remix project

Well, I had a number of responses. Mark Carey suggested his fast search plug-in for MT4. It appears to work well and solves a number of problems. However, two things caused me to remove it from immediate consideration:

  1. I would have had to learn some specifics about how this plug-in worked. They're not too bad and probably worth it if you want the functionality, but I'm really feeling under pressure with some deadlines.
  2. I would have had to do some more, albeit perhaps light, template work.

After reviewing this plug-in, I suggested I would be willing to pay for a drop in plug-in that would just sort tagged entries without respect to which blog they were in. In enters Nemui Ailin. Nemui suggested he could develop a quick plug-in, would I be willing to pay $20. We agreed the price with the condition that the plug-in be released under the artistic license that Perl is released under.

I comssioned it for open source because I want others to be able to do the sort of thing I'm doing with Movable Type. I'll be making a page for the plug-in on the learningremix domain shortly. In the mean time, Nemui has made it available for download here.

BTW, Nemui is located in Germany. I paid him via paypal. Welcome to global sourcing on an individual scale. I'm highly satisfied. The whole experience once we got started took well under 24 hours.

These guys need to get their act together and make it possible for people to buy their product.

I'm not entirely happy with MT4 but it is not vomitous either. It brings a number of improvements but also has rough edges. I've had to spend a lot of time debugging sometimes broken functionality.

Maybe the thing that irritates me the most is Sixapart's, the software maker's, utter failure to address the higher education market. Here's a text of a letter I sent to the product manager this morning:

All through this beta process, I had been anticipating *upgrading* my higher ed. classroom license to build and extend a blogging knowledge network I had run under various guises, starting in 2004 and most recently with some donated plugins from Tim Appnel. This year, we're adding automated social network analysis, an exciting feature.

Well, 6A quietly DISCONTINUED the higher ed classroom product I had been using when they went to MT4. I now have to complete a whole formulary stating that I want a higher ed license for the classroom and wanting to know if others are interested.

http://www.movabletype.com/download/contact-us-education.html

Wasn't sure how exactly to address [the question on the form of] who else might be interested, given the apoplexy I was experiencing as I filled it out.

My simple message is this: If you want wider adoption, lower the barriers to adoption. If you are offering a product, sell it like a product with clear value for money. That means for $X you get Y. Just let people make their decision and move on.

Personally, given the hours I have had to spend debugging key components of the software (CAPTCHA with incorrect error message, any kind of install on RHEL5) and the time I expect to spend in further development (custom search template for tag aggregation), I suspect I am a pure MTOS customer.

This custom licensing nonsense has just got my goat.

Bud

The big challenge to getting Movable Type 4 to run on Red Hat Enterprise Linux 5 is dealing with it complex mult-tiered security model, the most significant element of which is SELinux.

[Update 8/11/2007: Fixed some typos and added what I hope is clarifying language.] Installing Movabletype 4 (MT4) on Red Hat Enterprise Linux 5 (RHEL5) is challenging because it runs SELinux by default. SELinux was developed by the NSA to harden linux to the point where it was secure enough for their operations. With the amount of zombied machines out there turned into unwitting spambots, anything you can do to make your machine more secure is a big plus. A detailed explanation of SELinux is beyond the scope of this note, but the simple version is that it tightly defines which processes can access which system resources and is independently added on top of traditional unix access controls. As this last pargraph suggests, there is a big trade-off between convenience and security. MT4 and SELinux might be thought of as being on opposite ends of that scale. MT4 endeavors to make things more convenient for users. It writes its own configuration file in a normally write protected directory (cgi-bin) and reads from read protected directories (cgi-bin, again). It allows you to download new components directly from the Internet and install them on your system (usually somewhere you designate under the web server root where you store your html files). SELinux simply forbids all of these operations and will not let them occur. They all represent potentially large security holes that hackers can exploit. Before we go further, I should note that I'm writing this note with the idea that readers are familiar with linux and have root access to your RHEL5 server. I'll also assume that you know how to manage non-SELinux elements of an RHEL5 server. I'll also assume that you are going to use mysql as your database. Perhaps my biggest assumption is that you do not want to take the easy way out and just turn off SELinux.

Automated Social Life

Comments (0)

I won't be automating my honeymoon anytime soon, but day-to-day is not so bad.

Nick Carr has written a note on [the automation of social life](http://www.roughtype.com/archives/2007/08/the_automation.php). It's hard not to find his writing provocative. Generally, his arguments boil down to some sort of reductio ad absurdum. He pushes the apparent logic behind some phenomenon until it no longer makes sense. In this case, he wonders whether it makes sense to automate your social life. Is it good for it to be more efficient? Well, in the extreme, not always. For instance, imagine trying to run your marriage or time with your kids on an efficiency model. However, efficiency is great for that quick call to let someone know you have re-routed and will be ten minutes late. It's great for sharing photos. So, while I won't run my honeymoon on an automated efficiency model, it's nice for the day-to-day humdrum.

I may have conquered it.

Well, my atom feed works better. I now have markup in it based on my editor filter. Oddly, the switch to control this is called "convert\_breaks", not really intuitive, and I'm not sure of the semantics. It should probably be relabeled "apply\_edit_filter" or something. Just a thought.

Well, my last experiment more or less worked. I want to try another list. * It seems you need two line breaks between a paragraph and your list to get it to work. * Does this item set up?...

Well, my last experiment more or less worked. I want to try another list. * It seems you need two line breaks between a paragraph and your list to get it to work. * Does this item set up?

MT4: More on feeds

Comments (0)

There seems to be a bad interaction between the new post editor and what goes in your feeds in Movable Type. Movable Type has a philosophy of storing exactly the text you input into the editor and then converting it...

There seems to be a bad interaction between the new post editor and what goes in your feeds in Movable Type. Movable Type has a philosophy of storing exactly the text you input into the editor and then converting it based on your choice of editor format. However, the default templates for feeds seem to say to ignore that. A number of years ago, it was not an uncommon practice for some people to strip their feeds of all markup. Now, it's different. Most feeds come with html markup in their content. However, it's not entirely clear what to do in MT because I'm not sure what the conversion process will be in my feed. Let's see what happens with this markup. If it renders as html in my feedreader, I've found the solution. * test list.

MT4: Bad for feeds?

Comments (0)

Another MT4 snafu, this time with how editor output is put in the feed.

My MT4 upgrade experience continues. I looked at the post I entered last night in my feed reader. Uh oh! All of the markup was stripped out, and the raw output from the text editor was there instead. I had been using the editor's "markdown with smarty pants" feature. "Markdown with smarty pants" transforms the text you enter in the editor before it hits the web page to produce nicely formatted html. Apparently, that transformation is not occurring when it goes into the feed. This is not a good thing. I'm still using my templates from MT3.35, so perhaps the problem stems from that. But, getting the feeds right is a big deal for my current post-processing strategies.

Well, I'm running MT4

Comments (1)

MT4 has some rough edges. It's significantly more complex and requires more components than previous versions. These can be hard to get to work. However, MT4 has some nifty new features like blog aggregation and is what I will use for group blogging in the near term.

So, I took the plunge and decided to just upgrade to MT4 (Movable Type 4, the software that powers this blog) today during Sixapart's conference call [upgradeathon](http://www.movabletype.org/2007/08/todays_events.html). I've done a number of clean installs but not an upgrade to this new version. I figured this blog would be a worthy target for such an effort since I started it back in the 3.0D days that [Anil Dash](http://www.dashes.com/anil/) has recently mentioned on the [Pronet mailing list](http://www.sixapart.com/pronet/). I have a few observations: * In the old days of MT (right up through version 3.3, the most recent prior version), all you needed to run MT was Perl and a web server. Now, you also need a program called ImageMagick, and it's part of the core application. ImageMagick allows MT to produce [CAPTCHA](http://en.wikipedia.org/wiki/Captcha)s, a fairly effective SPAM fighting technique. The problem is that MT seems particular about the specific version of ImageMagick and how it's configured, and [none of these particulars are documented](http://movabletype.org/documentation/installation/before-you-begin.html). I've installed MT on two different systems, and in both cases, it has told me the systems were set to go, but in fact they were not. The systems were stock installs, no monkeying by me. I've found this to be a rather irritating rough edge. * To get the most out of MT4, you really need to use the new templates. Templates are what produce the web pages you see for entries published on this blog. However, upgrading to the new templates is hard to do, even if you are willing to do a devil-may-care wholesale replacement of your current templates, there's no way to do that. Here's why templates are important: At the very beginning of my experience with MT3, the application performed like a traditional web application. Basically, a server side program produced web pages in html. If you wanted additional information, you would access a completely new web page. Since, there has been a slow creep of a technology called AJAX into the application. AJAX basically uses javascript to load new information into parts of pages. Originally, AJAX was considered by many as a way of adding optional interactivity to web pages, sort of like interface sugar. However, that view was always overly simplistic, and it's really so now. Many of MT's functions are based on the assumption that AJAX is there. For instance, comment registration requires AJAX. To get this feature, you could write code for it yourself, but why not just use what sixapart gives you in its templates. MT4 has some new functionality that requires templates, like the ability to create standalone pages, not found in previous versions. Of course, these require completely new templates to work. MT4 has a nifty new way to flip back and forth between blog designs. Using this functionality, you can go from a two column to a three column blog at the flick of a switch. Of course, this requires the new templates. So, what's my verdict on this new version? Well, I still like the aggregation features [I've mentioned before ](http://budgibson.com/home/archives/2007/06/open_source_movable_type_and_community_rebirth.shtml)for multiple blogs and particularly class blogs. I like the interface for managing the blog. I'd like to see a fix for this CAPTCHA issue or at least more documentation. Personally, I'd move CAPTCHA out of the core and just make it a pluggable interface for people to use their favorite service, be it their own ImageMagick install or a third party like [reCaptcha](http://recaptcha.net/).