Teamspeak hierarchy permission configuration - permissions

I'm trying to configure my teamspeak server and I don't know how to do some things, so I'm asking help to configure it... here is what i wanted to do:
I have some categories like 'Minecraft' or 'Planetside 2' or 'Devlopment' and each categorie contain some channel and sub channel. which lead to something like that:
Then about users :
First, there's me: the admin.
Then I want to be able to put some people in a 'Moderator' group
Me and moderators can define some people as 'Categorie leader'. for example, I can put people A to be a 'Minecraft Category leader'
A Categorie leader can define who is in his categorie (of course moderator and admin can also), for instance: My Minecraft categorie leader A can put people B to be a Minecraft Player. But a Minecraft Categorie leader can't put People C as a 'Planetside 2 player'.
This configuration is show on this picture:
Then about the channel !
I will take the example of the Planetside 2 Categorie :
I will have 2 channels in the categorie : the first one will allow only Planetside 2 player, Planetside 2 leader and admin to access it. the second one will allow everybody to access.
How can I do that ?
For the moment I didn't try anything, as I don't want to do some mistake that would make it hard ton configure. But I was thinking about channel group, and allow a channel group to access a particular channel. I found some topics on google which make me think it's not that hard.
But then, i don't find anything which can help me to do the part where I want my Categorie leader putting channel groupe only for his categorie.
Any idea ?
Thanks for your help.

For your first question, unfortunately, this is not possible.
TeamSpeak permission is based on a numeric system, instead of a tree hierarchy system.
In other words, if my value is greater than yours, I have power over you.
So back to your case, the most you can do is a four-level rank, with Admin -> Moderator -> Leader -> Members.
In other words, if your leader made their own member groups, all other leaders can access it (since they got higher power than the member group), which is not something you'd want, but that's the sad reality of it.
Now, to your second question on channel groups, this is doable, just follow the instructions:
set all channel's needed_join_power with a value greater than 0, also make sure that you set the needed_join_power of the channel you want to exclusively for leaders is higher than that value.
set admin and moderator's join_power higher or equals to the value you set for step 1.
set the SERVER GROUP of the default Member group's join power to 0
set up channel groups with Leader and Member, both with join_power higher than the value in step 1, also make sure Leader's join power is higher than Member's
Grant Leader with the power to move user
Done. Once this is complete, the leader can move users into their channel and grant the user with the associated channel groups. When the user is assigned with the associated channel group, they can freely move in and out of the channel at free will.

Related

How to Implement Contains logic in Oracle SQL for Multiple values

Scenario
Each Online User has a set of skills assigned to him, Based on their skills they need to be mapped to a specific team, For which I need to check all the skills and if a certain set of skills are present assign him a team.
My Implementation till now
I used a CASE statement to check skills and if they match exactly give the name to that entry.
Problem I am facing
If the user is assigned more skills to help other teams then these conditions fails and it goes to ELSE condition.
So I was thinking if it is possible to include contains logic that will check if certain skills are present for the user then assign him a team according to that, And it is also possible a User is part of two teams, So if two skill set matches then two teams should be assigned to him, In CASE statement it is
not possible to achieve this.
I have gone through REGEXP, but I guess that also will not help.
Let me know if more clarity is needed.

Odoo User and Manager on the same Group

I am a beginner in Odoo and I would like to create accounts for Managers and Simple Users respecting these conditions:
Manager A (of the Team 1) can see his own records as well as the records of the Users X1 and X2.
Manager B (of the Team 2) can see his own records as well as the records of the Users Y1 and Y2.
Manager A cannot see the records of Team 2.
Manager B cannot see the records of Team 1.
I created Team 1 and Team 2 as Groups using Settings --> Users and Companies --> Groups and I affected the users and the managers to their respective groups but nothing happened. When I created a new event, it was still visible for all the others.
Do I need to add a special record rule or something?
I am using the Events module of Odoo 12.
Generally, groups are defined to have different permissions(read,write,delete,edit) on model level (not on records level). For e.g, User,Manager,Director,Admin,etc. In your case, teams have same permission on event model but you only want subset of records to be visible to respective teams. (I am curious if there is a term for such permission) So, you have to use record rule.
First, add new field team_id in user.
Then, add record rule to make event only visible to respective teams. [('create_uid.team_id', '=', user.team_id.id)]

Reduce Active Directory users in Jira using LDAP Query

I am retrieving users for Active directory in Jira 7 by using LDAP. I am trying to reduce the number of users brought from LDAP to a particular group that we have created. So in order to do that i put (objectCategory=group)(cn=WebAgileDevs) in the group object filter along with the default settings. The only thing i change is the Base DN and credentials required. When i save and test it does show me that it is testing 1 group and 15 users which is what i want!(See the screenshot). BUT, when i go and sync it, it brings in 43000 users!! What am i missing???
Test Remote Directory Screenshot
The group filter is used to filter the list of groups that are imported to JIRA, and the user filter is used to filter the list of users that are imported to JIRA. The two need not necessarily correspond. Your group filter would be instructing JIRA to bring in only that one group (into the list of groups), but without further refinement, your user filter will still be pulling in all users, as you noticed. This means that you need to adjust the user filter too.
From your question, you want to import only those users who are a member of a specific group. Atlassian provides some general guidance here.
The last example on that page is particularly relevant for you:
(&(objectCategory=Person)(sAMAccountName=*)(memberOf=cn=CaptainPlanet,ou=users,dc=company,dc=com))
This tells JIRA to pull in only those user objects that are a member of the group cn=CaptainPlanet,ou=users,dc=company,dc=com. You would want to replace this with your cn=WebAgileDevs (plus whatever trailing qualifiers you need to fully qualify the group name).

Redis: paginated ordered zrank fetch of a member in multiple sorted sets

New to Redis. Need some help.
USE CASE:
I have thousands of leaderboards. They have usernames in them with appropriate scores. A user can belong to 1 or more leaderboards. I need an efficient way to get the rank of every leaderboard a particular user belongs to, preferrably sorted by rank and with pagination. Typical user will belong to hundreds of leaderboards.
AS FAR AS I GOT:
I keep a set for each user containing boards he belongs to. To get a user's ranks I get his set of boards then zrank each board in the set and then order it by rank in my code. This seems very inefficient and does not support pagination.
I have been reading and brainstorming and I am stuck. What I need is something like:
user1:boards (a,c,e)
board:a (user1,user23,user5)
board:b (user2,user7,user12)
board:c (user2,user1,user42)
board:d (user36,user4,user9)
board:e (user6,user19,user1)
SORT user1:boards BY board:*->user1
Similar to sorting by hash fields except -> in this case means the sorted set score of the member provided. Would there be any performance improvement if such a feature existed? Or would it be the same as pipelining all the zranks?
Thanks.
To make your reads efficient, you just have to make a minor change to your writes.
Currently you are storing user boards in a set, store them in a sorted set instead. Lets call it user_boards_sorted_set.
So whenever you increase the score of a user 1 in a leaderboard sorted set (board1 for example) , you run a zrank for user 1 on board1, and that rank becomes score for the user1 in user_boards_sorted_set.
This way user_boards_sorted_set always contains all the boards the user belongs to, and the scores against each entry contain his rank in that particular leaderboard.Run a ZRANGE on user_boards_sorted_set and you will have the user and his ranks in all the leaderboards sorted by rank.
UPDATE : Based on feedbacks in the comments, and an incorrect assumption made in the above answer .
Another good way would be to use Lua scripting to get individual board rankings by doing ZRANK on all the boards that the user belongs to, and sorting it in LUA itself. This will give significant performance gain as all the ZRANKS and then sorting are done on server side itself, and reduces network transfers.

What does gidNumber in phpLDAPadmin mean?

I am new to openLDAP.
When I create a new user (generic user), there is a field GID number.
Can somebody explain what this field means?
Does this number needs to be unique? I can select between my posixGroups.
I have the same posixgroups in each country (OU): users, admin, linux.
When I have the list of posixGroups in the GIDnumber, there I cannot see which group from which ou I need to select? How can I solve this?
When you select a posixsgroup for a new user. When I go to that selected group, how can I see that the new user is a member of that group?
Kr,
Joeri
With the gidNumber-attribute you can set the primary group of a user. That group will be used for instance when the user creates a file in a unix-like filesystem in that the file will belong to that group. And it doesn't need to be unique.
As you created the same group names under different subtrees there is no easy way to differentiate between those equally named groups. Easiest solution would be to rename those groups to include a hint to the subtree. But to be honest Personally I'd see whether it is necessary to have the same group in different subtrees and try to consilidate that to only three groups.