Show Changes Show Changes
Edit Edit
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

9/17/2007 1:11:00 PM
-74.15.254.118
List all versions List all versions

RSS feed for the TestJwd namespace

Related Topics

Flex Wiki Engine Decoupling
.
Summary
This topic concerns decoupling the FlexWiki Engine from it's UI and it's back end storage to allow extensibility in those areas

At first glance these suggestions may seem complex but this is very much like the current implementation of FlexWiki. These suggesteions merely move things around to allow people to cutstomize FlexWiki in their own ways without preventing them from contributing to the core of FlexWiki. However the changes suggested by this topic would probably involve significant enough changes to the source to merit a significant verion number change.

Check out the ThreeWikiFormats topic which relates to this content.

ToDo

There are 3 2 parts of FlexWiki that should be decoupled from the current engine to make it a more flexible solution.

DavidOrnstein
HoopSomuah

Data Model

Currently the data structures that are needed for generalization are:

I suggest we define the following interfaces:

Note
DavidOrnstein
DavidOrnstein
You should look closely at the implementations of the current Federation and ContentBase classes; there are a lot of public methods there -- I think the above list is probably way too short [which you acknowledge; I'm just agreeing].
DavidOrnstein
I've got mixed feelings about the interface versus class question. I actually suspect that, for example, a set of subclasses that represent ContentBases will, in fact, want a bunch of shared implementation. On the other hand, that doesn't mean we wouldn't want to have an interface, too -- looser coupling. What about the fact that interfaces doesn't version as well in .NET?
HoopSomuah
JeffGonzalez

Then the default FlexWiki data providers would consist of

Note

Rendering Engine

The Rendering Engine would consist of:

DavidOrnstein
HoopSomuah
I agree but since ConfigSection handlers work for any .NET app the only thing we would nee to do would be to seperate the rendering config section from the Data engine config section. Someone implementing a pure client-side system or an Avalon-interface could use a diffrent system.

FlexWiki.Web.dll

Web.Config

The Current FlexWiki UI would sit on top of this rendering engine and consist of:

Not logged in. Log in

The wiki for all things Objective Design Solutions

This is FlexWiki, an open source wiki engine.

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

Recent Topics