Skip to main content

Start with Activities

An Activity is a collection of Assignments, Assignment Groups and metadata, represented as the "root" entity of an intranet project. It represents various educational tasks such as workshops, projects, and more.

The activity.yml file serves as the central definition for all information related to a specific activity within the PaCv2 model. This file encapsulates details about the activity itself, along with assignments and submissions associated with it.

This section covers the basic configuration of an activity. For a complete understanding of the file's structure and properties, please consult the PaCv2 model reference.

Global structure

An activity can be conceptualized as a node hierarchy. assignmentGroups, being part of this hierarchy, can themselves contain assignments and assignmentGroups. Consequently, some properties can be specified at the root of the activity and within a sub-node of the hierarchy. In such cases, it is necessary to consult the reference to determine whether the property is overridden (the children/local value overrides the parent/global value) or summing (the children/local value is added to the parent/global value).

General Information

The initial section of the activity.yml file comprises fundamental details about the activity. This includes essential metadata and characteristics that provide an overview of the activity.

Activity Metadata

To begin, it is essential to define the information related to the activity.

Activity Name: A Pretty name displayed on the intranet
Activity Slug: The slug is a unique identifier for the activity composed with alphanumeric characters and hyphens.
Tenant Slug: The slug of your tenant. If you don't have one, please contact the Forge.

slug: activity-example
tenantSlug: tenant-slug
name: My First Activity
info

You can also add an optional Markdown-formatted description, a newsgroup, and newstags for students. These fields are optionals. Please refer to PaCv2 Reference.

Managers

Subsequently, we can define the activity managers as a list of Forge logins.

managers:
- xavier.login
- john.doe
caution

By designating an activity manager, they will have sufficient rights to oversee the entire activity. For more granular management of managers, please refer to the additionalManagers reference.

Date and Time

We can move forward by specifying different dates for the project. The publication date is when students will publicly access the project, including the subject, exercises, and submission conditions. The opening and closing dates represent the time frame during which students can submit their work. All dates follow the timestamp format.

dates:
publishingAt: "2023-02-09T07:00:00+01:00"
openingAt: "2023-02-09T08:00:00+01:00"
closingAt: "2023-02-10T18:00:00+01:00"

Learners

To add students to an activity, you need to perform a "subscription" which involves specifying the list of logins associated with their Forge accounts. Additionally, you can specify the maxLearners property, ie. the maximum number of students forming a working group (with 1 representing solo work).

maxLearners: 1

subscriptions:
logins:
- xavier.login
- john.doe

Assignments & Submissions

As mentioned earlier, the concept of nodes with precedence applies to the hierarchy of assignments and assignmentGroups within an activity. This hierarchical structure with properties at different levels allows for a flexible and nuanced configuration of student assignments within the activity.

In the upcoming sections, we will delve into the detailed configuration process. Before that, here's a summary example encapsulating what we have covered in this section:

slug: activity-example
tenantSlug: tenant-slug
name: My First Activity

managers:
- alpha.manager
- bravo.manager

dates:
publishingAt: "2023-02-09T07:00:00+01:00"
openingAt: "2023-02-09T08:00:00+01:00"
closingAt: "2023-02-10T18:00:00+01:00"

maxLearners: 1

subscriptions:
logins:
- xavier.login
- john.doe

assignments:
- slug: hello-world
name: Hello World

submissions:
- slug: ro
handoffType: REGISTRATION_ONLY