.. _community_metadata_configuration: Getting Started =============== .. contents:: :local: :depth: 1 Installation ------------ To install the GeoServer Metadata extension: - Visit the GeoServer :website:`download` page and navigate to the download page for the version of GeoServer your are using. The **metadata** download is listed under extensions. The file name is called :file:`geoserver-*-metadata-plugin.zip`, where ``*`` matches the version number of GeoServer you are using. - Extract this file and place the JARs in :file:`WEB-INF/lib`. - Perform any configuration required by your servlet container, and then restart. On startup, Metadata module will create a configuration directory ``metadata`` in the GeoServer Data Directory. The module will scan all `yaml `__ files in the ``metadata`` directory. Basic configuration -------------------- By default the metadata module will add an extra tab to the edit layer page. Open the layer: navigate to :menuselection:`Layers --> Choose the layer --> Metadata tab`. .. figure:: images/empty-default.png The initial UI. Note the :guilabel:`Metadata fields` panel is still empty The content of the :guilabel:`Metadata fields` is configured by placing one or multiple `yaml `__ files describing the UI components in the metadata configuration folder, see :ref:`tutorial_metadata` for a real life example. Example UI configuration: .. code:: YAML attributes: - key: metadata-identifier fieldType: UUID - key: metadata-datestamp label: Date fieldType: DATETIME - key: data-language fieldType: DROPDOWN values: - dut - eng - fre - ger - key: topic-category fieldType: SUGGESTBOX occurrence: REPEAT values: - farming - biota - boundaries - climatologyMeteorologyAtmosphere - economy - elevation - key: data-date fieldType: COMPLEX typename: data-identification-date occurrence: REPEAT types: - typename: data-identification-date attributes: - key: date fieldType: DATE - key: date-type fieldType: DROPDOWN values: - creation - publication - revision This configuration results in the following GUI: .. figure:: images/basic-gui.png There are 3 main parts in the `yaml `__: - **attributes:** a list of GUI components that will be rendered in the tab. They can be a basic type or a complex type, a complex type is a collection of basic types. - **types:** a list that defines the fields in each complex type. - **tabs** optionally, attributes may be displayed on separate tabs. :ref:`community_metadata_uiconfiguration` gives an overview of all supported types and advanced features.