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

Worm in Liquid Maze blog update

About a month ago I managed to overload myself with work and collapsed from mental exhaustion. I had to take a break from work. That's the reason there were no posts lately. During my break I had a lot of free time and I decided to re-evaluate my blog to figure out what to write about. Previously some posts attracted a little bit of attention, while most seem to have gone un-noticed. It felt like I was shooting in the darkness in different directions, writing about .NET one day and design another.

I think it's time to get a direction and focus my posts on specifc topics.

I want to post more about my projects, Sider and Xelog. I'm going to write about different features, why they are useful in the scope of the project and how to work with them. I also want to talk about what I'm working on and what you can expect to see in the next releases. My goal is to create a sense of progress and excitement, instead of disappearing into the darkness for weeks at a time.

In addition to my projects I'm interested in information management and design process. I've written about my thoughts on design before, but I certainly have more to say about it. I want to talk more on what I think cool things have in common, what needs to be done to ensure what you design is usable, and so on. I'll also share my observations (about games I play, what makes them fun and what can be better, for example).

With posts on information management I want to go into what I think information is, what tools we can use to help us work with it (notepad, computer, etc.), analyze where it comes from and how people use it. This subject is related to Sider, since it's a software platform to deal with information, but I want to look at the the topic from a higher altitude.

I might write more .NET (about IE control hosting in .NET applications for example) or web devopment posts, but I'm not planning to do this often.

I'm really looking forward to defining focus for my blog and I hope it will be a good source of new ideas for you. My main goal is to help you understand and solve problems related to what I write about by sharing my thoughts and experiences.



Be the first to rate this post

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

Posted by: Slava
Posted on: 9/8/2006 at 1:19 PM
Categories: General
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed