Showing posts with label MediaWiki. Show all posts
Showing posts with label MediaWiki. Show all posts

Wednesday, September 8, 2010

Joys of Removable Version of MediaWiki and SVN

I have a variety of flash memory devices. I picked a two-Gigabyte device to put a copy of MediaWiki and SVN. I now can access my personal wiki everywhere I go.

Wiki on a Stick

CH Software created MoWeS, an entire WAMP (Windows, Apache, MySQL, and PHP) stack that run without the need to install anything. MoWeS allow selecting which version of Apache, PHP, and MySQL. MediaWiki is an additional option along with other great options like ImageMagick, TYPO3, and SugarCRM. MediaWiki provides an installation page. The instructions are not quite right. Download the packages from CH Software then run moves.exe. That unpacks the files.

SVN on a Stick

I use TortoiseSVN. This integrates SVN with Windows Explorer. TortoiseSVN has the option to create a repository by just right clicking on a directory. This makes it simple to create an SVN repository on a memory stick.

Performance

Performance of SVN is a slow on my two-Gigabyte flash drive. The advantage of taking both my personal wiki and an SVN repository with me anywhere outweighs the performance issues.

Monday, August 9, 2010

The Joys of MeidaWiki and VMware

Wikis are a useful tool. At my current position, I added a lot of technical documentation to the Wiki included in Trac. I wanted a wiki for my personal use.

I program in a variety of languages including C# and Java. Most of my recent work is in C#. I looked for a Wiki in C#. I found two.

  1. FlexWiki
  2. MiniWiki

I know there are others. Unfortunately, FlexWiki is abandoned. The source code is available. MiniWiki is just that a minimal Wiki. MiniWiki is interesting because it uses the ASP.Net MVC (version 1).

Both include unit tests. I am a bit of a fanatic about unit tests. In Working Effectively with Legacy Code Michael Feathers wrote, "Code without tests is bad code. It doesn't matter how well written it is; it doesn't matter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don't know if our code is getting better or worse."

MiniWiki uses Moq. FlexWiki uses NUnit. Interesting neither include any logging framework.

What I would like to do, if I ever find the time, is take the Wiki engine from FlexWiki and marry it with the MVC framework using MiniWiki as a start. That is a good long-term project.

In the short term, I need a personal wiki. The solution is MediaWiki and VMware. rPath created a MediaWiki appliance http://wiki.rpath.com/wiki/Appliance:MediaWiki_Appliance

With the appliance I was up and running in minutes.

Last thing to do was to modify the .vmx file in the appliance to use a static MAC address. Comment out the following lines.

ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0c:29:43:85:c8"
ethernet0.generatedAddressOffset = "0"

Then add something like the following.

ethernet0.addressType = "static"
ethernet0.address = "00:50:56:00:00:04"

The MAC address you select depends on your network. I want a static MAC address to allow my Netgear router to assign the IP address. This gives the VM a fixed IP address inside my firewall.