ciwiki/ tumblemanager/ features
?Discussion

Tumble Manager's Defining Features

The system should have the following characteristics:

  • Statically generate the site, so that no server-side dynamic content needs to be generated upon request.

  • Allow content to be queued for publication, possibly using cron and helper scripts. The software, not the editors, should manage as much of the content publication work flow.

  • Every piece of content should have a "type," (e.g. "quote," "transcript," "link," "image") and this type should be reflected both the way it's presented (i.e. templates) and in the logic that controls the sorting of the items in the publication queue.

  • Written in ?CommonLisp: the required tools exist, the language is quite fast particularly with the (likely) unique data types that this project will entail, a popular static site compiler that does something powerful might be good for CL, and I want to.

  • On build, only that content which has changed will need to be generated: the specific page for the new post, the archive of all past posts, and the displays of the most recent posts.

  • There are three publication flow directories:

    • drafts: all content that is not in the publication queue. Notes, unfinished posts of any kind, pending posts, etc. The system should ignore these posts.

    • queue: this directory contains all posts which are ready for publication but have not been published.

    Each post defines for itself (either by file naming convention) or by some sort of YAML-like header: its post type, some sort of "post slug" to be used in the URL, and in the file the content of the post.

    • published: the "build" directory, this contains all of the published content, and it's from this directory that the website is rebuilt (when required.) Files in this directory need some sort of sequence code. Either a time stamp of some sort of sequential numbering starting at 1, perhaps in hex.
  • There are three non-publication flow directories:

    • includes: files in this directory and within its hierarchy are copied directly to the production site. ?JavaScript (if needed,) images, CSS, and so forth.

    • templates: lisp files which provide templates with which the system generates the site.

    • static: pages here use templates and require some generation by the manager, but are not part of the content workflow. Pages located underneath this hierarchy are either generated and copied in place (which appropriate modification to the web server configuration to re-write URLs) or the hierarchy below this directory is merged into the root of the publication directory.

Last edited Tue Feb 23 21:33:11 2010


About

The Cyborg conflict arises anytime we as humans, interact with technology and computers. The Cyborg Institute explores this conflict and works to develop a individual, social, and technological responeses to these encounters to help you address the technology in your life more effecively.

Cyborg Links

Projects

Cyborg Projects

The Cyborg Institute works on a diverse selection of projects and aims to suport the entire field. Fundamentally, our goal is to further our understanding of how people and communities use technology. Beyond this, we aim to enhance the use and experience of technology for all. Our projects address the indivudal "process" dimensions of this "cyborg interaction," as well as the full range of social, technological, and cultural implications. Watch for news of updates on our blog, or particpate in our evolving projects on the Cyborg Institute Wiki.