# Core Concepts

todo

SCP fundamentally separates content, Meta Data and content builds (like the real website for hosting). This is a crucial aspect if you want to keep maintainability and flexibility on the highest possible level.

Read carefully

As these core concepts the foundation on which SCP was built on we highly encourage you to read this article before heading to a more specific chapter.

# Materials

In SCP every piece of content is called Material – it acts like a container for the content itself the Meta Data and additional data which can be consumed and modified by integrated applications and services.

No matter which kind of content users are going to manage within SCP, the material is always the starting point.

# Meta Data

Meta Data is super important for any kind of marketing material - we call it Properties – no matter if you are going to manage a website or a piece of e-mail communication – it always comes down to a set of data which will describe the kind of this Material.

In SCP Meta Data is controlled by defining Fields which will be bound to Materials. This loose binding enables you to adapt SCP to nearly any kind of Meta Data-Management scenario without even starting to sweat. As Fields are attached and detached dynamically during the management of Materials by using Filters, there is no limitation for building ambitious Meta Data forms.

As the field configuration is dynamic based on the current input, it is not a big deal to show/hide, enable/disable or also update field contents based on the input of the user.

Searching in SCP

For now only Meta Data can be searched – we're working hard to enable Material-Wide content search as well.

Checkout the detailed Field Configuration

# Content Applications (or Briefings)

SCP manages content separately from technical builds and Meta Data. Every piece of content (every material) could be backed by a content application which specifically solves content management challenges the given content might bring to the platform.

As different contents (e.g. websites vs. e-mails vs. podcasts etc.) have different requirements, SCP uses the paradigm of content applications to handle that.

Content applications are specifically built for their use-cases – so there is a different app managing an e-mail while there is another one for handling e.g. podcasts.

SCPs offers a few content apps built-in but still opens the stage for developers to create their own applications or to easily integrate with the SCP ecosystem by using SCPs APIs.

Content Apps are for management

Content Apps are built for the content management part of the job, when it comes to building the real content which will be deployed to an end-system – SCP needs to send the managed data over to a Build Service.

You'll find more at the App Development Guide

# Build Services

Once the user has added a few bits of Meta Data and set up the content, the material is potentially ready to be built. But is not required to build it – SCP leaves full flexibility to you and allows you to configure even Material Types which are not going to be built by purpose.

Think of a business unit which wants to improve and digitalize their event planning processes – SCP can do that with a custom Content App and a defined set of Properties handling the job.

Build Services consume all Material data and transforms them into the wanted output format – this of course depends on the type of the Material.

Read more about Build Services.

# Configuration

As you have already seen from the concepts above SCP has a lot of functionality which needs to be configured. SCP is using a versioned configuration based on PHP to make configuration as easy as possible.

There is a configuration reference which explaines all options in detail and also worth to note is our dedicated configuration guide.

Easy configuration management with Modules

Modules are predefined sets of configuration segments and enable you to enable certain features by just a single line of configuration.

Check out our configuration guide

# Additional Building Blocks

As SCP handles a lot of data connected to Materials, here is a list of additional building blocks for you:

Rendition

SCP generate PDFs and images from your content without any efforts – you can decide what kind of rendition you want to create from which state of your content. Renditions can be created from live content (the built content) or from Content Applications as well.

Status

The Status is stored inside a Field and attached to every Material – it controls the workflow every material went through from its initial state (probably an empty piece of content) to its final end-position.

Transition

Transitions are mainly used to move Materials from one state to another – but they can do much more. If executed, they perform pre-checks on your Meta Data, might call services, update content, etc. As they are quite powerful, we recommend to go through the Guide before starting working with them.

Jobs

Every time-consuming task within SCP is handled and controlled by a Job. There are Jobs defined for building content, doing file-conversions and much more.

Customization in mind

All SCP building blocks are 100% customizable and allow you to tie SCP to your requirements.