Main Page

From ESS
Jump to: navigation, search
Format ESS
Ess-feed-icon.png
.ess, .xml
application/ess+xml
version 0.9


Contents

ESS: A XML Standard - ESS is The Events Feed

ESS stands for Event Standard Syndication.

  • ESS standard is free and open-source XML feed invented exclusively for events.
  • ESS Feeds can be published from add-ons in most CMS or with simple code libraries.
  • ESS federates provider’s events into one feed that can be updated everywhere in real-time.


Definition-of-an-event-fro-ESS.png caption




Until now, event promoters could only use RSS or iCalendar to broadcast their events.
The problem has been that vital information gets lost in the event description.

Event Portal RSS Feed
publication with RSS feeds
publication with RSS feeds Web readers publication with RSS feeds Robots...



Now, with ESS all the criteria of any events are clearly defined.

Event Portal ESS Feed
publication with ESS feeds
publication with RSS feeds Web readers publication with RSS feeds Robots!





ESS increases traffic for publishers.

ESS increases traffic for publishers.



ESS Libraries

ESS Feeds can be generated from open-source libraries published on: https://github.com/essfeed
You can also help the web community to create or improve these open-source libraries.

  1. Select an open source library and download the code in your web language.
  2. Place the few lines of code where you generate events.
  3. Each generated event is automatically submitted to the list of event aggregators defined in the library.


https://github.com/essfeed
  • ESS Library available for PHP
  • ESS Library available for JAVA
  • ESS Library available for JavaScript
  • ESS Library available for AS3
  • ESS Library available for Ruby On Rail
  • ESS Library available for Python



ESS Structure

DTD description available http://essfeed.org/history/0.9


ESS Documents are formatted in XML. ESS document are structurized with two types of XML elements :

  • Simple XML elements without children to define "title", "publishing date"...
  • And 8 "main XML element" that precisely describes the event.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ess PUBLIC "-//ESS//DTD" "http :// essfeed.org/history/0.9/index.dtd">
<ess xmlns="http ://essfeed.org/history/0.9" version="0.9" lang="en">
  <channel>
     <title>National Football Stadium events</title>
     <link>http://sample.com/feeds/sample.ess</link>
     <id>ESSID:50b4b412-1ad4-a731-1c6a-2523ffa33f81</id>
     <published>2011-12-13T08:29:29Z</published>
     <updated>2011-12-13T18:30:02Z</updated>
     <generator>ess:php:generator:version:0.91</generator>
     <rights>Copyright (c) 2012, John Doe</rights>
     
     <feed>
         <title>Saturday Football Match</title>
         <id>EVENTID:550b55b412-1ad4-a4731-155-2777fa37f866</id>
         <uri>http://sample.com/events/specific-and-unique-event-page/</uri>
         <published>2012-12-13T08:29:29Z</published>
         <updated>2012-12-13T18:30:02Z</updated>
         <access>PUBLIC</access>
         <description><![CDATA[ Here the event's description ]]></description>
         <tags>
             <tag>Sport</tag>
             <tag>Football</tag>
             <tag>Soccer</tag>
         </tags>

          Ico ess categories.png <categories/>  <! -- Defines event subject from a general to a precise category. -->
          Ico ess places.png <places/>      <! --  Defines where the event takes place. -->
          Ico ess dates.png <dates/>       <! --  Defines when the event will happen. -->
          Ico ess prices.png <prices/>      <! --  Defines how much it will cost to attend this event. -->
          Ico authors.png <people/>      <! -- Characterizes the attendees, organizers, participants and feed writers. -->
          Ico ess medias.png <media/>       <! -- Broadcasts several media files that presents the event. -->
          Ico interactions.png <relations/>   <! -- Connects events that share some elements (date, category, place...). -->
         
      </feed>
 
      <feed>...</feed>
      ...
      
  </channel>
</ess>




ESS Examples

The best way to understand how a standard or a protocol works is to see a complete example in a common situation. Here is a football match event. A feed can be shorter, but this event displays the majority of the tags and features available in the ESS standard.


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ess PUBLIC "-//ESS//DTD" "http://essfeed.org/history/0.9/index.dtd">
<ess xmlns="http://essfeed.org/history/0.9" version="0.9" lang="en">
   <channel>        
      <title>National Stadium Football events</title>
      <link>http://sample.com/feeds/sample.ess</link>
      <id>ESSID:50b4b412-1ad4-a731-1c6a-2523ffa33f81</id>
      <published>2012-12-13T08:29:29Z</published>
      <updated>2012-12-13T18:30:02-08:00</updated>
      <generator>ess:php:generator:version:0.9</generator>
      <rights>Copyright (c) 2013, John Doe</rights>
 
      <feed>
          <title>Football match of saturday</title>
          <id>EVENTID:550b55b412-1ad4-a4731-155-2777fa37f866</id>
          <uri>http://sample.com/events/specific-and-unique-event-page/</uri>
          <published>2012-12-13T08:29:29Z</published>
          <updated>2012-12-13T18:30:02-0800</updated>
          <access>PUBLIC</access>
          <description>
              <![CDATA[
                 Welcome to my first football match event.
                 This football match is very important.
                 Our team is about to go up against our main league competitor.
              ]]>
          </description>
          <tags>
              <tag>Sport</tag>
              <tag>Football</tag>
              <tag>Soccer</tag>
              <tag>Match</tag>
              <tag>Game</tag>
              <tag>Team Sport</tag>
              <tag>Stadium</tag>
          </tags>
 
<!--
##	<CATEGORIES> SECTION
##	
##	This mandatory XML section is used to display the event categories.
##	For convenience your feed should use standardized categories IDs available on http://essfeed.org
##	Each <item> tag can have a different "type" attribute to represent the purpose 
##	of the category (see: http://essfeed.org).
## 	Every <item> tag can have a "priority" attribute to order the importance of the selection.
##	
-->
         <categories>
            <item type="competition">
               <name>Football</name>
               <id>C2AH</id>
            </item>
         </categories>
 
<!--
##	<DATES> SECTION
##
##	This mandatory XML section is used to display the date of the event, its frequency and its duration.
##	Several blocks of <item> can represent elements of dates that compose the event.
##	Each <item> tag can have a different "type" attribute values: STANDALONE, RECURRENT and PERMANENT
##	to represent a one-shot event or a repetitive event according to the "unit" attribute value.
##	RECURRENT events can have different "unit" attribute values: MINUTE, HOUR, DAY, WEEK, MONTH, YEAR.
## 	Every <item> tag can have a "priority" attribute to order the importance of the selection.
-->
          <dates>
             <item type="recurrent" unit="week" limit="4" selected_day="saturday,sunday">
                <name>Match Date</name> 
                <start>2011-12-13T18:30:02Z</start>
                <duration>10800</duration>
             </item>
          </dates>
 
<!--
##	<PLACES> SECTION
##
##	This mandatory XML section is used to localize where the event will take place.
##	Each <item> tag can have different "type" attribute values: FIXED, MOVING, VIRTUAL or AREA.
## 	Every <item> tag can have a "priority" attribute value to order the importance of the selection.
-->
          <places>
             <item type="fixed" priority="1">
                <name>Football Stade</name>   
                <latitude>40.71675</latitude>
                <longitude>-74.00674</longitude>
                <address>Ave of Americas, 871</address>
                <city>New York</city>
                <zip>10001</zip>
                <state_code>NY</state_code>
                <country_code>US</country_code>
             </item>
             <item type="virtual" priority="2">
                <name>Match direct on TV</name>
                <country_code>US</country_code>
                <medium_name>NBC super channel</medium_name>
                <medium_type>television</medium_type>
             </item>
         </places>
 
<!--
##	<PRICES> SECTION
##
## 	This mandatory XML section is used to define the price of the event.
## 	The event can be free, by invitation or by monthly subscription.
##	Each <item> tag can have different "type" attribute values: STANDALONE, RECURRENT. 
##	To represent a one-shot event or a repeating event according to "unit" attribute value.
##	The RECURRENT events can have different "unit" attribute values: MINUTE, HOUR, DAY, WEEK, MONTH, YEAR.
##	Each <item> tag can have different "mode" attribute values: FIXED, FREE, INVITATION, PREPAID, RENUMERATED 
##	to represent the applicable price.
## 	Every <item> tag can have a "priority" attribute value to order the importance of the selection.
-->
          <prices>
             <item type="standalone" mode="invitation" priority="2">
                <name>Free entrance</name>
                <value>0</value>
                <currency>USD</currency>
             </item>
             <item type="recurrent" unit="month" mode="fixed" limit="12" priority="1">
                <name>Subscribe monthly !</name>
                <value>17</value>
                <currency>USD</currency>
                <start>2012-12-13T18:30:02Z</start>
             </item>
          </prices>
 
<!--
##	<MEDIA> SECTION
##
##	This optional XML section is used to display media files that show the best of the event.
##	Each <item> can have different "type" attribute values: IMAGE, VIDEO, SOUND, WEBSITE.
## 	Every <item> tag can have a "priority" attribute value to order the importance of the selection.
-->
          <media>
             <item type="image" priority="1"> 
                <name>Stade image</name>
                <uri>http://sample.com/small/image_1.png</uri>
             </item>
             <item type="video" priority="3"> 
                <name>Stade video</name>
                <uri>http://sample.com/video/movie.mp4</uri> 
             </item>
             <item type="sound" priority="2">
                <name>Radio spot</name>
                <uri>http://sample.com/video/movie.mp3</uri>
             </item>
             <item type="website" priority="4">
                <name>Football Stade website</name>
                <uri>http://my-football-website.com</uri>
             </item>
          </media>
 
<!--
##	<PEOPLE> SECTION
##	
##	This optional XML section is used to define the people that interact in this event
##	the <item> tag can have six "type" attribute values: ORGANIZER, PERFORMER, ATTENDEE, SOCIAL, AUTHOR or CONTRIBUTOR.
## 	Each of these groups have their own XML child elements.
-->
          <people>
             <item type="organizer">
                <id>THJP167:8URYRT24:BUEREBK:567TYEFGU:IPAAF</id>
                <uri>http://michaeldoe.com</uri>
                <name>Michael Doe</name>
                <firstname>Michael</firstname>
                <lastname>Doe</lastname>
                <organization>Football club association</organization>
                <address>80, 5th avenue / 45st E - #504</address>
                <city>New York</city>
                <zip>10001</zip>
                <state>New York</state>
                <state_code>NY</state_code>
                <country>United States of America</country>
                <country_code>US</country_code>
                <logo>http://sample.com/logo_120x60.png</logo>
                <icon>http://sample.com/icon_64x64.png</icon>
                <email>contact@sample.com</email>
                <phone>+001 (646) 234-5566</phone>
             </item>
             <item type="performer">
                <id>FDH56:G497D6:4564DD465:4F6S4S6</id>
                <uri>http://janettedoe.com</uri>
                <name>Janette Doe</name>
             </item>
             <item type="attendee">
             	<name>Attendees information:</name>
                <minpeople>0</minpeople>
                <maxpeople>500</maxpeople>
                <minage>0</minage>
                <restriction>Smoking is not allowed in the stadium</restriction>
             </item>
             <item type="social">
                <name>Social network link to share or rate the event.</name>
                <uri>http://social_network.com/my_events/my_friends/my_notes</uri>
             </item>
             <item type="author">
                <name>Feed Powered by Event Promotion Tool</name>
                <uri>http://sample.com/my_events/</uri>
                <logo>http://sample.com/logo_120x60.png</logo>
                <icon>http://sample.com/icon_64x64.png</icon>
            </item>
            <item type="contributor">
                <name>Paul Doe</name>
            </item>
          </people>
 
<!--
##	<RELATIONS> SECTION
##
##	This optional XML section is dedicated to define the relations an event has with another event.
##	Each ESS event is singularized by an "id" (defined at the beginning of the <feed> tag).
## 	The "id" defined here must be the same one that identifies the Event feed, the one defined at the begining of the <channel> tag.
##	By defining this element, the robots can navigate from one event to another.
-->
          <relations>
             <item type="alternative">
                <name>alternative event</name>
                <id>EVENTID:50412:1a904:a715731:1cera:25va33</id>
                <uri>http://sample.com/feed/event_2.ess</uri>
             </item>
             <item type="related">
                <name>related event title</name>
                <id>EVENTID:50b412:1a35d4:a731:1354c6a:225dg1</id>
                <uri>http://sample.com/feed/event_3.ess</uri>
             </item>
             <item type="enclosure">
                <name>nearby event</name>
                <id>EVENTID:50b12:3451d4:34f5a71:1cf6a:2ff81</id>
                <uri>http://sample.com/feed/event_5.ess</uri>
             </item>
          </relations>
 
       </feed>
 
   </channel>
</ess>








External documentation

Ietf logo.png

ESS standard under RFC validation process: RFC ESS Draft

  • RFC 3023 : XML Media Types
  • RFC 3066 : Tags for the Identification of Languages
  • RFC 3076 : Canonical XML Version 1.0
  • RFC 4287 : The Atom Syndication Format


IF EVENTS MATTER TO YOU

Spread the news about ESS!
Personal tools
Actions
Standard

 


Developers

 


Communication