timeline.xml
timeline.xml
—
Extensible Markup Language (XML),
33Kb
File contents
<?xml version="1.0" encoding="utf-8"?><plominodatabase id="timeline"><design><dbsettings><AboutDescription type="Products.Archetypes.Field.TextField"><![CDATA[
<p>The purpose of this add is to store spatio-temporal datas.</p>
<p>&nbsp;</p>
<p>You will be able to manage geolocation and date about something or someone.</p>
<p>For examples:</p>
<ul><li>Show on a map the most important artist of the XVth and XVIth century :</li></ul>
<a class="external-link" href="http://timemap.googlecode.com/svn/trunk/examples/basic.html">http://timemap.googlecode.com/svn/trunk/examples/basic.html</a>
<ul><li>Show the evolution of an area on a decade :<br /></li></ul>
<a class="external-link" href="http://timemap.googlecode.com/svn/trunk/examples/polytween.html">http://timemap.googlecode.com/svn/trunk/examples/polytween.html</a>
<ul><li>Collect the different species you find during you travels:&nbsp;</li></ul>
<a class="external-link" href="http://timemap.googlecode.com/svn/trunk/examples/pathlines.html">http://timemap.googlecode.com/svn/trunk/examples/pathlines.html</a>
<p>&nbsp;</p>
<p>Let's see an example of Google Timemap on Plomino :</p>
<a href="timemapDocs">Here</a>]]></AboutDescription><UsingDescription type="Products.Archetypes.Field.TextField"><![CDATA[Prerequisite : A Plone website, Plomino1.6
<p>&nbsp;</p>
<ol><li>Launch your Plone</li><li>In the "Design" tab of this website, select export file option, select&nbsp; "timemapDocs (View)", "timemapDocsToJson (Agent)", "resources/timemapTemplate (Resource)" and "resources/scriptTimemap (Resource)", then click "export" button. You will get "timemap.xml" which contains all element just mentioned.<br /></li><li>Create a Plomino database or use an existent one.</li><li>In the "Design" tab of your Plone website, select import from file option, browse "timemap.xml" you got on this website, then click "import" button.</li><li>
<p>Google timemap use google API, consequently you need an API key for your website. To get it you have to check <a class="external-link" href="http://code.google.com/intl/fr/apis/maps/signup.html">http://code.google.com/intl/fr/apis/maps/signup.html</a> , enter your website URL and accept conditions. When you have your api key you have to edit resources/timemapTemplate (Resource) and set the key attribute by your key on the line :&nbsp; " &lt;script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=<strong>ABQIAAAAHp8rDLOg2tT_jQsoSpE56xR4EqRj3RNZnoYuzojShxUjcPQKRRTCLikg6NlW5hkENrwOn8S_j-IVKA</strong>"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="text/javascript"&gt;&lt;/script&gt; ".</p>
</li><li>The next step is to create a PlominoForm in your Plomino Database. To make elements "displayable" in your new imported view, you have to add a selectionList named "inTimemap" with values "True" and "False". If you want to display the document in the timemap, you will have to fill the field "inTimemap" with "True".</li><li>The Last step is to add other fields which will give information about your items directly on the map.&nbsp;
<blockquote>
<ul><li>To add a markup point on the map:</li></ul>
You have to add two fields (TextFields) named "latitude" and "longitude".
<ul><li>
<p>To add a markup point in the timeline:</p>
</li></ul>
<p>You have to add one field (TextField) named "beginDate"</p>
<ul><li>To add a duration in the timeline:</li></ul>
You have to add two fields (TexField) named "beginDate" and "endDate", you can
specify the year, ex: 2000, or be more precise ex: 2000-08-02.
<ul><li>To add a shape in the timemap:</li></ul>
<p>You have to add a field (TextField) name "beginShape". To fill the field "beginShape" you need a google account, then go on&nbsp;<a class="external-link" href="http://maps.google.com/">http://maps.google.com</a> (login if you haven't done yet), then click on "my maps", create your on map, and finaly design your shape.</p>
<ul><li>To add a scalable shape in the timemap:</li></ul>
<p>you need to add two fields(TextFields) named "beginShape" and "endShape".</p>
<ul><li>To add add a description on your document:</li></ul>
&nbsp;add a field(RichText) named "desc".<br /><br />
<p>&nbsp;</p>
/!\ you can't make a markup point and a SCALABLE shape.</blockquote>
</li></ol>
<p>&nbsp;</p>
<p>TIPS: you can get the latitude, longitude on a Google map by entering and executing this javascript in the URL bar:</p>
<p><em>javascript:void(prompt('',gApplication.getMap().getCenter()));</em></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></UsingDescription><IndexAttachments type="Products.Archetypes.Field.BooleanField">False</IndexAttachments><FulltextIndex type="Products.Archetypes.Field.BooleanField">False</FulltextIndex><debugMode type="Products.Archetypes.Field.BooleanField">False</debugMode><StorageAttachments type="Products.Archetypes.Field.BooleanField">False</StorageAttachments><CountDocuments type="Products.Archetypes.Field.BooleanField">False</CountDocuments><DateTimeFormat type="Products.Archetypes.Field.StringField">%Y/%m/%d</DateTimeFormat><StartPage type="Products.Archetypes.Field.StringField"></StartPage><DoNotListUsers type="Products.Archetypes.Field.BooleanField">False</DoNotListUsers><excludeFromNav type="Products.Archetypes.Field.BooleanField">False</excludeFromNav><acl AnomynousAccessRight="NoAccess" AuthenticatedAccessRight="NoAccess"><params id="UserRoles">
<param>
<value><struct>
</struct></value>
</param>
</params><params id="SpecificRights">
<param>
<value><struct>
<member>
<name>specific_deletedocument</name>
<value><string>PlominoAuthor</string></value>
</member>
</struct></value>
</param>
</params></acl></dbsettings><element id="composerForm" title="add a composer" type="PlominoForm"><id type="Products.Archetypes.Field.StringField">composerForm</id><onCreateDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onCreateDocument><onOpenDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onOpenDocument><onSaveDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onSaveDocument><onDeleteDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onDeleteDocument><beforeCreateDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></beforeCreateDocument><FormLayout type="Products.Archetypes.Field.TextField"><![CDATA[
<p>First name = <span class="plominoFieldClass">firstName</span></p>
<p>Last Name = <span class="plominoFieldClass">lastName</span></p>
<p>Date of birth = <span class="plominoFieldClass">beginDate</span></p>
<p>Date of death = <span class="plominoFieldClass">endDate</span></p>
<p>Longitude = <span class="plominoFieldClass">longitude</span></p>
<p>Latitude = <span class="plominoFieldClass">latitude</span></p>
<p>Display in timemap = <span class="plominoFieldClass">inTimemap</span></p>
<p>Description = <span class="plominoFieldClass">desc</span></p>
]]></FormLayout><DocumentTitle type="Products.Archetypes.Field.TextField"><![CDATA["%s %s (%s-%s)" %(plominoDocument.firstName, plominoDocument.lastName, plominoDocument.birthDate, plominoDocument.deathDate)]]></DocumentTitle><ActionBarPosition type="Products.Archetypes.Field.StringField">TOP</ActionBarPosition><HideDefaultActions type="Products.Archetypes.Field.BooleanField">False</HideDefaultActions><HideInMenu type="Products.Archetypes.Field.BooleanField">False</HideInMenu><isSearchForm type="Products.Archetypes.Field.BooleanField">False</isSearchForm><isPage type="Products.Archetypes.Field.BooleanField">False</isPage><SearchView type="Products.Archetypes.Field.StringField"></SearchView><SearchFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></SearchFormula><Position type="Products.Archetypes.Field.IntegerField"/><excludeFromNav type="Products.Archetypes.Field.BooleanField">False</excludeFromNav><elements><element id="firstName" title="First name" type="PlominoField"><id type="Products.Archetypes.Field.StringField">firstName</id><FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">True</ToBeIndexed></element><element id="inTimemap" title="Display in timemap ?" type="PlominoField"><id type="Products.Archetypes.Field.StringField">inTimemap</id><FieldType type="Products.Archetypes.Field.StringField">SELECTION</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed><params>
<param>
<value><struct>
<member>
<name>selectionlist</name>
<value><array><data>
<value><string>False</string></value>
<value><string>True</string></value>
</data></array></value>
</member>
</struct></value>
</param>
</params></element><element id="lastName" title="Last name" type="PlominoField"><id type="Products.Archetypes.Field.StringField">lastName</id><FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element><element id="beginDate" title="birthDate" type="PlominoField"><id type="Products.Archetypes.Field.StringField">beginDate</id><FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element><element id="endDate" title="Death date" type="PlominoField"><id type="Products.Archetypes.Field.StringField">endDate</id><FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element><element id="longitude" title="Longitude" type="PlominoField"><id type="Products.Archetypes.Field.StringField">longitude</id><FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element><element id="latitude" title="Latitude" type="PlominoField"><id type="Products.Archetypes.Field.StringField">latitude</id><FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element><element id="desc" title="Description" type="PlominoField"><id type="Products.Archetypes.Field.StringField">desc</id><FieldType type="Products.Archetypes.Field.StringField">RICHTEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element></elements></element><element id="warForm" title="Add a war event" type="PlominoForm"><id type="Products.Archetypes.Field.StringField">warForm</id><onCreateDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onCreateDocument><onOpenDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onOpenDocument><onSaveDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onSaveDocument><onDeleteDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onDeleteDocument><beforeCreateDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></beforeCreateDocument><FormLayout type="Products.Archetypes.Field.TextField"><![CDATA[
<p>Event Name = <span class="plominoFieldClass">name</span></p>
<p>Begin's event date = <span class="plominoFieldClass">beginDate</span></p>
<p>Begin's Shape of the event&nbsp; = <span class="plominoFieldClass">beginShape</span></p>
<p>End's event date&nbsp; = <span class="plominoFieldClass">endDate</span></p>
<p>End's Shape of the event = <span class="plominoFieldClass">endShape</span></p>
<p>Display in timemap = <span class="plominoFieldClass">inTimemap</span></p>
<p>Description = <span class="plominoFieldClass">desc</span></p>
]]></FormLayout><DocumentTitle type="Products.Archetypes.Field.TextField"><![CDATA["%s (%s-%s)" %(plominoDocument.name, plominoDocument.beginDate, plominoDocument.endDate)]]></DocumentTitle><ActionBarPosition type="Products.Archetypes.Field.StringField">TOP</ActionBarPosition><HideDefaultActions type="Products.Archetypes.Field.BooleanField">False</HideDefaultActions><HideInMenu type="Products.Archetypes.Field.BooleanField">False</HideInMenu><isSearchForm type="Products.Archetypes.Field.BooleanField">False</isSearchForm><isPage type="Products.Archetypes.Field.BooleanField">False</isPage><SearchView type="Products.Archetypes.Field.StringField"></SearchView><SearchFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></SearchFormula><Position type="Products.Archetypes.Field.IntegerField"/><excludeFromNav type="Products.Archetypes.Field.BooleanField">False</excludeFromNav><elements><element id="name" title="War name" type="PlominoField"><id type="Products.Archetypes.Field.StringField">name</id><FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element><element id="endDate" title="End's war date" type="PlominoField"><id type="Products.Archetypes.Field.StringField">endDate</id><FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element><element id="beginDate" title="Begin's war date" type="PlominoField"><id type="Products.Archetypes.Field.StringField">beginDate</id><FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element><element id="beginShape" title="Begin's war shape" type="PlominoField"><id type="Products.Archetypes.Field.StringField">beginShape</id><FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element><element id="endShape" title="End's war shape" type="PlominoField"><id type="Products.Archetypes.Field.StringField">endShape</id><FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element><element id="desc" title="Description" type="PlominoField"><id type="Products.Archetypes.Field.StringField">desc</id><FieldType type="Products.Archetypes.Field.StringField">RICHTEXT</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed></element><element id="inTimemap" title="element displayable in timemap ?" type="PlominoField"><id type="Products.Archetypes.Field.StringField">inTimemap</id><FieldType type="Products.Archetypes.Field.StringField">SELECTION</FieldType><FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode><Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula><FieldReadTemplate type="Products.Archetypes.Field.StringField"></FieldReadTemplate><FieldEditTemplate type="Products.Archetypes.Field.StringField"></FieldEditTemplate><Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory><ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula><ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed><params>
<param>
<value><struct>
<member>
<name>selectionlist</name>
<value><array><data>
<value><string>False</string></value>
<value><string>True</string></value>
</data></array></value>
</member>
</struct></value>
</param>
</params></element></elements></element><element id="timemapDocs" title="view documents in timemap" type="PlominoView"><id type="Products.Archetypes.Field.StringField">timemapDocs</id><SelectionFormula type="Products.Archetypes.Field.TextField"><![CDATA[plominoDocument.inTimemap=="True"]]></SelectionFormula><SortColumn type="Products.Archetypes.Field.StringField"></SortColumn><Categorized type="Products.Archetypes.Field.BooleanField">False</Categorized><FormFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></FormFormula><ReverseSorting type="Products.Archetypes.Field.BooleanField">False</ReverseSorting><ActionBarPosition type="Products.Archetypes.Field.StringField">BOTH</ActionBarPosition><HideDefaultActions type="Products.Archetypes.Field.BooleanField">False</HideDefaultActions><HideInMenu type="Products.Archetypes.Field.BooleanField">False</HideInMenu><Widget type="Products.Archetypes.Field.StringField">BASIC</Widget><DynamicTableParameters type="Products.Archetypes.Field.TextField"><![CDATA[
'bPaginate': false,
'bLengthChange': false,
'bFilter': true,
'bSort': true,
'bInfo': false,
'bAutoWidth': false]]></DynamicTableParameters><ViewTemplate type="Products.Archetypes.Field.StringField">timemapTemplate</ViewTemplate><Position type="Products.Archetypes.Field.IntegerField"/><excludeFromNav type="Products.Archetypes.Field.BooleanField">False</excludeFromNav><elements><element id="col1" title="begin date" type="PlominoColumn"><id type="Products.Archetypes.Field.StringField">col1</id><SelectedField type="Products.Archetypes.Field.StringField"></SelectedField><Formula type="Products.Archetypes.Field.TextField"><![CDATA[plominoDocument.beginDate]]></Formula><HiddenColumn type="Products.Archetypes.Field.BooleanField">False</HiddenColumn><DisplaySum type="Products.Archetypes.Field.BooleanField">False</DisplaySum><ContainsHTML type="Products.Archetypes.Field.BooleanField">False</ContainsHTML></element></elements></element><element id="timemapDocsToJson" title="timemap documents to json" type="PlominoAgent"><id type="Products.Archetypes.Field.StringField">timemapDocsToJson</id><Content type="Products.Archetypes.Field.TextField"><![CDATA[db=plominoDocument.getParentDatabase()
objectList = [i.getObject() for i in db.getView("timemapDocs").getAllDocuments()]
json = []
json += ['[']
i=0
def is_set(var):
return var != "" and var is not None
for obj in objectList:
json += [' {']
if is_set(obj.getItem("beginDate")):
json += [' "start" : "%s",' %(obj.getItem("beginDate"))]
if is_set(obj.getItem("endDate")):
json += [' "end" : "%s",' %(obj.getItem("endDate"))]
if is_set(obj.title):
json += [' "title" : "%s",' %(obj.title.decode("utf8").encode("ascii","replace").replace('"', '\\"'))]
if is_set(obj.getItem("latitude")):
if is_set(obj.getItem("longitude")):
json += [' "point" : { "lat" : %s, "lon" : %s },' %(obj.getItem("latitude"), obj.getItem("longitude"))]
if is_set(obj.getItem("beginShape")):
beginShape = db.callScriptMethod("scriptTimemap", "getPosListFromGML", obj.getItem("beginShape"))
if is_set(beginShape):
json += [' "polygon" : %s,' %(beginShape)]
if is_set(obj.getItem("endShape")):
endShape = db.callScriptMethod("scriptTimemap", "getPosListFromGML", obj.getItem("endShape"))
json += [' "options" : {']
if is_set(obj.getItem("desc")):
json += [' "description": "%s",' %(obj.getItem("desc").decode("utf8").encode("ascii","replace").replace('"', '\\"'))]
try:
json += [' "endpoly" : %s' %(endShape)]
except:
pass
json += [' },']
json += [' },']
i+=1
json += [']']
json = u"\n".join(json)
plominoContext.REQUEST.RESPONSE.setHeader('content-type', 'application/x-javascript')
plominoContext.REQUEST.RESPONSE.setBody(json)]]></Content><Scheduled type="Products.Archetypes.Field.BooleanField">False</Scheduled><AgentUser type="Products.Archetypes.Field.StringField"></AgentUser><Cron type="Products.Archetypes.Field.StringField">* 1 * * *</Cron></element><resource id="timemapTemplate" title="" type="Page Template"><![CDATA[<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en"
metal:use-macro="here/main_template/macros/master"
i18n:domain="plone">
<metal:javascript_head_slot fill-slot="javascript_head_slot">
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAO-qakdV5g5hj9BUJGe4uChShAQH80EjSYjp4OPKo78zSPT19zRQ-rZyVy7nlhEwf7OesQOsfxwbB4A"
type="text/javascript"></script>
<script type="text/javascript" src="http://static.simile.mit.edu/timeline/api/timeline-api.js"></script>
<script src="http://timemap.googlecode.com/svn/trunk/timemap.js" type="text/javascript"></script>
<script type="text/javascript" src="http://timemap.googlecode.com/svn/trunk/loaders/json.js"></script>
<script type="text/javascript"
src="http://timemap.googlecode.com/svn/trunk/loaders/georss.js">
</script>
<link href="http://timemap.googlecode.com/svn/trunk/examples/examples.css" type="text/css" rel="stylesheet"/>
<style>
div#timelinecontainer{ height: 300px; }
div#mapcontainer{ height: 300px; }
</style>
</metal:javascript_head_slot>
<body>
<metal:main fill-slot="main">
<div id="bodyContent">
<h2 tal:content="here/Title">view title</h2>
<div id="timelinecontainer">
<div id="timeline"></div>
</div>
<div id="mapcontainer">
<div id="map"></div>
</div>
<script type="text/javascript">
function load() {
tm = TimeMap.init({
mapId: "map", // Id of map div element (required)
timelineId: "timeline", // Id of timeline div element (required)
datasets: [
{
title: "timemap Dataset exemple",
id: "test",
type: "json_string",
options: {
url: "./timemapDocsToJson/runAgent"
}
}
],
bandIntervals: [
Timeline.DateTime.YEAR,
Timeline.DateTime.DECADE
],
// make pathlines
dataDisplayedFunction: function(tm) {
// new filter chain for poly tweening
tm.addFilterChain("polytween",
function(item) {
// create tween if item is visible
if (item.visible) {
var theme = item.opts.theme || item.dataset.opts.theme;
var pm = item.placemark;
var ep = item.opts.endpoly;
// get tween percent
var now = item.dataset.timemap.timeline.getBand(0)
.getCenterVisibleDate().getTime();
var start = item.event.getStart().getTime();
var end = item.event.getEnd().getTime();
var percent;
if (now < start) percent = 0;
else if (now > end) percent = 1;
else percent = 1 - ((end - now) / (end - start));
// assume the same number of vertices
var points=[], pt1, pt2;
for (var x=0; x<pm.getVertexCount(); x++) {
pt1 = pm.getVertex(x);
pt2 = ep[x];
points.push(new GLatLng(
(pt1.lat() + ((parseFloat(pt2.lat) - pt1.lat()) * percent)),
(pt1.lng() + ((parseFloat(pt2.lon) - pt1.lng()) * percent))
));
// remove the old tween
if (item.tween) item.map.removeOverlay(item.tween);
// hide the real placemark
item.placemark.hide();
// show the new tween
item.tween = new GPolygon(points,
theme.polygonLineColor,
theme.polygonLineWeight,
theme.polygonLineOpacity,
theme.fillColor,
theme.fillOpacity);
item.map.addOverlay(item.tween);
}
} else {
// remove tween if any
if (item.tween) {
item.map.removeOverlay(item.tween);
item.tween = null;
}
}
},
function(item) {
}
);
tm.addFilter("polytween", function(item) {
return (item.event &&item.placemark &&
!item.event.isInstant() && 'getVertex' in item.placemark &&
item.opts.endpoly);
});
tm.filter("polytween");
// update map on timeline scroll
tm.timeline.getBand(0).addOnScrollListener(function() {
tm.filter("polytween");
});
}
});
}
registerEventListener(window, 'load', load);
registerEventListener(window, 'unload', GUnload);
</script>
</div>
</metal:main>
</body>
</html>]]></resource><resource contenttype="text/x-unknown-content-type" id="scriptTimemap" title="" type="File"><![CDATA[ZGVmIGdldFBvc0xpc3RGcm9tR01MKGdtbFVybCk6CiAgICByZXNwb25zZSA9ICIiCiAgICBnbWwg
PSBvcGVuX3VybChnbWxVcmwpLnNwbGl0KCJnbWw6cG9zTGlzdCIpCiAgICBjb29yZGluYXRlcyA9
IGdtbFsxXS5yZXBsYWNlKCIgICAgICAgICAgICAiLCAiIikuc3BsaXQoIlxuIikKICAgIGlmIGxl
bihnbWwpID09IDM6CiAgICAgICAgY29vcmRpbmF0ZXMucmVtb3ZlKGNvb3JkaW5hdGVzWzBdKQog
ICAgICAgIGNvb3JkaW5hdGVzLnJlbW92ZShjb29yZGluYXRlc1tsZW4oY29vcmRpbmF0ZXMpLTFd
KQogICAgICAgIGNvb3JkaW5hdGVzID0gW2Muc3BsaXQoIiAiKSBmb3IgYyBpbiBjb29yZGluYXRl
c10KICAgICAgICBpID0gMAogICAgICAgIGZvciBjIGluIGNvb3JkaW5hdGVzOgogICAgICAgICAg
ICBjWzBdID0gJyJsYXQiOicrY1swXQogICAgICAgICAgICBjWzFdID0gJyJsb24iOicrY1sxXQog
ICAgICAgICAgICBjb29yZGluYXRlc1tpXSA9ICIsIi5qb2luKGMpCiAgICAgICAgICAgIGkgKz0g
MQogICAgICAgIHJlc3BvbnNlID0gIlt7IisifSx7Ii5qb2luKGNvb3JkaW5hdGVzKSsifV0iCgog
ICAgcmV0dXJuIHJlc3BvbnNlCg==
]]></resource></design></plominodatabase>

