Plugin to Adobe I/O CLI for executing commands related to Adobe Experience Manager.
To install the and use the command locally:
$ npm install -g @adobe/aio-cli-plugin-aem
$ aio-aem COMMAND
running command...
$ aio-aem (-v|--version|version)
@adobe/aio-cli-plugin-aem/1.0.4 darwin-x64 node-v10.16.3
$ aio-aem --help [COMMAND]
USAGE
$ aio-aem COMMAND
...
To add a new command, do the following:
- Create a new javascript file, named after the command, in src/commands/aem.
- Use the contents of src/commands/aem/upload.js as a starting point for your command, paying
particular attention to the command's
flags
,args
, anddescription
. For additional information and features, see https://oclif.io. - Ensure that the file's exports include an object with a property matching the command name.
There are a couple options for running commands through the locally cloned repository.
// run command through Node.js
node bin/run aem:COMMAND
// run command as a binary (Mac)
./bin/run aem:COMMAND
// run command as a binary (Windows)
bin/run.cmd aem:COMMAND
// run using specifed NPM command
npm link // only needs to be run once
aio-aem aem:COMMAND
Upload asset binaries to AEM
USAGE
$ aio-aem aem:upload FILES_FOLDERS
ARGUMENTS
FILES_FOLDERS Space-delimited list of files and folders to upload.
OPTIONS
-c, --credential=credential [default: admin:admin] AEM credential
The username and password for authenticating with the
target AEM instance. Should be in the format
<username>:<password>.
-h, --host=host [default: http://localhost:4502] AEM host
The host value of the AEM instance where files will be
uploaded. This should include everything in the host's
URL up until /content/dam.
-l, --log=log [default: upload-${timestamp}.log] Log file path
The local path to where the process's log messages
should be saved.
-o, --output=output [default: result-${timestamp}.html] Result html file path
The local path to where the process's metrics will be
saved in html format.
-r, --threads=threads [default: 5] Maximum threads
Maximum number of files to upload concurrently.
-t, --target=target [default: /content/dam/aem-upload-${timestamp}] Target AEM folder
The folder in the target AEM instance where asset
binaries should be uploaded. Should always begin with
/content/dam.
-d, --deep=[true|false] [default: false] Whether to perform a deep upload,
e.g. to recurssively upload all files and folders
underneath the target folder.
-v, --version Show version
--help Show help
DESCRIPTION
Uploads one or more files to a target AEM instance. The upload process uses the
direct binary access algorithm, so the target instance must have direct binary
access enabled; otherwise the upload will fail.
The process will upload the files or directories (non-recursive) provided in
the command.
Note that the process will only work with AEM instances that use basic
(i.e. non-SSO) authentication.
EXAMPLES
$ aio aem:upload myimage.jpg
$ aio aem:upload -h http://myaeminstance -c admin:12345 myimage.jpg
See code: src/commands/aem/upload.js
This module uses semantic-release when publishing new versions. The process is initiated upon merging commits to the master
branch. To create a release, ensure
that the commit message of the PR begins with one of the following values:
BREAKING-RELEASE:
- Increments the
major
version number (i.e. 1.2.3 would become 2.0.0)
- Increments the
FEATURE-RELEASE:
- Increments the
minor
version number (i.e. 1.2.3 would become 1.3.0)
- Increments the
BUGFIX-RELEASE:
- Increments the
patch
version number (i.e. 1.2.3 would become 1.2.4)
- Increments the
PRs whose messages do not meet this format will not generate a new release.
Release notes are generated based on semantic-release's eslint preset. Follow the guidelines in the preset's documentation to include commit messages in a release's notes.
Contributions are welcomed! Read the Contributing Guide for more information.
This project is licensed under the Apache V2 License. See LICENSE for more information.