mirror of https://github.com/perkeep/perkeep.git
add WIP notes on modeling a blog
Change-Id: I4d659c6eeb23d4fd4009576e7233e8b5aa724947
This commit is contained in:
parent
768af3d368
commit
00be809cde
|
@ -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" => "<blog-permanode>|
|
||||
|
Loading…
Reference in New Issue