github.com/slspeek/camlistore_namedsearch@v0.0.0-20140519202248-ed6f70f7721a/doc/blog-notes.txt (about)

     1  Thoughts on storing a blog in Camlistore and serving it from the
     2  publish handler.
     3  
     4  * a blog is a permanode
     5  
     6  * a blog post is a permanode
     7  
     8  * the post's permanode is a member of the blog's permanode
     9  
    10  * views of the blog we'd like:
    11  
    12    1) reverse chronological (typical blog view)
    13  
    14       - needs efficient reverse time index on membership.
    15  
    16       - membership is currently "add-attribute" claims on parent
    17         permanode, implying that a large/old blog with thousands
    18         of posts will involve resolving the attributes of
    19         the blog's permanode all the time.  we need to either make
    20         that efficient (caching it as a function of last mutation
    21         claim to that permanode?) or find a different model
    22         for memberships.  I'm inclined to say keep the model
    23         and make it fast.
    24  
    25    2) forward chronological by date posted.  (year, month, day view)
    26  
    27       - denormalization question.  the date of the blog post should
    28         be an attribute of the post's permanode (defaulting to the
    29         date of the first/last claim mutation on it), but for efficient
    30         indexing we'll need to either mirror this into the blog
    31         permanode's attributes, or have another attribute on the
    32         blog post that we can prefix scan that includes as the prefix
    33         the blog's permanode.  the latter is probably ideal so
    34         blog posts can be cross-posted to multiple blogs, and keeps
    35         the number of attributes on the blog permanode lower.
    36  
    37         e.g. blog post can have (add-)attributes:
    38  
    39         "inparent" => "<blog-permanode>|
    40