FME Flow: 2024.2
Projects
Use the Projects page to bring together FME Flow items into groups that share a common solution, or 'project', in your organization. By grouping items in projects, you can reference them in one easy place. You can also export projects and import them to another instance of FME Flow.
Why Create a Project?
The primary benefit of projects is the ability to migrate them between FME Flows. This feature is especially useful when deploying an FME Flow scenario through the enterprise life cycle, from development to testing/staging to production. Instead of backing up and restoring an entire FME Flow configuration, you can simply export the project, and import it to another FME Flow. The target FME Flow configuration remains intact, with the addition of the new project and all of its contents.
What Can a Project Hold?
A project can include just about any FME Flow object you create or upload.
- Repositories
- Workspaces, custom formats, custom transformers, and templates
- Packages
- Users and roles (see Migrating Projects for Other Users (fmesuperuser only), below)
- Automations workflows
- Streams
- Flow apps, including workspace apps, automation apps, and gallery apps
- API tokens
- Deployment Parameters
- Resources
- Resource Connections (currently includes any connections to Amazon Web Services (AWS) S3 buckets that appear on the Resources page) and Resource Paths
- Database connections and web connections
- Cleanup Tasks
- Topics, subscriptions, and publications
- Schedules
- Other projects
Creating a Project
- Do any of the following:
- Click Create to open the New Project page. Or, to create a project from an existing project, select a project and click Duplicate.
- Select Projects > Create Project.
- Provide a Name and Description for the project.
- (Optional) If desired, update the project Version. The specified version is appended to the .fsproject file name when you export the project.
- Add a Readme to the project, using the Markdown toolbar as desired. If you plan to upload the project to FME Hub, either in the next step or at a later time, a readme may help users learn more about your project.
- To upload the project to FME Hub (optional), enable Include FME Hub Details and complete the following:
- FME Hub Publisher ID: The Unique ID associated with the FME Hub Publisher.
- FME Hub Project ID: Enter a unique identifier for the project.
- Project Icon: To display an icon with the project, click Upload New Icon. The following image types are supported: .bmp, .jpg, .jpeg, .svg, .webp, .png (transparency supported), .gif (animation not supported). For best results, provide an image that is larger than 200x200 pixels.
- To add items to the project, click Add Items. In the Add Items dialog, specify the Item Type and any applicable filters (for example, if the item is a Workspace, specify the Repository). To narrow the list of items, use the Search field. Under NAME, click + beside the items you want to add.
- To add users (other than your own account), you must belong to the fmesuperuser role. API tokens owned by users are not included in projects to which they are added, unless the tokens are explicitly added.
- Anyone can add API tokens to a project; however, when importing a project to another system, one of the following must be true: 1) You belong to the fmesuperuser role; and 2) The owner of the project conducting the import has the same user account on the target system.
- Adding Resource folders includes the folder and all of its contents.
- To remove items already added, click x beside the corresponding item.
- When finished selecting items to add, click Add Items to close the Add Item(s) dialog.
- The Create Project page displays. Project Contents lists all the items added, including their dependencies. To remove unwanted items, select them and click Remove.
- To add the project, click Save.
When you add items, they appear under Selected Items. If you have added items that depend on other items to run (for example, a schedule that runs a workspace), these dependencies are added as well. To view dependencies, click the expand icon beside the name of the item you added.
Exporting and Importing a Project
You can export the contents of a project, and import the project to the same instance, or another instance, of FME Flow. For example, you can migrate a project when you are ready to use it on a production server after you have developed and tested its contents on a separate system. For more information, see Exporting and Importing Projects.
Migrating Projects for Other Users (fmesuperuser only)
When you include users in a project, you can export and import a project for those users to work with on another system. Any permissions a user has on the current system are granted on the system to which the project is imported, if both of the following conditions are true:
- The permission is on an item in the project.
- The permission was granted to the user directly, rather than through membership in a role. (For more information, see Viewing and Configuring User Permissions and Other Settings.)
Any other permissions a user has on the current system do not carry over. API tokens owned by users are not included in projects to which they are added, unless they are explicitly included.
Viewing and Editing Projects
To view or edit a project, click on the name to open the page for the project.
- To edit the project name, description, or version, click the edit icon beside them.
- To view information about items in the project, click the item name.
- To view the dependencies of a project (items that were automatically added to the project because they are required to run items that were explicitly added, such as a workspace run by a schedule), click the ellipsis (...) under ACTIONS corresponding to the project, and select View Dependencies.Note FME Flow automatically adjusts dependencies to projects based on changes to project contents. For example, if a Run a Workspace action is removed from an automation that is in a project, that workspace is removed as a dependency of the project.
- To add items to the project, click Add Items.
- To remove items from the project, select one or more items and click Remove.
Under the Actions menu, you can:
- View the FME Hub details for the project, if applicable.
- Duplicate the project.
- Export the project. For more information, see Exporting and Importing Projects.
- Share the project. For more information, see Sharing Projects (below).
- Remove the project. For more information, see Removing Projects (below).
Sharing Projects
To share a project, click the Share with Others icon. Through sharing, you can grant levels of permissions on an item to other users. You can share an item if you own it, or if you are a user with Manage permission in Security, such as an administrator. For more information about sharing and ownership, see Role-Based and User-Based Access Control.
Removing Projects
To delete a project, select it and click Remove. To remove the contents of the project along with the project, check Also remove contents on the Warning dialog. To remove only the project and leave its contents on the Server, leave this box unchecked.
The Also remove contents option is useful when you export a project, and then make subsequent changes to it, including deleting items from the project. If you want the project to match the state it was in when it was exported, select this option. Then, perform an in-place import, on the same server.
If Also remove contents is checked, keep in mind the following:
- Only items for which the user has permission to delete are removed.
- If the project contains the user performing the remove, or the role to which the user belongs, neither the user nor the role is deleted.
- No System Events are triggered. For example, if a repository is removed, the Repository Delete event is not triggered, even if enabled.