Add meta tags on html output for package/resource
[ckanext-datagovau.git] / ckanext / datagovau / templates / package / read.rdf
blob:a/ckanext/datagovau/templates/package/read.rdf -> blob:b/ckanext/datagovau/templates/package/read.rdf
--- a/ckanext/datagovau/templates/package/read.rdf
+++ b/ckanext/datagovau/templates/package/read.rdf
@@ -23,18 +23,20 @@
         <dct:description>${c.pkg_dict['notes']}</dct:description>
         <dct:issued>${c.pkg_dict['metadata_created']}</dct:issued>
         <dct:modified>${c.pkg_dict['metadata_modified']}</dct:modified>
-        <dct:language>en</dct:language>
-        <dct:license>${c.pkg_dict['license_url']}</dct:license>
+
+<py:choose>
+  <py:when test="c.pkg_dict.get('license_url',None)">
+        <dct:license rdf:resource="${c.pkg_dict['license_url']}"/>
+        <dct:rights rdf:resource="${c.pkg_dict['license_url']}"/>
+  </py:when>
+  <py:otherwise>
+        <dct:license>${c.pkg_dict['license_id']}</dct:license>
+        <dct:rights>"${c.pkg_dict['license_id']}"</dct:rights>
+  </py:otherwise>
+</py:choose>
         <py:for each="tag_dict in c.pkg_dict.get('tags',[])">
             <dcat:keyword>${ tag_dict["name"] }</dcat:keyword>
         </py:for>
-        <py:for each="group_dict in c.pkg_dict.get('groups',[])">
-            <dcat:theme>${ group_dict["title"] }</dcat:theme>
-        </py:for>
-
-        <foaf:homepage
-                rdf:resource="${ h.url_for(controller='package',action='read',id=c.pkg_dict['name'], qualified=True)}"/>
-        <rdfs:label>${c.pkg_dict['name']}</rdfs:label>
 
 
         <py:for each="rsc_dict in c.pkg_dict['resources']">
@@ -59,6 +61,9 @@
                 </dcat:Distribution>
             </dcat:distribution>
         </py:for>
+
+
+<!-- data.gov.au specific stuff below this line -->
         <dct:publisher py:if="c.pkg_dict.get('organization', None)">
             <rdf:Description>
                 <foaf:name>${ c.pkg_dict['organization']['title'] }</foaf:name>
@@ -69,72 +74,13 @@
                 <foaf:name>${ c.pkg_dict['organization']['title'] }</foaf:name>
             </rdf:Description>
         </dct:creator>
-        <dct:contributor
-                py:with="username = h.get_action('package_activity_list',{'id':c.pkg_dict['id']})[0]['user_id']">
+        <dct:contributor>
             <rdf:Description>
-                <foaf:name>${h.get_action("user_show",{"id":username})["display_name"]}</foaf:name>
-                <foaf:mbox py:if="h.get_action('user_show',{'id':username}).get('email', None)"
-                           rdf:resource="mailto:${h.get_action('user_show',{'id':username})['email']}"/>
+                <foaf:name>${h.get_last_active_user(c.pkg_dict['id'])["display_name"]}</foaf:name>
+                <foaf:mbox py:if="h.get_last_active_user(c.pkg_dict['id']).get('email', None)"
+                           rdf:resource="mailto:${h.get_last_active_user(c.pkg_dict['id'])['email']}"/>
             </rdf:Description>
         </dct:contributor>
-
-        <dct:rights py:if="c.pkg_dict.get('license_url', None)" rdf:resource="${c.pkg_dict['license_url']}"/>
-
-        <foaf:homepage py:if="c.pkg_dict.get('DCTERMS.Source.URI')">${c.pkg_dict.get('DCTERMS.Source.URI') }
-        </foaf:homepage>
-
-        <dcat:contactPoint py:if="c.pkg_dict.get('contact_point')">${c.pkg_dict.contact_point }</dcat:contactPoint>
-        <dct:spatial py:if="c.pkg_dict.get('spatial_coverage')">${ c.pkg_dict.spatial_coverage }</dct:spatial>
-        <dct:spatial py:if="c.pkg_dict.get('Geospatial Coverage')">${ c.pkg_dict.get('Geospatial Coverage') }</dct:spatial>
-        <aglsterms:AglsJuri py:if="c.pkg_dict.get('jurisdiction')">${ c.pkg_dict.jurisdiction }</aglsterms:AglsJuri>
-        <aglsterms:AglsJuri py:if="c.pkg_dict.get('AGLSTERMS.Jurisdiction')">${ c.pkg_dict.get('AGLSTERMS.Jurisdiction') }</aglsterms:AglsJuri>
-        <dct:temporal py:if="c.pkg_dict.temporal_coverage">${ c.pkg_dict.temporal_coverage }</dct:temporal>
-        <dct:temporal py:if="c.pkg_dict.get('Temporal Coverage')">${ c.pkg_dict.get('Temporal Coverage') }</dct:temporal>
-        <dct:relation py:if="c.pkg_dict.get('data_state')">
-            <rdf:Description>
-                <rdfs:label>Data State</rdfs:label>
-                <rdf:value>${ c.pkg_dict.get('data_state') }</rdf:value>
-            </rdf:Description>
-        </dct:relation>
-
-        <dct:relation py:if="c.pkg_dict.get('update_freq')">
-            <rdf:Description>
-                <rdfs:label>Update Frequency</rdfs:label>
-                <rdf:value>${ c.pkg_dict.get('update_freq') }</rdf:value>
-            </rdf:Description>
-        </dct:relation>
-        <dct:relation py:if="c.pkg_dict.get('Update Frequency')">
-            <rdf:Description>
-                <rdfs:label>Update Frequency</rdfs:label>
-                <rdf:value>${ c.pkg_dict.get('Update Frequency') }</rdf:value>
-            </rdf:Description>
-        </dct:relation>
-
-        <dct:relation py:if="c.pkg_dict.get('Agency Program')">
-            <rdf:Description>
-                <rdfs:label>Agency Program</rdfs:label>
-                <rdf:value>${ c.pkg_dict.get('Agency Program') }</rdf:value>
-            </rdf:Description>
-        </dct:relation>
-        <dct:relation py:if="c.pkg_dict.get('agency_program')">
-            <rdf:Description>
-                <rdfs:label>Agency Program</rdfs:label>
-                <rdf:value>${ c.pkg_dict.get('agency_program') }</rdf:value>
-            </rdf:Description>
-        </dct:relation>
-
-        <dct:relation py:if="c.pkg_dict.get('Granularity')">
-            <rdf:Description>
-                <rdfs:label>Data Granularity</rdfs:label>
-                <rdf:value>${ c.pkg_dict.get('Granularity') }</rdf:value>
-            </rdf:Description>
-        </dct:relation>
-        <dct:relation py:if="c.pkg_dict.get('granularity')">
-            <rdf:Description>
-                <rdfs:label>Data Granularity</rdfs:label>
-                <rdf:value>${ c.pkg_dict.get('granularity') }</rdf:value>
-            </rdf:Description>
-        </dct:relation>
 
         <py:for each="extra_dict in c.pkg_dict.get('extras',[])">
             <dct:relation>
@@ -144,6 +90,44 @@
                 </rdf:Description>
             </dct:relation>
         </py:for>
+        <dct:language>en</dct:language>
+        <foaf:homepage
+                rdf:resource="${ h.url_for(controller='package',action='read',id=c.pkg_dict['name'], qualified=True)}"/>
+        <dcat:contactPoint py:if="c.pkg_dict.get('contact_point')">${c.pkg_dict.contact_point }</dcat:contactPoint>
+<py:choose>
+  <py:when test="c.pkg_dict.get('spatial',None)">
+        <dct:spatial py:if="c.pkg_dict.get('spatial')">${ c.pkg_dict.spatial }</dct:spatial>
+  </py:when>
+  <py:otherwise>
+        <dct:spatial py:if="c.pkg_dict.get('spatial_coverage')">${ c.pkg_dict.spatial_coverage }</dct:spatial>
+  </py:otherwise>
+</py:choose>
+        <aglsterms:AglsJuri py:if="c.pkg_dict.get('jurisdiction')">${ c.pkg_dict.jurisdiction }</aglsterms:AglsJuri>
+        <dct:temporal py:if="c.pkg_dict.get('temporal_coverage')">${ c.pkg_dict.get('temporal_coverage') }</dct:temporal>
+        <dct:relation py:if="c.pkg_dict.get('data_state')">
+            <rdf:Description>
+                <rdfs:label>Data State</rdfs:label>
+                <rdf:value>${ c.pkg_dict.get('data_state') }</rdf:value>
+            </rdf:Description>
+        </dct:relation>
+        <dct:relation py:if="c.pkg_dict.get('update_freq')">
+            <rdf:Description>
+                <rdfs:label>Update Frequency</rdfs:label>
+                <rdf:value>${ c.pkg_dict.get('update_freq') }</rdf:value>
+            </rdf:Description>
+        </dct:relation>
+        <dct:relation py:if="c.pkg_dict.get('agency_program')">
+            <rdf:Description>
+                <rdfs:label>Agency Program</rdfs:label>
+                <rdf:value>${ c.pkg_dict.get('agency_program') }</rdf:value>
+            </rdf:Description>
+        </dct:relation>
+        <dct:relation py:if="c.pkg_dict.get('granularity')">
+            <rdf:Description>
+                <rdfs:label>Data Granularity</rdfs:label>
+                <rdf:value>${ c.pkg_dict.get('granularity') }</rdf:value>
+            </rdf:Description>
+        </dct:relation>
     </dcat:Dataset>
 </rdf:RDF>