About Projects

A project is a process for attaining a specified goal or objective. This section describes how to create and work with projects, including working with project concepts, dashboards, and project visibility.

This page discusses:

Project Security

There are various levels of security associated with projects and their tasks that determine who can view project and task information. Security is controlled at the project level. When Project Leads create a project, they use the Project Visibility option to define whether the project is visible to all employees of their company or only to project members.

A higher level of security is Project Ownership security. The person who creates the project is the project owner. Only one user can own the project. The project owner has all access, including the ability to delete the project and reassign ownership to another user.

The Project Lead for a project can delete the project and change its ownership.

Project Membership is the higher level of security. Being a project member means:

  • The project is listed on your Projects page (unless you are a member only because you are assigned to a role or group that is a member). As a member of a project you get access to tasks in the project.
  • For app-specific users, you can be assigned a role that lets you edit certain attributes of a project. For example, a Project Lead can create/edit the project task. For projects with Member visibility, you and other explicitly added members to the project are the only people who can access project information.
  • For baseline users, if a member-visible project is created when you are logged in with a organization/collaborative space, the project is stamped with that organization/collaborative space. All users belonging to that organization/collaborative space are given access to the project according to the user's access in that collaborative space.

A task can be assigned to a nonmember of the project or to any member of the project. Task assignees have the following access:

  • View their task and the task parent (project).
  • Add subtasks. The assignee may or may not be the owner of the task.
  • Remove subtasks. The assignee is the owner of the task or has lead access in the project.
  • Create on-demand routes on their tasks.
  • Delegate their assignment to someone else in the project membership. The assignee has lead access in the project.
    Note: Assignees cannot delete the top-level task assigned to them.

Project Scheduling

You can schedule a project by estimated or actual dates. For information about this option for a project, see Editing Project Preferences.

When you create a project, Project Management calculates the finish date based on the project's start date and the schedule.

Some projects may require a specific finish date that does not slip. For example, in the apparel industry, cloths must be available in retail stores on predetermined dates that must be met.

Both methods of scheduling are supported.

Calendars

A project can have multiple calendars used to accommodate different work schedules and locations. Only one project calendar is the default calendar, which is used for project scheduling. A task can have only one calendar associated with it.

Below is the priority level for evaluation of calendars (from the lowest level up):

  • Calendar connected to the task
  • If the task has a single assignee, the calendar connected to the assignee’s location is considered for scheduling (if defined).
  • Default project calendar (if defined)
  • System default calendar (8-hour day with Sat/Sun as nonworking days)

Project Importing

You can import a file from another program when creating a project.

You cannot import a project concept by using the Add/Copy command in the task schedule. A project concept cannot be created by importing an ASCII file (tab or comma-delimited).

Subprojects are not supported for import.

Project Import File Format

When creating a project, you can import the following types of files:

  • Microsoft Excel (saved as tab-delimited .txt or comma-delimited .csv)
  • Microsoft Project (saved as tab-delimited or comma-delimited with only the columns)
  • ASCII file (tab- or comma-delimited) with the .csv extension.

A non-CSV import file must contain the 10 columns listed below and in the order specified below. If there are no values for some fields, the file must still contain the column. For example, if the tasks have no dependencies defined, there must still be a column for dependency information, even if the entire column is blank. Blank lines are acceptable if they are completely blank. Otherwise, the file is not recognized as valid and the project is not created.

  • Level. The level number in the hierarchy. You can import only a task hierarchy into an existing project, or a project name with tasks. If you have a parent project, its level is "0" and it is the first row,. When the first row is Project Space, the project name defaults to that name and you can change it. The first column determines the indented level of the project. The column must contain numeric values in an outline format. (This is the same format used by Microsoft Project to identify the order and hierarchy of project steps.) For example, the first seven tasks might have the task numbers 1, 1.1, 1.1.1, 1.1.2, 1.2, 1.2.1, and 1.2.2. Task 1 consists of two subtasks: 1.1 and 1.2. Each of the subtasks consists of two more subtasks: 1.1.1 and 1.1.2 for the first and 1.2.1 and 1.2.2 for the second.

When modifying an exported project plan, Excel rounds task numbers down. For example, 10.20 becomes 10.2. The Project Import wizard tests for this and rejects the import if this has happened.

If the file contains basic project information in the row above the task information, the task level is 0 for that row.

  • Name. The name of the task, phase, gate, or milestone. The name is truncated to 128 characters.

If the file contains a project in the row above the task information, the project name is in the name column.

  • Type. Task, Phase, Gate, or Milestone. Optionally, Project Space for the parent project. By default, there is only one task type called "Task." Your system may have additional types and subtypes. For more information, see Task Types.
  • Estimated Duration. The import supports the following duration units of measure: h, hours, or days.
  • Estimated Start Date. Must be in the format mm/dd/yy.
  • Estimated Finish Date. Must be in the format mm/dd/yy.
  • Dependencies. Optional. Slip days must be in integers and not real. Any decimals are truncated. You can enter more than one task separated by commas. If the file is comma-delimited, enclose this column in quotes. See About Task Dependencies for details on the syntax. When entering the ID number in the dependency, the ID numbers start with the first task. So if your file contains headers followed by project information, the third row would have ID 1.
    Note: A project import CSV file does not support a dependency on a task that is outside of the import file. In addition, a circular dependency in the import file is not detected while importing, and the imported structure will have a circular dependency.
  • Assignees. Optional. When present, this is a valid full name in the format <First Name> <Last Name>, for example "John Smith." For multiple assignees, separate them with commas. If the file is comma-delimited, enclose this column in quotes.
  • Constraint Type. The type of constraint for this task, which specifies when the task is to be completed within the project. Values are case-sensitive: "As Soon As Possible," "As Late As Possible," "Finish No Earlier Than," "Finish No Later Than," "Must Finish On," "Must Start On," "Start No Earlier Than," and "Start No Earlier Than."

    For nonsummary tasks, values can be "As Late as Possible," "As Soon as Possible," "Start No Earlier Than," "Finish No Earlier Than," "Start No Later Than," "Finish No Later Than," "Must Finish On," or "Must Start On." For summary tasks, the value is either "As Soon as Possible" or "As Late as Possible," depending on whether the project schedule is from the start date or finish date.

  • Constraint Date. Constraint types other than "As Soon as Possible" or "As Late as Possible" have a constraint date. If for other constraint types the constraint date is missing, the import will not work. The date format "mm/dd/yy" is used.

Optionally, the import file can contain the following information:

  • Column headers in the first row. The headings in the first row must have labels (for example, either Estimated Finish or Finish is acceptable).
  • Project information in the row above the task information. The project information includes: the project name in the Name column, along with the duration and estimated start and finish dates.

The following graphic shows an example of a correctly formatted import file.



To create a project by importing from any CSV format, the import file must contain 8 columns, with 2 constraint columns that are optional:

emxProgramCentral.ProjectImport.ColumnName =    Level,\
                                                Name,\
                                                Type,\
                                                Estimated Duration,\
                                                Estimated Start Date,\
                                                Estimated Finish Date,\
                                                Dependencies,\
                                                Assignees,\
                                                Constraint Type,\
                                                Constraint Date

Note: If a project import CSV file does not contain the "constraint type" and "constraint date" columns, all tasks are scheduled with "As soon As Possible" and all tasks have their start date as the project start date.

On premises only: If you import a CSV with more than these columns, you must add the additional column names as values in the "emxImportExportProjectSettings.properties" file for the key emxProgramCentral.ProjectImport.ColumnName. The columns and headers must follow the sequence in the above example.

On cloud only: no additional columns are allowed in a CSV import file.

An imported CSV file must have only English headers or no headers.

All imported schedule tasks have the following attributes, which can be edited in the schedule as required:

  • The state is Create.
  • The owner is the person who imports the file.
  • The task required field is Optional.

The file will not be imported if it contains any of the following errors:

  • Invalid file format
  • The Schedule column is not numeric.
  • The Type column does not contain a valid task type or does not follow the type hierarchy.
  • The start and end date columns contain invalid date formats.
  • The duration column is not numeric.
  • The dependency column is not enclosed in quotes. All dependency numbers must refer to a valid task ID.
  • The resource list contains invalid user names.
  • The CSV import file has a task or project name containing characters found in emxFramework.Javascript.NameBadChars. The default list contains "# $ @ % * , ? \ < > [ ] | : It does not make a difference whether the name is enclosed in quotes.
Note: For an invalid value, the error message is prefixed with the label "Error" in English, regardless of the language used by the app.

Task Types

By default, the app ships with these task types:

  • Task
  • Phase
  • Gate
  • Milestone
On premises only: Your system may be configured with additional task types and subtypes. The project import process verifies that the task type entered for each task is valid. The default policy for the task type is used when the task is created.

When you import a project from an ASCII file, you can only use the ENOVIA defined task types (Task, Phase, Gate, Milestone). The ASCII import does not recognize additional task types.

When building a project in the Edit Schedule page, the options you see for the task type depend on the task hierarchy structure created for your system. For example, consider the following two structures of task hierarchies:

If you create a task under the project node with Structure1, the task types you have available include Task and Phase. If you create a child of Phase, SubPhase1 and SubPhase2 appear. However, if you create a child of SubPhase2, which does not have any children, the system lets you select from a list of SubPhase3 and any of its siblings that also include SubPhase1.

If you created a task under the project node with Structure2, the task types available include Task, SubTask1, Phase, SubPhase1, SubPhase1.1 and SubPhase2. When you create a child of any of these tasks, the parent and all its siblings are displayed since they do not have children.