marketplace
latest
false
Marketplace User Guide
Last updated Sep 5, 2024

Contents

Structure of your Solution Accelerator

Your Solution Accelerator needs to conform to the following folder structure to maintain a consistent experience across all Solution Accelerators. It can include four folders:

  1. Deployment (If the user experience is Attended, such as Test Data Management, this might not be included)

  2. Documentation

  3. Libraries (If the process does not include any Libraries, this might not be included)

  4. Processes

Although certain elements are consistent across each Solution Accelerator (such as the folder structure), your Solution Accelerator might be influenced by the specific use case and UiPath products utilized within the Solution Accelerator. Outlined in the table below are the consistent items within each Solution Accelerator:

DeploymentDocumentationLibrariesProcesses
  • Asset Details

  • Queue Details

  • Solution Management Package

  • Any Library NUPKG files

  • Any additional custom activities

  • Solution Accelerator – Accelerator Overview

  • Solution Accelerator – Deployment Guide

  • Solution Accelerator – Technical Documentation

  • High Level Solution Design (.pdf and original editing file such as .vsdx)

  • Detailed Solution Design (.pdf and original editing file such as .vsdx)

Individual Subfolders for each library
  • Individual Subfolders for each Process

2. Deployment Folder

a. Asset Details

Assets represent shared variables or credentials that can be used in different automation projects across a Solution Accelerator. Asset Details is a Microsoft Excel Workbook file (.xlsx) that is compatible with Orchestrator Manager, a tool that leverages Orchestrator’s API to manipulate entities. This workbook enables users to easily see and add assets which are used throughout your Solution Accelerator.

As per the example below this workbook is expected to have two sheets: Create to create Text, Bool, and Integer assets and Create Credential to create credential assets. The headers needed and order of headers for each sheet, along with the information inside each row, are defined in the tables below.

Folder Name1Asset Name1Description1Scope1Robot Name or User's Username1Type1Value1Asset ID2Result2
Purchase Orders ProcessingDispatcher_PurchaseOrdersEmailsSourceAccountThe mailbox where the PurchaseOrders Document Emails we need to process are located.Global TextTO REPLACE WITH SPECIFIC VALUE  
1) Column receives input from the operation – such as names, types, and values of Assets to be created.

2) Column used by Orchestrator Manager to write data retrieved from Orchestrator, such as the IDs of created assets. Values here will be overwritten upon the next Create / Create Credential operation.

Create

Folder Name1Asset Name1Description1Scope1Robot Name1 or User's Username1Type1Value1Asset ID2Result2

When specifying names of subfolders of Modern Folders, it is necessary to input the complete name of the parent Folder, including its ancestors, separated by the forward slash character (/).

Example: if a Modern Folder called “WorkGroup1” is a subfolder of a Modern Folder called “DepartmentA”, then the complete name of WorkGroup1 is “DepartmentA/WorkGroup1”.

The name of the Asset.

The name must have a maximum of 256 characters.

Description of the Asset.

The description must have a maximum of 250 characters.

The field Scope has a fixed number of possible values, according to Asset scopes available in Orchestrator:

  • Global

  • Robot (only available in Classic Folders)

  • User (only available in Modern Folders).

  • When creating Assets per Robot, use the field Robot Name or User's Username to specify the name of the Robot that should have access to the Asset’s value being defined.

  • The Robot must be in the same Folder as the Asset per Robot created.

  • Values for multiple Robots must be specified in separate rows with the same Folder name, Asset name, scope and type.

The field Type has a fixed number of possible values, according to Asset types available in Orchestrator:

  • Text

  • Bool

  • Integer

The value of the Asset.

If Asset values need to be defined by the user, they should be written as “TO REPLACE WITH SPECIFIC VALUE”.

This field must have:

  • a maximum of 1,000,000 characters for Text types

  • a value between 2147483648 and 2147483648 for Integer types

  • a value of TRUE or FALSE for Bool types.

The ID of the created Asset if the Asset is created successfully.The result of the creation of the Asset – successful or failure.

1) Column receives input from the operation – such as names, types, and values of Assets to be created.

2) Column used by Orchestrator Manager to write data retrieved from Orchestrator, such as the IDs of created assets. Values here will be overwritten upon the next Create / Create Credential operation.

Create Credential

Folder Name1Asset Name1Description1Scope1Robot Name or User's Username1Username1Password1Asset ID2Result2

When specifying names of subfolders of Modern Folders, it is necessary to input the complete name of the parent Folder, including its ancestors, separated by the forward slash character (/).

Example: if a Modern Folder called “WorkGroup1” is a subfolder of a Modern Folder called “DepartmentA”, then the complete name of “WorkGroup1” is “DepartmentA/WorkGroup1”.

The name of the Asset.

The name must have a maximum of 256 characters.

Description of the Asset.

The description must have a maximum of 250 characters.

The field Scope has a fixed number of possible values, according to Asset scopes available in Orchestrator:

  • Global

  • Robot (only available in Classic Folders)

  • User (only available in Modern Folders).

  • When creating Assets per Robot, use the field Robot Name or User's Username to specify the name of the Robot that should have access to the Asset’s value being defined.

  • The Robot must be in the same Folder as the Asset per Robot created.

  • Values for multiple Robots must be specified in separate rows with the same Folder name, Asset name, scope and type.

The username field.

As this is provided by end users, this field should always contain “TO REPLACE WITH SPECIFIC VALUE” in each row.

The password field.

As this is provided by end users, this field should always contain “TO REPLACE WITH SPECIFIC VALUE” in each row.

The ID of the created Asset if the Asset is created successfully.The result of the creation of the Asset – successful or failure.
1) Column receives input from the operation – such as names, types, and values of Assets to be created.

2) Column used by Orchestrator Manager to write data retrieved from Orchestrator, such as the IDs of created assets. Values here will be overwritten upon the next Create / Create Credential operation.

b. Queue Details

A queue is a container that enables you to hold an unlimited number of items. Queue items can store multiple types of data, such as invoice information or customer details. Queues enable you to create large automation projects, such as Solution Accelerators, underlined by complex logic.

Queue Details is a Microsoft Excel Workbook file (.xlsx) that is compatible with Orchestrator Manager, a tool that leverages Orchestrator’s API to manipulate entities. This workbook enables users to easily see and add queues which are used throughout your Solution Accelerator

As per the example below this workbook is expected to have one sheet: Create to create all queues. The headers needed and order of headers for the sheet, along with the information inside each row, are defined in the table below. Orange header columns receive input from the operation – such as names, description, and max number of retries of queues to be created. Gray header columns are used by Orchestrator Manager to write data retrieved from Orchestrator, such as the IDs of created queues. Values here will be overwritten upon the next Create operation.

Folder NameQueue NameDescriptionUnique ReferenceAuto RetryMax # of RetriesAsset IDResult

When specifying names of subfolders of Modern Folders, it is necessary to input the complete name of the parent Folder, including its ancestors, separated by the forward slash character (/).

Example: if a Modern Folder called “WorkGroup1” is a subfolder of a Modern Folder called “DepartmentA”, then the complete name of WorkGroup1 is “DepartmentA/WorkGroup1”.

The name of the Queue. The name cannot have any whitespace.

The name must have a maximum of 50 characters.

Description of the Queue.

The description must have a maximum of 250 characters.

Enforces transactions to have references which are unique.

Must be either Yes or No.

Enables a transaction item within the Queue that fails with a system exception to be automatically retried.

Must be either Yes or No.

The Maximum Number of Retries for a transaction item within the Queue.

Must be at least 1 if Auto Retry is Yes.

Can be an Integer between 1 and 50.

The ID of the created Queue if the Queue is created successfully.The result of the creation of the Queue – success or failure.

c. Solutions Management Package

A Solution Accelerator is a bundle of multiple components (processes, assets, queues, etc.) developed on the UiPath platform, that work together to automate a business use case. UiPath Solutions Management provides an out-of-the-box means to manage the lifecycle of Solution Accelerator components once built. This set of capabilities comes into play once development is finished for your Solution Accelerator, and you want to easily promote its components to a new environment.

Solutions Management allows you to conveniently package these components into a single file within the Orchestrator environment the Solution Accelerator was developed on. For a guide on how to create a Solution Management Package, please see the Creating a solution project.

Some requirements and considerations when creating a Solution Management Package for your Solution Accelerator:

  • Any Assets that are Credentials should contain a Username and Password field that have values of “TO REPLACE WITH SPECIFIC VALUE” as these are provided by end users.

  • Any Assets that are end user specific such as destination email addresses or environment URLs should also have values of “TO REPLACE WITH SPECIFIC VALUE”.

  • The naming convention for the Solution Management Zip should be “Solution Accelerator Name 1.0.0” where Solution Accelerator Name is the name of the Solution Accelerator and where 1.0.0 is the version of the solution project for the Solution Management zip.

  • Any Storage Buckets and Triggers will be included within the Solution Management zip. Storage Buckets and Triggers cannot be included in manual deployments and must be stated to manually be created within the Deployment Guide documentation.

  • Processes should NOT be included within the Solution Management zip. Processes are expected to not work immediately without modification for environment and procedure specific enhancements to a Solution Accelerator.

  • If a custom library is expected to be modified no matter what, it should not be included within the Solutions Management Package as it will not work immediately without modification.

d. Library NUPKG Files

A library is a project which contains one or more workflows that can be reused as activities in other projects. This enables your Solution Accelerator to use common code throughout each individual process. For information on creating a library, see the Creating a Library section in the library documentation. For information about development standards on creating a library for Solution Accelerators, please see the library development section. A library is saved as NUPKG file when published and can be installed as a dependency from Package Manager. You can either publish a library to a local folder or publish and download from the NuGet package feed to retrieve the relevant NUPKG file.

Important:

If a reusable library is designed to work out of the box without any modification needed, please include that within the Deployment folder.

If the library is expected to be modified to correctly work within the project, it’s expected to not be included in the Deployment folder and the Deployment Guide should make it clear that the library needs to be modified, published, and dependencies updated in any project using that library.

If a reusable library is published separately on a feed, such as the UiPath Solution Accelerators Generic Reusables, you do not need to include the NUPKG file.

e. Any Additional Custom Activities

You can create your own custom activities that can be used in UiPath Studio projects. To use custom activities that are created, you must install the NuGet package that contains it in the Solution Accelerator project(s) by accessing Package Manager from UiPath Studio and installing the NUPKG. That NuGet package should be created upon finishing the custom activity. The NUPKG can be included within the Deployment folder of the Solution Accelerator.

3. Documentation

The Documentation structure must follow the below guidelines:

  • Solution Accelerator – Accelerator Overview

  • Solution Accelerator – Deployment Guide

  • Solution Accelerator – Technical Documentation

  • High Level Solution Design (.pdf and original editing file such as .vsdx)

  • Detailed Solution Design (.pdf and original editing file such as .vsdx)

4. Libraries

A UiPath Library is a project which contains one or more workflows that can be reused as activities in other projects. Libraries are saved as NUPKG files when published and can be installed as dependencies from the Package Manager. A Library can only be developed using a Library type of project. Any reusable UI components should also be implemented within a Library using Object Repository. Any Data Service entity should be imported within a Library so the same reference / namespace can be used throughout the entire Solution Accelerator by importing a Library. By importing the within a Library, namespaces will not be conflicting throughout different Processes.

A Library has the following requirements:

Project type
  • Library Projects

Process Size & Workflow Naming Convention

  • Small and well defined XAMLs

  • Naming: use a "Capitalize Each Word" naming (spaces in between) and not PascalCase. If PascalCase is preferred for workflows, the "Capitalize Each Word" convention (restoring the spaces to the activity name) can still be done via the "Display Name" field of the "Activity Layout" (right-click Workflow menu option in Project Explorer).

Annotations
  • Add Pinned Annotations on each Workflow File as a Disclaimer/Explanation

  • Annotate Activities with proper descriptive explanation

Variables Naming Convention
  • Lower Camel Case (e.g., firstName, lastName, myOrganizationStructure)

Arguments Naming Convention
  • Arguments should be named using the PascalCase standard.

  • The name of the arguments should NOT contain in_/out_/io_ prefix because those arguments will appear as properties when the Library is being created.

  • Annotations should exist for every argument as this is displayed when a Library activity is utilized

Argument Results
  • A Library workflow should do as the workflow name is described

  • A workflow should parse any API or GUI result and return the specific data result

Comments
  • Add comments to increase readability of Library projects

Data Service Entity
  • Data Service Entities can be imported within a Library. The namespace should be the name of the entity.

  • Data Service operations can occur in a Library to improve reusability of the entity throughout the Solution Accelerator.

Exception Handling
  • Errors within a library should be thrown as exceptions rather than being signaled through output arguments.

  • Confirm the outcome of a library component at the end by checking if the desired action has occurred and throw an exception if it has not.

5. Processes

A process is a UiPath project developed using the process design option that can be executed by a UiPath Robot. Any new Process project should be either a Cross Platform Project or a Windows Project. Windows – Legacy uses an older version of the .NET Framework and will no longer be an option for new projects in the near future. Data Service Entities should not be imported within a Process. Importing within an individual process can cause conflicting namespaces throughout a Solution Accelerator.

A process has the following requirements:

Project type
  • Windows Projects

  • Cross Platform Projects

Process Size
  • Small and well delimited processes

Annotations
  • Add Pinned Annotations on each Workflow File as a Disclaimer/Explanation. The typical format describes what the purpose of the Workflow is alongside an explanation of each Argument to send in, out, and in/out

  • Annotate Activities with proper descriptive explanation

Variables Naming Convention
  • Keeping a consistent variable naming convention throughout an automation process is important for readability and clarity

  • The typical standard UiPath developers follow are Lower Camel Case (e.g., firstName, myFirstName, lastName, myOrganizationStructure)

Arguments Naming Convention
  • Lower Camel Case with a prefix stating the argument type as either in, out, or in/out, such as in_defaultTimeout, in_fileName, out_textResult, io_retryNumber.

  • Annotations should exist for every argument as they are displayed when a workflow is invoked

Comments
  • Add comment activities in proper places for highlighting areas of configuration/ where logic needs to be changed based on the customer scenarios

Data Service Entity
  • Data Service Entities should not be imported within a process. A Data Service Entity should be imported within a common Library to avoid conflicting namespaces.

  • Data Service operations can occur in a process with a namespace that is imported from a Library.

Layers
  • Application Layer (one can use API or UI Automation for a specific application, however this is up to the discretion of the developer)

  • Business Logic Layer / Implementation Layer

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2024 UiPath. All rights reserved.