]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1025] add other properties to the content model from maven metadata and filesystem
authorBrett Porter <brett@apache.org>
Wed, 2 Dec 2009 05:34:27 +0000 (05:34 +0000)
committerBrett Porter <brett@apache.org>
Wed, 2 Dec 2009 05:34:27 +0000 (05:34 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/branches/MRM-1025@886053 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/metadata/content-model.txt

index a2c2a5b7d16cb93edd1ec5478f2d558472649366..6b94b757d02172e75ac0c5354c72b7944c3ce1b0 100644 (file)
@@ -10,83 +10,90 @@ The following is the intended content model for the metadata content repository:
         |-- content/
         |   `-- org/
         |       `-- apache/
-        |           `-- archiva/
-        |               `-- platform/
-        |                   |-- scanner/
-        |                   |   |-- 1.0-SNAPSHOT/
-        |                   |   |   |-- scanner-1.0-20091120.012345-1.pom/
-        |                   |   |   |   |-- asc=
-        |                   |   |   |   |-- created=
-        |                   |   |   |   |-- 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=
+        |           |-- 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=
         `-- references/
             `-- org/
                 `-- apache/
@@ -117,10 +124,9 @@ The following is the intended content model for the metadata content repository:
                                                             `-- 1.0-SNAPSHOT/
                                                                 `-- referenceType=dependency
 
-
 (To update - run "tree --dirstfirst -F" on the unpacked content-model.zip from the sandbox)
 
-Notes: 
+Notes:
 
 *) config 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
@@ -162,7 +168,10 @@ Notes:
    maven:artifactId), for convenience when loaded by the implementation it may all be pushed into the projectVersion's
    information. The metadata repository implementation can decide how best to store and retrieve the information.
 
-*) created/updated timestamps may be maintained by the metadata repository implementation
+*) created/updated timestamps may be maintained by the metadata repository implementation for the metadata itself.
+   Timestamps for individual files are stored as additional properties (fileCreated, fileLastModified). It may make
+   sense to add a "discovered" timestamp if an artifact is known to be created at a different time to which it is added
+   to the metadata repository.
 
 *) references are stored outside the main model so that their creation doesn't imply a "stub" model - we know if the
    project exists whether a reference is created or not. References need not infer referential integrity.
@@ -180,4 +189,3 @@ Notes:
 
 *) Future possibilities:
    - audit metadata on artifacts (who uploaded, when, and how), or whether it was discovered by scanning
-