Blueprint Developer Manual / Version 2110
Table Of ContentsIn order to work with the Blueprint workspace you need to meet some requirements.
Note
For an overview of exact versions of the supported software environments (Java, servlet container, databases, operating systems, directory services, web browsers) please refer to the Supported Environments document at http://bit.ly/cmcc-11-supported-environments.
CoreMedia Account
In order to get access to the download page, to the CoreMedia contributions repository, the CoreMedia's Maven repository (https://repository.coremedia.com) and npm repository (https://npm.coremedia.io), you need to have a CoreMedia account. See Section 1.3.1, “Registration” for details. If in doubt, contact CoreMedia support to validate your permissions (see Section 1.3.5, “CoreMedia Support”).
Note
CoreMedia User Orientation for CoreMedia Developers and Partners
Find the latest overview of all CoreMedia services and further references at:
Find the current online documentation at:
Find the download links at the CoreMedia release page at:
Internet access
CoreMedia provides the CoreMedia Content Cloud components as Maven artifacts. These components in turn depend on many third-party components. If your operator has not yet set up and populated a local repository manager, you need Internet access so that Maven can download the artifacts.
Note
Maven and npm Repositories and Internet Access
The CoreMedia Blueprint workspace relies heavily on Maven and pnpm to build the workspace. That is, Maven and pnpm will download CoreMedia artifacts, third-party components, npm packages and Maven plugins from the private CoreMedia repository and other, public repositories (Maven Central Repository, for example). This might interfere with your company's internet policy. Moreover, if a big project accesses public repositories too frequently, the repository operator might block your domain in order to prevent overload. The best way to circumvent both problems is to use a repository manager like Sonatype Nexus for Maven and npm (since Nexus 3), or Verdaccio (https://verdaccio.org/ for npm. Both decouple the development computers from direct Internet access.
Maven Repository Manager
CoreMedia strongly recommends to use a repository manager to mirror CoreMedia's Maven
repository, for example
Sonatype Nexus.
Alternatively, if a repository manager is not available, configure your credentials for the
CoreMedia Maven repositories in your ~/.m2/settings.xml
file as shown below. Simply
replace USERNAME
and PASSWORD
with your CoreMedia user name and
password. It is strongly recommended, that you do not enter the password in plaintext in the
settings.xml
file but encrypt the password. To do so, follow the instructions at
http://maven.apache.org/guides/mini/guide-encryption.html
or any other available Maven documentation.
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <interactiveMode>false</interactiveMode> <servers> <server> <id>coremedia.external.releases</id> <username>USERNAME</username> <password>PASSWORD</password> </server> </servers> </settings>
MAVEN_OPTS
Maven requires the following minimal memory settings:
MAVEN_OPTS=-Xmx2048m
NPM registry
To be able to download the packages from https://npm.coremedia.io, you need a GitHub access token which can be created via github.com. It will require the following rights:
read:org
read:user
read:packages
After creating the access token you can use the npm client to log in to https://npm.coremedia.io providing your GitHub username when asked for a username and the generated access token when asked for a password:
pnpm login --registry=https://npm.coremedia.io
Note
The npm login requires usernames to be lowercase. As GitHub usernames are case-insensitive make sure to use lowercase letters when entering your username via pnpm login.
To tell pnpm to actually download CoreMedia and Jangaroo packages from the CoreMedia npm registry use the following commands:
pnpm config set @coremedia:registry https://npm.coremedia.io pnpm config set @jangaroo:registry https://npm.coremedia.io
Note
Please note that https://npm.coremedia.io does not mirror packages from https://www.npmjs.com and therefore cannot be used as the default registry for pnpm.
Configuring proxy for pnpm
In order to operate pnpm behind a proxy server, you need to configure it accordingly. See https://pnpm.io/npmrc#https-proxy
If your credentials include an @
symbol, just put your username and password inside quotes. If you use
any other special characters in your credentials, you have to
convert them into equivalent hexadecimal unicode.
Active Directory users have to pass their credentials in the URL as follows:
pnpm config set proxy http://domain\\username:password@proxy.domain.tld:port
Configuring proxy for Git
Some setups require access to GitHub (e.g. when using Git submodules). You then need to configure git
to use a proxy in a similar way:
git config --global http.proxy http://username:password@proxy.domain.tld:port git config --global https.proxy http://username:password@proxy.domain.tld:port
Note
Many companies use a proxy auto-config (PAC) file which defines how browsers and other user agents choose the
appropriate proxy server for fetching a given URL. Unfortunately neither pnpm
nor git
support
these files. As a workaround, you can install a local proxy server which uses a PAC file to decide how to forward a
request.