wefork / wekan

The open-source Trello-like kanban (built with Meteor)
https://wekan.io
MIT License
61 stars 12 forks source link

Add Feature: Teams/Organizations similar to Trello #52

Closed aegrey closed 7 years ago

aegrey commented 7 years ago

Feature Description

Similar to Trello, an administrator would be able to create a team/organization. Any boards created under this team would be accessible to all members of the team. Very high level of changes would be:

Existing Requests

https://github.com/wekan/wekan/issues/690
https://github.com/wekan/wekan/issues/173

Discussion Requests

https://discuss.wekan.io/t/teams-and-permissions/77 (somewhat similar)
https://discuss.wekan.io/t/any-progress-on-users-being-able-to-see-and-interact-all-boards-immediately-upon-registration-suggestion-groups/206

I currently don't know of any code bases that would assist in implementation of this feature, but this is the main reason why I'm still using Trello for my team, so I'd like to contribute. I did not see any pull request for it in the main repo. I know this would be a fairly heavy lift with database restructuring necessary.

If this isn't something someone currently has on their radar, I have forked this repo and will plan on documenting the technical requirements to implement this feature, and then communicate this and possibly start implementation of the feature as time allows.

xet7 commented 7 years ago

@aegrey

This is related to other Wefork issues in this way:

13 Has some code for admin interface, but probably does not include teams

For making Wefork programmable, AFAIK there is no code for these yet:

43 API

42 Using Email with API

49 Auto add user name to a moved card

There is currently not much technical documentation of Wefork, only some related to using it at: https://github.com/wefork/wekan/wiki/FAQ https://github.com/wefork/wekan/wiki/Install-from-source

And also on original Wekan wiki: https://github.com/wekan/wekan/wiki

Wefork code is mostly Javascript, templates, CSS and some YAML. It uses Meteor Javascript framework, Node.js for serverside, and MongoDB database that also is Javascript-based.

On codebase, there is check for environment variable, is it running: 1) Wekan standalone version, when it has multiboard features, login etc etc although disabling login on #13 is not implemented yet. 2) Running on Sandstorm, then only one board is in use and is set to public, because Sandstorm provides authentication, sandboxing in grains etc.

Wefork code is quite logically divided to subfolders. I recommend that after cloning that repo to your computer: 1) You don't add Node.js modules or Meteor framework to there 2) Read the code and make notes

If possible, it would be nice to have additional MongoDB database collections (or "tables" as in SQL database terms) for additional information added, that would make upgrading from previous versions of Wefork easier. Some users have a lot of data. So in new version if collection does not exists, then create it.

Planning and documenting technical requirements would be a good way to start. This would also prevent duplicate work when Team/Organization admin is different than the simple previous #13 implementation.

Currently Wefork team is quite small, so having some new technical documentation of code structure would also help newcomers to get familiar with it.

xet7 commented 7 years ago

This issue was moved to wekan/wekan#802