Question

I'm in the process of implementing Modeshape(4) as an asset repository. Currently I'm having trouble with sequencers not automatically traversing configured externalSources (specifically the FileSystemConnector).

The configuration of the 2 services are as follow:

...
      "externalSources": {
         "local-fs" : {
                "classname": "org.modeshape.connector.filesystem.FileSystemConnector",
                "directoryPath": "src/test/resources/repository",
                "addMimeTypeMixin": true,
                "projections": [ "default:/test => /" ]
            }
        },
        "sequencing": {
            "sequencers": {
                "Image Sequencer": {
                    "classname": "org.modeshape.sequencer.image.ImageMetadataSequencer",
                    "pathExpressions": [ "default://(*.(gif|png|pict|jpg|tiff|tif))/jcr:content[@jcr:data] => /images/$1" ]
                }
            }
        },
...

When running with this configuration the folder that is pinned to the /test node is resolved correctly and all the files which it contains are presented correctly as nt:file and nt:folder nodes.

No image:metadata nodes are generated from the files found under /test/** that fit the sequencers path expression but if I am to upload an image file (outside of the /test folder) everything works as expected (the image sequencer performs sequencing).

I also made sure to perform a reindex on the workspace just to ensure that even after the file system connector had initialized the image:metadata nodes were not being created by the sequencer`.

My current work around is to manually sequence this node (which works well enough) but I would imagine this could be automated by the system and I've missed some vital configuration option. Does anyone have any incite as to how I could have the sequencer hit these files automatically, perhaps on reindex?

Was it helpful?

Solution

At this time, the sequencers only run when there is an event signaling a change in the content. When the repository loads the external file system as nodes, these are not considered as 'new' and thus the sequencer does not run.

Feel free to join the ModeShape community and request an improvement in ModeShape to automatically run the sequencers on external partitions like this.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top