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: "Hyzer, Chris" <>
  • To: Yoann Delattre <>, "" <>, "" <>
  • Subject: RE: [grouper-users] Re: Organizational Structure without Members
  • Date: Tue, 14 Mar 2017 15:46:41 +0000
  • Accept-language: en-US
  • Authentication-results: ac-lille.fr; dkim=none (message not signed) header.d=none;ac-lille.fr; dmarc=none action=none header.from=isc.upenn.edu;
  • Ironport-phdr: 9a23:F+mJ+hwqW/kA6RDXCy+O+j09IxM/srCxBDY+r6Qd0usfKvad9pjvdHbS+e9qxAeQG96KtrQZ1aGJ7OjJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fdbghMhDexe7N/IRS5oQjTtMQdnJdvJLs2xhbVuHVDZv5YxXlvJVKdnhb84tm/8Zt++ClOuPwv6tBNX7zic6s3UbJXAjImM3so5MLwrhnMURGP5noHXWoIlBdDHhXI4wv7Xpf1tSv6q/Z91SyHNsD4Ubw4RTKv5LpwRRT2lCkIKSI28GDPisxxkq1bpg6hpwdiyILQeY2ZKeZycr/Ycd4cWGFPXNteVzZZD428cYUBEvYBM+hboYnzpVQOrAexCga3Cez11jNEmmX70bEm3+kjFwzNwQwuH8gJsHTRtNj5OqUcUOC0zabW1zXPd+5d1Cn96IjScxAhuv+AVq93fMrU1UYvFwPEj1SOpoz/JD6V1/8NvHSB4+p9TeKglWgnqwdrrjex28gsl5DEi4QIwV7K8iV5xZw6Jdy+SENjbt6kF5xQty6eN4RoWM8tX2ZouCMixr0Jo567ezUKyIw5yB7FcfCIaZCI4gr7WOaQJzd4mGxqeKi5hxms7Uis1PfwWdep31ZXtiZFjtnMtmoT2BPJ98eLUOF9/lqn2TqX2ADT8OZEIV0slaXFMZ4u3qQ/lp4XsUvZBSD2nFv5gLWKeUo+/uio7/zrYrv7pp+AKo90kB/xMrg0lcykAuQ0KBIOX3Wd+em6ybbt/lX5Ta1UgvErk6TVqp7XKdoBqqKkAAJZz5wv5wiwAju+zdgVk2ULIEhBdR6alYTlJUzCLfTiAfuigVmhkTFmzO3cMLL7GJXCNH3Dna/hfblj705czxI+w8hD6pxTFr0MLuv/V1HoutDFFxM5NBe7zPj9BNV6y4MeRXmAAqiEMKPUrFCE/PovI/OLZI8JpjnyN+Ql5//pjX8/g1MderSp3YcTaHC/GfRmIF+VbmbrgtcECWsKvww+Q/L2iFCaTzJfene/U7gy6z0lEo6qEITOSp23jLCf0yq3BphWaXpHClCIH3fobYKEW/IUZSKXPsBhkjwFVLm/RI87zhyutRT6xKZ9IurJ4i0Xq5Tj1N5v6+LNiB4y6CR4D96B3GGVU2F0gmQISic53KBlpkx910+D3rZig/BBCNxT/O1GUh0hNZPHy+x6CsvyWh7aftuXUlqmQ9OmAS0vQdIrxd8BfVp9F8u4gh/dwiWqHuxdq7veNZs99KSU83X1Ltph0XuOgLgmhl8gBMdCMWS6mrRy3wHYQorIl0GU0aiwI+BUliHX83qbwHDLoVpVShVYUKPZUGoZa1eM69n1+wmKG7C0Dqk/PxEE1NWPMLBia9v1gE9ASeu5ftnSfjT10y25AB+ax7WDdZfnYHkc2yPGUBBbuw8W9HeCcwM5A23p92vbBS5vE132fk737eh5rmjjFhAcwASDbkkn3L2wrE07n/uZHrkzz6AJomNpgDVuHU33l4bTANqRtQd7VKRHapUg+FpB0yTUuxErbc/oFLxrmlNLK1c/hEjpzRgiT9wYycU=
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99

I would suggest having the loader use “addIncludeExclude” type.   This will load into the system of record group, and have an includes group, and an excludes group, so you can do one offs there that will not be removed with the next loader run.

 

Or you could union your loader memberships with the memberships already in grouper via the grouper_memberships_lw_v so that the loader query includes members already there…  (ive never done this but seems possible and feasible J )

 

Thanks

Chris

 

 

 

From: Yoann Delattre [mailto:]
Sent: Tuesday, March 14, 2017 10:07 AM
To: Hyzer, Chris <>; ;
Subject: Re: [grouper-users] Re: Organizational Structure without Members

 

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