Show Changes Show Changes
Print Print
Recent Changes Recent Changes
Subscriptions Subscriptions
Lost and Found Lost and Found
Find References Find References
Rename Rename
Administration Page Administration Page
Search

History

11/11/2005 10:39:05 PM
-66.69.144.142
11/11/2005 10:38:55 PM
-66.69.144.142
List all versions List all versions

RSS feed for the FlexWiki namespace

Progress Report D
.
Summary

Progress continues apace. I'm up to 50 working unit tests against ContentManager. Some of the changes and refactorings this week:

Built-in topics are topics like HomePage and _ContentBaseDefinition that have default content and need to "exist" even if there's no file behind them. In the 1.8 codebase (the more I think about it, the more I think when I finally share the code, it's going to be as "FlexWiki 2.0 Alpha 1") builtin topics are called "backing topics". I think "built-in" is a better name for them.

I had hoped to avoid implementing the BuiltinTopicsProvider during the rearchitecture. But they should factor very cleanly into the new provider model, as a provider that sits between the ContentManager and the content store and just synthesizes these topics if they don't exist in the underlying store. And if I don't separate them out, I have to make the ContentManager tests way more complicated, since I need to deal with all the combinations of actual vs. synthetic topics, in all the methods where it might make a difference. By factoring out built-in topics, I can test ContentManager and BuiltinTopicsProvider in isolation.

At any rate, we're still a long way out, but I'm starting to feel like I'm at that stage of the project where I've finally got a substantial pile of working code, and the number of major refactorings is starting to drop, leaving me more time to write unit tests and implement functionality. I do have one fairly major refactoring I'm considering implementing, though: I'd like to get rid of LocalTopicName.

A LocalTopicName contains a name (no namespace) and an optional version. It's the optional version that bugs me - sometimes you need it and sometimes you don't. I think it complicates the interface much more than simply having one or two parameters: a name and (when needed) a version. But LocalTopicName is fairly pervasive, even in the code I've already written, so "fixing" it would involve some work. Not sure what I'm going to do here yet. Advice welcome.

View All: FlexWikiRearchitecture

Not logged in. Log in

Welcome to the home of FlexWiki, a collaboration tool, based on WikiWiki, implemented using Microsoft .NET technologies

This is FlexWiki, an open source wiki engine.

This site supports the new NoFollow anti-spam initiative.
Change Style

Recent Topics