= google summer of code 2011 - inspire view service support = [https://svn.osgeo.org/mapserver/sandbox/inspire_soc2011 source code repository] === tasks === ==== multi language support ==== [http://lists.osgeo.org/pipermail/mapserver-inspire/2011-May/000057.html corresponding post] || ||'''A[[br]] language specific metadata values''' [[br]] [[br]] "wms_title" "my title" [[br]] "wms_title" "mein titel"||'''B [[br]] language dependent reference data''' [[br]] [[br]] DATA "shapes/rivers_eng.shp" [[br]] DATA "shapes/german/rivers.shp"|| || ||'''1[[br]]key extension'''||"wms_title_eng" "my title" [[br]] "wms_title_ger" "mein titel"||---|| main question: should resolution happen at [[br]] i) write time, i.e. only wms_title goes into mapobject [[br]] or [[br]] ii) read time, i.e. everything goes into mapobject, [[br]] extended key e.g. wms_title_ger is used for reading [[br]] [[br]] mapfile maintainable? validation? || ||'''2[[br]] runtime substitution''' ||---||DATA "shapes/rivers_%language%.shp" [[br]] [[br]] with ''language'' being a request parameter or global setting || already [http://mapserver.org/cgi/runsub.html implemented] in mapserver for certain parameters [[br]] [[br]] all required substitution scenarios (parameters) covered? || ||'''3[[br]] externalization''' [[br]] [[br]] using external files [[br]] ''lang.eng'' [[br]] ''lang.ger'' || "wms_title" "IDC_TITLE" [[br]] [[br]] IDC_TITLE=my title [[br]] IDC_TITLE=mein titel || DATA "IDC_SHAPES_RIVERS" [[br]] [[br]] IDC_SHAPES_RIVERS=shapes/rivers.shp [[br]] IDC_SHAPES_RIVERS=shapes/german/rivers.shp [[br]] || common way of internationalization, [[br]] many tools available to externalize strings [[br]] [[br]] at which time the externalized value should be resolved [[br]] (while parsing mapfile, during msApplySubstitutions, ...)?|| ||'''4[[br]] merge''' [[br]] [[br]] using INCLUDE ||---|| ''standard.map'' [[br]] LAYER [[br]]... [[br]] NAME "rivers" [[br]] INCLUDE "rivers.map" [[br]] ... [[br]] [[br]] ''eng/rivers.map'' [[br]] DATA "shapes/rivers_eng.shp" [[br]] [[br]] ''ger/rivers.map'' [[br]] DATA "shapes/german/rivers.shp" || mostly [http://mapserver.org/mapfile/Include.html implemented] in mapserver [[br]] [[br]] based on current languange the corresponding [[br]] map file needs to be included [[br]] [[br]] only usable for whole "blocks" [[br]] (like a LAYER or the WEB/METADATA section)|| ||'''5[[br]] override''' [[br]] [[br]] override certain values [[br]] of the original mapfile [[br]] e.g. with ''override.ger''|| "wms_title" "my title" !#1 [[br]] [[br]] 1="mein titel" ||LAYER [[br]]... [[br]] NAME "rivers" [[br]] DATA "shapes/rivers_eng.shp" !#2 [[br]] ... [[br]] [[br]] 2="shapes/german/rivers.shp"|| identification of "key" e.g. by comment like !#1 and !#2[[br]] [[br]] other option: use XPath-like syntax [[br]] e.g. [[br]] WEB/METADATA/wms_title="mein titel" [[br]] LAYER[rivers]/DATA="shapes/german/rivers.shp"|| [http://trac.osgeo.org/mapserver/ticket/3608 patch #3608] uses A1 (applied at read time) and B2 ==== view service metadata ==== * scenario 1 - reference to external inspire service metadata {{{ WEB METADATA "wms_inspire_capabilities" "url" #enables inspire using scenario 1 "wms_inspire_languages" "eng,ger" #first default, values according ISO 639-2/B "wms_metadataurl_href" "mymetadataurlhref" "wms_metadataurl_format" "mymetadataurlformat" "wms_title" "mytitle" "wms_abstract" "myabstract" "wms_fees" "conditions unknown" #value either "no conditions apply"|default "conditions unknown"| "wms_accessconstraints" "none" #value according ISO 19115 (MD_RestrictionCode codelist) or default "none" "wms_contactorganization" "mycontactorganization" #responsible organisation "wms_contactposition" "resourceProvider" #responsible organisation, value according "INSPIRE Metadata Regulation" (part D6) END END }}} GetCapabilities request with parameter LANGUAGE=ger results in {{{ ... mymetadataurlhref mymetadataurlformat eng eng ger ger ... }}} * scenario 2 - embedded inspire service metadata {{{ WEB METADATA "wms_inspire_capabilities" "embed" #enables inspire using scenario 2 "wms_inspire_languages" "eng,ger" #first default, values according ISO 639-2/B "wms_title" "mytitle" "wms_abstract" "myabstract" "wms_onlineresource" "myonlineresource" #resource locator, optional "wms_inspire_keyword" "infoMapAccessService" #value according "classification of spatial data services" "wms_inspire_temporal_reference" "2011-09-19" #date of last revision, value according YYYY-MM-DD "wms_inspire_conformity" "not evaluated" #value either "conformant"|"not conformant"|default "not evaluated" "wms_fees" "conditions unknown" #value either "no conditions apply"|default "conditions unknown"| "wms_accessconstraints" "none" #value according ISO 19115 (MD_RestrictionCode codelist) or default "none" "wms_contactorganization" "mycontactorganization" #responsible organisation "wms_contactposition" "resourceProvider" #responsible organisation, value according "INSPIRE Metadata Regulation" (part D6) "wms_inspire_mpoc_name" "mympocname" #point of contact "wms_inspire_mpoc_email" "mympocemail" #point of contact "wms_inspire_metadatadate" "2011-09-19" #value according YYYY-MM-DD END END }}} GetCapabilities request with parameter LANGUAGE=ger results in {{{ ... myonlineresource service 2011-09-19 not evaluated mympocname mympocemail 2011-09-19 view infoMapAccessService infoMapAccessService eng eng ger ger ... }}} * always set to "service" * always set to "view" * only one keyword currently supported (subject to change for future versions) [[br]] [[br]] === status reports === * [http://lists.osgeo.org/pipermail/soc/2011-May/001302.html week 0] * [http://lists.osgeo.org/pipermail/soc/2011-May/001326.html week 1] * [http://lists.osgeo.org/pipermail/soc/2011-June/001354.html week 2] * [http://lists.osgeo.org/pipermail/soc/2011-June/001382.html week 3] * [http://lists.osgeo.org/pipermail/soc/2011-June/001394.html week 4]