Skip to content

Import and export of workflow files from to EasySOA

fenrhil edited this page May 3, 2012 · 38 revisions

This page is about technical solutions to provide seamless import/export of workflow files from/to EasySOA. The goals, extracted from EasySOA and workflow build process, are the following:

  • Architects should be able to work on workflow files (business, technical and executable files) stored on EasySOA as easily as if they were stored locally.
  • Constraints:
    • shall be available when using "vanilla" (not EasySOA-branded) editors, at least in a "fallback", less user-friendly mode.
    • (optional) should provide an offline mode, while keeping the data's consistency -- to avoid spreading data on several storages.
    • (optional) should not require any change to the editors

Summary

Consistency Offline mode No changes to editor
Solution #1 + ? ++
Solution #2 ? ? ?
Solution #3 - ? --

Solution #1: WebDAV mountpoint

Idea

Mount a remote Nuxeo view on the user's filesystem. Then, editors work as usual: they are "fooled", since they don't "know" about EasySOA. Users could browse this filesystem to import or export the files at relevant places. To improve user-friendliness, we could add wizards in editors to create the files in the right folder (based on the mountpoint, project name, workflow name, and so on).

Details

Since mounting filesystems on one another is typically an operating system job, the client-side solution will depend on the user's OS.

  • On Windows, network drives
  • CHECKED On Linux, davfs with possibly other solutions, including graphical front-ends (in GNOME's Nautilus for example)
  • On Mac OS X, Finder seems to support WebDAV mounting natively.
  • On other platforms, well, who knows?

WebDAV seems supported in Nuxeo. There is some documentation about working with WebDAV in Nuxeo, too.

Working this way would probably induce some limitations ; for example, we may need to create "Workflow" items in Nuxeo before beeing able to create workflow diagrams at the right place.

Offline mode

On Windows, the Briefcase ("Porte-documents" in french) enables working on cached versions of online documents. According to Alfresco's documentation, simply mounting a WebDAV space as a shared network drive would do the trick (this seems too simple, though).

On Linux and Mac OS, we still need to find a solution.

Example

Nuxeo view (might be completely different):

.
└── projects
    ├── proj1
    │   ├── service1
    │   ├── service2
    │   ├── workflow1
    │   │   ├── doc1
    │   │   └── doc2
    │   └── workflow2
    │       ├── doc1
    │       └── doc2
    └── proj2
        ├── service1
        └── service2

User's FS:

.
├── my_docs
├── programs
└── work

Nuxeo view mounted on user's FS:

.
├── my_docs
├── programs
└── work
    └── projects
        ├── proj1
        │   ├── service1
        │   ├── service2
        │   ├── workflow1
        │   │   ├── doc1
        │   │   └── doc2
        │   └── workflow2
        │       ├── doc1
        │       └── doc2
        └── proj2
            ├── service1
            └── service2

Solution #2: CMIS

Idea

Use CMIS technology to allow the editor to access Nuxeo.

TODO: refine this idea. Note (mdutoo): better for integrating ECM into applications See also:

Solution #3: dedicated library

Insert a plugin in each editor, which uses a library performing file transfer with Nuxeo (import and export), which itself uses for example REST APIs. The plugins integrates the library in editors (with some UI modifications) and thus enable users to use remote files. For editors which can't be modified, Nuxeo's web interface is used to upload or download files.

Miscelaneous

Offline Nuxeo

In order to add offline support to any solution, we could set up a local instance of Nuxeo on each designer's machine, and keep it in sync with the central instance when the network is on.

It doesn't seem feasible, since an old version of Nuxeo's documentation mentions it but in read-only mode. I (fenrhil) could not find a matching page in the current documentation), though. The closest matches were:

Clone this wiki locally