---
title: "Publishing"
description: "Optimize your content lifecycle with Cloud CMS Publishing, featuring workflows, lifecycle states, and multiple deployment options. (Gitana 4.0)"
product: "Gitana"
version: "4.0"
url: "/documentation/gitana/4.0/engine/publishing/overview"
---

# Publishing

Publishing brings together many parts of Cloud CMS to enable you to manage the lifecycle of your Content. Our Publishing is very configurable to meet your diverse needs. To help get you started we have a simple example showing a Publish and Unpublish mechanism between an Authoring Project and a Live project.

When Publishing is enabled in a Project you get:

## Workflow

With Publishing enabled there are 2 simple workflows added to your Project: `simple publish` and `simple unpublish`. The simple workflows are meant as a starting point and may meet your needs. If you have more complex requirements you can also define your own workflow.

## Lifecycle States

In Gitana 4.0, we have a notion of lifecycle state. The lifecycle state is determined by the branch. Content that is on the master branch has the "approved" lifecycle state. Content that is created or modified within a "draft" branch has the "draft" lifecycle state. This is all configurable. The usage of branches to determine lifecycle state is far more akin to Git. In Git, you have development branches (draft) and a master branch (approved).  
The workflow then controls how content is approved (merged to master).

## Preview Servers

A typical requirement in a CMS is to be able to preview your content in your site or application. We provide a mechanism to point your site or application at any branch or project thus enabling you to preview content throughout the publishing lifecycle - eg authoring, production.

## Deployment

Cloud CMS Deployment lets you publish content from a source Cloud CMS project branch to one or more destination Deployment Endpoints. These Deployment Endpoints may include Amazon S3 buckets, FTP servers, file system locations and Cloud CMS branches on the same cluster or running in a cluster located in another data center somewhere else in the world.

## Publications

Once you Add a Publication to the Project, the content from the Selected Branch will be published/unpublished to/from the Selected Deployment Target and its Lifecycle State will change.

## Further Reading

- [Content Types](/documentation/gitana/4.0/engine/publishing/content-types.md)
- [Example Publishing Setup](/documentation/gitana/4.0/engine/publishing/example-setup.md)
- [Lifecycle States](/documentation/gitana/4.0/engine/publishing/lifecycle-states.md)
- [Preview Servers](/documentation/gitana/4.0/engine/publishing/preview-servers.md)
- [Publications](/documentation/gitana/4.0/engine/publishing/publications.md)
- [Workflow](/documentation/gitana/4.0/engine/publishing/workflow.md)
