Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Feature: Teams/Organizations similar to Trello #802

Open
xet7 opened this issue Feb 8, 2017 · 77 comments
Open

Add Feature: Teams/Organizations similar to Trello #802

xet7 opened this issue Feb 8, 2017 · 77 comments
Assignees
Milestone

Comments

@xet7
Copy link
Member

@xet7 xet7 commented Feb 8, 2017

From @aegrey on December 18, 2016 1:53

Feature Description

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

  • Organizations: Add/Modify/Remove in Admin Panel.
  • Teams: Add/Modify/Remove in Admin Panel. Board overview page would be available for the team, similar to the users, but with additional controls to manage the team members.
  • Teams: Privacy: Private/Public. With Private option, making board public is not allowed.
  • Users: Modify in Admin Panel, change password.
  • Users: Add in Admin Panel.
  • Users: When adding, also save fullname.
  • Users: Remove in Admin Panel. There is Error after deleting a user #1289
  • LDAP: Subgroups wekan/wekan-ldap#58
  • LDAP: map unlimited Wekan profile items to LDAP fields. If profile is changed in Wekan, should Wekan have ability to save data back to LDAP? Or should Wekan be able to override LDAP settings? wekan/wekan-ldap#58
  • LDAP: Map Wekan Roles to LDAP Roles wekan/wekan-ldap#58
  • LDAP: Check that only Admin LDAP subgroup gets Wekan Admin permissions wekan/wekan-ldap#58 (comment)
  • LDAP: Check that LDAP filter works correctly. Is it possible to simplify filter settings? wekan/univention#5

Discussion Requests

https://discourse.wekan.io/t/teams-and-permissions/77 (somewhat similar)
https://discourse.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.

Copied from original issue: wefork#52

@xet7
Copy link
Member Author

@xet7 xet7 commented Feb 8, 2017

@aegrey

This is related to other Wekan issues in this way:

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

For making Wekan 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 Wekan, only some related to using it at:
https://github.com/wekan/wekan/wiki/FAQ
https://github.com/wekan/wekan/wiki/Install-and-Update#install-manually-from-source

Wekan 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 Wekan team is quite small, so having some new technical documentation of code structure would also help newcomers to get familiar with it.

@aegrey
Copy link

@aegrey aegrey commented Aug 9, 2017

Thanks @xet7 - I've been looking over the code and am halfway through some tech specs for this, I've been busy but I'll post something when I put together something more solid if someone else doesn't take it on first. :)

@xet7
Copy link
Member Author

@xet7 xet7 commented Aug 9, 2017

@aegrey

Thanks! It's very nice to get tech specs for this.

Since your previous post to this issue Wekan has gained many more features, I will also add there recent ability to change email address.

@killua-eu
Copy link

@killua-eu killua-eu commented Sep 12, 2017

@xet7
Copy link
Member Author

@xet7 xet7 commented Sep 14, 2017

Moved to here from #1220

Feature request by @DukeW

It would be nice to be able as an admin to take "ownership" of boards. I have a Wekan instance running for 30 people, and some people don't archive there boards when there done. I would like to be able to take ownership of these old boards and archive them my self. Also sometimes a board creator is not present and new people need to be added to a board, right now I don't have a way of doing this.

Reply by @xet7

It's possible to change you as board admin at MongoDB database, that link is mentioned at Platforms page. There is no Web UI for it yet. I have not tried can it be done with REST API.

@xet7
Copy link
Member Author

@xet7 xet7 commented Sep 14, 2017

@aegrey

Can you add your in-progress tech specs to this issue?

xet7 added a commit that referenced this issue Nov 18, 2017
Change: is user admin, name, fullname, email address, is user active.
Not changing password yet. Thanks to thuanpq and xet7 ! Related #802
xet7 added a commit that referenced this issue Nov 18, 2017
User Admin to Admin Panel: List users.
Change: is user admin, name, fullname, email address, is user active.
Not changing password yet. Thanks to thuanpq and xet7 ! Related #802
thuanpq added a commit to thuanpq/wekan that referenced this issue Nov 19, 2017
…eting-setting

* commit 'eceaac799884ded6586940b0716a3020fa36022d':
  Fix: Helper to list boards for user. Thanks to milesibastos ! Closes wekan#1326
  Update translations.
  User Admin to Admin Panel: List users. Change: is user admin, name, fullname, email address, is user active. Not changing password yet. Thanks to thuanpq and xet7 ! Related wekan#802
  Change admin panel header order to info people version.
  Make Admin Panel People page text translateable
  Markdown in card/minicard/checlist titles and checklist items. Next line: Shift+Enter. Submit: Enter. Closes wekan#926. Fix: Emoji detection breaks MAC addresses. Closes wekan#1248. Fix: Codeblocks should not be scanned for emoji. Closes wekan#643. Fix: Whitespace trimming breaks Markdown code block indentation. Closes wekan#1288. Thanks to brooksbecton !
  Fix Missing trailing comma in users.js
  Updated comments about pressing enter on forms
  Added markdown support to card-titles, minicard-titles, checklist title, and checklist items
  Added update all user profile from admin panel
  Updated users methods to get user id from client on updating user data, is aimed to support admin update other user profile
  Added pagination to people management in admin panel
  Added edit user from admin panel
  Added people list in admin panel , just raw data right now, will add more features soon
  Add .idea to .gitignore
  Add REST API better error output

# Conflicts:
#	i18n/ar.i18n.json
#	i18n/br.i18n.json
#	i18n/ca.i18n.json
#	i18n/cs.i18n.json
#	i18n/de.i18n.json
#	i18n/en-GB.i18n.json
#	i18n/eo.i18n.json
#	i18n/es-AR.i18n.json
#	i18n/es.i18n.json
#	i18n/eu.i18n.json
#	i18n/fa.i18n.json
#	i18n/fi.i18n.json
#	i18n/fr.i18n.json
#	i18n/gl.i18n.json
#	i18n/he.i18n.json
#	i18n/hu.i18n.json
#	i18n/id.i18n.json
#	i18n/it.i18n.json
#	i18n/ja.i18n.json
#	i18n/ko.i18n.json
#	i18n/nb.i18n.json
#	i18n/nl.i18n.json
#	i18n/pl.i18n.json
#	i18n/pt-BR.i18n.json
#	i18n/ro.i18n.json
#	i18n/ru.i18n.json
#	i18n/sr.i18n.json
#	i18n/sv.i18n.json
#	i18n/ta.i18n.json
#	i18n/th.i18n.json
#	i18n/tr.i18n.json
#	i18n/uk.i18n.json
#	i18n/vi.i18n.json
#	i18n/zh-CN.i18n.json
#	i18n/zh-TW.i18n.json
thuanpq added a commit to thuanpq/wekan that referenced this issue Nov 19, 2017
…t-time

* commit 'eceaac799884ded6586940b0716a3020fa36022d':
  Fix: Helper to list boards for user. Thanks to milesibastos ! Closes wekan#1326
  Update translations.
  User Admin to Admin Panel: List users. Change: is user admin, name, fullname, email address, is user active. Not changing password yet. Thanks to thuanpq and xet7 ! Related wekan#802
  Change admin panel header order to info people version.
  Make Admin Panel People page text translateable
  Markdown in card/minicard/checlist titles and checklist items. Next line: Shift+Enter. Submit: Enter. Closes wekan#926. Fix: Emoji detection breaks MAC addresses. Closes wekan#1248. Fix: Codeblocks should not be scanned for emoji. Closes wekan#643. Fix: Whitespace trimming breaks Markdown code block indentation. Closes wekan#1288. Thanks to brooksbecton !
  Fix Missing trailing comma in users.js
  Updated comments about pressing enter on forms
  Added markdown support to card-titles, minicard-titles, checklist title, and checklist items
  Added update all user profile from admin panel
  Updated users methods to get user id from client on updating user data, is aimed to support admin update other user profile
  Added pagination to people management in admin panel
  Added edit user from admin panel
  Added people list in admin panel , just raw data right now, will add more features soon
  Add .idea to .gitignore
  Add REST API better error output

# Conflicts:
#	i18n/en.i18n.json
@xet7
Copy link
Member Author

@xet7 xet7 commented Nov 23, 2017

@thuanpq is working on this.

@thuanpq , please accept invitation to Wekan GitHub Organization so I can assign you to this issue.

@tareko
Copy link

@tareko tareko commented Jul 20, 2020

Hello all. Is there progress on this issue? I can't figure out where to track it at this point.
Edit: Found it

xet7 added a commit that referenced this issue Dec 28, 2020
Thanks to xet7 !

Related #802
xet7 added a commit that referenced this issue Jan 1, 2021
Thanks to xet7 !

Related #802
xet7 added a commit that referenced this issue Jan 1, 2021
Thanks to xet7 !

Related #802
@NicoP-S
Copy link
Contributor

@NicoP-S NicoP-S commented Jan 11, 2021

I got errors in the new org/team pages.
Exception in template helper: orgList...
Is this normal because the feature is still in progess like #3420 ?

@jrsupplee
Copy link
Contributor

@jrsupplee jrsupplee commented Jan 11, 2021

@xet7

I looked at some of the code for teams/orgs and I realize that this is a work in progress. One suggestion to make determining user permissions without making many queries is to store team and org membership in the Users collection. That way team and org membership for the user is available without doing further queries.

@xet7
Copy link
Member Author

@xet7 xet7 commented Jan 11, 2021

@jrsupplee

Yes, this is work in progress. Thanks for suggestion!

xet7 referenced this issue Jan 23, 2021
Admin Panel/People: 1) Allow edit user that does not have email address.
2) When creating new user, require username and email address, and save also fullname.
3) Some in progress code for deleting user, that does not work correctly yet, so deleting user is not enabled yet.

Thanks to airtraxx and xet7.

Related #3396
@mweiss237
Copy link

@mweiss237 mweiss237 commented Jan 26, 2021

Do you also consider the possibilty to mention a team or organization in comments with the @ character?
That would be a huge benefit in my use case and I'm pretty sure for most other users too.

Thanks a lot for your work!

@xet7
Copy link
Member Author

@xet7 xet7 commented Jan 26, 2021

@mweiss237

Well, now that you mention it, probably Yes. That mention could send message to Wekan feature Notification drawer like Trello.

@jrsupplee
Copy link
Contributor

@jrsupplee jrsupplee commented Jan 28, 2021

If @ could be used for an org, team, or user. The system will have to ensure that they are unique (i.e. no username the same as a team name

@xet7
Copy link
Member Author

@xet7 xet7 commented Feb 18, 2021

Moved to here from #3582

From @l0ccitan3

Hello,

in larger environments its useful, to have a function to group some user. So you would no longer need to assign users individually to a board. I have not found a function to this effect. Optionally, a mapping of the LDAP OU would also be useful.

Best Regards

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet