While initially, Blogspace will only accept HTML entered through a web browser, it is easily extensible to allow many formats of data through many different means. Once the information is in Blogspace, it can then be converted and reformatted as needed. This document will be amended as Blogspace accepts more formats of data.
In this document, URLs are meant to be relative to the Blogspace root. That is, if your Blogspace is located at http://blogspace.com/about/
then a URL like /foobar
would become http://blogspace.com/about/foobar
.
An entry is the basic unit of content in Blogspace and contains one or more revisions. An entry is identified by an address. An entry currently only has one attribute:
editingInBlogspace
. Slashes, spaces, question marks, and other characters reserved for special use or not allowed in URLs are not allowed. If the address is not null, it must be unique.If the address is not null, then visiting /foo
should display the latest version of the entry whose address is foo.
Entries are also connected to revisions through a many-to-many mapping. This connection has one attribute:
Visiting /foo/3
should display version 3 of foo.
A revision is a actual piece of content in the Blogspace. A revision must belong to exactly one entry and that entry must remain the same at all times. All revisions must contain the following attributes:
Editing in Blogspace
.In addition, each revision will be of a certain type. Types are fully extensible and each type brings its own fields and formats. Eventually, Blogspace users will be able to build their own types to contain whatever data they need their Blogspace to store. To start we only have one type:
Many thanks to Karl Goldstein and the others on the content management team at ArsDigita for their work on the ACS Content Repository, on which Blogspace's entry design is heavily based.
aaron@blogspace.comAn Aaron Swartz Project