Skip to content

Commit

Permalink
Merge branch 'main' into CHILI-GraFx/Environments-20231201
Browse files Browse the repository at this point in the history
  • Loading branch information
BramVerniest authored Apr 2, 2024
2 parents 0e8be4e + e98f48c commit 00f0455
Show file tree
Hide file tree
Showing 164 changed files with 2,804 additions and 1,383 deletions.
7 changes: 6 additions & 1 deletion .github/workflows/lychee-link-checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@ name: Links checker

on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened]
branches:
- main

jobs:
linkChecker:
Expand All @@ -14,7 +19,7 @@ jobs:
uses: lycheeverse/[email protected]
with:
# All supported file formats to be verified and accept 403 (Forbidden) as correct link
args: --verbose -a 200,202,403 './**/*.md' './**/*.html' './**/*.rst' --exclude '^https:\/\/cp'
args: --verbose -a 200,202,403 './**/*.md' './**/*.html' './**/*.rst' --exclude '^https:\/\/cp' --exclude 'https://login.chiligrafx.com/login/callback' --exclude 'https://my.chili-publish.com' --exclude 'https://chili-publish.com/CGXGroups'
format: markdown
# Add job summary in github action
jobSummary: true
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,4 +139,4 @@ Your pull request will be reviewed and approved before being merged into the `ma

## License

Any approved and merged content you submit will be subject to the terms of the project's [license](LICENSE.md). Ensure your contributions consist of original material, or content that is freely available for commercial use and requires no attribution. Exceptions apply for media content depicting CHILI publish software.
Any approved and merged content you submit will be subject to the terms of the project's [license](LICENSE). Ensure your contributions consist of original material, or content that is freely available for commercial use and requires no attribution. Exceptions apply for media content depicting CHILI publish software.
7 changes: 7 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM python:3

WORKDIR /usr/grafx-docs

COPY requirements.txt ./

RUN pip install -r requirements.txt
66 changes: 55 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,60 @@
# CHILI GraFx-documentation
# CHILI GraFx Documentation

Documentation source in MarkDown for CHILI GraFx and applications
Welcome to the CHILI GraFx Documentation! This project is designed to assist developers and designers new to CHILI GraFx and its applications.

The GraFx Documentation is built using [MkDocs](https://www.mkdocs.org/)
## Getting Started with Contributing

To install the required packages to build and develop the documentation locally please use
```
pip install -r requirements.txt
```
We welcome contributions from the community! To get started, please familiarize yourself with our contribution guidelines by reading the [CONTRIBUTING.md](CONTRIBUTING.md) file.

You can then start the local development server with
```
mkdocs serve
```
## Setting Up the Documentation Environment

The CHILI GraFx documentation is built using [MkDocs](https://www.mkdocs.org/), a static site generator that's geared towards project documentation.

If you are looking to just make a small change, such as editing a single page, you probably don't need to setup a documenation environment. Please see [CONTRIBUTING.md](CONTRIBUTING.md).

However, if you are going to be making many changes you will need to setup a documentation environment. You can set up your documentation environment using one of the following methods:

### Option 1: Using Docker with Codespaces

For a quick and easy setup, you can use Docker in conjunction with [GitHub Codespaces](https://github.com/features/codespaces).

**Steps:**

1. **Select a Branch**: Go to the GitHub repository, select a branch, and click on the `Code` button. Then, choose `Codespaces`. You can either continue with an existing Codespace or create a new one for your selected branch.

2. **Create and Access Codespace**: Click on "Create codespace on [branch name]". This will set up a new Codespace and open an online version of VSCode in a new tab.

3. **Terminal Operations**: In the VSCode terminal, wait for the Python installation to complete, or switch to `Bash` for immediate access.

4. **Start Documentation Server**: Type `docker-compose up` in the terminal. The server initialization might take a short while. Once ready, a notification will allow you to open the documentation site in a new tab.

### Option 2: Using Docker Locally

If you have [Docker Desktop](https://docs.docker.com/desktop/) (for Windows, Mac, or Linux) or [Docker](https://docs.docker.com/engine/) and [Docker-Compose](https://docs.docker.com/compose/) (for Linux) installed on your machine, setting up the documentation locally is straightforward.

**Steps:**

1. **Ensure Docker is Running**: For Mac and Windows, Docker can be managed via the GUI. On Linux, use `sudo systemctl start docker`.

2. **Launch the Server**: Navigate to the documentation project folder in the terminal and execute `sudo docker-compose up`. The documentation site will be hosted locally on `http://localhost:8000`.

### Option 3: Using Python Locally

If you prefer not to use Docker, you can set up the environment with Python.

**Prerequisites:**

Ensure that the latest version of Python 3 is installed on your system. You can download it from [Python's official site](https://www.python.org/downloads/).

**Steps:**
1. **Go To Project Folder**: Navigate to the documentation project folder in your terminal.

2. **Install Requirements**: Run `pip install -r requirements.txt` to install all necessary dependencies.

3. **Start the Server**: Launch the local development server by executing `mkdocs serve`. Access the documentation site at `http://localhost:8000`.

## Conclusion

Choose the setup that works best for you and start contributing to the CHILI GraFx documentation. Your contributions are valuable to the community and help in making our project more accessible and user-friendly.

Happy Documenting!
10 changes: 10 additions & 0 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: "3"
services:
app:
container_name: grafx-documentation
build: .
volumes:
- ./:/usr/grafx-docs
command: /bin/sh -c "mkdocs serve -a 0.0.0.0:8000"
ports:
- "8000:8000"
2 changes: 1 addition & 1 deletion docs/CHILI-GraFx/admin/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CHILI GraFx platform administration

Account & Platform administration can be found under the dropdown in the icon on the top right.
Account & Platform administration can be found under the dropdown in the avatar on the top right.

![Account Dropdown](myaccount2.png)

Expand Down
Binary file modified docs/CHILI-GraFx/applications/editor-comparison/features.xlsx
Binary file not shown.
11 changes: 4 additions & 7 deletions docs/CHILI-GraFx/applications/editor-comparison/index.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
# Smart Template Editors compared

**CHILI GraFx** is the platform to enable multi channel creative automation.
**CHILI GraFx** is the platform to enable multichannel creative automation.

Our vision is to provide you with 1 smart template editor for animated digital, static digital and print output.

**GraFx Publisher** has been around for a while and is the editor for smart templates intended for static digital and (variable-data) PDF output.

**GraFx Studio** is the next generation smart template editor. Our first goal is to provide you with all the tools for animated and static digital output, for the self-service use-case and for any automated workflow.
Therefore we redesigned the editor, SDK and API from scratch.

Features for print will be added with every future release.
**GraFx Studio** is the next generation smart template editor. Our goal is to provide you with all the tools for animated, static digital and print output, for the self-service use-case and for any automated workflow.

If your use case is **print only**, then **GraFx Publisher** is the choice for your smart templates.
Therefore we redesigned the editor, SDK and API from scratch.

If you aim to have **animated** or **static digital** output only, then **GraFx Studio** is the place for you to start.
Today, the feature set for print in GraFx Publisher is still more extensive. But day by day, print-related features are added.

When you want to have both channels combined, please have a look at the feature comparison below. This will help you decide where to start.

Expand Down
2 changes: 1 addition & 1 deletion docs/CHILI-GraFx/applications/overview/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Create Smart Templates to allow your customers to serve static digital and print

![svg_icon](https://chilipublishdocs.imgix.net/logos/CHILI_LOGOS_OK-09.svg)

Create Smart Templates to allow your customers to serve animated and static digital output
Create Smart Templates to allow your customers to serve multichannel animated, static digital and print output

[See GraFx Studio documentation](/GraFx-Studio/)

Expand Down
14 changes: 9 additions & 5 deletions docs/CHILI-GraFx/concepts/federated-single-sign-on/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ This section explains the relationship between the components and how those resp

Those customers who use the CHILI GraFx platform without SSO federation host their users and the permissions of those in the platform itself.

Within the components of the platform, there is an identity hub that manages both the **Authentication** of the users and the **permissions** they have on each platform component.
Within the components of the platform, there is an identity hub that manages both the **Authentication** of the users and the **permissions** they have on each platform component. These permissions include Individual access, Groups, and Group memberships.

``` mermaid
erDiagram
Expand All @@ -39,15 +39,17 @@ erDiagram
GraFx-Media ||--|| CHILI-GraFx-Identity-Hub : A-P
CHILI-GraFx-Identity-Hub {
handles Authentication
handles Permissions
handles Individual-Access
handles Groups-Definition
handles Group-Membership
}
```

### With federation

Those customers who use the SSO Federation host their own users and take care of the authentication process. This enables the use of multiple factors for the authentication, and those mechanisms to be shared with other systems of the company.

In this case, the CHILI GraFx Identity Hub only takes care of the **permission management** of the users. Plus, of course, the management of the trust relationship between CGX and the customer’s IDP.
In this case, the CHILI GraFx Identity Hub only takes care of the **Individual access** of the users and the definition of the permissions of the **User groups**. Plus, of course, the management of the trust relationship between CGX and the customer’s IDP.

``` mermaid
erDiagram
Expand All @@ -58,10 +60,12 @@ erDiagram
GraFx-Media ||--|| CHILI-GraFx-Identity-Hub : A-P
CHILI-GraFx-Identity-Hub ||--|| Customer-Identity-Provider : A
CHILI-GraFx-Identity-Hub {
handles Permissions
handles Individual-Access
handles Groups-Definition
}
Customer-Identity-Provider {
handles Authentication
handles Group-Membership
}
```

Expand All @@ -86,4 +90,4 @@ A Client Success colleague can assist you in the setup process.

## Federated SSO via the SAML protocol

[Details for the SAML protocol](saml/)
[Details for the SAML protocol](saml/)
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ This document lists the info for your OIDC Identity Providers in the CGX Platfor
- Claim with the email of the user: email
- Claim with the given name of the user: given_name
- Claim with the family name of the user: family_name
- Claim with the group memberships of the user: https://chili-publish.com/CGXGroups

## Get in touch!

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ This document lists the info for your SAML Identity Providers in the CGX Platfor
- Email (default is email)
- First Name (default is given_name)
- Last Name (default is family_name)
- Group memberships (default is https://chili-publish.com/CGXGroups)
- Identity attribute

## We will provide you
Expand Down
2 changes: 1 addition & 1 deletion docs/CHILI-GraFx/concepts/integrations/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ For instructions on setting up an Integration, [see our guide](/CHILI-GraFx/guid

The **GraFx Platform API** allows you to manage GraFx Platform resources.

Some exmaple use cases are:
Some example use cases are:

- User management
- Environment creation
Expand Down
43 changes: 33 additions & 10 deletions docs/CHILI-GraFx/concepts/renders/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,41 +24,64 @@ This average is used to size your allowance in your subscription.

### Animated Digital Output

1 render is counted towards each second of output.
Basic concept: 1 render is counted towards each (started) second of output.

CHILI GraFx looks at the length of the animation. Not at the output framerate or whether or not only part of the clip or the whole clip is animated.

!!! Note
**Some examples**

- An animation with a duration of 0.1 seconds: 1 render
- An animation with a duration of 0.5 seconds: 1 render
- An animation with a duration of 1.5 seconds: 2 render
- An animation with a duration of 2 seconds: 2 renders
- An animation with a duration of 2,5 seconds: 3 renders
- An animation with a duration of 3 seconds: 3 renders

Watermarked output does not count as a render.

### Static PDF output

1 render is counted towards each PDF file.

### Static PDF output with variable data (datasource)

When variable output is used, this is the formula to count renders.

The first 50 renders are counted individually, then each set of 50 is counted as 1 render.
The first 50 renders are counted individually, then each subsequent set of 50 add 1 render.

!!! Formula

V = Variable Data source size (e.g. 1000 records)
**V** = Variable Data source size (e.g. 1000 records)

Amount of Renders = 50 + (V-50)/50
**Renders** = 50 + (V-50)/50

e.g. 50 + (1000-50)/50 = 50 + 19 = 69
In this case: 50 + (1000-50)/50 = 50 + 19 = 69

The first 50 renders count as 50, then every 50 renders are counted as 1.

## Fair use policy

In your subscription, you're entitle to a render quota.
In your subscription, you're entitled to a render quota.

Your dashboard will show the actual status of renders. (with a delay of ±1 day).
Your dashboard will show the actual status of renders for the full subsciption (all environments, with a delay of ±1 day).

![Renders](renders.png)
![screenshot-full](renders01.png)

The light blue line shows the "6 month rolling average".

---

When you select an environment, you'll see the details.

![screenshot-full](renders02.png)


Render quota are not a hard limit per month. If you generate more output than the render quota, we won’t block or watermark the output.

You are allowed to go over the monthly limit.
The system will not stop working at the limit.

When the 6 month rolling average exceeds the render quota, it's time to add extra render packs to increase your render quota to at least the 6 month average.
When the 6 month rolling average exceeds the render quota, you will be invoiced an extra render pack to increase your render quota to at least the 6 month average.

!!! Average
6 month average calculation:
Expand Down
Binary file added docs/CHILI-GraFx/concepts/renders/renders01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/CHILI-GraFx/concepts/renders/renders02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 5 additions & 1 deletion docs/CHILI-GraFx/concepts/sandbox/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ A sandbox environment is like a test version of the CHILI GraFx platform or appl

This means that any changes made in the sandbox will not affect the production data. The sandbox allows you to test new features to make sure they work properly before they are used in the live version.

Output generated in a sandbox environment has a watermark and is not counted as a [render](/CHILI-GraFx/concepts/renders/).

![screenshot](sample.jpeg)

## Production

Production is the live version of CHILI GraFx that customers use to access and use the actual platform and applications. It is where all the real work happens, and any changes made in production are immediately reflected to the end-users.
Expand All @@ -28,4 +32,4 @@ Depending on your contract CHILI GraFx is hosted on a multi-tenant or private te

The timeframe when a Sandbox is updated is equal for all customers on the same tenant.

With a private tenant, you have more control on the timing when a Sandbox or Production setup is upgraded.
With a private tenant, you have more control on the timing when a Sandbox or Production setup is upgraded.
Binary file added docs/CHILI-GraFx/concepts/sandbox/sample.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 41 additions & 0 deletions docs/CHILI-GraFx/guides/example-federated-groups-entraid/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Example configuration: Entra ID (formerly Azure ID)

!!! Warning "Disclaimer"
The objective of this sample is not the definition of a canonical implementation, but to serve as an illustrative example of one possible way to implement the integration on the customer side.

## Introduction

The federation with CHILI GraFx is based on standard protocols (SAML and OIDC) and the requirements made by CHILI GraFx for a successful integration are based on those protocols.

At the same time, we want to help our customers with a sample configuration to be done in Microsoft Entra ID (Former Azure AD).

In this example, we assume the federation configuration is working correctly. For that reason, this example is focused on the management of groups and memberships.

## Concepts

We will be using the following concepts from **Entra ID**

### Application role

Permissions are defined at the application level. In our case, the application is the one used to define the federation. An Application role can be linked to a user or a group

### User group

This is defined beyond the application. A User group can be assigned one or many Application Roles. All user members of that User group get all of the Application roles of the group.

### Group membership

Associating a user to a User group

## Procedure

Once the Federated SSO connection is configured as an application in Entra ID, follow these steps to make a user of your company member of a CGX group:

- Create the User in Entra ID following your procedures. We’ll call the user “Mike”
- Create a User group in Entra ID. We’ll call the group “marketing_group”
- Create a User group in CGX and copy the Group ID (follow the CGX documentation if needed)
- Create an Application role with the ID of the CGX Group ID. We’ll use the value “CGX-marketing-ID”
- Add the group “marketing_group” to the Application Role “CGX-marketing-ID”
- Add user “Mike” as a member of the group “marketing_group”

The next time the user “Mike” logs into CGX, he will have all of the permissions of group “CGX-marketing-ID”
Loading

0 comments on commit 00f0455

Please sign in to comment.