* NG-16 - migration step 1 * NG16 - fixed the builds * [MIGRATION] - Switching off no empty functions rule * [MIGRATION] - Somehow the fix for the cli types got lost * [MIGRATION] - Something happened on the way to heaven * [MIGRATION] - Ok this is weird * [MIGRATION] - Ok this is really weird * [MIGRATION] - change selector for expanded expansion panel content * [MIGRATION] - storybook chips related e2e fails fix, unit alignments * [MIGRATION] - Ok this is really weird * [MIGRATION] - Updating outdated packages * [MIGRATION] - updated deps for process cloud * [MIGRATION] - Rebased to latest * [MIGRATION] - Fixed lint * [MIGRATION] - Fixed package version * Rebased with lastest changes * [MIGRATION] - check to update the script * [MIGRATION] - rebased after the move of AlfrescoApiService * [MIGRATION] - fixed schematics build * [MIGRATION] - the lesson is : do not change what is already working * Rebased to latestp * Fixes after CR (#10202) * Fixed white background issue in sidenav after ng16 upgrade (#10207) * [MIGRATION] fix header background color not being read from input prop * Fixed build * Rebased * Fix package version after release * Thanks apollo deps * custom theme missing sidenav color * fix filter subscript overlapping dropdown items * [ACS-8749] View More tags button no longer shows when all tags are removed from a node (#10285) * [ACS-8741] Sidenav text for Process and Task filters is now grey (#10284) * AAE-26037 Moved permissions role selector styles to a dedicated file (#10297) * Removed fallback and starting using simple token * Removed fallback and starting using simple token * Fixed related unit test * Fixed related unit test * Writing should use the same calss as reading * Fixed unit tests for insights * Fixed unit tests for insights * Added fallback for JWT token * Added fallback for JWT token * Auto import fix * Added fallback for injection * Added fallback for injection * Trying to fix JWT token issue * Fixed unit tests * Fixed unit tests * Fixed style for collaborators * fixed permission row height * AAE-26163 Fix infinite loop when authentication error event occured (#10272) * AAE-26163 Logout user after 3 login attempts failed, avoiding infinite loop when an authentication error occured, like when a user machine clock is significantly out of sync * AAE-26163 Wait to discovery document to be loaded and user not authenticated to perform a ssoLogin, logout user if login fails after 3 attempts * AAE-26163 Fix missed id_token_hint invoking logout when a login error occured due to a clock significantly out of sync * AAE-26163 Add fake observable to unit test * AAE-26163 Show oauth event logs if showDebugInformation is enabled, remove auth items if access token is not valid * AAE-26163 Improve tryLogin error message * AAE-26163 Check if token has expired to fix case when user access the application after the token is expired and with a clock significantly out of sync * AAE-26163 Test logout when clock is out of sync * AAE-26163 Create a service to check if local machine time is out of sync * AAE-26163 Update oauthErrorEvent$ and combinedOAuthErrorsStream$ to return errors * AAE-26163 Output error within combined oauth error event subscription * AAE-26163 Fix lint problems * AAE-26163 Logout user when token refresh error happens for the second time, if the token is not refreshed properly after first refresh error * AAE-26163 Logout user once an oauth error event occur due to clock out of sync * AAE-26163 Fix retry login error message if the OAuthErrorEvent doesn t return reason * AAE-26163 Fix the issue where the logout API call is canceled by the authorize call when login fails due to clock synchronization problems, causing an infinite loop. * remove console.log * AAE-26163 Fix retry login error message if the OAuthErrorEvent reason is an empty object * Updating dependencies * Fixed subject complete to avoid calling a reset event when complete --------- Co-authored-by: Wojciech Duda <69160975+wojd0@users.noreply.github.com> Co-authored-by: dominikiwanekhyland <141320833+dominikiwanekhyland@users.noreply.github.com> Co-authored-by: swapnil-verma-gl <92505353+swapnil-verma-gl@users.noreply.github.com> Co-authored-by: Ehsan Rezaei <ehsan.rezaei@hyland.com> Co-authored-by: Amedeo Lepore <amedeo.lepore@hyland.com>
Alfresco ADF Cli
The ADF CLI provides a set of utilities to manage your ADF projects.
Installation
To get started, follow these instructions:
npm install @alfresco/adf-cli -g
To know more about any command use the -h or --help option:
adf-cli <command> --help
Developing
Link the project as a global tool
npm link
Build the tool in the develop mode (automatically watches for changes and rebuilds the commands):
npm run develop
Run the tool with the DEVELOP
environment variable:
DEVELOP=true adf-cli <command>
In develop mode, the CLI takes the prebuilt scripts from the dist folder.
Commands
Commands | Description |
---|---|
changelog | Generate changelog report for two branches of git repository |
check-cs-env | Check cs env is up |
check-plugin-env | Check plugin status |
docker | Build and publish a docker image or create additional tag link |
init-aae-env | Init env |
init-aps-env | Init aps |
licenses | Create a 3th party license file |
audit | Check the security risk dependency in your package.json |
Examples
Changelog
You can get command details by using --help
argument
adf-cli changelog --help
The format of the command is as following:
Usage: adf-cli changelog [options]
Generate changelog report for two branches of git repository
Options:
-v, --version output the version number
-r, --range <range> Commit range, e.g. master..develop (default: "master..develop")
-d, --dir <dir> Working directory (default: working directory)
-m, --max <number> Limit the number of commits to output
-o, --output <dir> Output directory, will use console output if not defined
--skip <number> Skip number commits before starting to show the commit output
-f, --format <format> Output format (md, html) (default: "md")
-e --exclude <string> Exclude authors from the output, comma-delimited list
-h, --help output usage information
Usage examples
# show changelog in the console for the current directory
adf-cli changelog -r master..develop -d .
# show changelog in the console for a specific folder
adf-cli changelog -d ~/github/alfresco-ng2-components
# generate changelog for specific folder and pipe the console output to a file
adf-cli changelog -d ~/github/alfresco-ng2-components > log.md
# generate changelog report in the default format as "changelog-X.X.X.md" and save to the current folder
adf-cli changelog -d ~/github/alfresco-ng2-components -o .
# generate changelog report and save it to a specific folder
adf-cli changelog -d ~/github/alfresco-ng2-components -o ../reports
# generate changelog report in the HTML format and save to the current folder
adf-cli changelog -d ~/github/alfresco-ng2-components -f html -o .
# generate report in the default format and save to the current folder, reset all filters (including embedded ones for bots)
adf-cli changelog -d ~/github/alfresco-ng2-components -e ""
# generate report in the default format excluding commits made by certain authors
adf-cli changelog -d ~/github/alfresco-ng2-components -e "bot,user1,user2"
License Check
Move in the folder where you have your package.json
and run the command:
npm install
adf-cli licenses
Audit Check
Move in the folder where you have your package.json
and run the command:
npm install
adf-cli audit
Docker
The command provides 2 targets 'Publish' (default value) and 'Link'
Publish target
Move in the folder where you have your Dockerfile
and run the command:
adf-cli docker --target "publish" --dockerRepo "${docker_repository}" --dockerTags "${TAGS}"
If you want to specify a different docker registry you can run
--loginCheck --loginUsername "username" --loginPassword "password" --loginRepo "quay.io"--dockerRepo "${docker_repository}" --dockerTags "${TAGS}"
Link target In case you don't need to publish a new image but you would like to create a link to an already existing image (sourceTag) you can use the link target.
adf-cli docker --target "link" --dockerRepo "${docker_repository}" --dockerTags "${TAGS}" --sourceTag "develop"
Initialize activiti cloud env
The following command is in charge of Initializing the activiti cloud env with the default apps:
adf-cli init-aae-env --host "gateway_env" --oauth "identity_env" --identityHost "identity_env" --modelerUsername "modelerusername" --modelerPassword "modelerpassword" --devopsUsername "devopsusername" --devopsPassword "devopspassword"
You can also specify the environment ids of the envs where to deploy the app adding the --envs
option:
adf-cli init-aae-env --host "gateway_env" --oauth "identity_env" --identityHost "identity_env" --modelerUsername "modelerusername" --modelerPassword "modelerpassword" --devopsUsername "devopsusername" --devopsPassword "devopspassword" --envs envId1 envId2
If you want to add a new app the schema needs to be:
TEST_APP: {
name: 'testapp',
file_location: 'https://github.com/Alfresco/alfresco-ng2-components/blob/branch/e2e/resources/testapp.zip?raw=true',
security: [
{'role': 'APS_ADMIN', 'groups': ['myadmingroup'], 'users': ['myadminuser']},
{'role': 'APS_USER', 'groups': ['myusergroup'], 'users': ['myuser']
}]
},
Checks plugin status
The following command is in charge of checking plugin status by given plugin name:
adf-cli check-plugin-env --host "gateway_env" --pluginName "Name of the plugin" --clientId "clientId" --appName "appName" -u "username" -p "password"
--ui "uiName"