NAME

project-meta - opendata project metafile manager

USAGE

 project-meta help
 project-meta version
 project-meta check
 project-meta dap-publish
 project-meta dap-unpublish
 project-meta dataset-size
 project-meta make-zip
 project-meta list-license
 project-meta make-file-license
 project-meta make-file-author
 project-meta make-file-copyright
 project-meta upgrade

DESCRIPTION

Project-Meta is a small tool to maintain a set of open data files. In order to help you in this task, project-meta command has a set of action to generated and maintain many files in your dataset.

Everything is declare in the metafile PROJECT-META.yml. This YAML file must exist in your root projet folder. See "METAFILE SPECIFICATION".

COMMANDS

Some command are defined in the source code but are not documented here. Theses could be not well defined, not finished, not well tested... You can read the source code and use them at your own risk (like for all the Project-Meta code).

check

 project-meta check

Check your PROJECT-META.yml has the good key. If your metafile is not a valid YAML file, you can use yamllint or ysh commands to check just it's format.

dap-publish

 project-meta dap-publish

Publish data on an OpeNDAP server. Because data can be very large, This command just create UNIX soft links on the OpeNDAP folder to the real data. There is no copy. Files AUTHORS.txt, LICENSE.txt and COPYRIGHT.txt are mandatory but could be generated (see below). The main keys use in the PROJECT-META.yml are:

Because this command could be dangerous, it does nothing! It print on terminal shell command to be done. You have to verify ouput before eval it.

 project-meta dap-publish
 project-meta dap-publish | bash

dap-unpublish

 project-meta dap-unpublish

Unpublish data from the OpeNDAP server. In practice, it remove links in OpeNDAP folder for that projet. Because command rm is always dangerous, we use here the command find limited to folder and link.

Please verify the returned values before excuted it with the -delete option.

dataset-size

 project-meta dataset-size

make-zip

 project-meta make-zip

Create a ZIP archive with the open data set. Files AUTHORS.txt, LICENSE.txt and COPYRIGHT.txt are mandatory but could be generated (see below). The main keys use in the PROJECT-META.yml are:

make-allfiles

 project-meta make-allfiles

Generate or update all files: AUTHORS.txt, COPYRIGHT.txt and LICENSE.txt. This command is just a shortcut for "make-file-author", "make-file-copyright" and "make-file-license".

list-license

 project-meta list-license

Give the list of all the open data licenses supported by the project-meta license database. At this time the possible licenses are:

Note that these licenses are dedicated to open data. Please do not use an open license that would have been thought for source code or documentation and not for open data. Here are some links about open data licence context:

make-file-license

 project-meta make-file-license

Copy the license file from the project-meta license database at the current folder with the file name: LICENSE.txt.

The license is defined in the PROJECT-META.yml specification under the key public-dap/data-license. The list of possible license is given with the command "list-license".

make-file-author

 project-meta make-file-author

Create or update the AUTHORS.txt file at the current folder. Authors data are extracted from the PROJECT-META.yml file.

 project-meta make-file-copyright

Create or update the COPYRIGHT.txt file at the current folder. Authors, license and copyright data are extracted from the PROJECT-META.yml file.

upgrade

 project-meta upgrade

Upgrade config file to last version. Create a file PROJECT-META-vVERSION.yml in the current directory if it's not exists, error otherwise. Please maually verify this autogenerated config file before rename and using it.

METAFILE SPECIFICATION

Each project must have an open data metafile describing the project : PROJECT-META.yml. The file is in YAML format because this is a human-readable text file style. Other formats could have been Plain XML, RDF, JSON... but they are much less readable.

You can find in the project-meta software a PROJECT-META.sample.yml example. This one is actually the master reference specification!

Some interresting papers or links about Open Meta Data Schema:

KNOWN BUGS

 - not really check keys and tags before doing action!

SEE ALSO

yamllint(1), ysh(1), YAML, Archive::Zip

In Debian GNU/Linux distribution, packages for yamllint and ysh are:

Own project ressources:

AUTHOR

Written by Gabriel Moreau, LEGI UMR5519, CNRS, Grenoble - France

SPECIAL THANKS

The list of people below did not directly contribute to project-meta's source code but provided me with some data, returned bugs or helped me in another task like having new ideas, specifications... Maybe I forgot your contribution in recent years, please forgive me in advance and send me an e-mail to correct this.

Joel Sommeria, Julien Chauchat, Cyrille Bonamy, Antoine Mathieu.

LICENSE AND COPYRIGHT

License GNU GPL version 2 or later and Perl equivalent

Copyright (C) 2017-2018 Gabriel Moreau <Gabriel.Moreau(A)univ-grenoble-alpes.fr>.