Viewing Category: Blogging
I have, lately, been feeling constrained by the existing structure of this web site, which has been bothering me for a long time. The main problem is the lack of navigation; it's basically one giant scrolling chain of articles, with some slapped-on navigation at the bottom of the page. The user experience is quite awful for the casual visitor.
Despite knowing all this, and having an idea of what I need to do to fix it, I've been kind of stuck on it, because the number of options I have in making changes is incredibly broad. I'm thinking of splitting the site into multiple blogs, one each for Productivity, Design, Personal, and Making. Also, a general article area will become the new repository for content like The Printable CEO, so there's always ONE updated location for every tool. To enable all these changes, I'm going to use the Expression Engine content management system; the main reason is that the integration with the forum and wiki modules with multiple blogs will make it easier to start deploying software products that need user authentication. However, this new arrangement will require me to handle all the old incoming links (pointing to the old blog) so they're pointed at the new one or ones.
As a result, I have not been feeling like blogging. The ideas are still here, but the thought of putting them into the existing blog structure makes me feel a bit ill. I am actually forcing myself to finish this post, because I think I need to write it.
Breaking Free
Normally, when I'm in this situation, I redefine the rules such that victory is achievable through some other means. For example, I am thinking that the new structure will be a big pain in the butt to create (recall that I don't particularly enjoy working with CSS). It probably isn't, if I define a smaller subset of features that absolutely need to come over.
Another approach I've taken is to whittle away at the problem by doing a Q & A with myself. Right now, I am not sure how to move everything from WordPress to Expression Engine...I just know it's going to be a pain in the butt. If I ask myself a single question at a time and write down the answer, I can maintain the focus and eventually get to the point where I run out of questions.
Yet a third approach is to apply time blocking and just work on the site for an hour at a time, just fixing whatever I see here and there. This is not a particularly focused way of working, but sometimes that's the mood I'm in. I figure anything is better than nothing.
There comes a time, however, where you just got to make the big push. The last major thing I need to find out is how to create multiple forum installations and to transfer existing users to the new structure. Sigh.
Next Steps
The main problem, I think, is that I'm feeling the weight of the existing content and registered users, and I have to figure out a way of making sure everything merges neatly together. While I think this is a necessary step, I'm not particularly excited about implementing it. Having written that, though, I think I'm probably overestimating the difficulty involved.
Anyway, perhaps this weekend I'll make some progress on this. The website may be acting a little flakier than usual over the next week.
As some may have guessed, I've been spending some time playing WoW---more importantly, I've been building the guild website and posting in the forums and wiki. I also had a full week of work and after-work meetings, and I ended up not blogging a whole lot at all. This week I'm hoping to restore the balance between work, socializing, and now simulated company building in WoW.
If you're wondering where all that writing energy went, it's gone into the guild forums, which I've left readable by the world so people can get an idea what's going on. My thoughts are that the transparency of guild operations will be part of its appeal, and it's a way in which I can start to define my philosophy of leaderership as I learn to practice it.
Some of the particularly-interesting threads, phrased in more traditional "business terms":
The Company Handbook - Where the rules and ideals of our mission are taking shape.
Corporate Identity - The debate of how our "guild tabard"---the symbolic piece of cloth that our characters wear in-game that signify our membership---should look rages on here.
Career Advancement - Every guild has a number of "ranks" of achievement. When you're first brought into the guild, you start at the lowest rank and can work your way up. I've designed it to reward behavior that is of benefit to the guild, and have started establishing the public feedback mechanisms that make advancement "real".
On a side note, I built the guild website on Expression Engine Personal + Forum module ($149) so I could finally learn it, and I have to say I like it a lot. It's taking some time to get used to, and I haven't yet customized the appearance of the site or fixed navigational issues, but overall it's pretty cool. The forum module is pretty darn nice, with membership management integrated with the wiki and blog modules. This is the first wiki I've come across that actually has a decent Markdown Extra Plugin that works seamlessly; once I tweaked the Wiki CSS slightly, it produces very readable output.
I'm finishing up some photography of some of the myndology notebook samples that the company generously provided, so I will likely have that up after I finish some work this week. And Groundhog Resolution Review Day #4 is coming up on June 6th (here's what I wrote in GHDRR #3)...yikes!
I started reviewing my old blog posts last night, going back to the very first ones in 2004. It's a little embarrassing to read through the earlier posts. On the other hand, it's interesting to see how my writing style has evolved as my personal focus has clarified.
I came across a message board the other day that mentioned how difficult it was to navigate my site. I totally agree. Now that I have this rough cut of "best of" articles, I can start to build out some sections with a lot more focus. It'll probably take me a while to get there, so in the meantime, you can see the raw list over on the wiki I set up for this. I've got the list backed up elsewhere just in case. There are 283 articles that made the first cut, out of a field of about 1200 entries. They have not yet been put into order.
UPDATE
Here's a categorized pass of the articles. I now have to start going through them and summarizing them. One thing I'm noticing is that I really don't like a lot of the titles I've picked. I am tempted to rewrite a lot of these articles also; another good reason to make a book version for download.
I've been trying to import my current WordPress database into my staging blog so I can play around with formatting; alas, the wordpress to wordpress importer has presented a few hurdles. Here's what's supposed to happen:
- On the old blog, go to Manage -> Export, download a WXR file with all yours post
- On the new blog, go to Manage -> Import, and upload the WXR file. Easy!!!
Except it's not, when you have more than 2 megabytes of data. You're not allowed to upload more than 2MB, because PHP poops out due to an internal limit.
I tried to work around this by patching WordPress to look for the file on the server instead of requiring you to upload it. That way, you can download your giant WXR file and use FTP to upload it somewhere to your server first. Geeky notes follow so I don't forget this stuff.
The Problem
There are several bottlenecks, many of them related to PHP's built-in limits:
- The
post_max_size and upload_max_filesize settings in php.ini are often set to something like 2MB or 8MB. That means you can't upload a file larger than that. If you have a lot of writing in your blog, as I do, you just won't be able to upload a big enough file. Fortunately, I have a dedicated virtual server and can up those limits, but if you're on a shared server you're screwed.
To work around this, I spend a couple hours trying to modify the WordPress import filter to use a file that had been already uploaded. I eventually hacked it to actually work, but hit another bottleneck related to memory_limit. But first, here are the brutal modifications I made to the WordPress 2.1 files:
In wp-admin/admin-functions.php: wp_import_handle_upload():
Added the following lines between $overrides = array... and $file = wp_handle_upload(...) as follows:
$overrides['test_size'] = false;
$localFile = array('name'=>'import',tmp_name=>'/full/path/to/wp-import.xml');
Don't forget to replace /full/path/to/wp-import.xml with the name of your exported WXR file. Next, I modified the $file = wp_handle_upload(... line to read as follows:
$file = wp_handle_upload( $localFile, $overrides );
Next, in wp-admin/admin-functions.php: wp__handle_upload():
Commented out the following around line 1838-9:
// if (! @ is_uploaded_file( $file['tmp_name'] ) )
// return $upload_error_handler( $file, __( 'Specified file failed upload test.' ));
Modified the move_uploaded_file() call to use copy() instead, around line 1879
if ( false === @ copy ( $fname, $new_file ) ) // made this rename
wp_die( printf( __('The uploaded file %s could not be moved to %s.' ), $fname, $uploads['path'] ));
Finally, in wp-admin/import/wordpress.php:
Comment out the statements for case 0 around line 324-325, so control flows through to case 1:
case 0 :
// $this->greet();
// break;
The net result of these changes is to bypass the uploading form when you click the import -> wordpress selection. It should automatically attempt to read the WXR file. The modifications above are to bypass the security mechanisms in place that prevent you from using non-uploaded files.
If you find that you're getting a dialog box that asks you to download admin.php, what has probably happened is you've run out of memory (check your PHP error log). The WordPress importer reads the entire file into memory at once, so if you've got a big file you'll need a lot of working memory to process everything. For my blog, I needed about 64MB of working PHP memory, which I could fix by changing memory_limit to 64M in my php.ini file. If you're on a shared server, you're kind of screwed if you can't change these.
You probably are better off exporting piecemeal using Aaron Brazell's WordPress to WordPress importer, which gives you the option to export selected categories. This is what I did the first time. Note that it works best between the same Wordpress database versions; Importing from WP 2.0 to WP 2.1, for example, will cause some funny things to happen with Pages and vice versa. As it is, subpage importing is currently broken, so watch out for that too.
As a lot of you know, I'm a member of the 9rules Network, which in my mind is a sort of autonomous collective consisting of writer/enthusiasts honing their craft, each independent yet allied in our need to keep putting stuff on the Internet in our quest to find personal satisfaction. The triumvirate of Paul Scrivens, Mike Rundle, and Tyme White are our nominal overlords, keeping the vibe going by example. They've built a public space where we can all hang out and do our thing. I think it's pretty cool, like being in an extended Scooby gang.
Today the triumvirate has unleashed a new site design, codenamed Ali. The new design moves 9rules even further toward community by creating several new context-of-use entry points into the site. I just got to see it for the first time, and here's my quick impression of the new features:
9rules Live - If you're the type to drink directly from the stream of live articles as they're posted, this section is just what you wanted.
9rules Member Site Profile - Did you read an article that piqued your curiosity about the author? Click on the various site profile links and see what else s/he's written.
Topics - At first I thought that was a new way of looking at Communities, but actually it's a tagging system. If you visit http://9rules/topics/someterm, you'll see related Notes and member site content. This is effectively the new 9rules search engine, and you can use it to quickly find both articles and conversation from both the community of participating readers and member sites.
my.9rules - This is your social networking profile. You can say a few things about yourself, link to other 9rules reader "friends", and keep track of all your conversations. When you post a Note, your profile link is displayed right next to it, so people can check you out. I haven't played with it, but it reminds me a bit of the community of the (old and good) Orkut combined with the selectiveness of the LinkedIn invitation system.
It's all very cool and ingenious.
One thing that may be a little confusing is the difference between notes and topics. For people who just dive in and use things I don't think it's a problem, but the analytical / anal types (raises hands) will look for the pattern. I'd break it down as follows:
- Member Sites generate content that is agregated through the 9rules portal.
- Member Sites are assigned to Communities that topically reflect the content of the site, more or less.
- Each Community lists all its member sites.
- EAch Community also provides a place for reader commentary through the Notes system. Notes are like a message board, with the Community serving contextually as the discussion topic.
- Anyone can read Notes, but only registered users can create them. By registering, you create your 9rules Notes Profile.
- Your profile is also your personal home page on the 9rules site, similar to other social networking sites. You can see what you've posted on, who you're friends with, and build up your online reputation through spirited online dialogue.
You can browse content (both member-generated and reader-generated) through your personal home page (My 9rules), through the live stream (9rules Live), by Topic (9rules Topics), by Site Category (9rules Communities), by specific site (9rules Member Profile), and by 9rules Notes Profiles. Each entry point serves a different style of engaging the conversation, and I'm really curious how it will change things up. Meeting people with the same interests as you, in an environment that's guaranteed to generate a constant stream of original thoughts and ideas? Awesome!