This database is only found in the Creator’s Companion: Ultimate Tasks Edition.
The Projects database contains all of the general project pages you create within your task manager. These are non-content projects – e.g. redesigning a studio or launching a product.
Projects are essentially containers for multiple tasks that, together, help push you toward completing a larger goal.
Below you’ll find a reference guide for all properties in the Projects database. Properties are in alphabetical order.
Properties
Archived
Type: Checkbox
If checked, this project is Archived. It will be removed from all main project views, and will show up in the Archived view.
Created
Type: Created Time
The date and time this project page was created.
Edited
Type: Last Edited Time
The date and time this project was last edited.
Latest Activity
Type: Formula
Returns the date and time of the latest activity in the project – including the project itself, along with any tasks or notes directly related to it.
Used for allowing projects to be sorted by Latest Activity in certain views.
lets(
taskActivity,
prop("Tasks").map(current.prop("Edited")).sort().reverse(),
editedList,
[prop("Edited")],
concat(taskActivity, editedList).sort().reverse().first()
)
Code language: JavaScript (javascript)
Localization Key
Type: Formula
This property allows you to define translated names for the Project database’s key Status options – Planned, On Hold, Doing, Ongoing, and Done.
These are important for filters in certain database views.
/* If you would like to translate your Status option names, translate them in the Status property AND in this formula as well. Below, you'll see variables for each of the important Status options in Ultimate Tasks. For each, you can replace the terms in quotes ("") with translated terms. The final argument (the List defined by the brackets) is the return value of this formula. It is a multi-dimensional List (e.g. array), where the most important element is the 2nd (index 1) of the top List. This sub-List contains all of the Status options that are considered Active.
Since Notion formulas don't let us access the Groups of Status properties (e.g. To Do, In Progress, Complete), this is the best way to get the Group of a translated (or added) Status option.
If you have added extra options that are considered Active, add them as strings between the brackets underneath the additionalActiveStatusOptions variable. This can be helpful if you want to define multiple stages for Active projects.
Example: ["Design", "Development", "QA"] */
lets(
planned,
/* Edit the term below this line to translated the Planned status. E.g. "Zaplanowany" */
"Planned",
onHold,
/* Edit the term below this line to translated the On Hold status. "Zastopowany" */
"On Hold",
doing,
/* Edit the term below this line to translated the Doing status. "W trakcie" */
"Doing",
ongoing,
/* Edit the term below this line to translated the Ongoing status. "Otwarty" */
"Ongoing",
done,
/* Edit the term below this line to translated the Done status. "Zakończony" */
"Done",
additionalActiveStatusOptions,
/* If you would like to add additional Active status options, add them as strings between these brackets. See the comment above for an example. */
[],
/* Do not edit anything below this line */
[
[planned, onHold],
[doing, ongoing, additionalActiveStatusOptions].flat(),
[done]
]
)
Code language: JavaScript (javascript)
Meta
Type: Formula
This formula property displays the number of active tasks in the project, along with the number of overdue tasks.
lets(
active,
prop("Tasks")
.filter(
current.prop("Status") != "Done" and current.prop("Status") != current.prop("Localization Key").at(2).last()
)
.length(),
overdue,
prop("Tasks")
.filter(
current.prop("Status") != "Done" and current.prop("Status") != current.prop("Localization Key").at(2).last()
and now().dateBetween(current.prop("Due"), "days") > 0
)
.length(),
ifs(
prop("Tasks").length() == 0,
"",
active == 0,
"",
if(
overdue == 0,
(active + " Active").style("blue"),
(active.style("b") + " Active - ").style("blue")
+ (overdue.style("b") + " Overdue").style("red")
)
)
)
Code language: JavaScript (javascript)
Name
Type: Title
The name of the project.
Progress
Type: Formula
Shows the progress of the project by calculating the percentage of completed tasks related to it.
if(
prop("Tasks").empty(),
"".toNumber(),
(prop("Tasks")
.filter(
current.prop("Status") == "Done" or current.prop("Status") == current.prop("Localization Key").at(2).last()
)
.length()
/ prop("Tasks")
.length()
* 1000)
.round()
/ 1000
)
Code language: JavaScript (javascript)
Status
Type: Status
The status of the project. For “projects” that contain ongoing/maintenance items, use the Ongoing status.
If you want to translate these status options, be sure to update the Localization Key formula property as well.
Name | Description |
---|---|
Group: To-do | |
On Hold | Projects that have already been started, but are currently paused from active work. |
Planned | Projects that you’ve planned to do, but haven’t started yet. |
Group: In progress | |
Doing | Projects with a defined end goal that you’re currently working on. |
Ongoing | Projects that collect and organize tasks meant to maintain an ongoing standard (e.g. maintenance tasks in an Area within the PARA system). |
Group: Complete | |
Done | Projects that are complete. |
Tasks
Type: Relation
Tasks that are part of this Project. This Relation property connects to the Project Relation property in the All Tasks database.