My 4 continents in 4 months drinking buddy Stephen Forte thinks I am insane (that from him!) for keeping all blog stuff in XML files instead of SQL and I just had a quick chat with Jason Whittington about multi-user capabilities for dasBlog.

So... here's a couple of points on what I am thinking about "storage futures" for dasBlog.

XML files are goodness for small sites. There are a lot of folks I met who don't have SQL Server acess for their sites or don't want to deal with the additional complexity. I reckon that it's still a minor administrative burden to set up the permissions, but that's much less than administering your SQL store. Still, SQL is of course superior of sites that have more traffic, because it excels in dealing with concurrency, data consistency and all the database goodness. Come Yukon, there's a great way to mix the extensibility of XML and the power of SQL in a very rich way (to use a Microsoft marketing phrase). And of course, for folks like Stephen, SQL administration is something they do in their sleep. For SQL 2000, I am thinking about submitting Infoset to the data service, breaking out the elements needed for relations and indexes and store everything else as a BLOB. dasBlog only looks at the entry id, the date and the categories when looking for entries so that seems sufficient.

WinFS seems a great way to store the files and add search. I will have to look into that, but it's too far out to even do a prototype.

Multi-User capability is what I discussed with Jason. He suggested that the "author" is just another field. I disagree. The multi-user version of dasBlog (there will be one) will be organized in a very different way. I will actually keep the content absolutely separate on a per-user basis. Site config will be split into user preferences and site preferences. There will be master themes and user-supplied themes. However, there won't be a merged store. Reason: If I am blogging at a shared site and I want to move to a site that I host myself, I want to be able to take the content and make the move myself. Xcopy. If your weblog is on a site with a common store, you will have to extract and remove your content first and that may hard to do and may break stuff in the end, because there may be dependencies in the store that you don't know about. What I am going to do with the multiuser model is that there will be one runtime and app, but content, templates and content will be stored in subdirectories. If you want to move away from a shared site, you grab your stuff drop it into a single-user blog and it just works.

On the inside, the multi-user version will keep one data service instance (and cache) for each user and the portal page will by fed by a data service that aggregates all user data services and creates combined results. Logging will be separate for each user, but the logging information will be fanned out to the common site-wide logging service as well.

Thursday, October 30, 2003 6:48:23 AM UTC
Dude I count 4, North America, Asia, Europe and Africa.
Thursday, October 30, 2003 6:50:20 AM UTC
Yeah you're right. That was a Floridan mistake.
Clemens Vasters
Thursday, October 30, 2003 7:08:49 AM UTC
I'm looking forward to all the new stuff. Regarding multi-user, I hope you'll concider an additional use-pattern which is to have multiple authors on a single "blog". We use dasBlog internally sort of the way newtelligence uses it (as a news and tip engine). We have multiple authors and would like to be able keep track and show that "Erv" posted this tip vs "Aaron" posting this other tip. We don't really want the weblogs.asp.net use-pattern, though, where there are multiple independent bloggers whose content is aggregated.

Perhaps a combination of the two? Support for multiple distinct blogs (with ease of movement as you described) that get aggregated along with the option of having multiple contributors to any single blog?
Thursday, October 30, 2003 9:44:08 AM UTC
+1 on the multi-user option. This is a fantastic feature and will make things go a little easier around the house...

+1 on the blob idea using only the important pieces to index/search with. I have argued this approach with many architects in my time and they always say the same thing.. "but what if I need to index/search on one of those fields that you've crammed into the blob?" That's a one time process to scour the data and create a new column containing the missing information. That's my thinking on it, anyway.

I'm looking forward to some native XML support in SQL. SQLXML was a good bridge to get familiar with the concept, but It didn't wuite fly the way I needed it to.
Thursday, October 30, 2003 11:44:12 PM UTC
@Erv

You can do that today with v1.4. Set up a separate "topic blog", add the users to the security config and set up cross-posting [1] on the personal blogs. That way you can push stuff from the personal blogs onto the topic blog.

[1] http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=ca70e481-9fbe-4d84-b936-e9db6d84965c
Clemens Vasters
Comments are closed.