Primer
Abstract
Primer is a non-normative document intended to provide an easily understandable tutorial on the architecture and conceptual model of WellFormedEntry.
Status of this document
This document is in fluid motion, trying to capture the result of discussion, highlight ambiguous or under-defined areas, and raise visibility of significant issues in a concise, linear format for those unable to follow the wiki on a hourly or daily basis.
When complete, this document will be finalized by moving to a non-wiki format and prepared for publication.
At the bottom of each section are links to discussion covering the topics within the section. Please do not initiate discussions in this document, instead use an existing discussion page or create a new one.
Professional writers are welcome, encouraged even, to make edits and suggestions on what the techies are writing.
Introduction
WellFormedEntry (working name) defines an interchange format and interfaces for resources used in weblogs, online journals, wikis, CMSs, and similar sites.
Requirements and Goals
The interchange format must be able to represent:
-
a resource that is a weblog entry or article (has an author, date, identity, and content)
-
a feed or channel of entries, with or without distributing content
-
an archive of entries
-
existing, possibly non-well-formed, content
-
additional information in an user-extensible manner
-
unambiguous definitions of core and recommended elements
It would be nice if the interchange format were able to represent:
-
any resource capable of being maintained on a website, including but not limited to images, audio, video, articles, templates, stylesheets, link lists, and users.
-
entries that have content types other than text/plain, text/html, or application/xhtml+xml
-
a summary or archive of multiple feeds or an entire site
-
feeds of resources that are not weblog entries
The interface must be able to manage:
-
creating, editing, and deleting entries
-
multiple authors (when a tool supports them)
-
multiple subjects or categories (when a tool supports them)
-
authentication
-
setting and getting user preferences
-
creating comment entries
-
adding, editing, and deleting users (when a tool supports them)
-
setting, getting, and possibly creating templates
It would be nice if the interface were able to manage:
-
any resource on the site
-
setting or getting resources by URI-references from within a request
ConceptualModel, RoadMap, Motivation
Architecture
The interchange format defines a representation of resources. The interface is defined in terms of actions to be performed, and the interchange format is the primary payload for those actions.
The format is defined as an application of Extensible Markup Language (XML) 1.0 (Second Edition) and using XML Namespaces.
The normative definition of elements and syntax are defined together in the interchange format. The syntax is intended to be easy to read, to foster a "view source" form of learning by example.
The interchange format is defined as a set of "core" elements and possibly a recommended set of extensions. Additional extensions can be developed by anyone.
Schemas for the core and recommended extensions will be available in XML Schema and RelaxNG. Where applicable, definitions are drawn from the Dublin Core Metadata Initiative.
The normative interface follows the REST Architectural Style and in some contexts (may) use a profile of SOAP 1.2 messaging framework.
Interface definitions will be available in WSDL.
Interoperability with other formats and interfaces is recognized and encouraged.
AtomApi, DontUseXml, DublinCore, ExtraInterop, InfoSetDiscussion, MultipleSyntaxDiscussion, NamespaceDiscussion, REST, SOAP, SoapInOnePointAfter, SiteAndSyndication, ToolSpecificConvenienceSyntax, ViewSourceClan, XmlRpc
Conceptual Data Model
CategoryApi, CategoryArchitecture, CategoryMetadata, CategoryModel, CategorySyntax