API meta definitions

By Dev | 31 July, 2017

This document

  • Version: 0.0.1
  • Date: 2017-07-31
  • Author: Boxxd Dev.

Changes should be addressed to dev@boxxd.org.

Introduction

Boxxd uses a collection of meta files for automation.

The files define the characteristics of the item concerned.

For example a component i.e. a plugin, can have three or more files:

  • meta.toml specifying the general meta for handling
  • item.toml describes the object itself
  • rights.toml describes which licences are applicable.

The meta file attributes are in TOML format.

Package storage

Each package has its own storage area:

.wiring/.info/pkg/<plugin-name>

Description of apiVersion 1

boxxdBoxPkg

A couple of examples of files are shown below.

meta.toml

++++
#
# Meta Configuration File
#
# Description: This is the meta configuration file for the wiring process
# (c) Boxxd 2017
# http://boxxd.org
# Keeper: reg@boxxd.org


[meta]
# The configuration file basics
schema = "wiring"
issueDate = 2017-01-01
fsFileNameStub = "meta"


[wiring]
# Info about the wiring schema
schemaOrg = "boxxd"
versionID = 1
apiName = "boxxdBoxPkg"
fsRootDirName = ".wiring"
fsFileExt = "toml"

# Definitions of other referenced components

[wiring.item]
fsFileNameStub = "item"

[wiring.rights]
fsFileNameStub = "rights"


# ****** Copyright Notice to be kept in this file ***************
#
# Copyright 2017 Boxxd. http://boxxd.org. Licensed under the Apache License, Version 2.0.

# ************ end of meta conf file ************

++++

item.toml

#
# Item info file
#
# Description: This is the information and configuration file for a item
# (c) Boxxd 2017
# http://boxxd.org
# Keeper: reg@boxxd.org
#

[wiring.item]
apiSpec = "item"
versionID = 1


[item]
name = "plugin-repo-en"
title = "Repo Plugin"
subtitle = ""
abbrev = "repo"
aliases = []
category = "plugin"
desc = "The repo plugin has the directories Archive, Works, Items, Sources, each with a file describing the function of the directory."
# long text
additionalInfo = ""
catalogUrl = ""
# Tags
keyword = ["repo"]
note = ""

[standardItemIdentification]
itemNo = ""
uuid = ""
ean = ""
image = ""
symbol = ""
versionTag = "0.1.0"
versionNo = 1
versionDate = 2017-07-31T00:00:00Z

# List the contents - use inline table to keep it compact. Can be extended later with other key values.
packageItems = [
{itemName = "archive-dir"}
{itemName = "Items-dir"}
{itemName = "Sources-dir"}
{itemName = "works-dir" }
]

[[content.language]]
name = "English"
# ISO 639-1 code
isoAlpha2 = "en"


# for multiple authors just copy the block below and change the details
[[author]]
initials = ""
firstname = ""
surname = "Dev"
fullname = "Boxxd Development"
alias = "Dev"
role = "Dev"
organisation = "Boxxd"

  [author.address]
  email = "dev@boxxd.org"
  gitHub = ""
  linkedin = ""
# end of author definition block



# info for admin and others - as a jotter, for tracking
[adminInfo]
note = ""
todo = ""



# work info - i.e. sources, etc
[work]




# Cross reference file system object functions to names
# ie directories, files
[[fsObject]]
item = "archive-dir"
name = "Archive"
path = "/"
type = "dir"
symbol = ""

[[fsObject]]
item = "Items-dir"
name = "Items"
path = "/"
type = "dir"
symbol = ""

[[fsObject]]
item = "Sources-dir"
name = "Sources"
path = "/"
type = "dir"
symbol = ""

[[fsObject]]
item = "works-dir"
name = "Works"
path = "/"
type = "dir"
symbol = ""



# ****** Copyright Notice to be kept in this file ***************
#
# Copyright 2017 Boxxd. http://boxxd.org. Licensed under the Apache License, Version 2.0.

# ************ end of item file ************
++++

rights.toml

+++
#
# Rights info file
#
# Description: Licenses applying to the item
#
# (c) Boxxd 2017
# http://boxxd.org
# Keeper: reg@boxxd.org
## Notes: Definitions are nearly all specially defined.
#


[wiring.rights]
apiSpec = "rights"
versionID = 1

# Of how this can be used.
[[licenses]]
owner = "Boxxd"
type = "Apache License 2.0"
item = "Package"
note = ""

# For the assets
[[copyright]]
owner = "Boxxd"
type = "CC By Int 4.0"
date = 2017-07-31
item = "Package assets"
note = ""


# ****** Copyright Notice to be kept in this file ***************
#
# Copyright 2017 Boxxd. http://boxxd.org. Licensed under the Apache License, Version 2.0.

# ************ end of rights file ************

++++