Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] Re: Organizational Structure without Members

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] Re: Organizational Structure without Members


Chronological Thread 
  • From: Yoann Delattre <>
  • To: "Hyzer, Chris" <>, "" <>,
  • Subject: Re: [grouper-users] Re: Organizational Structure without Members
  • Date: Tue, 14 Mar 2017 15:06:38 +0100
  • Ironport-phdr: 9a23:Xol1mxYnWiC7hbmoNgovevL/LSx+4OfEezUN459isYplN5qZpsy+Yx7h7PlgxGXEQZ/co6odzbGH7ua9ByddsN6oizMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVrO+/7BpDdj9it1+C15pbffxhEiCCzbL52LBi6twXcu8gZjYZiLqs61wfErGZPd+lK321jOEidnwz75se+/Z5j9zpftvc8/MNeUqv0Yro1Q6VAADspL2466svrtQLeTQSU/XsTTn8WkhtTDAfb6hzxQ4r8vTH7tup53ymaINH2QLUpUjms86tnVBnlgzoBOjUk8m/Yl9ZwgbpGrhy/qRxxw43abo+bO/VxfKzSYcgXSnBdUstLTSFNHo2xYokJAuEcPehYtY79p14WoBS8AgmjHuXvyjlVjXH4w6I61/4uER3a3Aw6Ad0FrXPZrdXyNKgIV+C1yrPEwijdYPNSwzj99JTIcgo/rvyXR71/bdPdyU0uFwPBilWft5bpPz2P1ukUtWWQ8uRuVeWqi2E9qgFxpCCixsgrionOiYIVzk7L+T9lz4YyIN20UEF7YcSjEJtNryGVKZF2Ttk4TGFwoCY20rwGuZinfCcU0pQnwQDQa+CZf4SS/B3sSfuRLS9khHJlYrKwmQy9/lW6xu3mS8m01k5GriVfktnLq3ANzwLc6tKbRfRn+keh3SyA2BvX6u5aO0w7ibDUK5olwrIomJoTrFjDHjLsmErokK+ZbF4k+uuy5+T9f7XmoJmRPJJ3hAHmKqkih8iyDOsiPgQTW2WW/f6w2b/n8EHjXblGk/87n6/Eu57AP8sbvLS2AwpN34Yj9Rm/CzCm3cwCknkZLF9JYgiIgJTwN1HKIfD4CfO/jEq2nDdl3fDKJrzhApPTIXjfiLrtYLJw5kFGxAYuyd1S44hYB7MFLf7pR0P9qd7VAgc8MwOuwubnDNt91pkZWWKKGqKYMKTSvkWO5uIpOeWDeZEauDLnJPg5+/7ul2E2lEQHcqa1xJcXbHG4HvBiI0qHe3bsjM0BHX8QvgUiVOzqlEGCUTlLana9RaI84Sw7CJq4AofZX4ytnaeB0zmhHp1NfW1GDlGMEWz0d4WfRfsAciOSIsl9kjMaT7ihTZEu1Q2wuAPg1bVoM/fUqWUkssep9Mln6veX3Toy7z1vRYzJ1mqNXnN5hEsJXDRwwbhyp0o7x1ueh+wwyfNCEsFL6ukMTxw3L4X0zupmBsr0Vx6bONqFVRzuFtq8BiwpQ8h03sQDeV1VGtO+gwrF0jbwRbIZiurPTJUx+7Dd2XfoOstm13fB0rJ51wYOTc5GNGngjal6pCbJAIucokKQkaDiWakY1TLR7mrLmXuJtUdeFgJ9VazZQWoSTkLd6ND44kfPCbG0X+d0ejBdwNKPf/MZIubiik9LEa/u

Hello,


i try to do the same thing : create groups without members.

So far i manage to avoid those errors by setting the subject_id column a subject that cannot be resolvable.


Groups are created but later if someone add a member and when the loader will run again, the member will be deleted


I'm a little stuck, do you have an idea ?

Thanks,

Yoann


Le 08/03/2017 à 16:43, Hyzer, Chris a écrit :
There are two queries available:

  • grouperLoaderQuery: This is the query to run in the DB, which must have certain columns required or optional based on the grouperLoaderType.  e.g. for SQL_SIMPLE, the SUBJECT_ID is required, and the SUBJECT_SOURCE_ID is optional.  If your DB supports views, might not be a bad idea to link query up to a view so you can easily see what it will return and change it without affecting the group attribute.  But will work with any select query.  This is required.  Note: in Grouper v2.1 you can try having SUBJECT_IDENTIFIER or SUBJECT_ID_OR_IDENTIFIER instead of SUBJECT_ID, though each is less efficient than the next since they require an extra subject lookup or multiple subject lookups per row
  • grouperLoaderGroupQuery: query (optional) for SQL_GROUP_LIST which should return cols: group_name, group_display_name (optional), group_description (optional) which if there are used for the group display and extension.  Note: the parent stem display names are only changed when creating them.  This should return all groups in the membership list, and if not there, its ok, the extension will be used as display extension, and a generated description. Note: the display name is the display path, with the display extension of each parent stem.  If there is a column named any of the following: readers, viewers, admins, updaters, optins, optouts, then the data in the column (comma separated subjectId's or subjectIdentifers (which can include group names) will be assigned to that privilege list.  Note, existing assignments to that privilege list will not be removed, so if you remove an item from the query, you will need to manually remove it from the groups.  This is a way to have a loaderJob-wide list of readers or viewers.


you cant have a blank subject_id.  but I hope if you list the group in the gruoperLoaderGroupQuery that it will work.  Can you please try it?  If not we can fix that...

thanks
Chris

From: Akki Kumar
Sent: Monday, March 6, 2017 4:42:28 PM
To: Hyzer, Chris;
Subject: Organizational Structure without Members
 
Hi Chris,

I am working on creating the Organizational Hierarchical Structure without members in it (https://spaces.internet2.edu/display/Grouper/Organization+hierarchies+via+the+grouper+loader). When I run the SQL loader, it's showing below error (I kept the subject_ID column empty because groups cannot have members in it). However, based on the error, it looks like Subject_ID cannot be empty. Does grouper support creating an Organizational Structure without adding members to the group?



Error: 
       at edu.internet2.middleware.grouper.app.loader.db.GrouperLoaderResultset$Row.getSubject(GrouperLoaderResultset.java:1381)
        at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType.syncOneGroupMembership(GrouperLoaderType.java:2256)
        at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType.syncGroupLogicForOneGroup(GrouperLoaderType.java:1466)
        at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType.access$200(GrouperLoaderType.java:112)
        at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType$10.callLogic(GrouperLoaderType.java:1386)
        at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType$10.callLogic(GrouperLoaderType.java:1382)
        at edu.internet2.middleware.grouper.util.GrouperCallable$1.callback(GrouperCallable.java:164)
        at edu.internet2.middleware.grouper.GrouperSession.callbackGrouperSession(GrouperSession.java:974)
        at edu.internet2.middleware.grouper.util.GrouperCallable.callLogicWithSessionIfExists(GrouperCallable.java:161)
        at edu.internet2.middleware.grouper.util.GrouperCallable.call(GrouperCallable.java:132)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:701)
2017-03-06 15:44:55,394: [pool-1-thread-37] ERROR GrouperLoaderResultset$Row.getSubject(1399) -  - Problem with null: null, subjectSourceId: ldap, in jobName: Application Roles:DIT:TestGroupOne
java.lang.RuntimeException: Loader job needs to have SUBJECT_ID, SUBJECT_IDENTIFIER, or SUBJECT_ID_OR_IDENTIFIER! Application Roles:DIT:TestGroupOne, ArrayList size: 3: [0]: GROUP_NAME
[1]: SUBJECT_ID
[2]: SUBJECT_SOURCE_ID

        at edu.internet2.middleware.grouper.app.loader.db.GrouperLoaderResultset$Row.getSubject(GrouperLoaderResultset.java:1381)
        at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType.syncOneGroupMembership(GrouperLoaderType.java:2256)
        at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType.syncGroupLogicForOneGroup(GrouperLoaderType.java:1466)
        at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType.access$200(GrouperLoaderType.java:112)
        at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType$10.callLogic(GrouperLoaderType.java:1386)
        at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType$10.callLogic(GrouperLoaderType.java:1382)
        at edu.internet2.middleware.grouper.util.GrouperCallable$1.callback(GrouperCallable.java:164)
        at edu.internet2.middleware.grouper.GrouperSession.callbackGrouperSession(GrouperSession.java:974)
        at edu.internet2.middleware.grouper.util.GrouperCallable.callLogicWithSessionIfExists(GrouperCallable.java:161)
        at edu.internet2.middleware.grouper.util.GrouperCallable.call(GrouperCallable.java:132)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:701)
2017-03-06 15:44:55,394: [pool-1-thread-37] ERROR GrouperLoaderResultset$Row.getSubject(1399) -  - Problem with null: null, subjectSourceId: ldap, in jobName: Application Roles:DIT:TestGroupTwo
java.lang.RuntimeException: Loader job needs to have SUBJECT_ID, SUBJECT_IDENTIFIER, or SUBJECT_ID_OR_IDENTIFIER! Application Roles:DIT:TestGroupTwo, ArrayList size: 3: [0]: GROUP_NAME
[1]: SUBJECT_ID
[2]: SUBJECT_SOURCE_ID


Thank you,
Akki




Archive powered by MHonArc 2.6.19.

Top of Page