SYNOPSIS

ccnputmeta [-v] [-raw] [-unversioned] [-timeout millis] [-log LEVEL] ccnxname metaname filename|url

DESCRIPTION

The ccnputmeta utility publishes a local file filename or url url as metadata associated with the content ccnxname. The metadata is published as as of CCNx Data in accordance with the naming conventions for segmented streams or files, optionally unversioned. For the default case of versioned content, ccnputmeta will publish the metadata with the version based on the local machine time and will associate it with the latest version of the referenced CCNx content.

The ccnxname must be specified using the CCNx URI encoding syntax. For simple cases of ASCII name components this is just pathname syntax with / delimiters.

The metaname must be the relative path of the metadata for the specified ccnxname, for example thumbnail/image.

The filename must be the pathname of a local file that will published under the ccnxname.

The url must be a valid url to be published under a ccnxname.

ccnputmeta will publish versioned and segmented meta data objects, and the key used to sign them, to a repository by default. If there is not a reachable repository, ccnputmeta will exit with a wait for put drain error. If there is a corresponding application able to retrieve the content ccnputmeta can be used to publish the content with -raw. However no such application is currently supported. -raw allows ccnputmeta to skip the repository handshake and directly put the content objects to satisfy the interests expressed by the reader application.

ccnputmeta can also be used to publish metadata with a specific key using -as where pathToKeystore must be a valid path to the local filesystem where a user key has previously been stored.

ccnputmeta can additionally be used with access control using the -ac flag.

OPTIONS

-v

Run ccnputmeta in verbose mode.

-raw

ccnputmeta will publish the metadata without contacting a repository. This mode will fail unless there is another application, capable of reading the metadata, running.

-unversioned

Do not append a version component to the supplied metaname. This option may be used when the supplied metaname already includes an explicit version component at the end (which must be URI encoded). This option may also be used for metadata content that is organized according to the segmentation convention but does not use the versioning convention at all. When this option is used, the FileOutputStream abstraction will not be used, since that implies versioning.

-timeout millis

Set the timeout that will be used for putting content objects on during the stream reading. I.e., the time to wait for incoming interests.

-log LEVEL

Set the logging level. LEVEL must be the an acceptable Java Logger level: either an integer or a level name (e.g. SEVERE).

EXIT STATUS

0

Success

1

Failure (syntax or usage error; publishing error - no processes running that are prepared to ask or already asking for content)

EXAMPLE

The following example publishes a new version of the file "mydocument" and adds the file "image.png" as thumbnail metadata for it

ccnputfile "ccnx:/mydocument" "mydocument"
ccnputmeta "ccnx:/mydocument" "_thumbnail_/image.png" "image.png"

AUTHOR

Paul Rasmussen <rasmussen@parc.com>