Context
Regular upkeep is required to maintain your things.
For this version, we are building a personal inventory of our belongings and a way to manage chores.
Chores have a frequency:
Daily, weekly, monthly, quarterly, yearly.
Architecture
Chores are logged with a storage entity.
There is a timestamp field on chores to track when last logged.
Chores can be pinned. New chores (not yet logged) are pinned above.
Sub chores
Chores reference a location, which is hierarchical.
Subchores have an entity reference hierarchy field for the parent.
Is this field really necessary/appropriate? Am I just using it for ordering the children? Could I achieve the same with corresponding entity references?
The project description is not clearly aligned with these needs.
The contrib project tasks just have an entity reference for parent.
Chore search view
Search view has a hierarchical location facet and display.
Drill down into locations with location facet.
Chore dashboard view
New chores don't have a log date.
Pinned chores use sticky at top of list.
A view of chore logs with attachments to show new and pinned.
Views Add Button with patches to add new chores and chore logs in a dialog.
Using Activity Link with patches to pin items to top and refresh the view.
Had many issues with log date aggregation, so added the last chore log date field to chores, which gets updated via eca when new chore logs are added.
Still uses aggregation to group logs by chore in pinned.
TODO
Fix views display issues:
- Clicking pin/unpin action link should update via ajax.
- Using search filters causes rendered entity to appear as random string.
- Highlight overdue chores based on frequency and last log date.
- Nest sub-chores in listing.
- On parent chore page, list sub chores with button to log individual chore. Update existing chore log from the same day.


