Project Packages
Package definition is introduced with FlexDeploy 5.0, where user can define package with list of files which can used during build request or with release definition. Package details can change during development life cycle as necessary. Users can continue to build ad-hoc packages i.e. without any name as before.
Packages are uniquely defined at partial deployment project, hence you can have package with same name in two different projects if necessary. Package list can be accessed from Packages button or green packages tab.
Project Packages tab and Packages button on Project Activity screen are only available when Package Build Type is set to "Packages Only" or "Both".
Security Permission
Execute Project permissions is needed for package create and edit. Users can create or update package from build request form also, hence this approach is taken for package security. Users will configure permission can also edit packages.Â
Package list will display all configured packages for project. On page load the filters will be defaulted to show only "Active" packages created 3 months ago or after by the logged in user. In the example below those filters are removed to show all packages.Â
Notice the "Latest Version" will provide a link to the latest build version for the given package. On the other hand, the columns between "Latest Version" and "Created On" are dynamic columns representing the latest deployment version to each environment for that given package. Every environment associated to this projects deployment instance(s) will display a column with the environment display name as its column header. These dynamic columns are sorted by the sort order defined in Topology → Environment. Clicking on these links for latest version or deployment version will navigate to the corresponding project workflow execution details.
Note
Partial Deploy Projects of type 'Salesforce' have the following extra data columns for Salesforce DX packages and Unit Testing:
- Package Path
- Version Syntax
- Test Level
- Tests
Following actions are available for package list screen.
Action | Notes |
---|---|
Create | Create new package. |
Edit / View | Click on package name to edit or view package details. |
Delete | Delete selected package. Executions for the package will not be deleted. If package is configured in Release, delete is not allowed. |
Build | Submit build request for selected package. Package details (files) will be used to initialize build request form. |
Deploy | Submit deploy request for selected package. Latest version for package will be selected by default. If package is not yet built, deploy button will be disabled. |
When user clicks on package name or Create button, package details screen shows up as show below.
Package Type
The package type can be defined as User Managed or Dynamic. User Managed packages refers to a packages where the user manages the content and the sort order. In contrast, for dynamic packages the content and sort order are managed dynamically base on an include path and/or exclude path. The include/exclude paths are regular expressions matching the project file path to determine which project files should be included or excluded from the package. More than one include or exclude path can be defined by adding that new path on the next line. Note that when new files are populated from Project Files tab all dynamic packages are updated accordingly. This can be a big productivity gain when the contents of the package can be derived according to some rules. By default, new packages are set to User Managed type, as well as for Salesforce DX packages created from the SFDX.json file.
Below is an example of a dynamic package that includes all files from within the "java" folder of the project.
Examples
Include | Exclude | Description |
---|---|---|
/java/.*xml | Include all XML files within the java folder | |
/forms/.*fmb | /forms/.*EXT.fmb | Include all fmb files except those whose filenames end with EXT |
The following actions are available for edit package screen.
Action | Notes |
---|---|
Build | Submit build request for selected package. Package details (files) will be used to initialize build request form. |
Deploy | Submit deploy request for selected package. Latest version for package will be selected by default. If package is not yet built, deploy button will be disabled. |
Apply | Save changes and stay on package details screen. |
Save | Save changes and go back to previous screen. |
Back | Go back to previous screen without saving any changes. |
Delete | Delete selected file from package. |
Add File(s)1 | User can either type in partial file path and click Add File(s) to add all matching files or click Add File without entering anything in Search Files to Add input, Add File(s) popup will show up where user can search, select and add files. Added files are appended to existing file list. |
Add File(s) from Change Logs1 | User can add files from Change Logs by searching and clicking a revision. Each revision has a list of changed files which are appended to the existing files list. The list of revisions is populated from the configured SCM and selected stream. |
Select - All1 | Select all files. |
Select - None1 | Select no files. |
Select - Invert1 | Select files that are currently selected and vice versa. |
Selected Files - Remove1 | Remove selected files from package. |
Sort All1 | Sort added files as per sequence definition done on Project Files screen. |
File Drag and Drop1 | Drag and drop one file at a time. Dragged file is inserted before the file when it is dropped. |
Top1 | Move selected file to top of list. |
Bottom1 | Move selected file to bottom on list. |
1 - Applicable only for User Managed packages
When user clicks on Add File(s) from Change Logs button, the search and select file revision screen is displayed, as show below.
Package Editable
Packages with a status of "Completed" or "InActive" can not be built or deployed. Once a package becomes "Completed" then it can no longer be edited. Also packages that are a part of an active release can not be set to "Completed" or "InActive".
- style