grunt-cmiscopy v0.2.7
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-devOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-cmiscopy');Usage
grunt cmiscopy takes two optional command line parametes - path and action: grunt cmiscopy:path:action
where
pathis path to file or folder in CMS relative tooptions.cmisRootactionis an action flag. Supported actions:downloadord(default)uploadorulistorl- list all objects in folder recursively
Usage Examples
grunt cmiscopywill download all content of$cmisRootto$localRootgrunt cmiscopy:pageswill download$cmisRoot/pagesfolder with it's sub-folders to$localRoot/pagesgrunt cmiscopy:pages:lwill list all documents in$cmisRoot/pagesfoldergrunt cmiscopy::lwill list all documents in$cmisRootfoldergrunt cmiscopy:pages:uwill upload local$localRoot/pagesto CMS$cmisRoot/pagesgrunt cmiscopy:pages/faq.htmlwill download$cmisRoot/pages/faq.htmlfile to local$localRoot/pages/faq.htmlgrunt cmiscopy:pages/faq.html:uwill upload local$localRoot/pages/faq.htmlto$cmisRoot/pages/faq.html
Configuration
In your project's Gruntfile, add a section named cmiscopy to the data object passed into grunt.initConfig().
grunt.initConfig({
cmiscopy: {
options: {
url: 'http://cmis.alfresco.com/cmisbrowser',
cmisRoot: '/Sites/mysite',
localRoot: 'mysite',
username: 'admin',
password: 'admin'
}
},
});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