Projects are used to organize entities within ThingWorx. Entities that are collected in projects can be exported and imported together. An entity can belong to only one project. In ThingWorx 9.1 and later, all entities must be assigned to a project. When creating entities in Composer, the Project field is mandatory, and the entity cannot be saved until a project has been set.
Default Project: PTCDefaultProject
In ThingWorx 9.1 and later, the PTCDefaultProject is included as an out of the box project, although it is recommend to create custom projects. PTCDefaultProject has the following behaviors:
If an entity is created via APIs and a project is not defined, the entity is added to PTCDefaultProject.
PTCDefaultProject is a system object that cannot be added as a dependency on a project entity.
If entities are created via a service, imported, or migrated into 9.1 and later, and a project name is not provided, PTCDefaultProject is assigned as the project.
If an entity is duplicated and it contains a project and then the project is removed, PTCDefaultProject is assigned by default after the entity is saved.
The SetProjectName service can be used to set projects for editable extension entities. The UI is still read-only and this service must be called to set the projects. Both user-created projects and projects that are part of the same extension can be set to these entities.
Creating Projects
1. From Composer, browse Projects, and then click the icon to create a new project.
2. Enter a name and description for the project.
3. Select a Project Type. The following options are available:
A Component type project represents a part of a solution/application that are reusable, such as templates, shapes, or services. They may be user experience, models, and/or logic combined, but together do not solve a problem or produce an outcome until leveraged by an application. Component is the default type.
A Solution type project represents a complete solution/application. A solution/application is made up of component type projects, and typically solves a problem or delivers an outcome.
Project Type is available in ThingWorx 9.1 and later.
4. Optionally, add appropriate Tags and select a Home Mashup.
5. Specify a list of other projects that the project depends on using the Project Dependencies field.
It is not recommended to assign an empty project (a project without any entities) to another project using the Project Dependencies field. If the empty project is deleted after it has been assigned to a project, errors may occur when importing or exporting the existing project.
6. Specify any extensions that the project depends in order to be deployed and function as intended by using the Extension Dependencies field. Extensions can be published to or deployed from Solution Central.
7. To add entities to a project, in the Entities area, select or search for entities from the Available Entities list, and then drag and drop them to the Project Entities area.
For a new project, in the Available Entities list, a list of entities that have already been assigned to another project are displayed. If you add them to a new project, then they are re-assigned and removed from the previous project.
Using the filter () icon, you may also filter the entities based on the type, project, tags, Thing Template, Thing Shape, or descriptions.
8. Optionally, click the sort () icon to sort the entities or click the timer () icon to view recent entities.
To remove an entity from the project entities, select an entity and then click Remove. You may select and remove multiple entities at a time. The removed entity again appears in the available entities list.
You can delete or export a project by clicking the More button. From the More menu, you can also select to Open in Project View.
9. Click Save.
Project Context
In ThingWorx 9.1 and later, all entities must have a project assigned. To save time when creating entities, you can use the Set Project Context option. After this is set, any subsequent entities created will be assigned to that project.
Project context can be set in two places in Composer.
At the top left of Composer:
Within the General Information section for any new entity created in Composer:
To change the project context, select Remove as project context on any entity. An entity created without a project context set must have a project set to save the entity.
Was this helpful?