A Developer WeBLOG RSS 2.0

Lately I’ve been busy working on my side project. Its nothing commercial, its a hobby project for fun and learning purposes. Anyway, due to procrastination, I have been using Excel as means to track my bugs/to-dos. Using Excel as a bug/to-dos tracking tool was alright at first, but as your list of bugs and to-dos grows, its getting tedious and inefficient. So I decided to use a proper bug tracking tool to make things easier to manage and I chose Trac to be my bug tracking tools.

Installing Trac is not hard, but can be very daunting due to their un-organized documentation. It will confuse you in every way you can possibly imagine. To install Trac, you are required to install a couple of its dependencies, and there are multiple ways of doing it. The documentation fails to logically group and place these several ways of installing Trac and its dependencies, which confuses me a lot when I tried to install Trac on my machine. In this post I will show how I installed Trac on my system.

Why I chose Trac

  • It can use SQLite as its database.
  • It comes with a Wikipedia component.
  • It provides SVN integration.
  • It comes with a standalone web server, which means you do not have to install a web server.

Trac Installation

  • Download and Install Python version 2.4 or more. I was using Python 2.5.4.
  • Download and Install SetupTools for Python 2.5.
  • Run windows Command Prompt and go to the scripts folder in your python install directory [python install dir]/Scripts. e.g. (c:\Python2.5\Scripts).
  • Run the following Command Line to install Trac: easy_install Trac
  • Run the following Command Line to install SVN python bindings (Optional, but required to enable SVN integration): easy_install -Z http://subversion.tigris.org/downloads/1.4.5-win32/apache-2.0/svn-python-1.5.2.win32-py2.5.exe

Getting Trac Up and Running

  • Create a new folder where you want to place your Trac environment for your project. e.g. c:\projects\trac\my-project.
  • Create your SVN repository (Only if you don’t have pre-existing repository).
  • Run windows Command Prompt and go to the scripts folder in your python install directory [python install dir]/Scripts. e.g. (c:\Python2.5\Scripts).
  • Run the following Command Line to initialize your project’s Trac environment: trac-admin.exe [Trac Environment Folder You Created in Step 1] initenv.
    e.g. trac-admin.exe c:\project\trac\my-project initenv.
  • Follow the instructions.
  • Run the following Command Line to fire up the standalone web server: tracd -p [port number] [Trac Environment Path].
    e.g. tracd –p 8000 c:/projects/trac/my-project.
  • Open up your web browser and type http://localhost:8000

Enabling Authentication in Trac

  • Run windows Command Prompt and go to the scripts folder in your python install directory [python install dir]/Scripts. e.g. (c:\Python2.5\Scripts).
  • Download and save the following python script to the directory in step 1. You need to rename the file extension to .py. trac-digest.py
  • Run the following command line to use the python script to create a new user: trac-digest.py –u [username] –p [password] >> [password file path].
    e.g. trac-digest.py –u rwendi –p foo >> c:\trac\myproject\password.txt.
  • Run the following command line to give your user full permission: trac-admin [trac environment path] permission add [username] TRAC_ADMIN.
    e.g. trac-admin c:\project\trac\my-project permission add rwendi TRAC_ADMIN.
  • Lastly you need to run the standalone web server on authentication mode by running the following command line: tracd –p [port number] --auth=[projectname],[password file path],trac [Trac Environment Path].
    e.g. tracd –p 8000 --auth=my-project,c:\trac\myproject\password.txt,trac c:\project\trac\my-project

Resources:

  • Trac Website [link]
  • Python Website [link]
  • SVN Website [link]

RWendi

Thursday, April 30, 2009 11:02:30 AM UTC |  Comments [0]
Software Development | Trac

This is the patent that made Microsoft lost half a billion dollar to an Aussie bloke. A very interesting patent, it shows a very similar mechanism of software registration system as the one that Microsoft has in place for many of its software products.

System For Software Registration Patent. [Link]

RWendi

Tuesday, April 21, 2009 7:49:32 PM UTC |  Comments [0]
General | Link | Software Development

Last week I decided to give Open Office a try. Open Office is a free and open source office productivity suite, sponsored by Sun Microsystem. Open office is one of the most popular alternative to Microsoft Office. You can find the following applications in the suite:

  • Open Office Writer: Document processing software, substitute to Microsoft Word.
  • Open Office Calc: Spreadsheet software, substitute to Microsoft Excel.
  • Open Office Impress: Multimedia presentation software, substitute to Microsoft PowerPoint.
  • Open Office Draw: Drawing utility software.
  • Open Office Base: Database software, substitute to Microsoft Access.
  • Open Office Math

I have not tried all the software in the suite, but I have used the Open Office Writer and Open Office Calc extensively. Overall my experience with Open Office has been great. My favorite feature of the Open Office is the “Export as PDF”, which is something that Microsoft Office does not offer. With a click of a button you can export your word document or spreadsheet document as a PDF document. Very handy! Having to be a satisfied user, I think Open Office has a very good potential in beating Microsoft Office. It is a solid office productivity suite, and it is free. 

There is just one concern that I found with Open Office. Have a look on what happen when I try saving a Microsoft Word document.

ss11

Does this mean Open Office is not able to create a compatible Microsoft Office document? or Is it just trying to push its format to the user?

So far I found that Open Office compatibility to Microsoft Office to be pretty good. It is able to open any types of Microsoft Office documents (2003 or 2007) with no problem whatsoever. Although I can see that in one or two document, it’s not able to display the document’s formatting correctly. For example, I found that in one document, there is a table that looks bigger in Open Office, that it exceeds the page margin. Other than this one issue, everything works perfectly fine.

So why is it giving us a compatibility warning? Why is it even asking the user to save the document in a different format? Was it really necessary to create a new format that is not compatible with the existing one? I think this will hurt Open Office a lot, as it might hinder people who want to use Open Office as a substitute of Microsoft Office. Those people who want to migrate to Open Office need a certainty that they can still work on any Microsoft Office document after migration. They want to be able to create document that is recognizable and natively supported by Microsoft Office.

I feel that this is a similar case as to Linux and Windows. Many people are not jumping ship to Linux because most of the software out there are incompatible with Linux. They are built for windows, and you can not install/use them natively in Linux. You have to use another tool/software to run them in Linux. Even so there is no guarantee that it will work. This reminds me the history of Microsoft Excel that I read from Joel Spolsky blog. Joel Spolsky stated that, the day that Excel gains significant market share from Lotus spreadsheet, was the day it was able to write Lotus spreadsheet transparently. Thus offering full compatibility and making it easier for people to switch to Excel. Quoting his blog post:

And this reminded me of Excel's tipping point, which happened around the time of Excel 4.0. And the biggest reason was that Excel 4.0 was the first version of Excel that could write Lotus spreadsheets transparently.  

Yep, you heard me. Write. Not read. It turns out that what was stopping people from switching to Excel was that everybody else they worked with was still using Lotus 123. They didn't want a product that would create spreadsheets that nobody else could read: a classic Chicken and Egg problem. When you're the lone Excel fan in a company where everyone else is using 123, even if you love Excel, you can't switch until you can participate in the 123 ecology.

It is very important for any new product, that entering a well established market, to provide full compatibility to the dominant product. Compatibility is an important feature that should not be neglected. By offering compatibility, you are indirectly increasing your target market to be the same as the dominant product. Or in other words, you are making every user of the dominant product to be your potential user. Compatibility allows user to migrate to the new software seamlessly, which is something that is very important. I know it is unjust to use a free open source software as an example, but its such a shame to see a solid software like Open Office has to suffer from this issue.

RWendi

Saturday, February 28, 2009 11:17:14 AM UTC |  Comments [0]
Software Development
All Content © 2010, RWendi