Skip to content

Schema Formatters and Metadata Views

jesseeichar edited this page Oct 15, 2014 · 22 revisions
Date Oct 15, 2014 Contacts Jesse Eichar
Status In Progress Release 3.0
Resources Jesse Eichar Ticket # 650
Source code https://github.com/jesseeichar/core-geonetwork/tree/formatter-functions
Funding Swisstopo/Camptocamp

Overview

This proposal will change the formatter api:

  • So that it will look in schema plugins formatter directory as well as the data directory's formatter directory in order to find all the registered formatters.
  • So that formatters can be grouped by putting several formatters together in a sub-directory of the root formatters directory. In this case the formatter id will contain a / separator. IE package/identification. Note: A group directory cannot contain a formatter view file.
  • So that config.properties files can be shared by putting them in the root formatter directory. This makes the most sense when it comes to schema plugins since they will likely share most if not all configuration properties.
  • By adding a groovy based alternative formatter dialect. This will permit more terse and readable formatter files.

This proposal will also provide default metadata views based on the formatters framework for the default schemas.

Technical Details:

Schema Plugin Formatters

Currently the <data_dir>/data/formatter directory is searched for directories containing a view.xsl file, each of these directories are considered to be a formatter plugin. This proposal will also search each schema plugin's formatter directory for formatters as well. These formatters will be the metadata viewers available for each schema.

Grouped Formatters

In some cases it makes sense to group related formatters. For example ISO19139 original viewer had a group of views based on the sections of the ISO19139 schema: metadata, identification, distribution, etc... This proposal will allow formatters to be grouped in a similar way by putting them together in a directory:

schema_plugins
    iso19139
        formatter
            package
                metadata
                identification
                spatial_rep
                distribution
                maintenance
                ...

Each formatter in a group will be assigned an id with a / separator separating the parts: package/metadata or package/identification for example.

Shared files

Since most views in a schema plugin will share much of its configuration configuration files like config.properties and localization files can be put in the root of the formatter directory of the schema plugin and all formatters in that schema plugin will share those files. In the case of config.properties a particular plugin can override the common properties by including its own config.properties file. The two files will be merged with the formatter specific file take priority.

Groovy based formatter

Proposal Type:

  • Type: Metadata Viewer
  • Module: services, schemas

Voting History

  • Vote Proposed: TBA

Participants

  • All
Clone this wiki locally