Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Test Environment

Ubuntu 16.10

Composition of Resources

  1. No structural hierarchy
  2. 2 collections
  3. 3 books in each collection
  4. 2 managed images in each book of first collection
  5. 2 external content in the other collection of books
  6. relationships:
    1. col <hasMember> book
    2. book <isPartOf> col
    3. book <hasMember> image
  7. Some custom types and properties on resources

Initialization

Code Block
HOST=localhost
PORT=8686
CONTEXT=f4
  1. Start Fedora 4.7.1-RC-2 one-click at port=8686 and context=f4

    Code Block
    java -Dfcrepo.dynamic.jms.port=61717 -Dfcrepo.dynamic.stomp.port=61713 -jar fcrepo-webapp/target/fcrepo-webapp-4.7.1-SNAPSHOT-jetty-console.jar --port 8686 --headless --contextPath /f4
  2. Start Fedora 4.7.1-RC-2 one-click at port=8080 and context=fcrepo

    Code Block
    java -jar fcrepo-webapp/target/fcrepo-webapp-4.7.1-SNAPSHOT-jetty-console.jar --port 8080 --headless --contextPath /fcrepo
  3. Load resources per ingest.sh
    1. Example RDF of resources
      1. collection0.rdf
      2. book0.rdf
      3. bookA.rdf
  4. Download 0.1.0 import/export jar

...

  1. Export from /f4 without binaries

    Code Block
    java -jar ./bin/fcrepo-import-export-0.1.0.jar -a -d data -m export -r http://localhost:8686/f4/rest/
    1. (tick) Audit log looks correct
    2. (tick) Correct resources were exported to data-dir
  2. Import to /fcrepo

    Code Block
    java -jar ./bin/fcrepo-import-export-0.1.0.jar -a -d data -m import -s http://localhost:8686/f4/rest/ -r http://localhost:8080/fcrepo/rest/
    1. Output:

      No Format
      $ INFO 10:11:50.360 (Importer) Running importer...
    2. (warning) No resources loaded into /fcrepo
    3. (warning) Looking for user notes on how to configure logging... none found
  3. Import to /fcrepo with logging

    Code Block
    java -Dfcrepo.log.importexport=TRACE -jar ./bin/fcrepo-import-export-0.1.0.jar -a -d data -m import -s http://localhost:8686/f4/rest/ -r http://localhost:8080/fcrepo/rest/

     

    1. Output:

      No Format
      $ DEBUG 10:14:46.806 (Importer) No container exists in the metadata directory data/fcrepo/rest.ttl for the requested resource http://localhost:8080/fcrepo/rest, importing all contained resources instead.
    2. (warning) Question, is it possible to export from :8686/f4 to :8080/fcrepo ?
      1. Resolution: Moved dir data/f4 to data/fcrepo, re-ran:

        Code Block
        java -Dfcrepo.log.importexport=TRACE -jar ./bin/fcrepo-import-export-0.1.0.jar -a -d data -m import -s http://localhost:8686/f4/rest/ -r http://localhost:8080/fcrepo/rest/
      2. (warning) Audit log indicates collections were imported, but received 400 on books
      3. (warning) Only book placeholder resources exist

Test

...

0 Conclusions

  1. (error) Round-tripping from one context to another not fully supported
  2. (error) Re-importing resources with inter-relationships not supported

...

Test 1 - Export/Import with binaries

...

  1. Export from /f4 with binaries

    Code Block
    java -jar ./bin/fcrepo-import-export-0.1.0.jar -b -a -d data -m export -r http://localhost:8686/f4/rest/

...

  1.  

    1. (tick) Audit

...

    1. log looks correct

...

    1. (tick) Correct resources were exported to data-dir, including internal and external binaries

...

  1. Import to /fcrepo

      ...

        1. Per discovery in Test 0, moved dir data/f4 to data/fcrepo,

      ...

        1. before running:

          Code Block
          java -jar ./bin/fcrepo-import-export-0.1.0.jar -b -a -d data -m import -s http://localhost:8686/f4/rest/ -r http://localhost:8080/fcrepo/rest/

      ...

        1. (tick) Audit log looks correct

      ...

        1. (tick) Visual comparison of HTML view of repositories looks correct

      ...

        1. Note: namespaces must be defined in an external CND

      ...

      Test 1 Conclusions

      1. (tick) Round-tripping with binaries works as expected, noting that the data-dir must be renamed if importing to a different context

      ...

      Test 2 - Export/Import single resource

      ...

      1. Export from /f4 - single resource

        Code Block
        java -jar ./bin/fcrepo-import-export-0.1.0.jar -b -a -d data -m export -r http://localhost:8686/f4/rest/collection0

      ...

      1.  

        1. (tick) Audit

      ...

        1. log looks correct

      ...

        1. (tick)Correct resource was exported to data-dir

      ...

      1. Import to /fcrepo

          ...

            1. Per discovery in Test 0, moved dir data/f4 to data/fcrepo,

          ...

            1. before running:

              Code Block
              java -jar ./bin/fcrepo-import-export-0.1.0.jar -b -a -d data -m import -s http://localhost:8686/f4/rest/collection0 -r http://localhost:8080/fcrepo/rest/collection0

          ...

            1. (thumbs up)(thumbs down)Audit log has confusing output:

          ...

            1. No Format
              $ 2017-01-08 10:59:39,544

          ...

            1.  import /import-export-testing/data/fcrepo/rest/collection0.ttl to http://localhost:8080/fcrepo/rest/collection0/../collection0

               

          ...

              1. Note: /rest/collection0/../collection0

          ...

            1. (warning)Relationships point to resources with their original (/f4) URIs

          ...

          Test 2 Conclusions

          1. (thumbs up)(thumbs down)Audit logging is correct but needs polish

          ...

          1. (error) Relationships to non-imported resources are not supported

          ...

          Test 3 - Export/Import single resource - with user-provided membership relationship, with internal binaries

          ...

          1. Export from /f4 - single resource

            Code Block
            java -jar ./bin/fcrepo-import-export-0.1.0.jar -b -a -p http://pcdm.org/models#hasMember -d data -m export -r http://localhost:8686/f4/rest/collection0

          ...

          1.  

            1. (tick) Audit

          ...

            1. log looks correct

          ...

            1. (tick)Correct resources were exported to data-dir, including internal binaries

          ...

          1. Import to /fcrepo

              ...

                1. Per discovery in Test 0, moved dir data/f4 to data/fcrepo,

              ...

                1. before running:

                  Code Block
                  java -jar ./bin/fcrepo-import-export-0.1.0.jar -b -a -d data -m import -s http://localhost:8686/f4/rest/collection0 -r http://localhost:8080/fcrepo/rest/collection0

              ...

                1. (question)Only targeted resource was imported

              ...

              1. Import to /fcrepo, indicating membership predicate

                Code Block
                java -jar ./bin/fcrepo-import-export-0.1.0.jar -b -a -p http://pcdm.org/models#hasMember -d data -m import -s http://localhost:8686/f4/rest/collection0 -r http://localhost:8080/fcrepo/rest/collection0

              ...

              1.  

                1. (question)Only targeted resource was imported

              ...

              1. Import to /fcrepo, not specifying single resource

                Code Block
                java -jar ./bin/fcrepo-import-export-0.1.0.jar -b -a -d data -m import -s http://localhost:8686/f4/rest/ -r http://localhost:8080/fcrepo/rest/

              ...

              1.  

                1. (tick) Audit log looks correct

              ...

                1. (tick)Correct resources were imported from data-dir, including internal binaries, relationships correct - pointing to internal resources

              ...

              Test 3 Conclusions

              1. (tick) User-provided membership produces expected export

              ...

              1. (error) Re-imports must either be for a single resource or for the full repository... not clear how to re-import a tree of resources based on user-provided membership predicates

              ...

              Test 4 - Export/Import single resource - with user-provided membership relationship, with external binaries

              ...

              1. Export from /f4 - single resource

                Code Block
                java -jar ./bin/fcrepo-import-export-0.1.0.jar -b -a -p http://pcdm.org/models#hasMember -d data -m export -r http://localhost:8686/f4/rest/collection1

              ...

              1.  

                1. (tick) Audit

              ...

                1. log looks correct

              ...

                1. (tick)Correct resources were exported to data-dir, including external binaries

              ...

              1. Import to /fcrepo, not specifying resource... per lesson from Test 3

                Code Block
                java -jar ./bin/fcrepo-import-export-0.1.0.jar -b -a -d data -m import -s http://localhost:8686/f4/rest/ -r http://localhost:8080/fcrepo/rest/

              ...

              1.  

                1. (tick) Audit

              ...

                1. log looks correct

              ...

                1. (tick)Correct resources were imported from data-dir, including external binaries, relationships correct - pointing to

              ...

                1. external resources

              Test 5 - Export/Import - WebAC resources

              Test 6 - Export/Import - Direct Containers

              Test 7 - Export/Import - Indirect Containers