Changeset 628

Show
Ignore:
Timestamp:
02/20/07 18:32:07 (2 years ago)
Author:
sgillies
Message:

Switch to KML 2.1 with better names and descriptions, also improve performance of isGeoreferenced()

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • PleiadesGeocoder/trunk/skins/PleiadesGeocoder/georss.pt

    r395 r628  
    66  tal:define="infos context/@@geo/forRSS; 
    77              furl context/absolute_url; 
    8               maxitems request/maxitems | python:len(infos)" 
     8              maxitems request/maxitems | python:len(infos); 
     9              dummy python:here.REQUEST.RESPONSE.setHeader('Content-type', 'application/atom+xml');" 
    910  > 
    1011  <title tal:content="context/title_or_id">TITLE</title> 
    11   <link tal:content="furl">COLLECTION_URL</link
     12  <link rel="self" tal:attributes="href furl"/
    1213  <updated/> 
    1314  <author/> 
    14   <id/
     15  <id tal:content="furl">ID</id
    1516     
    1617  <entry 
     
    1819    > 
    1920    <title tal:content="info/title">TITLE</title> 
    20     <link tal:content="info/url">URL</link
    21     <id/
     21    <link rel="alternate" tal:attributes="href info/url"/
     22    <id tal:content="info/url">ID</id
    2223    <updated/> 
    2324    <summary 
  • PleiadesGeocoder/trunk/skins/PleiadesGeocoder/kml.pt

    r346 r628  
    1 <?xml version="1.0" encoding="UTF-8"?> 
     1<?xml version="1.0" encoding="utf-8"?> 
    22<kml 
    33  xmlns="http://earth.google.com/kml/2.1" 
    44  xmlns:tal="http://xml.zope.org/namespaces/tal" 
    55  tal:define="infos context/@@geo/forKML; 
    6               furl context/absolute_url; 
    76              dummy python:here.REQUEST.RESPONSE.setHeader('Content-type', 'application/vnd.google-earth.kml+xml')" 
    87  > 
    9   <Document> 
    10     <Folder> 
    11       <Placemark tal:repeat="info infos"> 
    12         <description tal:content="structure info/desc_body"/> 
    13         <name tal:content="info/title">TITLE</name> 
    14         <span tal:replace="structure info/geom_element"/> 
    15       </Placemark> 
    16     </Folder> 
    17   </Document> 
     8  <Folder> 
     9    <name tal:content="context/Title">TITLE</name> 
     10    <visibility>0</visibility> 
     11    <open>0</open> 
     12    <Placemark tal:repeat="info infos"> 
     13      <name tal:content="info/title">TITLE</name> 
     14      <description tal:content="structure info/desc_body"/> 
     15      <span tal:replace="structure info/geom_element"/> 
     16    </Placemark> 
     17  </Folder> 
    1818</kml> 
    1919 
  • PleiadesGeocoder/trunk/skins/PleiadesGeocoder/nwlink.pt

    r361 r628  
    1 <?xml version="1.0" encoding="UTF-8"?> 
     1<?xml version="1.0" encoding="utf-8"?> 
    22<kml 
    3   xmlns="http://earth.google.com/kml/2.0
     3  xmlns="http://earth.google.com/kml/2.1
    44  xmlns:tal="http://xml.zope.org/namespaces/tal" 
    5   tal:define="dummy python:here.REQUEST.RESPONSE.setHeader('Content-type', 'application/vnd.google-earth.kml+xml')" 
     5  tal:define="furl context/absolute_url; 
     6              dummy python:here.REQUEST.RESPONSE.setHeader('Content-type', 'application/vnd.google-earth.kml+xml')" 
    67  > 
    78  <NetworkLink> 
    8     <name tal:content="string:${context/title} Network Link">Network Link</name> 
    9     <Url> 
    10       <href tal:content="string:${context/absolute_url}/kml">URL</href> 
    11       <viewRefreshMode>onStop</viewRefreshMode> 
    12     </Url> 
     9    <name tal:content="context/Title">TITLE</name> 
     10    <description tal:content="structure context/Description"/> 
     11      <Link> 
     12        <href tal:content="string:${furl}/kml">URL</href> 
     13        <viewRefreshMode>onRequest</viewRefreshMode> 
     14      </Link> 
    1315  </NetworkLink> 
    1416</kml> 
     17 
  • PleiadesGeocoder/trunk/tests/FolderGeoViews.txt

    r459 r628  
    1616    >>> from Products.PleiadesGeocoder.interfaces import IGeoItemSimple 
    1717    >>> folder = self.folder 
     18    >>> folder.setDescription('The testing folder') 
    1819 
    1920Georeference the test user 
     
    6768    >>> browser.open("%s/georss" % folder_url) 
    6869    >>> browser.contents 
    69     '<?xml version="1.0" encoding="utf-8"?>\n<feed xmlns="http://www.w3.org/2005/Atom"\n      xmlns:georss="http://www.georss.org/georss">\n  <title>test_user_1_</title>\n  <link>http://nohost/plone/Members/test_user_1_</link>\n  <updated/>\n  <author/>\n  <id/>\n    \n  <entry>\n    <title>document</title>\n    <link>http://nohost/plone/Members/test_user_1_/document</link>\n    <id/>\n    <updated/>\n    <summary>No description</summary>\n    <georss:point>40.585609 -105.083733</georss:point>\n  </entry>\n  \n</feed>\n\n' 
     70    '<?xml version="1.0" encoding="utf-8"?>\n<feed xmlns="http://www.w3.org/2005/Atom"\n      xmlns:georss="http://www.georss.org/georss">\n  <title>test_user_1_</title>\n  <link rel="self"\n        href="http://nohost/plone/Members/test_user_1_"/>\n  <updated/>\n  <author/>\n  <id>http://nohost/plone/Members/test_user_1_</id>\n    \n  <entry>\n    <title>document</title>\n    <link rel="alternate"\n          href="http://nohost/plone/Members/test_user_1_/document"/>\n    <id>http://nohost/plone/Members/test_user_1_/document</id>\n    <updated/>\n    <summary>No description</summary>\n    <georss:point>40.585609 -105.083733</georss:point>\n  </entry>\n  \n</feed>\n\n' 
    7071 
    7172Test maxitems=0 
     
    7374    >>> browser.open("%s/georss?maxitems=0" % folder_url) 
    7475    >>> browser.contents 
    75     '<?xml version="1.0" encoding="utf-8"?>\n<feed xmlns="http://www.w3.org/2005/Atom"\n      xmlns:georss="http://www.georss.org/georss">\n  <title>test_user_1_</title>\n  <link>http://nohost/plone/Members/test_user_1_</link>\n  <updated/>\n  <author/>\n  <id/>\n    \n  \n</feed>\n\n' 
     76    '<?xml version="1.0" encoding="utf-8"?>\n<feed xmlns="http://www.w3.org/2005/Atom"\n      xmlns:georss="http://www.georss.org/georss">\n  <title>test_user_1_</title>\n  <link rel="self"\n        href="http://nohost/plone/Members/test_user_1_"/>\n  <updated/>\n  <author/>\n  <id>http://nohost/plone/Members/test_user_1_</id>\n    \n  \n</feed>\n\n' 
    7677 
    7778Test the KML 2.1 view 
     
    7980    >>> browser.open("%s/kml" % folder_url) 
    8081    >>> browser.contents 
    81     '<?xml version="1.0" encoding="UTF-8"?>\n<kml xmlns="http://earth.google.com/kml/2.1">\n  <Document>\n    <Folder>\n      <Placemark>\n        <description><![CDATA[<p>No description</p><p><a href="http://nohost/plone/Members/test_user_1_/document">document</a></p>]]></description>\n        <name>document</name>\n        <Point><coordinates>-105.083733,40.585609,0.000000</coordinates></Point>\n      </Placemark>\n    </Folder>\n  </Document>\n</kml>\n\n' 
     82    '<?xml version="1.0" encoding="utf-8"?>\n<kml xmlns="http://earth.google.com/kml/2.1">\n  <Folder>\n    <name></name>\n    <visibility>0</visibility>\n    <open>0</open>\n    <Placemark>\n      <name>document</name>\n      <description><![CDATA[<p>No description</p><p><a href="http://nohost/plone/Members/test_user_1_/document">document</a></p>]]></description>\n      <Point><coordinates>-105.083733,40.585609,0.000000</coordinates></Point>\n    </Placemark>\n  </Folder>\n</kml>\n\n' 
    8283 
    8384    >>> browser.open("%s/nwlink" % folder_url) 
    8485    >>> browser.contents 
    85     '<?xml version="1.0" encoding="UTF-8"?>\n<kml xmlns="http://earth.google.com/kml/2.0">\n  <NetworkLink>\n    <name> Network Link</name>\n    <Url>\n      <href>http://nohost/plone/Members/test_user_1_/kml</href>\n      <viewRefreshMode>onStop</viewRefreshMode>\n    </Url>\n  </NetworkLink>\n</kml>\n' 
     86    '<?xml version="1.0" encoding="utf-8"?>\n<kml xmlns="http://earth.google.com/kml/2.1">\n  <NetworkLink>\n    <name></name>\n    <description>The testing folder</description>\n      <Link>\n        <href>http://nohost/plone/Members/test_user_1_/kml</href>\n        <viewRefreshMode>onRequest</viewRefreshMode>\n      </Link>\n  </NetworkLink>\n</kml>\n\n' 
    8687     
    8788Test view of /Members 
     
    8990    >>> browser.open("%s/Members/georss" % self.portal.absolute_url()) 
    9091    >>> browser.contents 
    91     '<?xml version="1.0" encoding="utf-8"?>\n<feed xmlns="http://www.w3.org/2005/Atom"\n      xmlns:georss="http://www.georss.org/georss">\n  <title>Members</title>\n  <link>http://nohost/plone/Members</link>\n  <updated/>\n  <author/>\n  <id/>\n    \n  <entry>\n    <title>Test User</title>\n    <link>http://nohost/plone/author/test_user_1_</link>\n    <id/>\n    <updated/>\n    <summary>Faceless test user number one</summary>\n    <georss:point>40.585609 -105.083733</georss:point>\n  </entry>\n  \n</feed>\n\n' 
     92    '<?xml version="1.0" encoding="utf-8"?>\n<feed xmlns="http://www.w3.org/2005/Atom"\n      xmlns:georss="http://www.georss.org/georss">\n  <title>Members</title>\n  <link rel="self" href="http://nohost/plone/Members"/>\n  <updated/>\n  <author/>\n  <id>http://nohost/plone/Members</id>\n    \n  <entry>\n    <title>Test User</title>\n    <link rel="alternate"\n          href="http://nohost/plone/author/test_user_1_"/>\n    <id>http://nohost/plone/author/test_user_1_</id>\n    <updated/>\n    <summary>Faceless test user number one</summary>\n    <georss:point>40.585609 -105.083733</georss:point>\n  </entry>\n  \n</feed>\n\n' 
    9293 
    9394    >>> browser.open("%s/Members/kml" % self.portal.absolute_url()) 
    9495    >>> browser.contents 
    95     '<?xml version="1.0" encoding="UTF-8"?>\n<kml xmlns="http://earth.google.com/kml/2.1">\n  <Document>\n    <Folder>\n      <Placemark>\n        <description><![CDATA[<p>Faceless test user number one</p><p><a href="http://nohost/plone/author/test_user_1_">Test User</a></p>]]></description>\n        <name>Test User</name>\n        <Point><coordinates>-105.083733,40.585609,0.000000</coordinates></Point>\n      </Placemark>\n    </Folder>\n  </Document>\n</kml>\n\n' 
     96    '<?xml version="1.0" encoding="utf-8"?>\n<kml xmlns="http://earth.google.com/kml/2.1">\n  <Folder>\n    <name>Members</name>\n    <visibility>0</visibility>\n    <open>0</open>\n    <Placemark>\n      <name>Test User</name>\n      <description><![CDATA[<p>Faceless test user number one</p><p><a href="http://nohost/plone/author/test_user_1_">Test User</a></p>]]></description>\n      <Point><coordinates>-105.083733,40.585609,0.000000</coordinates></Point>\n    </Placemark>\n  </Folder>\n</kml>\n\n' 
    9697 
    9798    >>> browser.open("%s/Members/nwlink" % self.portal.absolute_url()) 
    9899    >>> browser.contents 
    99     '<?xml version="1.0" encoding="UTF-8"?>\n<kml xmlns="http://earth.google.com/kml/2.0">\n  <NetworkLink>\n    <name>Members Network Link</name>\n    <Url>\n      <href>http://nohost/plone/Members/kml</href>\n      <viewRefreshMode>onStop</viewRefreshMode>\n    </Url>\n  </NetworkLink>\n</kml>\n' 
     100    '<?xml version="1.0" encoding="utf-8"?>\n<kml xmlns="http://earth.google.com/kml/2.1">\n  <NetworkLink>\n    <name>Members</name>\n    <description>Container for portal members\' home directories</description>\n      <Link>\n        <href>http://nohost/plone/Members/kml</href>\n        <viewRefreshMode>onRequest</viewRefreshMode>\n      </Link>\n  </NetworkLink>\n</kml>\n\n' 
    100101 
    101102Test single object 
     
    103104    >>> browser.open("%s/georss" % document.absolute_url()) 
    104105    >>> browser.contents 
    105     '<?xml version="1.0" encoding="utf-8"?>\n<feed xmlns="http://www.w3.org/2005/Atom"\n      xmlns:georss="http://www.georss.org/georss">\n  <title>document</title>\n  <link>http://nohost/plone/Members/test_user_1_/document</link>\n  <updated/>\n  <author/>\n  <id/>\n    \n  <entry>\n    <title>document</title>\n    <link>http://nohost/plone/Members/test_user_1_/document</link>\n    <id/>\n    <updated/>\n    <summary>No description</summary>\n    <georss:point>40.585609 -105.083733</georss:point>\n  </entry>\n  \n</feed>\n\n' 
     106    '<?xml version="1.0" encoding="utf-8"?>\n<feed xmlns="http://www.w3.org/2005/Atom"\n      xmlns:georss="http://www.georss.org/georss">\n  <title>document</title>\n  <link rel="self"\n        href="http://nohost/plone/Members/test_user_1_/document"/>\n  <updated/>\n  <author/>\n  <id>http://nohost/plone/Members/test_user_1_/document</id>\n    \n  <entry>\n    <title>document</title>\n    <link rel="alternate"\n          href="http://nohost/plone/Members/test_user_1_/document"/>\n    <id>http://nohost/plone/Members/test_user_1_/document</id>\n    <updated/>\n    <summary>No description</summary>\n    <georss:point>40.585609 -105.083733</georss:point>\n  </entry>\n  \n</feed>\n\n' 
    106107 
    107108    >>> browser.open("%s/kml" % document.absolute_url()) 
    108109    >>> browser.contents 
    109     '<?xml version="1.0" encoding="UTF-8"?>\n<kml xmlns="http://earth.google.com/kml/2.1">\n  <Document>\n    <Folder>\n      <Placemark>\n        <description><![CDATA[<p>No description</p><p><a href="http://nohost/plone/Members/test_user_1_/document">document</a></p>]]></description>\n        <name>document</name>\n        <Point><coordinates>-105.083733,40.585609,0.000000</coordinates></Point>\n      </Placemark>\n    </Folder>\n  </Document>\n</kml>\n\n' 
     110    '<?xml version="1.0" encoding="utf-8"?>\n<kml xmlns="http://earth.google.com/kml/2.1">\n  <Folder>\n    <name></name>\n    <visibility>0</visibility>\n    <open>0</open>\n    <Placemark>\n      <name>document</name>\n      <description><![CDATA[<p>No description</p><p><a href="http://nohost/plone/Members/test_user_1_/document">document</a></p>]]></description>\n      <Point><coordinates>-105.083733,40.585609,0.000000</coordinates></Point>\n    </Placemark>\n  </Folder>\n</kml>\n\n' 
    110111 
    111