To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.publishOpen lugnet.publish in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Publishing / 4628
4627  |  4629
Subject: 
LENNI Additions to RSS/Atom spec - preliminary proposal
Newsgroups: 
lugnet.publish, lugnet.general
Followup-To: 
lugnet.publish
Date: 
Tue, 31 Aug 2004 06:04:39 GMT
Highlighted: 
(details)
Viewed: 
4100 times
  
This is a followup to last week's initial LEGO Enthusiast News Network
Initiative (LENNI) posting, located at http://news.lugnet.com/publish/?n=4587

Below is a preliminary proposal for additions to an XML RSS/Atom feed,
specifically for LEGO-related content. This is based on previous LUGNET threads
and offline discussions with several people, but it is by no means
comprehensive. Input is welcome.

An effort has been made to keep the proposed additions simple enough to entice
software developers to add them into their parsing and XML generation products,
while providing enough flexibility to be worthwhile to implement. I am pretty
happy with the results so far.

We are currently evaluating whether this should be applied to RSS v2.0, Atom
v0.3, or both flavors of XML. This document is independent of either of those
specifications, although examples are provided in each format.


RECOMMENDED ADDITIONAL XML ELEMENTS

I am proposing the addition of the following six elements to existing RSS/Atom
elements. Each of these six elements will be defined by the LENNI namespace
(location TBD). These elements are all to be placed within the ITEM/ENTRY
section (RSS/Atom, respectively) of the XML feed, with the potential exception
of the "Community" element, which may reside one level higher in the XML
structure.

The structure of the proposal below is of the form:
* PROPOSED ELEMENT
  - Acceptable Value
  - Acceptable Value
  - ...


===============================================
* COMMUNITY (required - one only)
  - LEGO

When using the LENNI namespace, the Community element is required. It is the
only LENNI-defined required element. "LEGO" is the only value that should be
recognized by the LENNI namespace at this time.

If the usefulness of LENNI becomes apparent outside the LEGO community, it would
be helpful to share the LENNI namespace with little or no changes for use in
other communities. (Note: wishful thinking at its best.)

QUESTION: Should this one element only be placed in the CHANNEL/FEED (RSS/Atom)
section, as it covers all items/entries? I'm leaning that way.


===============================================
* FILTER (one or more per item/entry)
  - News: article-type content including information and picture links, usually
presented under an organization or group
  - Blog: personal musings and observations, usually from an individual
  - MOC: Information and links specifically about a custom LEGO creation
  - Announcement: Press release-type content, either from an organization or an
individual
  - Event: Usually used with Calendar element, but that is not required
  - Market: Specific to marketplace issues, such as buying, selling, trading, or
advising of such opportunities

These filters will be specified in the LENNI namespace. A previous suggested
name for this element, "Category," is already used in RSS 2.0 for a different
purpose, so it can't be used here. The name "filter" is slightly generic, so
other suggestions are welcome.


===============================================
* THEME (one or more per item/entry)
  - Adventure
  - Bionicle
  - Castle
  - Mecha
  - Micro
  - Mosaic
  - Pirate
  - Robotics
  - Sculpture
  - SNOT
  - Space
  - Sports
  - Star Wars
  - Technic
  - Town
  - Train
  - Western

Please submit suggestions for additions to the Theme list. "SNOT" and "Micro"
are technically not themes, and Mosaic/Sculpture also skirt this category;
however, they are arguably important enough to merit their own Theme entry. As
updated Themes become prevalent in LEGO Communities, they can be added to the
LENNI namespace.


===============================================
* AUDIENCE (one only per item/entry)
  - FOL
  - AFOL
  - KFOL
  - NYFOL (Not Yet Fan of LEGO) - optimistic, aren't I?

The effectiveness of establishing ranges or more granular categories for
Audience is questionable at this time. The above four top-level categories
should adequately cover the majority of age-related filtering needs, while
remaining simple enough to ensure adoption among content providers.


===============================================
* CALENDAR (One only per item/entry)
  Attributes
    - Startdate
    - Enddate

One of the most important additions IMO, and one which may garner the attention
of the world outside LEGO enthusiasts. A successful implementation of the
Calendar extension has massive potential to revolutionize distributed content
publishing (he said modestly).

See samples below for Calendar implementation, as the attributes are different
than other elements.


===============================================
* GEOGRAPHY (One only)
  - TBD

This is a very handy concept that requires more investigation. If used, the list
of geographies should be from an existing W3C standard, should one exist with
enough granularity to be useful.



IMPLEMENTATION:

Regardless of whether RSS or Atom specs are used, the implementation should
always be pretty much the same. Below are two samples - note that the use of the
namespace declaration is for example purposes only, and may not be well-formed
XML.

RSS Sample (RSS v2.0)

<?xml version="1.0" ?>
<rss version="2.0" xmlns:LENNI="http://www.anagrafyxx.com/LENNI/">
  <channel>
    <title>LENNI Sample RSS Feed</title>
    <link>http://www.anagrafyxx.com/LENNI/index.php</link>
    <description>Current, possibly temporary, home of the LENNI
Specification</description>
    <language>en-us</language>
    <pubDate>Mon, 30 Aug 2004 12:00:00 GMT</pubDate>
    <lastBuildDate>Mon, 30 Aug 2004 12:00:00 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Kelly's Fingers v1.0</generator>
    <webMaster>kelly@bzpower.com (Kelly McKiernan)</webMaster>
    <item>
      <title>This is my Sample</title>
      <link>http://www.anagrafyxx.com/LENNI/sample.php</link>
      <LENNI:community>LEGO</LENNI:community>
      <LENNI:filter>News</LENNI:filter>
      <LENNI:theme>Bionicle</LENNI:theme>
      <LENNI:theme>SNOT</LENNI:theme>
      <LENNI:audience>FOL</LENNI:audience>
      <LENNI:geography>TBD</LENNI:geography>
      <LENNI:calendar startdate="2004-08-16" enddate="2004-08-19" />
      <description><P>RSS 2.0 is a cool format that allows easy implementation,
although its feature set leaves a little to be desired.</P></description>
      <guid>http://www.anagrafyxx.com/LENNI/archive.php#083004</guid>
      <comments>http://news.lugnet.com/publish/?n=4587</comments>
    </item>
  </channel>
</rss>

And here is a sample Atom feed. Note this sample uses a subset of defined Atom
elements and is not meant to be comprehensive.

<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#"
xmlns:LENNI="http://www.anagrafyxx.com/LENNI/">
  <title>LENNI Sample RSS Feed</title>
  <link rel="alternate" type="text/html"
href="http://www.anagrafyxx.com/LENNI/sample.php"/>
  <modified>2004-08-30T12:00:00Z</modified>
  <xml:lang>en-us</xml:lang>
  <author>
    <name>Kelly McKiernan</name>
  </author>
  <generator>Kelly's Fingers 1.0</generator>
  <copyright>Text (C)2004 Kelly J. McKiernan</copyright>
  <entry>
    <title>This is my Sample</title>
    <link rel="alternate" type="text/html"
href="http://www.anagrafyxx.com/LENNI/sample.php"/>
    <id>http://www.anagrafyxx.com/LENNI/archive.php#083004</id>
    <issued>2004-08-30T12:00:00Z</issued>
    <modified>2004-08-30T12:00:00Z</modified>
    <LENNI:community>LEGO</LENNI:community>
    <LENNI:filter>News</LENNI:filter>
    <LENNI:theme>Bionicle</LENNI:theme>
    <LENNI:theme>SNOT</LENNI:theme>
    <LENNI:audience>FOL</LENNI:audience>
    <LENNI:geography>TBD</LENNI:geography>
    <LENNI:calendar startdate="2004-08-16" enddate="2004-08-19" />
    <summary>Atom, unlike RSS, allows you to create your own summary.
Coolness.</summary>
    <content>This is analogous to the RSS "Description" element. Here's where
all the content for this particular item (or in this case, "entry") will be
placed.</content>
  </entry>
</feed>

I welcome comments on this proposal, and whether you feel it merits
implementation in both RSS and Atom or not. Personally, after reviewing the
side-by-side samples, I am thinking it might be most feasible to simply say
LENNI can be implemented on both RSS v2.0 and Atom style XML feeds. Software
developers can then decide which they choose to support - or both, which would
be the best of both worlds.

Thank you for your participation.

- Kelly McKiernan



Message has 5 Replies:
  Re: LENNI Additions to RSS/Atom spec - preliminary proposal
 
(...) CAD -- can't believe you missed that one. :P -Tim (20 years ago, 31-Aug-04, to lugnet.publish)
  Re: LENNI Additions to RSS/Atom spec - preliminary proposal
 
(...) Aquazone, Model Team (...) I wonder if there ought to be a way to denote that a theme is fan created? Ala PCS or Sea Monkeys? Also, is there merit in allowing hierarchy (Space/PCS or Castle/Forestmen for example)? That may be excessive (...) (20 years ago, 31-Aug-04, to lugnet.publish)
  Re: LENNI Additions to RSS/Atom spec - preliminary proposal
 
(Bah! Have to use the web interface, which means I can't reply to all three posts I wanted to in one post. Copied from my Sent folder. ) (...) In general, I wouldn't limit us to only Item level elements. That might be a guideline for implementation, (...) (20 years ago, 31-Aug-04, to lugnet.publish)
  Re: LENNI Additions to RSS/Atom spec - preliminary proposal
 
Great comments, thanks! To recap, here's what I'm gleaning from the comments. I agree with 1-4, am shaky on 5, like leaving 6 alone, need more info for 7, and like the optimism of 8. 1. Namespace "lenni" in lower case - since XML tags are by (...) (20 years ago, 31-Aug-04, to lugnet.publish)
  Re: LENNI Additions to RSS/Atom spec - preliminary proposal
 
An excellent start Kelly. As publisher of RSS for Brickset and brickish.org, here are my comments. (...) I'd vote for once at the top. I appreciate that its inclusion potentially opens up lenni for use by others, but given that much of the spec (...) (20 years ago, 31-Aug-04, to lugnet.publish)

12 Messages in This Thread:





Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR