Users may play different roles at different farms. Here are two common use cases:
An individual that wishes to become a farm owner will apprentice as a farm manager at someone else’s farm.
A farm worker may be a worker at several different farms throughout a given season.
For this reason, it’s important that Lite Farm support the ability for a user to be associated with any number of farms. For each association, the user may have a different role.
Litefarm needs to support the following:
A user should only need to register once (per email address)
When logging in, active users can choose one of their existing farm associations or to define a new farm and association
When being invited to play a role at a farm, an existing user can add the new role to their existing roles
Architectural Guidance
High level architecture guidance
Open Questions
Open Questions | Discussion | Decisions |
---|---|---|
Where should user settings / configurations be held? | It depends. Obviously user-centric configurations such as language should be held on the user. Settings that may vary from role to role, such as permissions to read/write should be stored on the user-farm. Other, farm specific settings such as measuring system* and currency should be stored on the farm settings. | |
Can a user play more than one role at a single farm? | Depends on our implementation of RBAC. |