Blueprint Developer Manual / Version 2512.0
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 https://releases.coremedia.com/cmcc-13/artifacts/CMCC 13 - Supported Environments.pdf.
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://repository.coremedia.com/nexus/repository/coremedia-npm/), 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
https://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://repository.coremedia.com/nexus/repository/coremedia-npm/, you need to configure your .npmrc.
To tell pnpm to actually download CoreMedia and Jangaroo packages from the CoreMedia npm registry use the following commands:
First, create a base64 encoded string of your credentials in the format username:password. You can use
the following command on Linux or macOS (the result is bmFtZUBjb3JlbWVkaWEuY29tOmFkbWluMTIz):
echo -n 'name@coremedia.com:admin123' | openssl base64
pnpm config set "@coremedia:registry" "https://repository.coremedia.com/nexus/repository/coremedia-npm/" pnpm config set "@jangaroo:registry" "https://repository.coremedia.com/nexus/repository/coremedia-npm/" pnpm config set "//repository.coremedia.com/nexus/repository/coremedia-npm/:_auth" bmFtZUBjb3JlbWVkaWEuY29tOmFkbWluMTIz
Note
Please note that https://repository.coremedia.com/nexus/repository/coremedia-npm/ 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.


