potage - Specifications
A `potage` is basically a XML-file, which gets translated to HTML. This document explains the general concept of a potage as well as the technical details of the XML structure and the translation procedure.
Index:
1. Concept
1.1 Purpose of potages
The purpose of a potage is to disseminate information to its relevant recipient. The procedure tries to surmount deadlocks in the process of word-of-mouth advertising.
1.2 Usecase
Company ACME wants to inform about a new product isGOOD®. There is the presumption that the product will be interesting for a specific target group. ACME either does not have the necessary infrastructure to reach that target group or does not know exactly how to outline it. ACME creates a potage. The description of the product gets seperated from its name: "A good product". ACME hands out the potage in existing networks. Participants of the networks can decide where (to whom) they remit the potage. In the best case it will be remitted until a number of relevant (interested) recipients is found.
1.3 Seperation
The core idea of a potage is the assumption that network participants will rather remit an information (which is not interesting for them personally), if the information does not include advertising components. Therefore the information gets seperated in its description and its content. The description is what will be seen first when receiving a potage. It may not include any advertising. This means: nothing which would identify the product or company behind it. The content may include advertising. It is the actual advertsing message, and will only be seen if a recipient is interested in it, after he or she read the description.
1.4 Limitations
A potage is not convenient for spreading information which is generally interesting. Think about it: A potage is designed to be remitted if the information is not interesting. If everybody is interested, nobody will remit it.
A potage is also not convenient for reaching large numbers of recipients. It is no mass communication procedure by definition.

A potage is designed for reaching `first generation seeders` for specific information.
2. The XML
2.1 The DTD
The dtd defines a valid potage XML file:
<!ELEMENT potage (id,localisation*,tracking)>
<!ATTLIST potage
	version CDATA #REQUIRED
>
<!ELEMENT id (#PCDATA)>
<!ELEMENT localisation (language,label,content,link+,media?)>
<!ELEMENT language (#PCDATA)>
<!ELEMENT label (text)>
<!ELEMENT text (#PCDATA)>
<!ELEMENT content (text)>
<!ELEMENT link (description,destination)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT destination (#PCDATA)>
<!ELEMENT media (image*,video*,audio*)?>
<!ELEMENT image (source,destination,description)>
<!ELEMENT source (#PCDATA)>
<!ELEMENT video (poster,resource+,subtitle*)>
<!ELEMENT poster (source)>
<!ELEMENT resource (source,type)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT subtitle (source,language)>
<!ELEMENT audio (description,resource+)>
<!ELEMENT tracking (allowed,url*)>
<!ELEMENT allowed (#PCDATA)>
<!ELEMENT url (#PCDATA)>
2.2 XML structure
A valid potage XML may look like:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE potage SYSTEM "http://potage.openpot.com/potage_0.0.6.dtd">
<potage version="0.0.6">
	<id></id>
	<localisation>
		<language></language>
		<label>
			<text><![CDATA[]]></text>
		</label>
		<content>
			<text><![CDATA[]]></text>
		</content>
		<link>
			<description><![CDATA[]]></description>
			<destination><![CDATA[]]></destination>
		</link>
		<media>
			<image>
				<source><![CDATA[]]></source>
				<destination><![CDATA[]]></destination>
				<description><![CDATA[]]></description>
			</image>
			<video>
				<poster>
					<source><![CDATA[]]></source>
				</poster>
				<resource>
					<source><![CDATA[]]></source>
					<type><![CDATA[]]></type>
				</resource>
				<subtitle>
					<source><![CDATA[]]></source>
					<language></language>
				</subtitle>
			</video>
			<audio>
				<description><![CDATA[]]></description>
				<resource>
					<source><![CDATA[]]></source>
					<type><![CDATA[]]></type>
				</resource>
			</audio>
		</media>
	</localisation>
	<tracking>
		<allowed><![CDATA[]]></allowed>
		<url><![CDATA[]]></url>
	</tracking>
</potage>
2.3 Media
A potage is designed to be not interactive. It is a one-way communication. The content of a potage may include text, link/s, image/s, audio/s and video/s. Client-side renderable or executable scripts and objects are not intended.
3. Tracking
3.1 It's boolean
The only client-to-sender communication may be the use of tracking URL/s. It is either "true" or "false" whithin the <allowed> tag.
3.2 Limitations
Although the dtd does not limitate the number of tracking URLs for a potage, it is self-evident that that should be rather low. Too many tracking URLs are hardly necessary and will produce a high overhead, which could lead to a bad user experience due to slow responses.
Furthermore the server which accepts the tracking may not respond with anything. A blank (bodyless) HTML response is expected.
An accepting server will need a crossdomain.xml specification.
3.3 Privacy
t.b.a.
4. Translating to HTML
4.1 Scope of application
t.b.a.
4.2 PHP - best practice
t.b.a.
4.3 Rules
t.b.a.
5. Development
5.1 Roadmap
t.b.a.
5.2 Why free, why open?
t.b.a.