developmentseed / osm-teams

Teams for OpenStreetMap!
https://mapping.team
MIT License
26 stars 5 forks source link

Integrate OSM Teams within TM4 teams #289

Open LanesGood opened 1 year ago

LanesGood commented 1 year ago
kamicut commented 1 year ago

This has to be discussed with the TM development team to figure out if this is an external plugin or something that has to be added in the TM codebase. We also have to determine whether this is a 2-way sync, a one-way sync, or if OSM Teams within TM are a different entity but behave like TM teams.

batpad commented 1 year ago

We're settling on an approach we're calling "Creating read-only teams within Tasking Manager" - where a user can create teams within Tasking Manager where all the team metadata like name and description can be edited within Tasking Manager, but user membership will be handled in OSM Teams and be read-only in Tasking Manager.

This would allow users to delegate all team management activities to OSM Teams while creating teams in the Tasking Manager. This would leave the current Teams flow in TM unchanged - but allow users to optionally mark a team on TM as “managed on OSM-Teams”. The flow would be roughly:

Rationale:

Next Steps:

cc @vgeorge @willemarcel @LanesGood @kamicut

willemarcel commented 1 year ago
  • If a team is flagged as “managed by OSM Teams” in TM, it is read-only in the Tasking Manager

It's good to clarify that only the members will be read only. The other team details as name and description will remain editable in TM.

batpad commented 1 year ago

It's good to clarify that only the members will be read only. The other team details as name and description will remain editable in TM.

Thanks @willemarcel . Have updated the comment above to reflect the same.

LanesGood commented 1 year ago

Is there a possibility to add a "synced with Tasking Manager" label/field to a team in OSM Teams? I imagine this would be a database field. This could be useful for team managers/moderators when making changes on the OSM teams side to consider/be aware of effects on the TM environment.

LanesGood commented 1 year ago

I've mocked up the possible flow for TM4<>OSM Teams integration and am interested in your feedback @kamicut @vgeorge @batpad @willemarcel

View the prototype here. I've documented the current Team creation flow in Tasking Manager, and added the proposed flow.

batpad commented 1 year ago

@LanesGood 😍 this looks fantastic!

Everything looks good to me and this to me is the "ideal workflow". The only problem I can see with this is how do we handle the case where there is a user on OSM Teams who does not yet have an account on Tasking Manager - in this case, Tasking Manager does not have a good way to add this user to a team.

I think there are two options here:

I also feel comfortable with ignoring this particular complexity for now to continue conversations and see if this overall flow seems agreeable, and then tackle these little details, but we likely will need to deal with this problem at some point.

willemarcel commented 1 year ago

@LanesGood the mockups look great!

For the initial implementation, I prefer to just show a message with the users that are not present in TM. I would avoid implementing background re-sync in a first moment too, as it would require more changes in TM.

Is there a possibility to add a "synced with Tasking Manager" label/field to a team in OSM Teams? I imagine this would be a database field.

Yes, it'd be possible.

willemarcel commented 1 year ago

Started the work in this branch: https://github.com/OpenHistoricalMap/tasking-manager/tree/feature/osm-teams-integration

LanesGood commented 1 year ago

Current Tasklist

LanesGood commented 1 year ago

Addressed in https://github.com/hotosm/tasking-manager/pull/5575