Early in the development and testing of my blog I realized that a lack of WYSIWYG editing was severely limiting my effectiveness. I practically live within Word in my normal work life, and have become totally dependent on efficient word processing tools.
I thus set out to investigate and then settle upon an editor for WordPress. This post presents the results of my investigations. BTW, the editor I chose to use is Xinha, which is not necessarily the best, but became the one I was most comfortable with and confident that continued development will occur. I discuss more about Xinha below.
Starting Points
Among many, here are some useful references to other editor listings and comparisons, some with specific reference to WordPress-compatible ones:
There are also editor and plugin references on the WordPress site, but I found them to be disjointed and less useful than the ones mentioned above.
Design and Use Objectives
Prior to any downloads or evaluations, I wrote out some of my objectives and criteria for eventually selecting an editor:
Some Editor Comparisons
The table below compares some of the major editors that I investigated:
| Editor and URL Link | Notes |
| Spaw |
|
| FCKEditor |
|
| HTMLArea |
|
| WYSI-Wordpress |
|
| Cross-browser, Rich Text Editor |
|
| TinyMCE |
|
| WYSIWYGII |
|
| Kupu |
|
The Choice of Xinha
Xinha is a free WYSIWYG editor replacement for <textarea> fields. Use of Xinha is granted by the terms of the htmlArea License (based on BSD license).
Xinha was originally based on work by Mihai Bazon which is copyrighted 2003-2004 by dynarch.com and copyrighted 2002-2003 by interactivetools.com, inc. Xinha stands for "Xinha is not HTMLArea," referring to Xinha’s fork from the earlier open source HTMLArea editor. The HTMLArea editor received much attention, had many plugins, and had advanced to the full version 3.0 when its standard developers ceased supporting it.
A great demo of Xinha and its various plugins is available. This site will allow you to test out the editor without going through the pain of installing it.
As the screen shot below shows, there is significant functionality within Xinha and a robust set of plugins. The screen shot includes all available plugins.

As you can see, there is quite a bit of format, style, image and table support, plus other important functionality like search-and-replace, etc. The other aspect of the system that is helpful is the ability to toggle to source.
The combination of these features, the earlier legacy from HTMLArea, and the appearance that James Sleeman intends on actively supporting this project caused me to select it for this site’s use.
Gaps and Wishes
In daily use I have come to have both a love and hate relationship with Xinha. On the positive side, it does most of what I need it to do and has not crashed too frequently. On the negative side, it does have quirky behavior and some of the other problems noted below. My specific gaps and wishes are for:
Nonethless, that being said, I’d like to thank Interactive Tools and Mihai Bazon, the entities responsible for the initial HTMLArea versions, and James Sleeman, who has taken up the charge for the new Xinha fork. May you remain committed to this project!
Author’s Note: I actually decided to commit to a blog on April 27, 2005, and began recording soon thereafter my steps in doing so. Because of work demands and other delays, the actual site was not released until July 18, 2005. To give my ‘Prepare to Blog …’ postings a more contemporaneous feel, I arbitrarily changed posting dates on this series one month forward, which means some aspects of the actual blog were better developed than some of these earlier posts indicate. However, the sequence and the content remain unchanged. A re-factored complete guide will be posted at the conclusion of the ‘Prepare to Blog …’ series, targeted for release about August 18, 2005. mkb
Though I’m impressed with how quickly a blog can initially be set up and released, I guess I have more of a game plan like Patton invading Sicily prior to releasing my site. There’s a whole culture, language and set of technologies with which I’m not yet familar. Since once a site goes "live" it’s hard to hide stupidity, I guess I’m trying to understand things better to lessen the inevitable IQ decrement. I’m also sure that in a few weeks time I will look over this list with wonderment as to how much of a newbie I really was!
Some of the major items and specific tasks, none in particular order, that must be done and learned to getting this blog running on a routine, easily maintaned basis are:
As items get completed and may reference other posts, I’ll return and add the internal links.
General Editing
Posts and Comments
Site Pages
Major templating of a few page types has already been done. However, text and templates for "standard" internal pages are needed for:
Navigation and External Links
Wiki Integration
Find a Wiki tool that:
Other General
Final Release
Stuff to Defer Until After Initial Release
[Note: these items were added just prior to initial release.]
Author’s Note: I actually decided to commit to a blog on April 27, 2005, and began recording soon thereafter my steps in doing so. Because of work demands and other delays, the actual site was not released until July 18, 2005. To give my ‘Prepare to Blog …’ postings a more contemporaneous feel, I arbitrarily changed posting dates on this series one month forward, which means some aspects of the actual blog were better developed than some of these earlier posts indicate. However, the sequence and the content remain unchanged. A re-factored complete guide will be posted at the conclusion of the ‘Prepare to Blog …’ series, targeted for release about August 18, 2005. mkb
I began adding content to the site. I’ll be working on a master to do list for all site readiness functions. My plan at this point is to work on the AI3 site daily, work out an acceptable time-of-day/effort routine, and get all baseline functionality and content in place prior to an "official" release.
My hope is that the site can go "live" in the next 2-3 weeks.
Author’s Note: I actually decided to commit to a blog on April 27, 2005, and began recording soon thereafter my steps in doing so. Because of work demands and other delays, the actual site was not released until July 18, 2005. To give my ‘Prepare to Blog …’ postings a more contemporaneous feel, I arbitrarily changed posting dates on this series one month forward, which means some aspects of the actual blog were better developed than some of these earlier posts indicate. However, the sequence and the content remain unchanged. A re-factored complete guide will be posted at the conclusion of the ‘Prepare to Blog …’ series, targeted for release about August 18, 2005. mkb
Kevin Klawonn, BrightPlanet’s sys admin, got the basic blog package I had set up on my local machine transferred and installed on commercial servers. His report on this transfer follows:
Like most sysadmins out there, my plate is always full. So when I was asked to install WordPress I was hoping that it would be a simple installation taking less than 30 minutes to review the installation procedure, install the software, and then make the necessary configuration changes. Upon visiting the WordPress website, I saw the "5 Minute Installation" page and started laughing because my karma isn’t good enough that I should actually be able to have WordPress installed in 5 minutes.
I perused the requirements:
The server identified to host WordPress already has IIS running on it and therefore did not have mod_rewrite support built in. Instead of finding a 3rd party option for this requirement, I decided to install Apache 2.0 on the same server. To accomplish this, I needed to force IIS to bind only to the IP Addresses which it actually uses. By default IIS binds to all IP Addresses of the server whether they are used or not. A Microsoft support topicI had used before explains how to accomplish this task; in my previous experience I had no side effects so I felt comfortable doing the same thing in this situation. http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q238/1/31.ASP&NoWebContent=1
Once done configuring IIS, I added another IP address to the server, opened port 80 in the firewall to the new IP Address and installed Apache 2.0 configuring it to use the new IP Address. I then installed PHP, and configured Apache to use PHP.
The final step before installing WordPress was to setup a database on MySQL. Although MySQL resided on a different server, this did not matter to the configuration of WordPress. I created a new database and user for WordPress to use.
Finally, I was ready to install the actual WordPress software. I uploaded the zip file to the webserver and unzipped it. I edited the wp-config-sample.php file per the "5 Minute Installation" instructions. Once the database information was configured, I opened my web browser and ran the http://{website}/wp-admin/install.php script. And in just that quick the blog website was setup.
Great work, Kevin, and other than some minor file references, I am now in a position to begin transfering what I had been prototyping locally.
Author’s Note: I actually decided to commit to a blog on April 27, 2005, and began recording soon thereafter my steps in doing so. Because of work demands and other delays, the actual site was not released until July 18, 2005. To give my ‘Prepare to Blog …’ postings a more contemporaneous feel, I arbitrarily changed posting dates on this series one month forward, which means some aspects of the actual blog were better developed than some of these earlier posts indicate. However, the sequence and the content remain unchanged. A re-factored complete guide will be posted at the conclusion of the ‘Prepare to Blog …’ series, targeted for release about August 18, 2005. mkb
I have completed general design and functionality specifications for how I’d like the Wiki portions of my site and the dynamic placement (deep categories) aspect of my site to work.
I’ll use a later post to parse the Wiki specs against available open source packages to pick a final candidate.
In addition, I have also been assembling much prior content and deciding how much of it, if any, I will convert and use to "prime the pump" for the initial release of AI3.
Author’s Note: I actually decided to commit to a blog on April 27, 2005, and began recording soon thereafter my steps in doing so. Because of work demands and other delays, the actual site was not released until July 18, 2005. To give my ‘Prepare to Blog …’ postings a more contemporaneous feel, I arbitrarily changed posting dates on this series one month forward, which means some aspects of the actual blog were better developed than some of these earlier posts indicate. However, the sequence and the content remain unchanged. A re-factored complete guide will be posted at the conclusion of the ‘Prepare to Blog …’ series, targeted for release about August 18, 2005. mkb
I’ve now completed the design I like for how posts display, and how comments and prompts display and look.
Author’s Note: I actually decided to commit to a blog on April 27, 2005, and began recording soon thereafter my steps in doing so. Because of work demands and other delays, the actual site was not released until July 18, 2005. To give my ‘Prepare to Blog …’ postings a more contemporaneous feel, I arbitrarily changed posting dates on this series one month forward, which means some aspects of the actual blog were better developed than some of these earlier posts indicate. However, the sequence and the content remain unchanged. A re-factored complete guide will be posted at the conclusion of the ‘Prepare to Blog …’ series, targeted for release about August 18, 2005. mkb
I have just spent an incredibly frustrating amount of time trying to figure out why I could not get images to display in WordPress. Use of a local server certainly adds to the challenge and complexity of learning about this stuff.
I ultimately realized that the internal link references needed to be like the local URL addresses in the browser. Localhost needs to be explicity spelled out, and also in the reference position for where the root Web server directory resides. Thus, for my local installation, this becomes:
<img alt="This is My Photo" src="http://localhost/wordpress/wp-content/themes/myTheme/images/myPhoto.jpg" />
This change to the relative addressing now has imaging displaying properly.
Author’s Note: I actually decided to commit to a blog on April 27, 2005, and began recording soon thereafter my steps in doing so. Because of work demands and other delays, the actual site was not released until July 18, 2005. To give my ‘Prepare to Blog …’ postings a more contemporaneous feel, I arbitrarily changed posting dates on this series one month forward, which means some aspects of the actual blog were better developed than some of these earlier posts indicate. However, the sequence and the content remain unchanged. A re-factored complete guide will be posted at the conclusion of the ‘Prepare to Blog …’ series, targeted for release about August 18, 2005. mkb
With a local version of the Web site now running, I am beginning the laborious process of setting the overall design, style and template for my Web site. Some of the preliminary decisions I have made:
I also decided to check on whether mkbergman.com was available as a domain name.
Rats! It’s reserved.
Hooray! I was the one who reserved it a couple of years back and had forgotten all about it. (Duh.)
Sheesh, I am getting old ….
Author’s Note: I actually decided to commit to a blog on April 27, 2005, and began recording soon thereafter my steps in doing so. Because of work demands and other delays, the actual site was not released until July 18, 2005. To give my ‘Prepare to Blog …’ postings a more contemporaneous feel, I arbitrarily changed posting dates on this series one month forward, which means some aspects of the actual blog were better developed than some of these earlier posts indicate. However, the sequence and the content remain unchanged. A re-factored complete guide will be posted at the conclusion of the ‘Prepare to Blog …’ series, targeted for release about August 18, 2005. mkb