Author: brett
Date: Thu Feb 11 10:34:59 2010
New Revision: 908914

URL: http://svn.apache.org/viewvc?rev=908914&view=rev
Log:
migrate metadata documentation

Modified:
    archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt
    archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt

Modified: archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt?rev=908914&r1=908913&r2=908914&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt 
(original)
+++ archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt Thu 
Feb 11 10:34:59 2010
@@ -1,170 +1,6 @@
-The following is the intended content model for the metadata content 
repository:
-
-.
-`-- repositories/
-    `-- central/
-        |-- config/
-        |   |-- name=
-        |   |-- storageUrl=
-        |   `-- uri=
-        |-- content/
-        |   `-- org/
-        |       `-- apache/
-        |           |-- archiva/
-        |           |   `-- platform/
-        |           |       |-- scanner/
-        |           |       |   |-- 1.0-SNAPSHOT/
-        |           |       |   |   |-- scanner-1.0-20091120.012345-1.pom/
-        |           |       |   |   |   |-- asc=
-        |           |       |   |   |   |-- created=
-        |           |       |   |   |   |-- fileCreated=
-        |           |       |   |   |   |-- fileLastModified=
-        |           |       |   |   |   |-- maven:buildNumber=
-        |           |       |   |   |   |-- maven:classifier
-        |           |       |   |   |   |-- maven:timestamp=
-        |           |       |   |   |   |-- maven:type=
-        |           |       |   |   |   |-- md5=
-        |           |       |   |   |   |-- sha1=
-        |           |       |   |   |   |-- size=
-        |           |       |   |   |   |-- updated=
-        |           |       |   |   |   `-- version=
-        |           |       |   |   |-- ciManagement.system=
-        |           |       |   |   |-- ciManagement.url=
-        |           |       |   |   |-- created=
-        |           |       |   |   |-- dependencies.0.artifactId=
-        |           |       |   |   |-- dependencies.0.classifier=
-        |           |       |   |   |-- dependencies.0.groupId=
-        |           |       |   |   |-- dependencies.0.optional=
-        |           |       |   |   |-- dependencies.0.scope=
-        |           |       |   |   |-- dependencies.0.systemPath=
-        |           |       |   |   |-- dependencies.0.type=
-        |           |       |   |   |-- dependencies.0.version=
-        |           |       |   |   |-- description=
-        |           |       |   |   |-- individuals.0.email=
-        |           |       |   |   |-- individuals.0.name=
-        |           |       |   |   |-- individuals.0.properties.scmId=
-        |           |       |   |   |-- individuals.0.roles.0=
-        |           |       |   |   |-- individuals.0.timezone=
-        |           |       |   |   |-- issueManagement.system=
-        |           |       |   |   |-- issueManagement.url=
-        |           |       |   |   |-- licenses.0.name=
-        |           |       |   |   |-- licenses.0.url=
-        |           |       |   |   |-- mailingLists.0.mainArchiveUrl=
-        |           |       |   |   |-- mailingLists.0.name=
-        |           |       |   |   |-- mailingLists.0.otherArchives.0=
-        |           |       |   |   |-- mailingLists.0.postAddress=
-        |           |       |   |   |-- mailingLists.0.subscribeAddress=
-        |           |       |   |   |-- mailingLists.0.unsubscribeAddress=
-        |           |       |   |   |-- maven:buildExtensions.0.artifactId=
-        |           |       |   |   |-- maven:buildExtensions.0.groupId=
-        |           |       |   |   |-- maven:buildExtensions.0.version=
-        |           |       |   |   |-- maven:packaging=
-        |           |       |   |   |-- maven:parent.artifactId=
-        |           |       |   |   |-- maven:parent.groupId=
-        |           |       |   |   |-- maven:parent.version=
-        |           |       |   |   |-- maven:plugins.0.artifactId=
-        |           |       |   |   |-- maven:plugins.0.groupId=
-        |           |       |   |   |-- maven:plugins.0.reporting=
-        |           |       |   |   |-- maven:plugins.0.version=
-        |           |       |   |   |-- maven:properties.mavenVersion=
-        |           |       |   |   |-- maven:repositories.0.id=
-        |           |       |   |   |-- maven:repositories.0.layout=
-        |           |       |   |   |-- maven:repositories.0.name=
-        |           |       |   |   |-- maven:repositories.0.plugins=
-        |           |       |   |   |-- maven:repositories.0.releases=
-        |           |       |   |   |-- maven:repositories.0.snapshots=
-        |           |       |   |   |-- maven:repositories.0.url=
-        |           |       |   |   |-- name=
-        |           |       |   |   |-- organization.favicon=
-        |           |       |   |   |-- organization.logo=
-        |           |       |   |   |-- organization.name=
-        |           |       |   |   |-- organization.url=
-        |           |       |   |   |-- relocatedTo.namespace=
-        |           |       |   |   |-- relocatedTo.project=
-        |           |       |   |   |-- relocatedTo.projectVersion=
-        |           |       |   |   |-- scm.connection=
-        |           |       |   |   |-- scm.developerConnection=
-        |           |       |   |   |-- scm.url=
-        |           |       |   |   |-- updated=
-        |           |       |   |   `-- url=
-        |           |       |   `-- maven:artifactId=
-        |           |       `-- maven:groupId=
-        |           `-- maven/
-        |               `-- plugins/
-        |                   |-- maven:groupId=
-        |                   |-- maven:plugins.compiler.artifactId=
-        |                   `-- maven:plugins.compiler.name=
-        |-- facets/
-        |   |-- org.apache.archiva.audit/
-        |   |   `-- 2010/
-        |   |       `-- 01/
-        |   |           `-- 19/
-        |   |               `-- 093600.000/
-        |   |                   |-- action=
-        |   |                   |-- artifact.id=
-        |   |                   |-- artifact.namespace=
-        |   |                   |-- artifact.projectId=
-        |   |                   |-- artifact.version=
-        |   |                   |-- remoteIP=
-        |   |                   `-- user=
-        |   |-- org.apache.archiva.metadata.repository.stats/
-        |   |   `-- 2009/
-        |   |       `-- 12/
-        |   |           `-- 03/
-        |   |               `-- 090000.000/
-        |   |                   |-- scanEndTime=
-        |   |                   |-- scanStartTime=
-        |   |                   |-- totalArtifactCount=
-        |   |                   |-- totalArtifactFileSize=
-        |   |                   |-- totalFileCount=
-        |   |                   |-- totalGroupCount=
-        |   |                   `-- totalProjectCount=
-        |   `-- org.apache.archiva.reports/
-        `-- references/
-            `-- org/
-                `-- apache/
-                    `-- archiva/
-                        |-- parent/
-                        |   `-- 1/
-                        |       `-- references/
-                        |           `-- org/
-                        |               `-- apache/
-                        |                   `-- archiva/
-                        |                       |-- platform/
-                        |                       |   `-- scanner/
-                        |                       |       `-- 1.0-SNAPSHOT/
-                        |                       |           `-- 
referenceType=parent
-                        |                       `-- web/
-                        |                           `-- webapp/
-                        |                               `-- 1.0-SNAPSHOT/
-                        |                                   `-- 
referenceType=parent
-                        `-- platform/
-                            `-- scanner/
-                                `-- 1.0-SNAPSHOT/
-                                    `-- references/
-                                        `-- org/
-                                            `-- apache/
-                                                `-- archiva/
-                                                    `-- web/
-                                                        `-- webapp/
-                                                            `-- 1.0-SNAPSHOT/
-                                                                `-- 
referenceType=dependency
-
-(To update - run "tree --dirsfirst -F" on the unpacked content-model.zip from 
the sandbox)
-
-Notes:
-
-*) config should be reflected to an external configuration file and only 
stored in the content repository for purposes
+*) config not currently used should be reflected to an external configuration 
file and only stored in the content repository for purposes
    of accessing through a REST API, for example
 
-*) In the above example, we have the following coordinates:
-   - namespace = org.apache.archiva.platform (namespaces are of arbitrary 
depth, and are project namespaces, not to be
-                                              confused with JCR's item/node 
namespaces)
-   - project = scanner
-   - version = 1.0-SNAPSHOT
-   - artifact = scanner-1.0-20091120.012345-1.pom
-
-*) filename (scanner-1.0-20091120.012345-1.pom) is a node, and each is 
distinct except for checksums, etc.
 
 *) Projects are just a single code project. They do not have subprojects - if 
such modeling needs to be done, then we
    can create a products tree that will map what "Archiva 1.0" contains from 
the other repositories.

Modified: archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt?rev=908914&r1=908913&r2=908914&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt 
(original)
+++ archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt Thu Feb 
11 10:34:59 2010
@@ -0,0 +1,269 @@
+ ----
+ Metadata Repository
+ ----
+
+Metadata Repository
+
+    The metadata repository stores all known information about a repository in 
a common format that other plugins can
+    understand, and that eventually external applications will be able to 
query.
+
+    Dealing with metadata repositories covers two aspects: the content model, 
and the content repository access API
+    (and persistence).
+
+* Content Model
+
+    The following is a sample tree that represents the content model:
+
+----
+.
+`-- repositories/
+    `-- central/
+        |-- config/
+        |   |-- name=
+        |   |-- storageUrl=
+        |   `-- uri=
+        |-- content/
+        |   `-- org/
+        |       `-- apache/
+        |           |-- archiva/
+        |           |   `-- platform/
+        |           |       |-- scanner/
+        |           |       |   |-- 1.0-SNAPSHOT/
+        |           |       |   |   |-- scanner-1.0-20091120.012345-1.pom/
+        |           |       |   |   |   |-- asc=
+        |           |       |   |   |   |-- created=
+        |           |       |   |   |   |-- fileCreated=
+        |           |       |   |   |   |-- fileLastModified=
+        |           |       |   |   |   |-- maven:buildNumber=
+        |           |       |   |   |   |-- maven:classifier
+        |           |       |   |   |   |-- maven:timestamp=
+        |           |       |   |   |   |-- maven:type=
+        |           |       |   |   |   |-- md5=
+        |           |       |   |   |   |-- sha1=
+        |           |       |   |   |   |-- size=
+        |           |       |   |   |   |-- updated=
+        |           |       |   |   |   `-- version=
+        |           |       |   |   |-- ciManagement.system=
+        |           |       |   |   |-- ciManagement.url=
+        |           |       |   |   |-- created=
+        |           |       |   |   |-- dependencies.0.artifactId=
+        |           |       |   |   |-- dependencies.0.classifier=
+        |           |       |   |   |-- dependencies.0.groupId=
+        |           |       |   |   |-- dependencies.0.optional=
+        |           |       |   |   |-- dependencies.0.scope=
+        |           |       |   |   |-- dependencies.0.systemPath=
+        |           |       |   |   |-- dependencies.0.type=
+        |           |       |   |   |-- dependencies.0.version=
+        |           |       |   |   |-- description=
+        |           |       |   |   |-- individuals.0.email=
+        |           |       |   |   |-- individuals.0.name=
+        |           |       |   |   |-- individuals.0.properties.scmId=
+        |           |       |   |   |-- individuals.0.roles.0=
+        |           |       |   |   |-- individuals.0.timezone=
+        |           |       |   |   |-- issueManagement.system=
+        |           |       |   |   |-- issueManagement.url=
+        |           |       |   |   |-- licenses.0.name=
+        |           |       |   |   |-- licenses.0.url=
+        |           |       |   |   |-- mailingLists.0.mainArchiveUrl=
+        |           |       |   |   |-- mailingLists.0.name=
+        |           |       |   |   |-- mailingLists.0.otherArchives.0=
+        |           |       |   |   |-- mailingLists.0.postAddress=
+        |           |       |   |   |-- mailingLists.0.subscribeAddress=
+        |           |       |   |   |-- mailingLists.0.unsubscribeAddress=
+        |           |       |   |   |-- maven:buildExtensions.0.artifactId=
+        |           |       |   |   |-- maven:buildExtensions.0.groupId=
+        |           |       |   |   |-- maven:buildExtensions.0.version=
+        |           |       |   |   |-- maven:packaging=
+        |           |       |   |   |-- maven:parent.artifactId=
+        |           |       |   |   |-- maven:parent.groupId=
+        |           |       |   |   |-- maven:parent.version=
+        |           |       |   |   |-- maven:plugins.0.artifactId=
+        |           |       |   |   |-- maven:plugins.0.groupId=
+        |           |       |   |   |-- maven:plugins.0.reporting=
+        |           |       |   |   |-- maven:plugins.0.version=
+        |           |       |   |   |-- maven:properties.mavenVersion=
+        |           |       |   |   |-- maven:repositories.0.id=
+        |           |       |   |   |-- maven:repositories.0.layout=
+        |           |       |   |   |-- maven:repositories.0.name=
+        |           |       |   |   |-- maven:repositories.0.plugins=
+        |           |       |   |   |-- maven:repositories.0.releases=
+        |           |       |   |   |-- maven:repositories.0.snapshots=
+        |           |       |   |   |-- maven:repositories.0.url=
+        |           |       |   |   |-- name=
+        |           |       |   |   |-- organization.favicon=
+        |           |       |   |   |-- organization.logo=
+        |           |       |   |   |-- organization.name=
+        |           |       |   |   |-- organization.url=
+        |           |       |   |   |-- relocatedTo.namespace=
+        |           |       |   |   |-- relocatedTo.project=
+        |           |       |   |   |-- relocatedTo.projectVersion=
+        |           |       |   |   |-- scm.connection=
+        |           |       |   |   |-- scm.developerConnection=
+        |           |       |   |   |-- scm.url=
+        |           |       |   |   |-- updated=
+        |           |       |   |   `-- url=
+        |           |       |   `-- maven:artifactId=
+        |           |       `-- maven:groupId=
+        |           `-- maven/
+        |               `-- plugins/
+        |                   |-- maven:groupId=
+        |                   |-- maven:plugins.compiler.artifactId=
+        |                   `-- maven:plugins.compiler.name=
+        |-- facets/
+        |   |-- org.apache.archiva.audit/
+        |   |   `-- 2010/
+        |   |       `-- 01/
+        |   |           `-- 19/
+        |   |               `-- 093600.000/
+        |   |                   |-- action=
+        |   |                   |-- artifact.id=
+        |   |                   |-- artifact.namespace=
+        |   |                   |-- artifact.projectId=
+        |   |                   |-- artifact.version=
+        |   |                   |-- remoteIP=
+        |   |                   `-- user=
+        |   |-- org.apache.archiva.metadata.repository.stats/
+        |   |   `-- 2009/
+        |   |       `-- 12/
+        |   |           `-- 03/
+        |   |               `-- 090000.000/
+        |   |                   |-- scanEndTime=
+        |   |                   |-- scanStartTime=
+        |   |                   |-- totalArtifactCount=
+        |   |                   |-- totalArtifactFileSize=
+        |   |                   |-- totalFileCount=
+        |   |                   |-- totalGroupCount=
+        |   |                   `-- totalProjectCount=
+        |   `-- org.apache.archiva.reports/
+        `-- references/
+            `-- org/
+                `-- apache/
+                    `-- archiva/
+                        |-- parent/
+                        |   `-- 1/
+                        |       `-- references/
+                        |           `-- org/
+                        |               `-- apache/
+                        |                   `-- archiva/
+                        |                       |-- platform/
+                        |                       |   `-- scanner/
+                        |                       |       `-- 1.0-SNAPSHOT/
+                        |                       |           `-- 
referenceType=parent
+                        |                       `-- web/
+                        |                           `-- webapp/
+                        |                               `-- 1.0-SNAPSHOT/
+                        |                                   `-- 
referenceType=parent
+                        `-- platform/
+                            `-- scanner/
+                                `-- 1.0-SNAPSHOT/
+                                    `-- references/
+                                        `-- org/
+                                            `-- apache/
+                                                `-- archiva/
+                                                    `-- web/
+                                                        `-- webapp/
+                                                            `-- 1.0-SNAPSHOT/
+                                                                `-- 
referenceType=dependency
+----
+
+    ~~ To update - run "tree --dirsfirst -F" on the unpacked content-model.zip 
from the sandbox
+
+    This uses a typical content repository structure, where there is a path to 
a particular node (the last paths in
+    the structure above), and nodes can have properties and values (shown as 
<<<property=value>>> above).
+
+    <Note:> Some of the properties have been put in place temporarily but need 
to be revisited - for example the use
+            of index counters for the lists of Maven POM information are not 
ideal.
+
+    The following sections walk through parts of the tree.
+
+** Configuration section
+
+   ...
+
+** Content section
+
+    The content section houses the information directly about the artifacts in 
the repository. As described in the
+    {{{./terminology.html} Terminology}} document, artifacts are described by 
the following coordinates (with the values
+    shown from the example above):
+
+        * Namespace (<<<org.apache.archiva.platform>>>) - namespaces are of 
arbitrary depth, and are project namespaces,
+                                                          not to be confused 
with JCR's item/node namespaces
+
+        * Project ID (<<<scanner>>>)
+
+        * Project version (<<<1.0-SNAPSHOT>>>)
+
+        * Artifact ID (<<<scanner-1.0-20091120.012345-1.pom>>>)
+
+        []
+
+    Each artifact in the repository will contain an entry, though not 
necessarily every file. For example, in a Maven
+    repository it is known that the <<<.md5>>>, <<<.sha1>>> and <<<.asc>>> 
files represent metadata about the artifact
+    of the same name, so that is attached to that node instead.
+
+    Metadata is stored at the level most appropriate to that piece of 
information. This means that in a Maven
+    repository, while both the POM and other artifact(s) are considered be 
separate artifacts, they all share the
+    information in the POM that is stored at the project version or even 
project level.
+
+    The following describes some of the metadata at each level. Note that the 
Maven extensions are covered here - these
+    are optional, and they wouldn't be present on a non-Maven storage 
repository. Likewise, plugins may store
+    additional metadata for each artifact.
+
+*** Namespace Metadata
+
+    * <<<maven:groupId>>> - the Maven group ID
+
+*** Project Metadata
+
+    * <<<maven:artifactId>>> - the Maven artifact ID
+
+*** Project Version Metadata
+
+    * <<<created>>> - when the artifact was added to the repository
+
+    * <<<updated>>> - when the artifact was last updated
+
+    * <<<name>>> - human-readable project name
+
+    * <<<description>>> - a human-readable description of this project
+
+    * <<<url>>> - a URL to the project's documentation or other information
+
+    * <<<organization[].*>>> - information about the organization
+
+    * <<<licenses[].*>>> - the license the project source code is available 
under
+
+    * <<<issueManagement.*>>> - the issue tracker used by the application
+
+    * <<<ciManagement.*>>> - continuous integration server information
+
+    * <<<dependencies[].*>>> - other projects that this project version 
depends on. Note that currently this contains
+                               Maven specifics that are expected to be 
abstracted out into the Maven extensions
+
+    * <<<individuals[].*>>> - participants in the development of, or otherwise 
associated with, the project
+
+    * <<<scm.*>>> - information about the SCM used to store the project source 
code
+
+    * <<<relocatedTo.*>>> - co-ordinates that this artifact has been relocated 
to
+
+    * <<<maven:packaging>>> - the packaging value in the Maven POM
+
+    * <<<maven:parent.*>>> - a reference to the Maven parent POM
+
+    * <<<maven.plugins[].*>>> - references to build plugins in a Maven POM
+
+    * <<<maven.repositories[].*>>> - references to other repositories in a 
Maven POM
+
+    * <<<maven:buildExtensions[].*>>> - references to build extensions in a 
Maven POM
+
+    * <<<maven:properties.*>>> - properties stored in a Maven POM
+
+
+    ~~ information about it (notes to convert)
+
+    ~~ Java API
+
+    ~~ access
+
+    ~~ persistence
+


Reply via email to