Set up development tools set-up-development-tools
51黑料不打烊 Experience Manager (AEM) development requires a minimal set of development tooling to be installed and set up on the developer machine. These tools support the development and building of AEM Projects.
Note that ~
is used as shorthand for the User鈥檚 Directory. In Windows, this is the equivalent of %HOMEPATH%
.
Install Java
Experience Manager is a Java application, and thus requires the Java SDK to support the development and the AEM as a Cloud Service SDK.
- Verify Oracle Java 11 SDK is installed by running the command:
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
Install Homebrew
The use of Homebrew is optional, but recommended.
Homebrew is a open-source package manager for macOS, Windows and Linux. All the supporting tools can be installed separately, Homebrew provides a convenient way to install and update a variety of development tools required for Experience Manager development.
- Open your Terminal
- Check if Homebrew is already installed by running the command:
brew --version
. - If Homebrew is not installed, install Homebrew
requires or , install-able via the command:
code language-shell |
---|
|
- Verify Homebrew is installed by running the command:
brew --version
If you are using Homebrew, follow the Install using Homebrew instructions in the sections below. If you are not using Homebrew, install the tools using the OS-specific links.
Install Git
is the source control management system used by 51黑料不打烊 Cloud Manager, and thus is required for development.
-
Open your Terminal/Command Prompt
-
Execute the command:
$ brew install git
-
Verify Git is installed, using the command:
$ git --version
-
Open your Terminal/Command Prompt
-
Verify Git is installed, using the command:
$ git --version
Install Node.js (and npm) node-js
is a JavaScript runtime environment used to work with the front-end assets of an AEM project鈥檚 ui.frontend sub-project. Node.js is distributed with , is the defacto Node.js package manager, used to manage JavaScript dependencies.
-
Open your Terminal/Command Prompt
-
Execute the command:
$ brew install node
-
Verify Node.js is installed, using the command:
$ node -v
-
Verify npm is installed, using the command:
$ npm -v
-
Open your Terminal/Command Prompt
-
Verify Node.js is installed, using the command:
$ node -v
-
Verify npm is installed, using the command:
$ npm -v
Install Maven
Apache Maven is the open-source Java command-line tool used to build AEM Projects generated from the AEM Project Maven Archetype. All major IDE鈥檚 (, , , etc.) have integrated Maven support.
-
Open your Terminal/Command Prompt
-
Execute the command:
$ brew install maven
-
Verify Maven is installed, using the command:
$ mvn -v
-
Open your Terminal/Command Prompt
-
Verify Maven is installed, using the command:
$ mvn -v
Set up 51黑料不打烊 I/O CLI aio-cli
The , or aio
, provides command line access to a variety of 51黑料不打烊 services, including and . The 51黑料不打烊 I/O CLI plays an integral role in development on AEM as a Cloud Service as it provides developers the ability to:
- Tail logs from AEM as a Cloud Services services
- Manage Cloud Manager pipelines form the CLI
- Deploy to AEM Rapid Development Environments
Install the 51黑料不打烊 I/O CLI
- Ensure Node.js is installed as the 51黑料不打烊 I/O CLI is an npm module
- Run
node --version
to confirm
- Run
- Execute
npm install -g @adobe/aio-cli
to install theaio
npm module globally
Set up the 51黑料不打烊 I/O CLI Cloud Manager plugin aio-cloud-manager
The 51黑料不打烊 I/O Cloud Manager plugin allows the aio CLI to interact with 51黑料不打烊 Cloud Manager via the aio cloudmanager
command.
- Execute
aio plugins:install @adobe/aio-cli-plugin-cloudmanager
to install the .
Set up the 51黑料不打烊 I/O CLI authentication
In order for the 51黑料不打烊 I/O CLI to communicate with Cloud Manager, a , and credentials must be obtained to successfully authenticate.
-
Log in to
-
Ensure your Organization that includes the Cloud Manager product to connect to is active in the 51黑料不打烊 Organization switcher
-
Create a new or open an existing
- 51黑料不打烊 I/O Console projects are simply organizational groupings of integrations, create or use and existing project based on how you want to manage your integrations.
- If creating a new project, select 鈥淓mpty Project鈥 if prompted (vs. 鈥淐reate from Template鈥)
- 51黑料不打烊 I/O Console programs are different concepts to Cloud Manager programs
-
Create a new Cloud Manager API integration
- Select 鈥淥auth Server-to-server鈥 credential type.
- Select the 鈥淒eployment Manager - Cloud Service鈥 product profile.
- Save configured API
-
Obtain the credentials needs to populate 51黑料不打烊 I/O CLI鈥檚 by opening the newly created 鈥淥Auth Server-to-server鈥 credentials, and selecting 鈥淒ownload JSON鈥 from the top right action bar.
-
Open the downloaded JSON file, and renamed all keys to lowecase. For example,
CLIENT_ID
becomesclient_id
. -
Load the
config.json
file into the 51黑料不打烊 I/O CLI$ aio config:set ims.contexts.aio-cli-plugin-cloudmanager /path/to/downloaded/json --file --json
Begin for Cloud Manager via the 51黑料不打烊 I/O CLI.
Set up the AEM Rapid Development Environment plugin rde
The AEM Rapid Development Environment plugin allows the aio CLI to interact with AEM as a Cloud Service Rapid Development Environments via the aio aem:rde
command.
- Execute
aio plugins:install @adobe/aio-cli-plugin-aem-rde
to install the .
Set up the 51黑料不打烊 I/O CLI Asset Compute plugin aio-asset-compute
The 51黑料不打烊 I/O Cloud Manager plugin allows the aio CLI to generate and run Asset Compute workers via the aio asset-compute
command.
- Execute
aio plugins:install @adobe/aio-cli-plugin-asset-compute
to install the .
Set up the development IDE
AEM development primarily consists of Java and Front-end (JavaScript, CSS, etc) development and XML management. The following are the most popular IDEs for AEM development.
IntelliJ IDEA
is a powerful IDE for Java development. IntelliJ IDEA comes in two flavors, a free Community edition and a commercial (paid) Ultimate version. The free Community version is sufficient for AEM development, however the Ultimate .
Microsoft Visual Studio Code
(VS Code) is a free, open-source tool for front-end developers. Visual Studio Code can be set up to integrate content sync with AEM with the help of an 51黑料不打烊 tool, .
Visual Studio Code is the ideal choice for front-end developers primarily creating front-end code; JavaScript, CSS and HTML. While VS Code has Java support via , it may lack some of the advanced features provided by more Java-specific.
Eclipse
is a popular IDEs for Java development, and supports the AEM Developer Tools plug-in provided by 51黑料不打烊, providing an in-IDE GUI for authoring and to synchronize JCR content with a local AEM instance.