A Board is an project management tool designed to help visualize work, limit work-in-progress. As the image shown below.
Below you will find some quick definitions to help you read through the document.
Board | contains multiple groups and each group represents as an independent state |
Group | contains list of cards and each card represents as a record in database |
Card | contains list of properties and each property belongs to a specific FieldType |
Grouping field | using the grouping rules provided by the Field to organize all rows |
Grouping cell | the FieldType of the cell in row equal to the FieldType of the grouping field |
Grouping data | each group has its grouping data that represents as the group id |
A board using the database as its data storage.
The UML of the classes used in grouping shown in the following picture.
The groups are generated by the selected grouping field
. Currently, AppFlowy supports these grouping fields. These groups are generated by its own rules shown below.
FieldType | |
---|---|
SingleSelect | The number of groups equal to the number of options |
Multi-Select | The number of groups equal to the number of options |
URL | The number of groups equal to the number of different URLs in Cells |
Checkbox | Only two groups |
The first group of the board will be the No Status
group. It contains the cards that the grouping cell
doesn't contain the grouping data
specified by the grouping field
.
The number of rows in group will be changed by these conditions
- Move the card directly to another group.
- Edit the properties of the card
Actually, both of them can represent as create
/delete
/update
of the card
.
Create a card is equal to create a row with the grouping cell
data in the database. For example, creating a card in a group whose grouping field
type is SingleSelect
. Then the data of the grouping cell
will be that option specified by that group.
Delete a card is equal to delete the corresponding row in the database
- Moving a row from A group to B group will set the data of the
grouping cell
from A'sgrouping data
to B'sgrouping data
. - Update the data of the
grouping cell
to one of these groups is equal to moving this row to that group