---
category: [Administration & Integrations, Platform and Product Extensions, Platform and Product Extensions/Integration, Administration & Integrations/Custom Integrations & Apps, Platform and Product Extensions/Workday Extend]
keyword: Extend
nav: wcp_docs
parent_url: /wcp_docs/
title: >- 
  Concept: Workday Extend Plugin for IntelliJ
layout: subsection
---

<a id="section_h13_x1x_yhb"></a>
The Workday Extend Plugin for IntelliJ enables you to:

-   Author your app components in IntelliJ.
-   Upload your app to App Hub.
-   Deploy your app to Development tenants for testing.
-   Download an app from App Hub, update the app, and deploy it to another account or tenant.


## <a id="section_kp4_x1x_yhb"></a>App Components

<b>Presentation Components</b>

You can author presentation components in the <b>presentation</b> folder of your custom app.

-   App metadata: `amd` file containing data providers, task routing patterns, flow definitions, and custom app properties.

    <b>Note:</b> The `applicationID` is read-only. The plugin displays an error if you try to modify it.

-   Site metadata: `smd` file containing authentication types and custom error pages for the app.
-   Page metadata: `pmd` files containing the user interface widgets and data bindings on view or edit pages.
-   Pods: `pod` files containing reusable PMD code. Pod files must be stored within the <b>pods</b> subfolder of the <b>presentation</b> folder.
-   Script Modules: `script` files containing reusable PMD scripts. Script files must be stored within the <b>scripts</b> subfolder of the <b>presentation</b> folder.


<b>Model Components</b>

You can author model components in the <b>model</b> folder of your custom app.

-   Business objects: `businessobject` files that define the core of the data model for an app and are used to store app data. They can reference Workday-delivered business objects or other business objects that you define in your app.
-   Business processes: `businessprocess` files that enable you to extend the Workday-delivered business process framework by creating new business process types and event business objects. These artifacts enable you to manage the state of the business objects you define in your app.
-   Security domains: `securitydomain` files that secure all other model components in the same app. Each domain requires security policies for finer control.
-   Attachment objects: `attachment` files that you can use to:

    -   Associate file data with instances of a business object.
    -   Attach images to a business object.

-   Tasks: `task` files that you can use to access your Extend app in Workday as a:

    -   Context-free task. A context-free task enables users to find the task in global search.
    -   Task in the context of a business object. A task with business object context enables users to access the task as a related action from the business object.

-   Reports: `report` files that you can use to analyze your app data.


<b>Orchestrations</b>

The <b>orchestration</b> folder in your app is read-only. Use Orchestration Builder on the Workday Developer Site to create and edit orchestrations.

When you download an app that contains orchestrations, the plugin adds read-only orchestration files to your app folder. When you deploy the app, the plugin includes the orchestration files in the deployed app.

<b>Note:</b> When you deploy an app that has orchestrations, and the App Hub version doesn't have the same orchestrations, the deploy creates them in App Hub. After your initial deploy of an orchestration from IntelliJ, subsequent deploys won't update the orchestration. When you deploy an app that's missing an orchestration file in the IntelliJ project, the deploy doesn't delete the orchestration from App Hub. The plugin prevents you from deleting or overriding orchestrations in App Hub.

<b>Attributes</b>

The <b>attributes</b> folder contains the `default.attributes` file, which is read-only. The `default.attributes` file contains the app attributes you've defined in the Console.

When you download an app or deploy it to another account or tenant, the Plugin includes the app attributes.

<b>Note:</b> When you initially deploy the app from the Plugin:

-   If there are no existing attributes associated with the app in App Hub, the Plugin creates the attributes in App Hub.
-   If the app folder doesn't contain the `default.attributes` file, the deploy doesn't delete existing app attributes from App Hub.
-   If an existing `default.attributes` file is already associated with the app, the Plugin doesn't update the attributes.


Subsequent deploys won't update the attributes in App Hub.

## <a id="section_hpq_wbz_sqb"></a>App File Structure

Your Workday Extend app should follow this file structure:

```
apps/
└── {appID}/
    ├── attributes/
    │   └── default.attributes    
    ├── model/
    │   └── model files
    ├── orchestration/ (read-only)
    │   └── orchestration files
    └── presentation/
        ├── pods/
        │   └── pod files
        ├── scripts/
        │   └── script files
        └── presentation files
```

## <a id="section_ych_2bx_yhb"></a>Tools Options

Select <b>Tools</b> &gt; <b>Workday Extend</b> to see the available Workday Extend Plugin for IntelliJ options. To find the common options as icons on the toolbar, select <b>View</b> &gt; <b>Toolbar</b>.

-   <b>Log in to Workday Extend</b>: Connects your app to App Hub, which is the Workday Extend app repository. Use your Workday Developer Site credentials to sign in to App Hub.
-   <b>Change Company</b>: Enables you to disconnect from the current company and connect to a different company. This option is only available if you belong to multiple companies.
-   <b>Log in to Tenant</b>: Select a Development or Implementation tenant, and then use your Workday credentials to sign in to the tenant.
-   <b>Open Tenant</b>: Opens the home page of the Development or Implementation tenant. If you aren't signed in to a tenant, select a tenant and use your Workday credentials to sign in to the tenant.
-   <b>Validate App</b>: Checks the validity of the presentation schemas in your app.
-   <b>Compare with App Hub</b>: Compares your local component files with the current promotion level in App Hub.
-   <b>Open App in Browser</b>: Runs your app in the browser.
-   <b>Upload to App Hub</b>: Saves all components of your app into an artifact and uploads it to App Hub.
-   <b>Download from App Hub</b>: Downloads an app from App Hub to the `apps` folder of your IntelliJ project. If the `apps` folder already contains the app, the Workday Extend Plugin for IntelliJ prompts you whether to overwrite the existing app.
-   <b>Deploy App to Tenant</b>: Uploads your selected app to App Hub and deploys it to your selected tenant.
-   <b>WCP CLI</b>: Opens the CLI scratchpad that enables you to submit WQL queries.
-   <b>Update WCP CLI Path</b>: Defines the path to use for the CLI scratchpad.
-   <b>Configure HTTP Proxy</b>: Opens the IntelliJ <b>HTTP Proxy</b> window from which you can configure the IntelliJ HTTP proxy settings.


The Workday Extend icon on the status bar provides quick access to the top-level actions of the Workday Extend Plugin for IntelliJ.

## <a id="section_icv_tdv_kmb"></a>Apps Right-Click Options

For convenience, a subset of tools is available as a right-click option on your apps.

<b>Workday Extend</b>

Right-click an app, select <b>Workday Extend</b>, and select an option.

-   <b>Validate App</b>
-   <b>Compare with App Hub</b>
-   <b>Open App in Browser</b>
-   <b>Upload to App Hub</b>
-   <b>Download from App Hub</b>
-   <b>Deploy App to Tenant</b>


<b>Renaming Apps</b>

If you attempt to upload or deploy a locally created app with the same name or reference ID as one that already exists in App Hub, the plugin prompts you to rename the local app.

To rename an app, access a project folder, and select <b>Refactor</b> &gt; <b>Rename</b> &gt; <b>Rename Extend App Reference ID</b>.

<b>Note:</b> This feature is available only for locally created apps that you haven't uploaded to App Hub. You can't change the Reference ID for apps stored in App Hub.

## <a id="section_kvm_gbx_yhb"></a>Structure View

You can open a tree view of app metadata by clicking <b>Structure</b> from the left toolbar. Open a tree view to drill down easily into the component metadata. Select <b>View</b> &gt; <b>Tool Window Bars</b> to display the left toolbar.

## <a id="section_kj2_cmc_gqb"></a>Error Validation

The Workday Extend Plugin for IntelliJ supports real-time error validation as you type, enabling you to address errors without needing to validate the code manually.

Ensure that your app components use valid JSON. The Workday Extend Plugin for IntelliJ performs JSON validation to prevent you from uploading or deploying invalid JSON.

## <a id="section_zpg_r3t_l4b"></a>Report IDE Errors

We enable you to report IDE errors in the Workday Extend Plugin for IntelliJ directly to our development team. Click the red exclamation point in the status bar, and then click <b>Report to Workday Extend</b>.

