Change view in Xelog

I'm slowly getting back to work and added a new feature to Xelog to allow users change views on the fly. You can look at the current Xelog log or example to see it in action. For now this works only in IE or Mozilla.

Currently the process is slow and takes several seconds. I suspect part of the problem is that the browser doesn't cache downloaded files and re-downloads all stylesheets every time the view is changed. I'm not very happy with delays and at some point I want to optimize both load time and change-view time.

I added this feature to allow Xelog easily support a large number of views. Even though the data is always the same (change log in XML file) there are different ways to show it. This approach allows Xelog support a number of simple views each focusing on showing history of changes in a specific way instead of having one dynamic and complicated view that tries to fit all needs.

For example, simplest view shows timeline of updates. It is important for people who track project progress and want to be aware of the recent changes. A different view can show updates grouped by components and their impact on usability. This kind of view is important for the users looking at "what's new" in a new release. It provides a picture of how the project changed since the last version.

In time I will also allow developers who want to use Xelog for their projects to create custom styles that fit their website. I want to give as many choices to all users (developers and end-users) as possible, while providing working features out of the box if there's no need to customize it.

Using this feature I also want to add support for different media used to show the change log, such as HTML (currently supported), text, PDF, RSS and so on. Developer can choose just one method of saving and distributing history of changes, or he can distribute original XML file and end-user will be able to save the change log in PDF for printing.

Here's how it works. When application loads it saves a copy of the change log in memory. All views will have a common area on top of the view where a combo box to select a view is provided. When a different view is selected JavaScript loads XSLT for the view, generates new HTML from the change log and updates the page with it. To update the page with new HTML I'm using Dojo's ContentPane widget, which parses HTML for things like style tag (browser doesn't apply some of the tags, such as "style", if innerHTML is used to set new HTML).



Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Slava
Posted on: 9/28/2006 at 7:10 AM
Categories: Xelog
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Related posts

Add comment


(Will show your Gravatar icon)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Live preview

Friday, November 21, 2008 6:52 AM