# Move to production

> Transition smoothly from testing to public release: add your project to an application, publish the first production version, and distribute it on the Web, iOS, Android, or desktop.

https://docs.pandasuite.com/essentials/content-management/move-your-project-to-production/

**Deploying to production involves making your project available to your end users while maintaining a secure working environment for future updates.**

This is the first step required when exporting or publishing your application.

## Before you begin

1. Have **tested** your project in PandaSuite Studio and through PandaSuite Viewer.
2. Have an **active Publishing plan** ([Web](https://docs.pandasuite.com/account/subscription/the-web-plan/) / [Single](https://docs.pandasuite.com/account/subscription/the-single-plan/) / [Multi](https://docs.pandasuite.com/account/subscription/the-multi-plan/) / [Full](https://docs.pandasuite.com/account/subscription/the-full-plan/) / [Ultra](https://docs.pandasuite.com/account/subscription/the-ultra-plan/)).

## Understanding the concept

Learn about the technical terms used by PandaSuite:

- **App**: the distributed shell or package (web URL, web package, IPA, APK / AAB, EXE, DMG, or Linux package).
- **Project**: the content created in PandaSuite Studio.
- **Development version**: the version of your project you are working on in PandaSuite Studio.
- **Production version**: the frozen copy visible to users.

[Image: Diagram: the development version (PandaSuite Studio) moves to production in the app, as the production version: IPA, APK, URL…]

Deploying to production allows you to move the development version of your project within the application. It then becomes the production version.

> **Info**
>
> When you add **a single project**, the app directly launches on it. With
> **multiple projects** (available in **Multi**, **Full**, or **Ultra** plans), your app
> becomes a [content hub](https://docs.pandasuite.com/essentials/content-management/content-hub/); a list
> screen automatically appears.

## Create or select the application

1. Open your [dashboard](https://pandasuite.com/dashboard/publish) › **Apps**.
2. Click **New app** to create an app *or* select an existing one.
3. Enter the name and icon (you can modify these later).

From PandaSuite Studio, **Publish** in the top bar offers the same choice: when the project is in no app yet, the panel says **This project is not in any app** and offers **Create an app**, plus **Add to an app** when one of your apps can still take the project.

While an app has no project, it shows nothing to your users. The page of an active app reminds you with **Add a project to your app** (at most once a day), the **Apps** list marks the app **No project**, and its web, mobile and desktop versions cannot be generated until you add a project.

## Link the project to the application

1. On the app page, click **Add a project**.

[Image: City Guide app page in the dashboard with no project yet, and the framed Add a project button in the center]

2. Choose your project from the list.
3. Confirm: it immediately appears in the app’s project grid.
4. If the project has never been published, adding it puts it in production: PandaSuite creates its production version. A project that already has a production version keeps it: if it shows **Publish to Production**, click it, then confirm with **Publish** to send your latest changes. When production matches your last saved version, the button shows **Up to date**.

[Image: Promenades Marseille app in the dashboard: its project, Marseille Interactive Sound Walk, shows the framed Up to date button, greyed out]

The **Services** section of the app page shows the state of each service (hosting, analytics, push notifications, security…):

- **Production required**: none of the app's projects is in production yet. Analytics, push notifications, and security stay blocked until a production version exists. Hosting can be configured right away.
- **Not configured**: the service is available but not set up yet.
- **Upgrade required**: the service is not included in the app's plan. Click **Upgrade to unlock** to change plan.

## Distribute the application

Depending on your plan, several formats are accessible in the interface:

| Platform | Quick Action                                                          | Documentation                                                                                                                                                                                                                                                                                                                                                                                         |
| -------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Web      | **Activate** next to **Web app** to generate a URL, or **Export ZIP** | [Publish to the Web](https://docs.pandasuite.com/essentials/web-publishing/publish-to-the-web/) • [Export a web package](https://docs.pandasuite.com/essentials/web-publishing/export-a-zip-file/)                                                                                                                                                                                                    |
| iOS      | **Generate** next to **iOS**                                          | [Export an IPA file](https://docs.pandasuite.com/essentials/mobile-publishing/ios/export-an-ipa-file/) • [iOS app deployment methods](https://docs.pandasuite.com/essentials/mobile-publishing/ios/ios-app-deployement-methods/)                                                                                                                                                                      |
| Android  | **Generate** next to **Android**                                      | [Export an APK / AAB file](https://docs.pandasuite.com/essentials/mobile-publishing/android/export-an-apk-or-aab-file/) • [Publish your Android app](https://docs.pandasuite.com/essentials/mobile-publishing/android/publish-your-android-app/)                                                                                                                                                      |
| Windows  | **Generate** next to **Windows**                                      | [Export an EXE File](https://docs.pandasuite.com/essentials/desktop-publishing/export-an-exe-file/) • [Install your EXE File](https://docs.pandasuite.com/essentials/desktop-publishing/install-your-exe-file/) • [Standalone EXE for offline installation](https://docs.pandasuite.com/essentials/desktop-publishing/standalone-exe-for-offline-installation/)                                       |
| macOS    | **Generate** next to **macOS**                                        | [Export a DMG file](https://docs.pandasuite.com/essentials/desktop-publishing/export-a-dmg-file/) • [Install your DMG File](https://docs.pandasuite.com/essentials/desktop-publishing/install-your-dmg-file/) • [Standalone DMG for offline installation](https://docs.pandasuite.com/essentials/desktop-publishing/standalone-dmg-for-offline-installation/)                                         |
| Linux    | **Generate** next to **Linux**                                        | [Export a Linux package](https://docs.pandasuite.com/essentials/desktop-publishing/export-a-linux-package/) • [Install your Linux package](https://docs.pandasuite.com/essentials/desktop-publishing/install-your-linux-package/) • [Standalone Linux package for offline installation](https://docs.pandasuite.com/essentials/desktop-publishing/standalone-linux-package-for-offline-installation/) |

## Update after publishing

[Image: Stay At Home app in the dashboard: the project was edited after its last deployment, and the Publish to Production button with Update ready is framed]

1. Continue your modifications in PandaSuite Studio (development version).
2. Save; the **Publish to Production** button reappears in the dashboard, with **Update ready**.
3. Click again when you're ready.

> **Warning**
>
> If a new feature **of the PandaSuite engine** is used, a new export may be
> required to ensure the update stays compatible: IPA, APK / AAB, EXE, DMG,
> Linux package, or a new web package depending on your distribution method. [Learn
> more](https://docs.pandasuite.com/essentials/content-management/update-your-application/)

## Publish from PandaSuite Studio

You can put the project in production without leaving the Studio. Click **Publish** in the top bar: the panel shows what is waiting, layout by layout.

[Image: Studio Publish panel: Desktop shows Update; Publish and Publish to Production are framed]

1. Check the status of each layout: **New Layout**, **Update**, **Up to date**, or **Layout deleted**.
2. Click **Publish to Production**, then confirm with **Publish**. Every layout that is waiting goes live. To publish a single layout when several are waiting, hover over its row and click its **Publish** button.
3. When nothing is waiting, the panel shows **Production is up to date**.

Publishing applies to the project: every app the project is in receives the new version.

Below, **Apps** lists the apps the project is in. Click an app to open its page in the dashboard. Inactive apps are folded under one line, and **Search an app…** appears when the project is in more than six apps.

- **Add to an app** lists the apps that can still take the project. Choose one to open its page and add the project there.
- **Create an app** creates a new app for the project, starting with the choice of its plan.

The same panel opens from the rocket icon at the bottom right of the project card in the dashboard.
