= 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 ==== (i) title and abstract are localized (e.g. ''wms_abstract_ger''), fallback to ''wms_abstract'' if parameter ''language=eng'' and ''wms_abstract_eng'' not specified [[br]] (ii) only one keyword support (at the moment), needs to be specified explicitly using ''wms_inspire_keyword'' [[br]] (iii) the above points also apply to rootlayer (e.g. ''wms_rootlayer_abstract_ger'', ''wms_inspire_rootlayer_keyword'') and individual layers [[br]] (iv) usage of ''group''/''classgroup'' to set name of style to ''inspire_common:DEFAULT'' [[br]] * scenario 1 - reference to external inspire service metadata [http://trac.osgeo.org/mapserver/browser/sandbox/inspire_soc2011/msautotest/wxs/wms_inspire_scenario1.map example map file] (i) enabled by ''wms_inspire_capabilities'' set to ''url'' GetCapabilities request with parameter LANGUAGE=ger results in {{{ ... http://inspire.service/metadata inspire.service.format eng ger ger ... }}} * scenario 2 - embedded inspire service metadata [http://trac.osgeo.org/mapserver/browser/sandbox/inspire_soc2011/msautotest/wxs/wms_inspire_scenario2.map example map file] (i) enabled by ''wms_inspire_capabilities'' set to ''embed'' [[br]] (ii) '''' always set to ''service'' [[br]] (iii) '' always set to ''view'' [[br]] GetCapabilities request with parameter LANGUAGE=ger results in {{{ ... service 2011-09-19 not evaluated mympocname mympocemail 2011-09-19 view infoMapAccessService eng ger ger ... }}} === 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]