IP Library Granted Patent US 11,610,053
Granted Patent B2
US 11,610,053 · App. 17/184,964 · Granted Mar 21, 2023

Database model which provides management of custom fields and methods and apparatus therfor

Inventors: Eric Seth Pelz (San Francisco, CA); Gregory Heath Slovacek (San Francisco, CA); Rosario John Aquino (San Francisco, CA); Jacqueline Frances Bavaro (San Francisco, CA); Nicholas William Fassler (Oakland, CA)
Assignee: Asana, Inc.
G06F40/177G06F3/0482G06F16/211G06F16/212G06F16/2456G06F16/252G06Q10/063118
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,610,053
App. No.
17/184,964
Granted
Mar 21, 2023
Kind
B2
Abstract

A data model for managing custom fields for tasks in projects. The custom fields can be defined and shared across an organization, and are always unique. Each type of custom field is an object that is subclass of a generic object. Other objects define attributes of the custom fields and assign values to the attributes. The data model allows the custom fields to be preserved and managed across multiple projects and users.

Claims (33)

1. A system configured to manage custom data fields used to define characteristics of tasks, the system comprising:

one or more physical processors configured by computer-readable instructions to:

define a task object for a task within a project management environment, the project management environment being configured to facilitate interaction by users with the project management environment, the project management environment including tasks assigned to, created by, and/or managed by individual users within the project management environment, the task object including a unique task ID for the task;

define a Proto class object specifying metadata for a custom field, the metadata specifying a definition of the custom field, the Proto class object having a unique proto ID;

define a Value class object based on a join between the task object and the Proto class object, the Value class object representing the join between the Proto class object and the task object by virtue of the custom field taking on a value for the task in the Value class object in accordance with the definition of the custom field specified by the metadata, wherein the value of the custom field is specified in the Value class object in addition to both the unique task ID so that the value of the custom field stored in the Value class object is assigned to the task, and the unique proto ID so that the value stored in the Value class object is associated with the custom field as defined by the metadata of the Proto class object; and

present the value for the custom field for the task in a user interface of the project management environment by accessing the Value class object by virtue of the value of the custom field stored in the Value class object being assigned to the task and associated with the custom field as defined b the metadata of the Proto class object.

2. The system of claim 1 , wherein the one or more physical processors are further configured by the computer-readable instructions to:

define a project object representing a project; and

define a project setting object including project metadata specifying specific settings, the project setting object representing a join between the project object and the Proto class object.

3. The system of claim 2 , wherein the Prato class object is a custom field option proto specifying that a given custom field has selectable value options.

4. The system of claim 1 , wherein the Value class object is expressed in a form of a JavaScript Object Notation (JSON) blob.

5. The system of claim 1 , wherein the Value class object is expressed in a form of a join object.

6. The system of claim 1 , wherein the metadata indicates one or more of a tracking number, a category, an owner, or dependencies.

7. The system of claim 1 , wherein the task object has a single property that contains values of all custom fields associated with the task.

8. The system of claim 1 , wherein when the task no longer inherits a given custom field because of editing, values for the given custom field in the task are maintained in association with the task.

9. The system of claim 1 , wherein the one or more physical processors are further configured by the computer-readable instructions to receive edits to remove a specific selectable value option from a custom field option proto, and set an archive attribute to preserve the specific selectable value option.

10. The system of claim 9 , wherein the specific selectable value option is displayed differently in the user interface to indicate that is has been removed.

11. A method to manage custom data fields used to define characteristics of tasks, the method comprising:

defining a task object for a task within a project management environment, the project management environment being configured to facilitate interaction by users with the project management environment, the project management environment including tasks assigned to, created by, and/or managed by individual users within the project management environment, the task object including a unique task ID for the task;

defining a Proto class object specifying metadata for a custom field, the metadata specifying a definition of the custom field, the Proto class object having a unique proto ID;

defining a Value class object based on a join between the task object and the Proto class object, the Value class object representing the join between the Prato class object and the task object by virtue of the custom field taking on a value for the task in the Value class object in accordance with the definition of the custom field specified by the metadata, wherein the value of the custom field is specified in the Value class object in addition to both the unique task ID so that the value of the custom field stored in the Value class object is assigned to the task, and the unique proto ID so that the value stored in the Value class object is associated with the custom field as defined by the metadata of the Proto class object; and

presenting the value for the custom field for the task in a user interface of the project management environment by accessing the Value class object by virtue of the value of the custom field stored in the Value class object being assigned to the task and associated with the custom field as defined by the metadata of the Proto class object.

12. The method of claim 11 , further comprising:

defining a project object representing a project; and

defining a project setting object including project metadata specifying specific settings, the project setting object representing a join between the project object and the Proto class object.

13. The method of claim 12 , wherein the Prato class object is a custom field option proto specifying that a given custom field has selectable value options.

14. The method of claim 11 , wherein the Value class object is expressed in a form of a JavaScript Object Notation (JSON) blob.

15. The method of claim 11 , wherein the Value class object is expressed in a form of a join object.

16. The method of claim 11 , wherein the metadata indicates one or more of a tracking number, a category, an owner, or dependencies.

17. The method of claim 11 , wherein the task object has a single property that contains values of all custom fields associated with the task.

18. The method of claim 11 , wherein when the task no longer inherits a given custom field because of editing, values for the given custom field in the task are maintained in association with the task.

19. The method of claim 11 , further comprising receiving edits to remove a specific selectable value option from a custom field option proto, and setting an archive attribute to preserve the specific selectable value option.

20. The method of claim 19 , wherein the specific selectable value option is displayed differently in the user interface to indicate that is has been removed.

Assignments (2)
SECURITY INTEREST Recorded Nov 8, 2022
From: ASANA, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061898/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2021
From: PELZ, ERIC SETH; SLOVACEK, GREGORY HEATH; AQUINO, ROSARIO JOHN; BAVARO, JACQUELINE FRANCES; FASSLER, NICHOLAS WILLIAM
To: ASANA, INC.
Reel/Frame 055410/0233 →
Continuity (2)
Continuation 15646310 · Jul 11, 2017
Related Publication 20210182475A1 · Jun 17, 2021