Fiji has her forever home!

Our sweet Fiji went to her forever home this weekend. Happy and playful, Fiji is also curious and smart. And did I mention determined. I find her personality irresistible, and so too does her new forever parents. Her description on the Fast Friends site said ‘My foster family says I’m determined to check out everything.’ It was this that attracted Fiji’s new family to her. Fiji will not disappoint.

If I were to describe a perfect family and living condition for Fiji it would fit her new home to a tee. She has another grey to play with in a great big yard and doting parents. Plus the dry climate in Reno will serve her well as she seemed a touch allergic to something in the air here.

Here is Fiji on the treadmill – with a special appearance by rising star Zoe.

Vampire Fiji

fiji_abstract

Tucker’s Canon Rock cover

My son just posted a cover of the famous Canon Rock on YouTube:

Creature comforts for Manila users making the switch to WordPress

I have configured WordPress with a little PHP to provide a few Manila-like features for my conversion clients. ‘Edit this page’ buttons on pages and posts and template modules. Template modules are containers in the page templates that can be edited in-place by site admins. A simple ‘Editors Only’ bar that, although adapted for WordPress functions, gives up-front site admin interface that Manila users are accustomed to.

wp_editors_only_bar

And due to popular demand a simple ‘Shortcuts’ like WordPress plugin for linking to pages created on your WordPress site. Not really a full-blown glossary-table style system like Manila’s, rather a simple lookup of any quoted text against the currently available pages on your site. If the quoted text matches a story title, the text turns in to a link to that story.

So, if you had a page in your site with the titled Spring Cleaning and you put that string in to quotes like this – "Spring Cleaning" – as WpordPress serves your page the text turns in to a link. See the Manila Shortcuts plugin.

Major improvements made to Manila conversion process

It has been a long time since I have delivered an update here – but the Manila conversion process has had numerous improvements in the last year.

Huge numbers of rendering bugs have been squashed. Much more of the original Manila site context is no preserved. For example:

  • The Manila Site Structure is now translated in to the WordPress Parent/Child structure. The only limitation is that Manila supported multiple paths to the same story, WordPress only supports one path, so only the first Manila path defined is exported to the WordPress hierarchy.
  • Discussion group threads are exported to static html pages. On converted Manila pages, posts and home pages where comments were posted, a link is added to the new comment archives.
  • Manila navbar converted to support the MenuBar plugin – I add the plugin to the converted site and some css to support the converted navbar.
  • Manila ‘includeMessage()’ macro conversion. I can patch in some simple php code to add these to the converted theme so that areas of the sidebar can be edited, just like the Manila feature.
  • Manila theme conversion. Okay I do this by hand. using the Yahoo YUI css framework. While these themes are not nearly as advanced as some of the many themes available for WordPress, they are usually an improvement from the Manila theme they came from.
  • And the best news – a storyReader$nn style redirector. For links to your old Manila ’stories’ from around the net where custom paths were not used, and instead Manila’s old /stories/storyReader$55 style url were used. These links now forward to their correct WordPress URL. This is done via a lookup on your mySQL database and so can support large numbers of redirects efficiently. This is a major step to fighting some of the link-rot that can occur when making a conversion like this.

Manila conversion winners and losers

A posted a page to try to give a summary of exactly happens to each type of data stored in a Manila site as it is converted to it’s similar WordPress counterpart: What is converted and what is left behind. Please let me know if I missed anything, thank you.

UPDATED! Many new features in the conversion system have been added allowing the conversion of Manila discussion posts, Manila Site Structure (Manila ‘Custom paths’), Manila ‘includeMessage()’ and theme modules and a new database driven re-director for Manila storyReader$nn style links to their converted WordPress counterparts. Good news!

Manila conversion tool shakedown almost complete

I think I am ready to start the official testing phase – the shakedown is nearly complete. What’s the difference between shaking down new software and testing it? Before the hunt for the real bugs in a semi-biggy process like this, one must fire it up and let it run top to bottom on a few sites and see if any nuts or bolts fall out. Nail the easy bugs first. The hunt for the fun bugs, the tough ones is when the real testing starts.

The process is running front to back on a large, complex site as I blog this.

Lots of bugs have been whacked this last weekend, the converted site product still has a few too many warts to declare then end of the shakedown period.

Tomorrow I will take on a second site, another news-post oriented site. My feeling is that this process will do a better job on news-post, or blogging oriented Manila sites.

Brochure type Manila sites – with a deep site structure for example, won’t convert as well in the first version. I will try out the process on a brochure type site before I’m done.

Limits encountered on Gems exporting

No one ever told me porting Manila to WordPress was going to be this much fun!

I hit a limit on my method of fetching Manila Gems (Files in later versions of Manila) and posting them proper into a WordPress site at around three megs. The script hit a file of 8 megs and I discovered that Manila would not parse the xml-rpc request for a file that size.

I elected to have the WordPress site try to fetch the gem, and then post it into the WordPress site directly.

My script calls the WordPress site via xml-rpc, and gives it the URL of the gem. Wordpress processes this command and then returns the new URL – which my Manila script will store along side the original url so we might be able to forward traffic to the new address of the gem. This is all via a custom api I have put together specifically to assist the site conversion, in case your wondering how I get WordPress to do these unnatural things.

As simple as all that sounds, it’s less than attractive hack (it does work however) – so I think I’ll call this one a tie and move on.

More pre-testing testing reveals Manila member woes

I have selected another Manila site I host, www.londonpoolscampaign.com as a pre-testing test victim and found quite more than a few of member problems. in addition to the remnants of some sort of mass member creation fiasco (lots of consistently malformed member logins), it looks like there there were tons of members created with no record of a login. This is the result of Manila site owners enabling a poorly conceived commenting system called ‘Radio Hosting.’

This feature invited tons of abuse by comment spammers, and so I am inclined to leave these members and their comments behind, as a site that has been abuse can run in to tens of thousands of members like this. Please feel free to shout me down (okay don’t really shout, I’m a sensitive kinda guy) on this point.

Also I have opted to leave out members who have not logged in for two years or more. This may indeed be harsh – again please feel free to debate this with me. Any content posted by one of these expired users, will be the property of the admin on the new WordPress site.

So here are today’s changes to exporting members from a Manila site to a WordPress site:

1. You have a login, but have never logged in? Your out.

2. You have not logged in for the last two years? Your out. Your posts become property of the new admin.

Update: see the new chart ‘A close examination of exporting Manila members to WordPress‘ that I just posted.

A re-think on the order of exporting and URLs

Cecil re-enforced the point about not having a good Manila glossary to render new shortcuts from the new WordPress (WP) URLs for each story discussed earlier. He’s right, and this has brought about a major shift in the process here. This is important as this is the mechanism that will make sure your links in all your content that point to your own site sill still work after the conversion.

On one hand I want a table of old Manila URLs matched to new URLs, and the only way I can see to do this is to plow thru the Manila site in the exact order it was created – message one then message two then three etc. The trouble is that the glossary is not of a chronological nature. And he’s right, users go in and mess with it all the time.

So here’s the new plan – please hold your nose and remember, reshaping a large amount of complex, interrelated data in to a new schema never designed to house it is by nature a kludgey, messy operation – best to accept homely solutions (and refer to them as ‘novel approaches’) and just move on.

I’ll make one complete pass over all stories, home pages, images, GEMs and news items, accumulating new WordPress URLs for each resource as I go.

When that is complete, and I know the whole truth about every URL in the old glossary and have a new glossary against which I will re-render every Manila story and home page and then post the result as an update to each already existing WordPress page. Remember, this should only be necessary for Manila stories and home pages, possibly discussion posts as replies to home pages and stories since Manila ‘news posts’ do not render shortcuts or Manila macros.

Only a little easier said then done, and I know what your thinking but remember — this a ‘novel approach…’

I updated the flowchart to document this insanity – should have the code actually doing this shortly.

Shaking the bush boss, shaking the bush!

I have several good clients waiting patiently to get their Manila sites moved to Wordpress – don’t worry I’m smashing forward every night.

My latest progress includes getting images and now stories exported with the process. I am also seeing the URLs cross reference information being rendered correctly, for a Manila story for example there could be at least two, maybe more possible URLs:

  • www.manilaSite.com/stories/storyreader$551
  • www.manilaSite.com/myNewPuppy (custom path)
  • www.manilaSite.com/critters/MyNewPuppy (second custom path to same story – possible)
  • more custom paths…

At this point I am getting the first two – before I’m done I had better go back thru the Manila site’s custom site paths and clean up all the other references to each story.

Also i am building a shadow-glossary with new WordPress URLs for the export process as I go. This is a table of URLs matched to Manila ‘Shortcuts.’ I use this shadow glossary to resolve Manila Shortcut style links in content as I render it for export to the target WordPress site. In English this means that embedded Manila shortcuts will point to their new WordPress URLs after the conversion (this is needed because links like www.manilaSite.com/stories/storyreader$551 will look like www.manilaSite.com/?p=443 for example).

Since I am exporting each bit of content as it was input, and rebuilding the glossary in that same order, it opens the possibility that a user may have added an image or story after a post, then went back to the post to add the shortcut. This is a time travel issue I am going to have to address – no idea yet how to handle this with my chosen route but I’m sure I’ll come up with something…

More updates as I go – keep you eye on this spot!