Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-840

Support for setting jcr:created when importing Into the repository

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Duplicate
    • 1.2.3, 1.4, 2.0
    • None
    • JCR 1.0.1, JCR 2.0
    • None
    • Java 1.6_01, Tomcat 5.5.x, Postgresql 8.2

    Description

      When importing content from one repository or source into Jackrabbit, it is impossible to set the jcr:created property. The specification indicates that the property is protected, however section 7.3 indicates that "Level 2 Repositories must support the import of content". It goes on to read in section 7.3.3,

      "When an element or attribute representing such a property is encountered, an implementation may either skip it or respect it. To respect it means to import it and alter the internal state of the repository in accordance with the semantics of the property in the given implementation. .... To skip the element or attribute means not to import it all. It does not mean to import it but then ignore its semantic implications.

      The implementation-specific policy regarding what to skip and what to respect must be internally consistent. For example, it makes no sense to skip jcr:mixinTypes (thus missing the presence of mix:lockable, for example) and yet respect jcr:lockOwner and jcr:lockIsDeep."

      Overall, the ability to set the value of jcr:created when importing content will allow conversion from other repositories (e.g Apache Slide) to Jackrabbit as well as allowing a complete export of the jackrabbit repository to be restored to its proper state at a later point in time. Setting the value could be done during the execution of the importXML and getImportContentHandler methods available to the Session and the Workspace objects. By supporting this one could transition to jackrabbit and the dates of creation from the original repository (e.g. again Slide) would reflect the origins of the repository rather than the date when the transition occurred. Finally, this is not to be confused with the various restore methods in the JCR API which allow for restoring a node or workspace to a previous state (versioning).

      see the mailing lists discussion that spawned this issue:
      http://article.gmane.org/gmane.comp.apache.jackrabbit.user/2790

      Attachments

        Activity

          People

            Unassigned Unassigned
            juliank Julian Klein
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: