From 00be809cde1b9ed9e998fe237f2a8387447e8cfe Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Tue, 28 Feb 2012 19:43:33 -0800 Subject: [PATCH] add WIP notes on modeling a blog Change-Id: I4d659c6eeb23d4fd4009576e7233e8b5aa724947 --- doc/blog-notes.txt | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 doc/blog-notes.txt diff --git a/doc/blog-notes.txt b/doc/blog-notes.txt new file mode 100644 index 000000000..b8c397e09 --- /dev/null +++ b/doc/blog-notes.txt @@ -0,0 +1,40 @@ +Thoughts on storing a blog in Camlistore and serving it from the +publish handler. + +* a blog is a permanode + +* a blog post is a permanode + +* the post's permanode is a member of the blog's permanode + +* views of the blog we'd like: + + 1) reverse chronological (typical blog view) + + - needs efficient reverse time index on membership. + + - membership is currently "add-attribute" claims on parent + permanode, implying that a large/old blog with thousands + of posts will involve resolving the attributes of + the blog's permanode all the time. we need to either make + that efficient (caching it as a function of last mutation + claim to that permanode?) or find a different model + for memberships. I'm inclined to say keep the model + and make it fast. + + 2) forward chronological by date posted. (year, month, day view) + + - denormalization question. the date of the blog post should + be an attribute of the post's permanode (defaulting to the + date of the first/last claim mutation on it), but for efficient + indexing we'll need to either mirror this into the blog + permanode's attributes, or have another attribute on the + blog post that we can prefix scan that includes as the prefix + the blog's permanode. the latter is probably ideal so + blog posts can be cross-posted to multiple blogs, and keeps + the number of attributes on the blog permanode lower. + + e.g. blog post can have (add-)attributes: + + "inparent" => "| +