History of changes is one of the most important documents. It informs the users how the project has changed, how the new version is better than the old and how the users need to adapt to the new version to gain maximum benefit from it. This document is probably the most read by the users, so it needs to be clear, precise and simple to read and understand.
My main goal with Xelog is to eliminate mundane tasks from updating change log and help users benefit as much as possible from it. I want to provide both developers and users with as many options as possible so that they could choose an appropriate way to work with the change log.
I want Xelog to be fully functional and provide working features out of the box. Xelog also must be easy to customize. I want to let developers create their own views or provide custom styles for the existing views so that change log shown on their website would fit with other pages.
Edit Users
There are different purposes to open change log. Developers usually open it to update it, while users want to read. If we focus only on the users there are different purposes to read the document. When new version comes out most of the users want to see the whole picture of changes and how the impact their experience. At the same time if a user is following development process he will most likely want to see all changes by the date, to see what's new since the last time he has read the document. Even though the actual information in the change log is the same there are different ways to present it.
Xelog supports a large number of views. Each view can focus at showing certain aspect of the change log. When change log is shown user is presented with a list of all available views. He can then select a different view and the page is updated on the fly. Xelog loads view XSLT files, transforms the change log and updates the page.
Edit Developers
Maintaining good change log is mundane. I quickly found that out. All entries need to be consistent to make it easier for the users to read them. Different types of changes, such as bug fixes and new features, need to be shown together with importance of each update. Each change log entry has to be in the correct place to make it easier for the users to read the change log and there are different ways to group the changes. Developer also needs to try to guess the most appropriate way to show the changes (text, web page, PDF, word document, RSS, etc). In addition new change log has to be created with each new project. Maintaining it by hand isn't easy at all.
Xelog's purpose is to help with as many things as possible. Change log is stored in XML file. It can be transformed to HTML or anything else using XSLT. It has a schema making it possible to use existing XML editors to have intelli-sense support.
The major part of Xelog is an engine used to show change log. It is responsible for finding and loading XSLT style sheets for the view, transforming change log and showing results to the user. In addition it lets user change view on the fly.
Edit Future
XSLT use has potential of adding support to show or save change log with different media. I want it to be possible to transform original XML-based change log to HTML, text, PDF, RSS and so on.
I want to make it easier to edit change log and allow developers edit directly in the browser on the fly. It can then be saved locally or sent to a remote server.