Projects
Select Projects > Manage Projects.
Use the Projects page to bring together FME Server 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 Server.
Why Create a Project?
The primary benefit of projects is the ability to migrate them between FME Servers. This feature is especially useful when deploying an FME Server scenario through the enterprise life cycle, from development to testing/staging to production. Instead of backing up and restoring an entire FME Server configuration, you can simply export the project, and import it to another FME Server. The target FME Server 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 Server object you create or upload.
- Repositories
- Workspaces, custom formats, custom transformers, and templates
- Users (see Migrating Projects for Other Users (fmesuperuser only), below)
- Automations workflows
- Server apps, including workspace apps and gallery apps
- API tokens
- Resources
- Resource Connections (currently includes any connections to Amazon Web Services (AWS) S3 buckets that appear on the Resources page)
- Database connections and web connections
- Cleanup Tasks
- Topics, subscriptions, and publications
- Schedules
- Other projects
Note: Adding Resource folders includes the folder and all of its contents.
Creating a Project
- Do any of the following:
- Click New to open the New Project page. Or, to create a project from an existing project, select a project and click Duplicate.
- Select Projects > Build 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), 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 the Add Items icon (+). In the Add Project Item(s) dialog, select items from the drop-down categories. To select all items in a category, click Select All.
- To remove items already added, click x beside the corresponding item under Selected Items. To remove all items and start over, click the trash icon.
- When finished adding items, click OK to close the Add Project Item(s) dialog.
- To add the project, click OK.
Note: When adding items, keep in mind the following:
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.
If the project contains any automations, schedules, or server apps, FME Server checks if any items required for these components to run, such as workspaces, are also included in the project. If not included, the Add Dependencies dialog appears. To review, expand the drop-down beside the component with missing dependencies. By default, any dependencies will be added to the project, unless you clear their respective checkboxes. To proceed with adding dependencies to the project as marked, click Add Dependencies. To proceed without adding any dependencies to the project, click Skip.
WARNING: The dependency check that FME Server performs on projects is not comprehensive. FME Server checks for the following dependencies:
Automations: topics, workspaces, resources.
Schedules: topics, workspaces.
Server apps: workspaces, tokens, users that own the associated tokens.
Ensure that any other dependencies are included in your project and, if necessary, add them later (see Viewing and Editing Projects, below).
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 Server. 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.
Note: To add users to a project (other than your own account), you must belong to the fmesuperuser role.
Viewing and Editing Projects
To view or edit a project, click on it to open the Edit page. You can:
- Edit the project name, description, and version.
- Add and remove items.
- Get information about items: Click the Show Details icon beside the corresponding item.
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.