grunt-cmiscopy
Copy files and folders to and from CMS. This plugin wraps CmisJS library to provide an easy way to access content in CMIS repositories like Alfresco. It can be used to author content (download - edit - upload), to list documents or to use in automated tests to dynamically download content.
New in version 0.2.6 - will not overwrite repository files if local version is stale (doesn't match the repository version)
Note: Starting from version 0.2.0 it will not overwrite files with the same content. Simply download (or upload) the whole directory and only changed files will be updated.
Install
Install this plugin with this command:
npm install grunt-cmiscopy --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt;
Usage
grunt cmiscopy
takes two optional command line parametes - path and action: grunt cmiscopy:path:action
where
path
is path to file or folder in CMS relative tooptions.cmisRoot
action
is an action flag. Supported actions:download
ord
(default)upload
oru
list
orl
- list all objects in folder recursively
Usage Examples
-
grunt cmiscopy
will download all content of$cmisRoot
to$localRoot
-
grunt cmiscopy:pages
will download$cmisRoot/pages
folder with it's sub-folders to$localRoot/pages
-
grunt cmiscopy:pages:l
will list all documents in$cmisRoot/pages
folder -
grunt cmiscopy::l
will list all documents in$cmisRoot
folder -
grunt cmiscopy:pages:u
will upload local$localRoot/pages
to CMS$cmisRoot/pages
-
grunt cmiscopy:pages/faq.html
will download$cmisRoot/pages/faq.html
file to local$localRoot/pages/faq.html
-
grunt cmiscopy:pages/faq.html:u
will upload local$localRoot/pages/faq.html
to$cmisRoot/pages/faq.html
Configuration
In your project's Gruntfile, add a section named cmiscopy
to the data object passed into grunt.initConfig()
.
grunt;
Options
options.url
A url to connect to your CMS
options.cmisRoot
The root folder in CMS that will be mapped to the local folder
options.localRoot
The local folder cmisRoot
is mapped to
options.username
username to be used when authenticating with CMS
options.password
password to be used when authenticating with CMS
Limitations:
- it will not create new content in CMS
- it will not delete anything
TODO:
- support for 'checkout' and 'checkin' actions
- creating new content in CMS