From 7fa9813707178764a87c28d94d218168ed1db3c7 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Fri, 21 Oct 2022 09:48:52 -0500 Subject: [PATCH 01/44] Update iam-features.adoc --- iam-features.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iam-features.adoc b/iam-features.adoc index 2c1d08f..82a1269 100644 --- a/iam-features.adoc +++ b/iam-features.adoc @@ -1,4 +1,4 @@ -=== iamFeat.adoc https://spaces.at.internet2.edu/pages/resumedraft.action?draftId=132154032&draftShareId=68a3657f-aa67-44e7-9ce8-d552172e8d5f& +=== iamFeat.adoc Original: https://spaces.at.internet2.edu/x/fYFFBg - - - From 857fc85d7d149c7623d599bb13a21a159c8814e7 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 2 Nov 2022 12:44:34 -0500 Subject: [PATCH 02/44] Update iam-functions-list.adoc --- iam-functions-list.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/iam-functions-list.adoc b/iam-functions-list.adoc index bd946dd..27cfdf8 100644 --- a/iam-functions-list.adoc +++ b/iam-functions-list.adoc @@ -35,6 +35,7 @@ password and MFA management + access policy management (coarse and fine grained) + access mgmt admin, (distributable) + request/approval processes + +access to services + lifecycle transitions definition, admin, and automation + service accounts + apps, services as credentialed agents for invoking other services, apis + From 094f18ce4aa56122bfd0abd74f4fe751f40d1254 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 2 Nov 2022 13:01:53 -0500 Subject: [PATCH 03/44] Update iam-functions-list.adoc --- iam-functions-list.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iam-functions-list.adoc b/iam-functions-list.adoc index 27cfdf8..c57b53e 100644 --- a/iam-functions-list.adoc +++ b/iam-functions-list.adoc @@ -13,7 +13,7 @@ credential binding + account validation + attribute verification + identity resolution + -support for multiple identity records (and credentials) for a single person + +support for multiple accounts (and credentials in some cases) for a single identified person + self-service identity management + password management + From 0bfaebb098ad7df624ad6eb7bd13265e051e4f26 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 2 Nov 2022 13:18:31 -0500 Subject: [PATCH 04/44] Update iam-functions-list.adoc --- iam-functions-list.adoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/iam-functions-list.adoc b/iam-functions-list.adoc index c57b53e..81a12f5 100644 --- a/iam-functions-list.adoc +++ b/iam-functions-list.adoc @@ -31,9 +31,8 @@ consent and privacy protection + multiple AuthN sources and services, (local SSO, social, federated, protocol gateways) + password and MFA management + - access policy management (coarse and fine grained) + -access mgmt admin, (distributable) + +access mgmt admin (distributable) + request/approval processes + access to services + lifecycle transitions definition, admin, and automation + From 6d1f7ddb1574bbdbbbffd4fe6f57a917493653d0 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 11:56:08 -0600 Subject: [PATCH 05/44] Add files via upload --- Ps2GrouperUNChHill.adoc | 552 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 552 insertions(+) create mode 100644 Ps2GrouperUNChHill.adoc diff --git a/Ps2GrouperUNChHill.adoc b/Ps2GrouperUNChHill.adoc new file mode 100644 index 0000000..3f98eac --- /dev/null +++ b/Ps2GrouperUNChHill.adoc @@ -0,0 +1,552 @@ + +Ethan: + +I wanted to talk about today is just basically how our data currently gets from eoplesoft to Grouper. +There's maybe a a story that I didn't include about how groper data gets indirectly to peoplesoft. But maybe I can comment about that at the end + +We've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. + +The The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been +the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. + +So that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in 2009 well ahead of bringing up the HR And finance modules. The integrations are messaging and the reason for those two different transports are that the original campus solutions integration was all messaging. + +The original campus solutions integration was all messaging based. and then , we just found that later upholding strategy was perhaps, , at least as effective as the messaging we were doing. +And so when we did the integrations with HR And Finance , those were done as as so transport integrations and kind of either way it's It's pretty close to real time. So the the information that's pushed by messaging. And course that's when there is a ton of changes that kind of back things up are really into + +and then There are the ones that are polling or polling every five minutes. the data integration, but a second path that we use all conveyed via those messages, and then business logic to publish those into reasonable affiliations happens inside Directory Manager, +The Directory manager also does those so queries that I mentioned. So that's the direction we decided to go with +HRAnd in finance. So it connects to Hcm. and queries for jobs and associations and associations with the construct that we use here. , for the these sort of +poorly worded affiliate status which is basically your sponsored researchers +contractors anybody who you can't really say is an employee of the university, but still has quite a formal relationship with the University goes through this what we call our affiliate process, and that creates those associations. The Directory manager is is what they call every five minutes or So +for any new jobs and associations that are available. And then also, once a week, has a a a so pinpoint that a call and say, Okay, cycle through and give me everybody so that it can do a full synchronization. +And then there's just a very simple query over to Peoplesoft finance, really. Only thing that I am cares about from +our finance installation is what are the department names? So it gets nbers department nbers that are associated with jobs or associations or student status. +, but it it's nice to have a friendly name to associate with those department nbers, and so it retrieves those friendly names from our our finance install. +And then Directory manager is responsible for essentially has its own open ldap instance running kind of locally to that application, and then we use the built-in open all that sync where to? To? To to that out to our our large open +installation, and then finally, That's where Grouper can run. It's loader jobs and retrieve things from Ldap. So just like we run loader jobs for databases. We've got these that run directly against our open laptop installation, and that gives group or, + first of all, it's subject source, +but also affiliations with student type and departments all come through wearing that open all that instance. So this. These are fairly indirect, as obviously. But as I mentioned, they perform well that this works. +, it's just kind of +old and + very you and C specific +the The second flow that we have I mentioned informatica, +and it's doing sql queries into any of the big towers along with some other data sources. Honestly, it's just here we're We're concerned about Peoplesoft +and then informatica has the capability to +push those in the group or via the group or web services. So a lot of the roles that are people solve security folks create are useful in other applications besides just inside people's, so they they function. As for +proxies to other data that people might have access to because of the roles that they have. And and one of the Peoplesoft powers. So, for example, they can go to a data warehouse. + and instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried +to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? +! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom +and . So +all of those are published. A group or many of them are then published to that to be consed. But this gives group or some knowledge about internal + people, self-security information as well as those kind of edge case groups that we haven't come across a friendly, her way to to get replicated out for consption to be a group, +and I should have said this before. But but Please interrupt with questions as we go along, because I know these paths are are fairly divergent. So it's a really, really quick one about the diagram that you're showing that Are the arrows correct? Are you taking data from and from Fromatica and sending it to people talk? Or is it the other way? +I I I usually debated which way to point these arrows, but this is our sql query, so informatic that is, reaching out to the Peoplesoft hours, The Nsql query and pulling data back. I see. + +the third flow is just direct loader jobs that people saw from that group or a queries people. Software so probably the the courses and course roles are the + main use of these queries. +We we do publish all of our courses out to group, or you know, each semester, and then break out +the different roles inside the courses. So, student student, you know, faculty primary +teaching assistant. , all of those kinds of it's it's +that didn't get published out to. For example, + components that we have, +and those those really are the the three paths happy to go into more detail on any one of them, as people have questions. +, are there? So what are your Lms or any management systems, +mainly, or you have several, I guess. Yeah. Why, why would you have one? Right? So our our current Currently, the majority of our courses are in sakai + but we are trying to migrate to canvas. So we have something a little bit larger than pilot groups on campus at this point. + +- - - + + +00:58:02/01:00:44 +Audio Transcript + + + this is something + we need to figure out. We needed to figure it out for a while. ! I don't think we're quite there yet, but we have more pieces in place, and what that needful thing is is to make the kind of material that we've presented to each other and talk to each other about and drafted docents about make that more useful to the community. ! And help answer some of their nagging questions "Please provide guidance on this or I'm considering + this. And I notice that there's functionality from + these tap components more than one of them. And then there's also all this commercial stuff. + So the frame of mind i'd like to ask us to be in today is is basically + imagining what form of materials what presentation + would serve the needs of that. + + One major effort to go in this direction + was requested something on the order of a year ago from Cirrus identity to come up with the + example. I am architecture and some + classic use cases + that would move us in this direction. Get us with a sort of basic + foundation for being able to do this kind of compare and contrast thing, and and answer some of the questions from folks. , so that Lincoln one A will take you over to that, and I will go there + now, and B. C and d essentially highlight different parts of that, and I + we'll kind of step through those + over on that draft. So + IAM reference architecture. It's clearly everybody involved considers this a draft, + and this is one of the first extended groups to have a look at it. + ! And that's exciting in itself. ! So + I guess what I thought was a really well useful place to start with looking at the objectives, because these are, I think, things that we would agree are important objectives. So come up with this family of use. Cases uh + that are pretty common. , but kind of touch on different aspects of how I am supports the enterprise. + . And then to find baseline deployments. + primarily, if not exclusively, drawn from mashups of tap components. + And say, Okay? Well, if you've got used case one federated access here are the ways that the tap components can be wired together to solve that. + And then , + we don't want to stop there because + of nber three, which is that + we want to figure out a way so that organizations or other solution providers can + + defined alternative ways to essentially meet the same use cases, maybe, or meet one that's related, but not identical. And do these in a way that we might call overlays, meaning. The basic + framework is still there, but we're substituting other things for tap components or different tap components for other functions, and so forth. And then ! They set themselves the task of starting to suggest some alternative deployment overlays + and so that that's kind of where i'd like to us to go today when we get into + taking up one presentation, we've heard which is one from Ethan + about Peoplesoft group or integration + and kind of running through a very similar exercise to what we just outlined here. + ! The docent from serious goes through + some generic capabilities. And + at sort of basic treatment of the tap + architecture components. + And then we get into these five used cases and let's see. So used case one Federation enablement. I don't think there's a lot of mystery about what that is basically trying to reach across multiple organizations and + share access to external service providers, or share access from one institution to others, and things like that. ! Not too surprising, then, for each of these in this docent they provide examples + a little more specific right? And then they have + worked on identifying the audience that would care about this use case. + And then this is a relatively, + we haven't done a lot of this kind of thing ourselves, at least in this software integration group, + which which is to lay out a a user's story end user experience, step by step. ! That shows them accomplishing what they set out to accomplish. + And then finally, there's the tap baseline which components you might use for + to accomplish that, and how you wire them together. + The other four are a managing access, + I think, to most of us on the call, we can + pretty much brought what that is likely to be about scholarly collaboration + both within and beyond the boundaries of the institution, + and then guest systems and Guest is a very broad category. Here you can see from these bullets + that guest is a nice brella term, covering everything from job applicants + to alni donors and vendors, and so forth. ! + And they go through all that + and same pattern of subsections on each of those + and the tap, baseline and identity life cycle management + use case that they address. So I think you can see how those five pretty much + + cover in one way or another. Some of the major use cases in + in our space. + , + And I guess in this final section called suggested alternative implementations. + I wanted to highlight this sentence in red here. , that the whole point of this was to facilitate, follow on docentation + of alternative implementations or overlays + that incorporate under legacy systems and other non-tap components. So this is kind of like the opening gambit if you will but we know that to meet the needs of the broadest + range of campuses. We have to also cover situations that are likely to be hybrid or + mixes and matches of things mashups. + So + And I think maybe the intent here was to focus this all on those five + specific use cases. I think that might be. + Well, let's. We'll see how that bears out. I I suspect it. + We might come up with some interesting material on presentations that are quite + aligned with one of the five here, but I don't think that's as critical as the basic approach, and for these five we certainly do want to lay out + alternatives along the way. + : So basically , + the challenge to us. So one E: basically , we're being asked you, all and others will be asked to review this offer comments and suggestions and , and eventually then still start identifying next steps. + , One of the next steps kinds of things is this next bit Here + this came up this business of having people present on + Peoplesoft to Grouper integration. Stories came out of the people, soft integration working group, + and I see Tommy is here, so that ah! As the chair of that group and other members of that working group are here as well. + , + and we've gone through a a series of those four of those presentations from late smer until fairly recently. + and that a few of us, Tommy, and then from + Illinois State University. I'm glancing in here here in here today, + but anyway, and Ethan raised their hands when asked + if they would take part in reviewing this, and again trying to + extract the essence of it, and fit that into some kind of framework that we're talking about. That would be useful to the rest of the folks. So if people are game + for that, the next thing I would do is start the replay of about thirteen minutes of + Ethan's presentation from July the twenty nine, I think. + , But let me kind of pause there and catch my breath and + entertain any kind of questions or uh + concerns. Or maybe you've had some ideas already of things that would kind of address this business of how we help our peers, + + What I + I wanted to talk about today is is just basically how our data currently gets from Peoplesoft + to + . There's maybe a a story that I I didn't include about how group or data it gets indirectly to Peoplesoft. But maybe I can kind of comment + a comment about that at the end. + But we've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. the The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been + the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to particularly the Open LDAP Directory, but also Active Directory. + So the that that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in two thousand and nine well ahead of bringing up the HR And finance modules. + . The The integrations are messaging, and so and the reason for those two different transports are that the original campus solutions integration was all messaging. + I'm gonna jp in here to try to + reload this presentation and overcome the network here that just through a nice big X on things. So i'll try to pick up where we left off if I get this + and then the ones that are polling or polling every five minutes. So those are still, close enough to real time to for people to be unbothered by the by, the data integration. + A second path that we use is, we we want informatica, which is + an etl tool + , So the main thing that's that's used for is for developers uh + user avatar + Bill / Internet2 + 00:18:29 + you want to unmute Ethan? + user avatar + khazelton - Internet2 + 00:18:31 + he didn't do that. My flaky network did it so i'm gonna go inside closer to the router and + wireless, and we'll try again. Sorry about this folks. + That's the + first time I've had that kind of issues in a good long while. + user avatar + Ethan Kromhout + 00:18:51 + Yeah, although I I would naturally tend to mute me if I could. So + user avatar + khazelton - Internet2 + 00:19:03 + relocating. And then we'll pick it up again, + or maybe well, no, it's pretty much a couple of good. + Get somebody else to pull up, + hey? I got it. + Oh, yeah, that's a nice feature. + It does that it might + Firefox browser probably just need to shut things down and starting in. But I think I've got it + looking over here. Let's see. + Make bit today. + Yeah, I believe we're about or that the original campus solutions integration was all messaging based. and then we just found that later upholding strategy was perhaps, at least as effective as the messaging we were doing. + And so when we did the integrations with HR And Finance those were done as as so transport integrations + and kind of either way it's It's pretty close to real time. So the the information that's pushed by messaging. And course that's when there is a ton of changes that kind of back things up are really into + Yes, + and then the ones that are polling or polling every five minutes. So just to let you know we're not seeing the slides at this point i'm bothered by the by, the data integration, but a second path that we use + it, says i'm screen sharing. Now, is that true? + I'm seeing the It's the It's the multiple desktop conundr. + I know I know + user avatar + Unknown Speaker + 00:24:30 + gotta stop sharing this one + user avatar + Unknown Speaker + 00:24:34 + and then share this other one. + user avatar + khazelton - Internet2 + 00:24:44 + Perhaps now it is correct. + Is + we? We run in for America, which is a nhl tool. + . So the main thing that's that's used for is for developers kind of in the group that runs Peoplesoft to write queries, + and then either push those out the different locations, or create apis in informatica for people to retrieve data without having direct database access. + So the developers in relation to group or do a fair amount of querying of things in those databases, and then pushing information into Grouper for a couple of use cases i'll talk a little bit more about. + And then lastly, I I would, I should mention. Is it near real time for those other integrations. In the case of the informatic etls, it's really up to the developer. Most of those are things that run on kind of a daily cycle. But, the developer in informatic that has the uh + capability to schedule things as often as they want them to run. It really is up to them. + Excuse me, The The last way is for you a group of loader jobs we have many, many dozens of loader jobs running in Grouper but some of those do run directly against Peoplesoft databases + and those tend to run three or four times a day. So they're They're less real time than our directory manager. Application , but still have some kind of a a fixed schedule. That's up to the idm team that runs group or the to decide how often they run. + So this first little wanted to talk about is the one that goes via Directory manager. So this is our home home growing at + so kind of as I mentioned Peoplesoft campus solutions we've got triggers on a nber of the Bio demo tables inside campus solutions. , as well as some of the students. basic student information. + So whenever those bio demo tables show. Any kind of change or status change happens with the student. then a database trigger causes a message to go out to integration broker, + and then we have a configuration. Integration. Broker is so that it can speak Jms. to our Directory manager application. So that's That's the the first flow in the flow for the campus solutions + our information, the the student status as it flows to Directory manager is fairly specific. We get a a nice , + a array of information that that arrives at Directory manager, and if we're getting to get published out to build out + . So you know the students, Major. + miners what year they are what their status are. They prematriculated? Admitted. They are full on student. That kind of thing is all conveyed via those messages, and then business logic to publish those into reasonable affiliations happens inside Directory Manager, + a Directory manager also does those so queries that I mentioned. So that's the direction we decided to go with + HRAnd in finance. So it connects to Hcm. and queries for jobs and associations and associations with the construct that we use here. , for the these sort of + poorly worded affiliate status which is basically your sponsored researchers + contractors anybody who you can't really say is an employee of the university, but still has quite a formal relationship with the University goes through this what we call our affiliate process, and that creates those associations. The Directory manager is is what they call every five minutes or So + for any new jobs and associations that are available. And then also, once a week, has a a a so pinpoint that a call and say, Okay, cycle through and give me everybody so that it can do a full synchronization. + And then there's just a very simple query over to Peoplesoft finance, really. Only thing that I am cares about from + our finance installation is what are the department names? So it gets nbers department nbers that are associated with jobs or associations or student status. + , but it it's nice to have a friendly name to associate with those department nbers, and so it retrieves those friendly names from our our finance install. + And then Directory manager is responsible for essentially has its own open ldap instance running kind of locally to that application, and then we use the built-in open all that sync where to? To? To to that out to our our large open + installation, and then finally, That's where Grouper can run. It's loader jobs and retrieve things from Ldap. So just like we run loader jobs for databases. We've got these that run directly against our open laptop installation, and that gives group or, + first of all, it's subject source, + but also affiliations with student type and departments all come through wearing that open all that instance. So this. These are fairly indirect, as obviously. But as I mentioned, they perform well that this works. + , it's just kind of + old and + very you and C specific + the The second flow that we have I mentioned informatica, + and it's doing sql queries into any of the big towers along with some other data sources. Honestly, it's just here we're We're concerned about Peoplesoft + and then informatica has the capability to + push those in the group or via the group or web services. So a lot of the roles that are people solve security folks create are useful in other applications besides just inside people's, so they they function. As for + proxies to other data that people might have access to because of the roles that they have. And and one of the Peoplesoft powers. So, for example, they can go to a data warehouse. + and instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried + to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? + ! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom + and . So + all of those are published. A group or many of them are then published to that to be consed. But this gives group or some knowledge about internal + people, self-security information as well as those kind of edge case groups that we haven't come across a friendly, her way to to get replicated out for consption to be a group, + and I should have said this before. But but Please interrupt with questions as we go along, because I know these paths are are fairly divergent. So it's a really, really quick one about the diagram that you're showing that Are the arrows correct? Are you taking data from and from Fromatica and sending it to people talk? Or is it the other way? + I I I usually debated which way to point these arrows, but this is our sql query, so informatic that is, reaching out to the Peoplesoft hours, The Nsql query and pulling data back. I see. + I honestly don't know what right way to the face that are up. + Uh. So I did. I hear you use the term people's off towers. Or did I, Mis? Hear that or that? I probably said that yeah, it just took me to separate out the + kind of the big three, and I I actually she. Which reminds me, there's another gap in this diagram, which is, we do also run + it easily. The The Peoplesoft portal, + and some of those security related + roles, and what not come from that portal. So I should have also had our fourth tower, which is the Peoplesoftware + user avatar + Unknown Speaker + 00:33:57 + on this diagram. + user avatar + khazelton - Internet2 + 00:34:02 + And then the the third + , + third flow. And and apparently I need to go back and remember how to spell membership. But the third flow is just direct loader jobs that people saw from that group or a queries people. Software so probably the the courses and course roles are the + main use of these queries. + We we do publish all of our courses out to group, or you know, each semester, and then break out + the different roles inside the courses. So, student student, you know, faculty primary + teaching assistant. , all of those kinds of it's it's + that didn't get published out to. For example, + components that we have, + and those those really are the the three paths happy to go into more detail on any one of them, as people have questions. + , are there? So what are your Lms or any management systems, + mainly, or you have several, I guess. Yeah. Why, why would you have one? Right? So our our current Currently, the majority of our courses are in sakai + but we are trying to migrate to canvas. So we have something a little bit larger than pilot groups on campus at this point. + user avatar + Unknown Speaker + 00:36:06 + All right, + user avatar + Unknown Speaker + 00:36:07 + I believe we're back. + user avatar + khazelton - Internet2 + 00:36:09 + . + So yeah, hopefully. , in spite of the interruptions and things, people had their ears on for that. . + So we're now up to to see here. + + what I pulled out of this when I listen to it, + is that the uh + functionalities. + from I am that are getting addressed in this particular instance are the C one through four, + and those are essentially drawn from + this. I am functions list, which + we've had around for quite a long time, but we haven't made much use of + , but I thought it might be one interesting way to + I don't know, indicate what functionality is coming up in, in what different kinds of presentations are used cases. . So this was an attempt without a lot of editing, since to capture + the various capabilities + our functionalities of I am in in operation goes through a few different categories of things. + , and what + what I got on him + the presentation for me It was it + We're looking at + these + thanks Here We didn't there wasn't much talk about auditing, logging, reporting, but i'm assing that that is also part of this these these processes, so + as I say, that from that long list of all the quote unquote all the functions + these are the ones that, I believe, are addressed there, and I try to indicate a little bit of how they're related. So + provisioning and deprovisioning are supported by the functionality that that he's talking about + messaging, and the Api's and message and integration and data floats. All that stuff is core functionality, of of course. + + batch reconciliation and new real-time sync didn't talk a lot about that a little bit, + and so you could consider that, I believe, as supporting functionality or the core functions that are going on in this group or two. + user avatar + Unknown Speaker + 00:38:40 + + user avatar + khazelton - Internet2 + 00:38:41 + I'm: Sorry. Yeah. People's off to go for integration. + And then finally, again auditing, logging are supporting functionalities. + . So that was kind of my dry run through of what you might + try to do to to pull out + sort of key terms or something to organize the material when you're trying to figure out which bits people might care about. + So d is essentially + my thought, and I think, I've got the three dots under d four, meaning. I'm interested in hearing. If there are people other ways that people think + , we can make use of this information rather than just, + you know, playing the whole thing. But again, always putting first in our minds. + ! + What are the kinds of situations that community community members will come to us? + They found themselves in Situation X. And they would like some guidance or help about, how they how they deal with that. + And , + this is basically a few ideas I had for it. So let's say we've assembled + any nber of these presentations or excerpts of + of presentations from Csp from software integration working presentations all over basically . And one way would be to say, Okay, this community user comes in + and , they have come in with a list of gaps that they're trying to address here, and what they do is uh + match that list of gaps against the functionality tally, if you will, and say, Okay, these are the functions that I'm: I need. I don't have, or I want to replace the current way. I'm addressing those + . And then the point is, if once they do that selection from the list of functions, + there'll be a response that brings back links + to use the stories that address that bit of functionality, and by doing that address, the Gap. So + you know there's there's a notion of information. What we're trying to do is give people a way to bring their question + to some intermediate point, and + have some magic done so that they see the parts of that ocean that are of greatest relevance to themselves. So that's one way. Here are your gaps here the functions let's see who is address, which function, how and then sort of a flip version of that is, + maybe they've decided that they're definitely using Grouper and shib, and that that's + really what what they know today. They probably always got some legacy stuff, But let's say they focus on group and shib, and they want to see which functions are covered by those tap components, and which ones are are not adjust, and therefore either need to be + picked up by another cap, tap, component, or some commercial thing, or maybe like, continue their legacy + way of providing that functionality. , then the the other little wrinkle is some of the functionalities + might be provided by more than one component . We all we all know the you know Co. Manage midpoint group or triangle, or there's a lot lot of functional overlap if you look so anyway. , they pick the components, and they get a list of the functions that are not met, + and + present the user with links to stories + that involve those components. So again, ! They gave us the components. We say, here are various bits of information we have about how those are being used. + ! + And that's really where I + run out of material + generated by my own reflections on this. And so i'd really like to take the question first back up to that higher level did. How do people think about, + uh + how people are likely to + show up at our door, if and present + their issues of their questions. ! And if you suggest one way they might do that, then the thing to go on to do would be to say + of all this rich ocean of material, How do we? How do we get them to the right bits? I mean conversations with them is a is a good way, of course, or work with unicorn or provisioning. I am, for an analysis of things. But + ! Are there ways to make the material we have, and we'll continue to produce. Make it more, Make it easier for them to figure out which bits they might want to focus in on. + So i'd be very happy to hear ideas people might have about that + one way might just be to use yourself as a guinea pig and say, + , + what is it that you're + hoping to get or about to try? And do you have all these things sorted about, + which it's a functionality are going to be provided by What are there questions there? + user avatar + Steve Zoppi/Internet2 + 00:44:31 + Yeah. And in fact, Keith, I was gonna suggest that people speak from personal experience first, if they can, and if they are uncomfortable doing that , we can turn off the recording . But I think the more personal stories that we have in this easier it's going to be for us to decompose + user avatar + khazelton - Internet2 + 00:44:47 + and relate to others, possibly on it. But that's my two cents, for that's kind of where I worked myself around. So I like the idea. So yeah, , if you can relate, find yourself in something like this kind of story. , we'd love to hear it. , and maybe we can. + You get some things out from the sharing? + user avatar + Ethan Kromhout + 00:45:40 + And, Keith, I was just trying to think one interesting kind of variation on that might be the different architectures that + universities have come up with + for how they lay out the the tap components + and make decisions about the overlapping capabilities. + And then, sort of talk about the the differences between those, you know. Why is it that? + I tend to think of + midpoint as my my person registry, and and Tommy is gonna think of Co. Manages his. You know some of those kinds of , almost + diagnosis of the differences. Kind of thing. + user avatar + khazelton - Internet2 + 00:46:33 + Yeah. And some of that, you know, is + kind of expanding people's horizons about what different ways, you can, + you know, mix and match to solve certain problems. But + + well, Tommy, I mean you've been going through the thick of this process of trying to, uh + to find a new architecture and figure out which pieces are there. It's an ongoing process, I know. But + ! + Are there? Can you figure out + things that might have helped earlier along the way. Or is it just a + you know, every day by day struggles to figure out the bits and pieces. But is there something that we've made it easier for you to get navigate all this? + user avatar + Bill / Internet2 + 00:47:23 + I think Tommy dropped off. Okay, Well, + user avatar + khazelton - Internet2 + 00:47:28 + and + i'll ask him later. + I + you going into this. This is a hard thing to get + solutions for. + So i'm not too surprised that we're not. You know people aren't crowding the mic. But, on the other hand, + , + I guess I I keep thinking + we've got a we've got to try to help people that are coming new to this stuff, and + you know, + is there? I guess the question is, is there value in the material that we're producing out of all the different working groups we have. . This certainly goes back to the Peoplesoft integration working group, because I think we + struggle there to think about what + what kinds of outputs we can provide. And I think in the last + time or two we've talked about that we've come up with some + good ideas. But ! + I was + still hoping to hear + a bit more reflection on on that. + How we help, you know. Marry the user, the peer member and the material. We have. + Help them get through the + decision process, + user avatar + Ethan Kromhout + 00:49:19 + as you sort of glancing down our participant list for today. , and we're just seems to be, you know one of those weeks where we've ended up sort of + Internet to, and catalysts partner heavy + relative to universities. , But i'm, i'm wondering if this might be a + a good question at A, at a Csp group meeting as well. + user avatar + khazelton - Internet2 + 00:49:43 + Yeah, I think so. . Just because they're kind of in the thick of it at that point. Yeah, they self selected for wanting to get solutions for things. Yeah, I think that's right. + I guess. , + if we stick with the personal story angle. It would be interesting to + here from the catalyst folks. ! + How the how they typically run into people, and how the people present their problems. And + again, probably with with those catalysts partners. It's + a conversation that starts with those needs. But + , + maybe if some of those initial conversations are in encounters or + queries. If you could just say a little bit about + is is there a typical one, or there's I mean, I'm sure there's a great variety the ways that people turn to you. But i'd i'd love to hear a a couple of those and see if it + sparks, and he + recognition on our side. + user avatar + Jim Lookabaugh + 00:50:46 + Yeah, Keith, this is Jim. . + I. For some reason I keep + circling around one concept in my head that isn't going to be very helpful for your specific question about. You know the sort of personal stories from + give an institution's perspective, but I still think it it might + help + gather stories based on the two different ways in which I think people might approach it. One would be the the component or the piece of tooling that any of our collaborators here in these working groups are + right. Maybe some of the institutions in the collaboration success program + some of them are going to come from, + and this reflects the kind of engagements that we have. Provision I am have comes from someone who already has a a a decent amount of infrastructure in place. may even be an expert on one or more of the pieces of tooling, + and has a pretty poignant specific question of how to make best use of the tool that's already in house, + and that's a good proportion of our clients. They'll come to us with something very specific. So in in creating, maybe some guidelines or + flow charts or docentation, or or something a decision chart to help. Maybe some more novice. Folks + come to some comfort level about what tooling might work best for them at their institution. That's one. Approach one end of the picture that we could probably come from. + which is a a tool specific picture of what? Exactly. For example, let's just take midpoint. + , what kind of for Campus X. + What kind of a cool or interesting problem did you solve? Whether that was with help from you know, + industry, partners, or not, + and elicit a a a collection of those kinds of stories from that perspective, that end of the spectr, the tools, perspective down and dirty in the guts which will appeal to you know, very tech + oriented to people like myself. + Then the opposite end. This is what's been going on in my mind in my mind for the last fifteen minutes or so the other end. Would it essentially be the the user story, the use case, perspective, independent of the tool set that you've chosen for your institution, or even if you don't have a solution yet, and + you're just getting by with maybe manual intervention, or putting up with some expensive or painful process, or whatever whatever is in place. Now you're looking + almost desperately for a solution. So you're starting from more of a a tool into a technology independent use case, + gather those you listen to collection of those from people who are more apt to think that way + and see where that takes them. Okay, How have you envisioned solving it? How do you solve it now? . Sort of drill down into, maybe an abstract data flow and help Mary + those kinds of descriptions of used cases and stories to the tools that we're familiar with, and in the trusted access platform, or maybe even alternatives, like, I think, in the agenda, maybe a little further down. I was reading ahead. + We've got like three institutions who might be prepared to share stories of alternatives and help marry it that way. So it's. That's what I've been thinking. I'm sorry it doesn't really answer your question but I it might be a way to help bring some stories into a collection that we can help organize. + user avatar + khazelton - Internet2 + 00:54:39 + No, I think so, and it's certainly in the space it may not be, you know precisely down in the middle of the road, of the things I talked about. But it's it's certainly in the space. And ! I think that's an interesting way to look at it. This one, I suppose, was closer. The The Ethan presentation was + culture to that. Looking from a component and seeing you know how they how they meet that how they use it. in this case it was, you know, primarily around the integration of two components. + , you know Peoplesoft stuff, and + and our tap component group. So + user avatar + Jim Lookabaugh + + but that in the same general space, I think as what you're right. Yeah, I I agree, and I what I didn't say was, we have our balance of clients in that other perspective. They're probably starting new. They don't have midpoint in house. Yet. + They've done enough research, or have gathered enough recommendations from either Internet to an in common or peer institutions, or what have you? But they've gravitated towards midpoint, and they're intrigued enough + to want to give it a try. And so the balance of our clientele asked us to help them with proof of concept in making best use of midpoint in particular. because that's the tap component that you know is in our wheelhouse. So + that's that is kind of one of the reasons why I also visited that other end of the spectr is because our clientele kind of break up into those two broad groups, anyway. + + khazelton - Internet2 + 00:56:15 + Okay? . So You' So that certainly falls into the . The first use case I would imagine right It's I've got. I i'm interested in midpoint, because I have, you know I read some things about it that think make me think it might work for us. + Could you show us? You know how you would approach solving, you know, + this Lms provisioned with the help of midpoint. Right? Exactly something that i'd like you to consider, Jim, as you're thinking through this, though, is that's that's great for it. Hey? + a use case where somebody is trying to select a tool and what we've been getting pretty consistent feedback on is + they don't even know whether or not their use Case can be satisfied by a tool, a collection of tools or no tools. + And so there are some + So the approach that we've been considering in how we smarize these things + from the user story perspective, and then drill that filling down into what the solution is. + + Your + suggestion about having a triage map makes really good sense, and it's come up multiple times over the last few years. + , so we do have to do that as well. I'm not saying that that that approach doesn't make sense. It makes great sense. + It's just that. , There's sort of the the question of how we illustrate how you get to that decision based on the solution or the endgame being sought, and that by itself is a roadmapy problem that we're trying to work through. So any you might have there would be useful. + + Jim Lookabaugh + Yeah, I I agree, Steve, and I. I think I had that in my mind, too, and I was. I intentionally was blurring that line because of this, that although we are engaged by some clients to help them with the proof of concept on midpoint, I mean, there's no guarantee that they'll be happy with it right? So they have certain business needs. They need solved, + and they might not even be very confident. At midpoint + It is an appropriate solution for them, and the poc could, you know, for lack of a better word fail, I mean. Still, it's successful if you can prove that it's not a good suit. Good for you. Right? Yeah, the negative assertion is also is also a positive outcome. But yeah, + user avatar + khazelton - Internet2 + 00:58:47 + well, obviously, we haven't solved this thing in one meeting, and I didn't really expect to. But , I think. there's good ideas in this last few minutes that we can try to follow up on. + + well, we've convinced ourselves. I don't know if this is true or not. We've convinced ourselves that it's the people who + I really don't have the solutions figured out, and maybe our + coming with a pretty fuzzy picture of all this. ! If there is such an audience, then then we have to figure out. I think we haven't. + Have we done a great job for people like that? , I suppose they show up at Base Camp right? And that's their introduction to all this? + + To my mind it's a gap in our + capabilities on the trust and identity side is + meeting + going to where those people are are, and show up there, and figure out what kind of conversation have, and what kind of goodies to share. So + ! We'll keep + up the good fight \ No newline at end of file From d3b3b780fe5a9e66a99b94a3d458f2393ce376c0 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:04:19 -0600 Subject: [PATCH 06/44] Add files via upload --- ...ration with PeopleSoft @ UNC Chapel Hill.png | Bin 0 -> 61680 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png diff --git a/images/Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png b/images/Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png new file mode 100644 index 0000000000000000000000000000000000000000..faec55302d80f35c9c0ead0aa540d35d17159d1a GIT binary patch literal 61680 zcmeFZ^;eUB{5OsTBHaxl2q?`+VYGx2B2v;hIz)1WlF}m5FhB&9ZiaL>qog)ECa_VH z0aEw%{@nNZ{tx%}+`n+(;+&o9dhYeCM_e(lbkxZnFh3w5ARyD!P<>56aHoTS;5O_1 z+rX8Y;6xb$f)50ms!DJCEik#!P`1AF#*Ui$ z_va5RjhaYykww4;Hm-QL1pdyokf@0yvL+YG_y z%G?O!jtn>>D3$MXsxn_&!e89~pFfg6VNCw#w@>whu*m=Z8=(>Rf9It>x6P%(lSs5_ z@m4rZ!u(l*MBgO{h3H;8A}hkzhr-ta;kV9bW4|>ljJ4x5HQ`F^>=veB9u@LP))4We z)?ZCeTd6qm-2Yvy{VHkt8i_=Ng;|YZtim?Y&1`fi#+@hy4il+5@eZ5-Qt!y#37y)1 zUFXxLf%6RaNP{$`M#qp|d$(Gjf6N+qP!(x;u6Bkjc$PyqE_umEc3LG67;JemzK++I zXoEAT^S302!Y*BP&N&d*M7+#85Wll4UEUWlUz1dZ#~dEOK83PYtaw-4f!rhi>QnJ- z`f_Gl#{4H`9MeJ_Jb_l?MEyzHuYFF}c;~3l<>G&~7XAT#MPO_L`rU(lekhOB2-iZ4 z+=&TOyM(kDJ@9N8KIbL~qtNf%aCpR_>64EK`~29;B?f~v^|}wlUqY?#kfK+#ZA@k>xDlW0< zD{`A3^4PyU68gTYJ~9Fx_Zb|A{4{skirtN~rkJ$TQ)YQ?jJ~+p)uV%K_$Y;o`NxJp%mUMH|i)A*~{XgwMC5Te@KsX?|mLu)MqPA(S?faJ6z)_{;@*-Suw|{_BkD5A(mX_cU(< z{p)Xz4X_2Vm0lZ}XS!z!H46=C*+3Mx zW%Is%wLh3U|J8n)IJ+U{WjOI3HEe2o)GYaz6!G^egHjnUu+RFV#yC+Sms`p&8C?A`kA%`$7KSlKnPMf`6}-_Z5BnT-FW32vR)oURJ`ZAsZ9I+pbNh|mqF zgq#kJ${xb-rv9`_yeXCPC%HjbUoKY>SfRSq@ptC-uS$5}J_kEkA34I1PoJ>|WSu%m z)tW+2;fDF0CQ0+Ga&#KUkLH;P1xJC>iqN}sLEk#$8=5hSCPo8eaFPHkJ4}$dWtOzL z3lIXE!+xXU+Ims;{YetTUa%>|1*+F^tZ&AnIvebl^k&^k%rEb3U7@2=eQY?rVl21^ zUdf@|CiH`#{cLx+)Guj-&!ExMn1dANo{x?k{;plIKC9 z(Ft6}`DDQ%r-Y&Sc&hS6xvJV*F^OwBo`@4&*I2||sjZa(7L2x%#WSgUQHZx3N00^H(ihak|jLyUYtPA;SIUQGD|hu3Z*U!TMy64g02en6OzjL zmHJoXsO+vKAlVD_!3U043HUCr4NZ8EFgilZ1tCr3`hj%2GRR(+4rXY<`SM?O%cslQV4_^okuYn zh*pGJq}#@eF?YhLgmnac(<+}_Z<=`HW?AzAa8l(_kU?uvbbwgrhKhbpNIfacMy;tY4;<_9R zE1}-$IDdgWozdA~O8! z5bNW~Q!rtvetV8f>Ju^|qlCnS8;8@)hmv^G=0fjR=@6}=5z3yy8BsnhS?#vST~yiq zm3hk^Yw>x4>;>i;5p_4`8a%1D&B?(%k9_LqMX#qN{w_5Rr=h`WmC#FKH{1Qd~PJLgy;!hz`0FwCZ(NmCX z_^$+)SCg*|t8b1QZ{-l0N+&zrIV6)VeQieKMm_c6rjXgUBhGXuxJmM2$!v5IHfQO& zHRmNJEyQp2eInM?^5Hn8%Zsd%zvl~jsr!F4?Iyjv&4Yv~x)Rps{%%k@wm{6FFr8C3 zBcvzuC{!zti)XJEIyE+RNF1_-TaN)1gow_q(YGG_k+<|ylv-;+eUVWRGs)6>5R{(* z$_k9em7Le(wUm?`>Rd9es%QKLDsIDwD`)EXaeuVMZL67zC`aZ}mrm_*PrszIbQT?Q z*fEN~ELTxk#VjjBuTLsp>_YPvLQRmWGgZ*i)w&U{N=4IkY>y8f9-z4JdxB<9dSBRG z>KzG4=F8s!mJQeQ)mVx09x{b{5uB4hUUW0uG4k}6aK zC!SquXn5n#DAn;B>D6noT*#v6P2L9C8NJwdHpfp_)yW?mnuF^%)Zx%|Dz)~81de$T z#4OUyxZGTHOD@|QZl@s=BqjDU`cCsoBp*dq?fn48m2b|r3qj3e?zqrAi@5c5ug+yJ zfzb0|4+&yX%l}i@3iIPHzQyMUc`Ql%IxdO|X?Z;7>3Hca`xK~S*8cnICF`DAGp`LB z^n@#=QlHs%j#ba^A-DhH*+d72++nnuF7}$gJ=X?@Gb)8)GtCU z%Ww8khG}M^`okQ)-&}u?(KB#0F}HMV_$m;6a;4CbnEQpj(G~jK?q7Ct885!|Q3!un zYO1COw;9hPDRQlC@kP-1j;ovS+rWuPBkkQQ5-To2>t9zDFKg<1CpwnDbPyfopzSY6Hz?{h(tSRF5OavDaa6=wD%BqE^$r& z@GL9?XDHNM_6Dp^bq=sfk-I@R`8P$EZ*S)4O$*&@n$@)}D}%)Hd>? zMj5(nxhTVKX3m4OY~LDIRfshjTiq)x?jV9;LrCa&r>(v5arKZ4n=BdDsd>;_f#jda zGxS_)O-tv)wy}BWrY|xYA5<=;lUB`w`LO`0Wcbs&=v~=|jsJ_uT(Vu;T+k3N7aqYM z);wz39*BS8<#q90H%ru*_37z;vUHPw0SSCZV+yDm-ah9kX83qXn5o={?RM`iZF?a={7N`Xh`PnWLG>&QH;V1QCIc=oqzo zH=Bjg^kGd*eN=C6%%^)B@U7mvj*Ub{3?QZX`oX*S(c=UsYIhIg0J^IY4{y6vU%(^zJG#`33 z3+qfLMO*}!$m2I7QJBk7<4yF?Q%@6zrOZXpur8AR5$lfQMXDeDfXN_qqSMsD6JkC` zdGj5tu1V2C*>ne((7nIcqX+8R$b0GI8n+820*6ngDv7JeE^PUp^_h^ZvrLH$FN{mt zL%mhZplW1eO+$EfqUz|i$(q{6`5|R!Vn^+xePtYe=qS>Vw$*tXtS|G}7t-#{y>DDG zG|N$s{#uwgwcuUOV;C$}yfKaI4l8Gc7oZEk=zl`Cy;9Fs$ZGKMGutFy6sPJOX3*=J zpMzd6dnTMwv>~b-|Ngwu->j$klL+LDs^Lc>0SP4uN0`!qr{#P>-z6bfuyta6Yu;(d z9XY;ZOCg_2gBMN1o6*8k#uD|1P^GZ{BVy zK<)vrJhV?d*emIbcS$Nv$=!}j%H`^=gE+K$3OvN?E}7A* z7HwFE-WcE6jIV;h6_KpG3(9=|!me5L zVDO2gAZY@Q{(w$j|Dacp%m3Z^a5u@v4Rx(&a#Wd_NbmXez@G0aK4{gL0m}Tt)Q1mV zH?E&O8!@C&@LQZxM#=x5eh%)qT>cefGg(;zhIULitaw?9ZupqZ#|%EjCi~F5HeF;^ zUkR+P8pn3xJh3vi-NsxrC0za0`jRr|9mkfaCyw&VQF3WFel`bKAq9qdFC6|Gg+dYx!;8!%PT* zl}FDhsx0u;HR|jerMS^-j+^`Vbwq4JJmk#hPe7(C$?VgE%S9aBM*0o;vYcJ5lIozw zntJcGmHt`JXD7@;wkuk_xFP1T>)=Nl8qH%^GYO~x^2`tZ_}HR9;>Qu3RbZ_PIW{o8 z=$&=+Re6-{e`gS+>P8?P4D}E+%1bDe!wGN|OBeHQSza^#O)!yzhPbP{DGkA5EQ z6suQcP_X%xa;-{?YlL`u<8^Yi$8WB5a8>5Nsm!QNGDv+jw#%P=(VOwTDiqIy)$u?y zufxEMX0XsMeb*}<%(w9jP2R)FK+uozL}pScoa^rfG%y77B&FMGitACJ4ErrPSzfJ} ztVWnGX1X#|Vfk_`p$<5S$+Me4zH#IlTa#kedG!Kcx>=4SmL36X(;#l&V9!je6}X0pq@cOktA*t5cdOh=sBOcTa7Ytdur8@fH7 zJ@Gh)ywE9_zD}2H1sH^4rK@IZS0QF(WC~XiRxrM!XQjZ;r3>tWT;hl3taDdFE7~hO zPzMjM%67x7>u33u30dANJ(np9=dh9?U!bFraw$FPNq8JGkz2@=h$h zOkH(AFv1lEmX&ap*}SqP1C}_3U0z>m8|1v4!MK0Q{ORbA739om(C^I@)s2D2syyAY zmxJ9;1n^sl`wxNRDmg=Q0rMKy!wUgvRjlQRu;#n3&DQt!V`fFtK(24%bKrdT{5Q&N zG%kXO2v5ioqN>JgqV19VjF+*ssa@1TE9lo&VJ0+XzAqgS@#V(Q%FL4=6}xiK>v7&1 zQ+3T-K^UL9wLTbl+LoF(ZJWw%Wmj&|TWOZj)tueWKC@lGxS>gOr5V{3m)Qx^t2t`f z$9P0YG`TEu)-^&5H>Hoc_JXz=I42vaPQEeSiN#ry)?>Y*gElsqwlL#1Bn+y>$6=J8 zr?a$Nh6!=pU#4K8$+G*IWW4vq2O@&&@bLpOVmRA~qpj*Z2Kf$anoKlJJ5niRqn^!-{(zC>ZPhM7=iV%sr?6!H2sDZP+_!5d3~)0O0ZSytw!iD4ysi?pEr`tyE9r} zz;$KEY8R^uix%_oSCh98uux~xJ8`)IvGZ%V#>BrErWiFWK17uu^{$G1qj|0vx*vsY zeu$)Ek+J1Z&ty#H^T#H>i1R6NvE6bA6utnBBOpN1b3b~*$Z8|ZnQVdt?*0hH+oh{K z_0W7tHPDv~#Vp>D4cbQ)U#ZP8c95{uAVK<(3kyP$XW{%iJH2NTXkA~_S!o8ui$ae!QCH2enkwm39^Tx$L4IxZ2HrO@KZ z7J%DTokuH2?R*YhR5D|Rd{q}ZcA%g-1_=+?&EjKDGSaiRrvREAvtzVEHGz9`LQVa1y!z=JPLpq+a{w|}}gkn!8Q%g1~ zRcCU2ssBJ4(?I@y5U*(LZ*oZSFzW*GiSBTt4n9PIZHgdUqg!Y6R7Zol1ia|3gq;#t-KF2BA zMHq*~V*KZt>z>R`KaRKh@v?&fU8wygUIqTTl`)PoFay-#@Q!-|*;_#oC3!iHDw?k+ zf8po17+R(XPZD+6_WRq#QTkHD=SAj6q_gv4H^St_^^ikhTv*7T*^HC#9u<7u4jT@M zB-uqBCeXwtsp-YlsTGCUPIOaexgD(LT?}c@Y8n79;=Mxb5xqeO{7Ga3M6Sg5g;NGU z7ZXZ~00!P5)Qd}6{?jNbIU#+$`pG3i%UHl?Nktm6DJqWr+-0$3+801Pkh^WE)HvGJ zAxZPCbv;-W+4nelo!~R+D)(DexwG&GcQmDzve~0TP-fOfwJS8@*;U zH9)T(m9oDv|DltQu~0X1M7%Vl^PUN{>*rmIIH#whtGJ+vud7CzktDMFri#kTim_p( zZ>DBHdTsp8L5z@f*_BJClQ~#e>*%ZpH&uj2)U2Kt{zls%GBK>3$ucN9bkjeS1A(=X zrMOT0cHzRLQO>7{zUyjxeUD5252P%gYSVL~|KfAJ_TSWcAh`QpdbrqhZXqZg3>l3)EQO98 zNY`ppYhP7##qX#>_Gr_?wOm5?zI!-|*F%0TBjJ;X$U|zU^h}_K$)h z-U$l_>k4IKejK2cw)u$xf@#%PSGd33%}vVVvv`}A!v1VbtHuTtvSpti=aa+)_q;S> zuyp=JvDpU+HCT>Jwf^An@rXDmQtF;>VmwvnSm5ghqQhJ zR=&M;Ri8AVy?v~TzEul%E)R9yMOduz*c7ouQiqjwN~(uj(hgHhk*V9&6Ej!(lhTxM zoDUVhmJjq4s3%zSwRkz70FCk~@Cs8WbQ@37l?v#%`sm9%KAkMeX*O~+ zs@Q5>IK}&Ba0pYQruRWB?ttf79vE#RAfD zSZ{`p@Iy-v1*||Al&|E*WM_C(3aj`)A91g*`!KZFX?QK9zrchf!W7A0b}wh^0pa3tsRjJ zJN|lQ#kp^7hlslcl$Ww(FiFj;)gTMAH$Oi;kHZ9r{x^L})IvDvfe-If8PNIt_gdya zyiys3qzwvcI1C~g1f{(}VOzbwlQ&7<2shuau>wBhf76rn3w8fPN>Tz$!~eVVA3gj3 zBJuyjGl9!pJ&4|`6vyXP?g$#Mg>L@0+0SFN+zy%yX|GQ0xUO#yReL>S4#UDtMpi~d z!@s(ddX*iJzkN~g6-?!3o-nqwH?QTzvu;5TDT*pVVxtGigI&i$b~BJBgF{3U`RqCZ zK#98r(Iir#Ave=|(kOtd^aOE6WC+_K{K87)`B{?Iw^G40JYNT6cG+F)I_ha|Zd&1N zH!JUdN}ybe6^CoevMLJ>xoSQ)qvn%XPG^l8F1^n`GG7K%Y&pQUu(mt9>jLDjU zN!TZ-Ma%ZKsPF0xudp(i)|T>J(gt}xsw8xe-WY}*yav`THGp2uTwlPsJ+6mvM!@e3 z!VV~b#-fs|H*s@rRZE)MK(;!aq$3f<5pcOuGG}pi*$=?oouS>jDge?@f4KOvEbh%X8p%WTNeQ6xgJ8_5Y+vB@Cg7zBV9LSjydwWacUC7Dw znEkzN#9w@?oxu@K_9?pwnuA=lP&SwTb`tMMKvop0<*#4X>Id6G?u+ni&Dq?lW#Wj*ZHN!0foU6V7|9c z(=-{|A6kBQ>`*3x!#&mc2|V(dSiQI)3Z<% z=nX+Az!w5sZCFf96^`C69%U6RSx~(J$Vha9CHo{m{birsH8|X(?(O0h+nqyVS#9QQ zojPP}I?hJZ-eD%TsWCTZ<{WRi_QwGY#2VL+r#)%afE)z(ZPrr5KgrUa`E%&myY)Zp z@RPIpZ@~ogK8=l1(9IvE-iI;TMUEb;i`dBgqS%%L>>5yQN}my88EPIb8Rj}Um_~~1 z*+l1AI5LThnG0z2hi{p~UacblD#i609rn^+Ms|2Qj0Ii1`MWqI!(?FWEUq$r!@{*4 z)h{WTzB{f26&`#*qjI?x(?4dkm~obSr->c0M6I^0_;zif{(_aAP2tVtmSnvlEao%@ zTu6#x%hFIZJHD>fY0`@*vJyWzyeJ)K&u4jdsb;quQ=Rmn!9l!%=y5%oOX?R_;XTV#zk>V~iy4a*uwKI^ zHMuf0%5l9VoXghI$hYuYShZSzQ@P>oH`L|w$bafqdD8rbDbnbzM94HO^L;8?_z!!| zyK*$}`}hwp$R)%v3BM%;hC>*N!%mWG+$`=l+6jK@iR3*9`<0VUy0c({s@ZzMaucDX z_7S}CRjn?SKe12T62OOCUU_@K=YLhzr_7nofmQQ5Io+9}eNq_`_(MpXY>d{G9}3NX zF}JCQFmhj4h&jFcRh-WIYF6@dXeHenY@aE!m+DJRJ&U70OL>(5hs0=GBeLo z8Mbg=YQ`PkS^7wx8E)?w%*nE0Su7)#jT|Arx2ZP~ubO>J_ejti@^gC@Rxn<)ZL!K8 zZ0-B0hm-5J-{BoBQ~FS_8qb~0VROg7$C7Kxo^9}5Ks6IIi%KW1hggtb_vHt;q)X(eDr4pN&ZE0J|Z!rEuh!%3y zH#_(#nT)moY-^H&-MRat4Nl!?$Mra*!*6}UP;Egse({eJI`=}jG4+%w&PV^@-G0_g z<|RpmeM^(O=i8ie(8PE}6)lp{oM0v{n&h8iOUCzIJKru8uRXVghWZ8m4fy0W&ERMx zgw&(T+@}AJ*DAK0aK{b9p5l3+xu@)wS@N!fITZy30*w%%4zTUV0J#pX_D;wsG{{UC zYRu{EZb$O;podxA@_qZ4E1y`Zk7AsxIwc)ztTzeWg(STEG^3a3B)1J7@|v!E z1FQ3Be{MPK1-BRc?Q*@JlFpN7o~Vm>5O^P($?JNDF#o-4fyo9UBgJ|bJ3>D7oP^h% zHbLEDK*aki)YJ(vpN6GW-Waf?vx*XzYdEZASr;>+SxXBu}sL;#TGVafW&Nivh~yy_ z_s)KHedZZoGLsmD2SV~j@sk_L16}bHa^4hC!uae+LT-@clfiauGc5Rzm}W9d0T={Q z{JYddbR)A&nK}CvYg7!jRjRDs`OtRcFg8Nq&e;p@S#N;g-MED;jf!KxW#8k-jU5RT zj{R#;m@%dg-H?Mu$(TD~Rv5LcPMcJ`+F+sdAXCf0rQP>ovG|zMKMldZlXw0dFTY~2 zE3-CDnu6)6|Kc4jyPwoOZeI2RW9PH<^%cnkznRXCie6crGGk8iZJ z`*+cn?|r%8x=vFLnSf13c}b1fsbu)drbMsW&C8zQP(qH_g%LT-wcOTw((q6gsb4v{ zjuZYi*fEd#lGXj2%)e`Ofj@C&y;sZMNLnX~B=A=}Ljwv4Gi*DQ^L;y? z3u40Em%61^BHqqOR`h5n?--23>iVoxwkg1ABBcZ`x_ zOv+e2M+Bc%YkY9NfV*7FL2d-4&Cw$0H>a19UN(ew#O%W@5s^-|rvsl!+kNXJl36%! zPInr#i&bh`-D*KR5qQ)d-)$wj$P+Sf&!u;qlMc7e$iJ?b`RC=#wQ7KZ1X(TYE0W=m zYE6g1LA&3$Zs_-biF0JH{|#msmAti(gdnG+0PcT&Z)XAI{N4i;7-VxQnMHZ_2TTJ^ zFa@~>4lGDoVOu)tz4K&ZeN3E1N3#Knrsu+EYG&fbJ4^!1clUGMAy*cv9^dL(`tC?R zsyHL2qN7p!js^gh7$to(+B3$~2Mv`)W z+6KG8;xJ6>YZ-1=d$eb5+kfxvP#VFzT=OAu3ftn5(KzNNm1lRC39*SeF;5WL8tez= z`u(j(s||-r`6WEtx0e5wx*kYlWkOwKDByD%K?m9lSQ%FTXkXe~me2uwvjIWC|P3!5-d9e!#2u_yK5veLTjk3Ty z`k&y!sn}zoCgFdXS@!%;Us*t;6?!xM#GESzPr9LG5b=via)aEc_G%zz0=Cz3#kBXw zEx`m@Ot+9eF7%ZJxupWdKkH7POQ=m=97s(XXsfW z4A}JFV7h+O_{n*t5xl{k{Ses;NaZkF zulOn-!$t2uiJ7jIXSR|SH&y{bMf)GBDP0hfViDCuM|XIw2o=4TK%5H3p;tXL2>{Sz z=KROjOqii*2;E>Tz7@pHjN+)-=tTOp0I4))R|-v+kV#?vx(>bF%tf8qka1V}!vS zqaFy-Mf|?eBS)Tsg&5xbcebG=(+iUlG|>JA^>HKt1M-8NY$l#nXQ*SmoI;_G#Cdx*$%~+Q&RJKfwJ%N>nVf@#IzR~P zb-y9Eo)a}?__iLhm&Kg`o_3jh3!j?Li!+-(tjV5ekMpxWIau)iNyC~c>XpN@^#z*) zb3W~SbzlHl|Gt`E1E{f;URQ{AK*YUpsYBOBKtMwQt{JwsXii;%tH)!=lu`_ z+Fhn#YuPD>ySekQaFUkvVL-63GgVfW{-7N|_|9iwtc+;S;XMYN3|8jI zzE5a+v@R-Z1*VI3EMmy0O}>GIA`LD;x(KQH=vVOHX4tiaBMj( z5Cnhr6uBHe0?nhzpFHp^spQPZZl53GbYCqe9a!1P;{5E2{#>IkSLjd{{-U|cTY+bgp{Z`0&+1SOHiK*Wb5vgL}5PTG+ zHb2A)$Ql~9_lEbgxoi&$JO#1_%rKccm?9Bo1>X>t7O?~{SByW;@}K+P8B26)L`gMh zzH?6v=Q^+~#CMR;*khT(Mu--0&!JI<>C;FMi{6?nnJhYY?Dtm<|8yb!L zZNMwH7Nv9mpj|bPz5!sKJiOTW_5i7V=^nds?rC;DXh*UuUz2uaW4yOa2nGh#6QG@V zSw9rcTVB2ky(`3B1cuZu#s0`y2EV50Q{B1(+Wwg>YxM(Uj06KzZAo+BSzuvy-F)}+ z`R7CkjU39JFsuoc^2jw{m)N@~^-F!TS68}tH zXT`MtvNb26ub%CVG6Dvs?!OQS5oCY9{)WT~&iy&lZc<&?X&N`Jh{kHIE zwVg;R<>3HVKRgBP`=&a284tT&w4*-b5L&B><{95~@z#USd0?u#mOHbFoEdHQbil9` znAi1@L{^*@>C2OhI52KY6L1_P-W|)3H}}=>uBp2yszHZgzIy=Dey^ zlPSdB-uJgS6u-jl1^y^-t4Egi(Ik%k9Sv$Zp4k>F2B}V5YuE)sx2M@MSGqS}Qgg5V zi>ts-%<^D^5PWJA>rX`vK1mnwF6#L%s=FZOyRz!WUTUj7-?r<4h2PZ(0jeiTy`4H74HkK~GPz_Uin3h|={bD&W8WxHi=dwFf;pyC_BWAZ4j9W2xD zf~&{0et;|D;JW_63?pM3=($Av0IvADgiYhC=x>XWnHBhXX=|MR^@8S|cMG5oks_?! z=AMqo8#|LPxls$*WZ@tkMJ+7F@aN`v?|xF1_XG9Mw|V9GbnB`iXGK>>%zhtd{d=qn zUge~Ynp?FQJ~`yzkK8aphP%9jNqck=w_Kf`V`Wm<=$Y&X2sR-?`1pfGOFIlRyzg8n zFj_4gk~$YvT~dRNcQQK)IeJWez}h~-=q`5;e{x^W1L6fWG}*XEoizL8=3x7gW93E4 zqS@hhxWa7iG7L0M!AO>&$aP5+7)vikG_^oQF8QG=H=29B;8ce_3m;!b?g5Tp31$}vFvLpc}v5!ybcf;=}eO+Synor)t(3Y?J#@3igX93?8qgH;p z{U`G9>cDOTzzA7ypYT=kUvcwNlt1l$68yfD7&7iRmh-2R{ol_qdubcS6|K*X8qc`% z!S$zv3jl%{h#6=JT27z1zh)5QN5h;Bm){&h3^!(2_RH%dNeVs|h~;8E3czlaBmL(2 zKYIi=?|n0dA@y#ltOrN5bk0*3a#=lf89Pw61&KdjmRpU6^@vQwhR1f@UQ%QJd*4ki zN2F7IpYcW5`~IDPBLX4JDn%g)^~ZEvV4I>vy-@XW^Uo9uPzB2Aq`j?}Q6?firg*#~ zNvisBCySlI0oZ%GZDrxs&1xX8@m5Lp$mdo^W1DD4LJ`VuR?jb84(F$?icaH+@BUS%Hv0tW2j>Bkwno3J$TVJU4#{_K z3iKaNz-pLaFXYGpgy%DW%V8RZ%fSp8vLw;{X@dl7jD+=e)u9*0M>#!&#Bc8%`sW}4 z1IT>EDPxGA+fXTJ%%8scR#v{_+d6B)p8jPNN5nvaVnF0&bK4KL$U8bLEdIDq$mr$! z!G5&Xc|d+S33|hxo7VB{8<}HGYdyb(2gHb0`BOaLk$Rq=`+<3!txWwaW#c?_NLfIU z@l`Uq#BSerf-yYgP}l|J)eb4R z=Bb{4D0Ic!TU)5hWsswkyKY8TLlwQQXIhH1aijPaN362wF66oj;~kM zZQI5kA?)ipiQb{d^tXWq6Or)*kS3%bZ6p-2@)0k~o1w`N)Fd3_GZzEGx`<7S)9A zr8XWGHsdgj4=|Tj0Y+z&7-OGeCfUoqg2lta=ObBlKc_aOTKH=g62IXO3(wb~dzF#= z=4oz8xSs3U@xwxKx!Ou@v*rm;-D4ww1qjr+kYMiCI>YS#B;u_2Gg#O{($Yx<>{U}BeCfE~T3bRbTeZjhKp~5bQW)d8 zm0A4XtphWb)6`}~c*8u#SwHk_64e}PKe>n#l$c)n1L*A|y?^ZFIMh)}Tdtj_l_qu_ z7Do2aWWPYno^-2XnHec6n_Ar-qRv>>ip*05gSqskZd(SqdH9^A_Vo;uWUCGIU%eN7 z>9p5b7&%=}N~1J#*YaliI_t3T@-oOJKod6>8e;A-*BV-WtL2%&Gz-8S{_h(Hh)Y?L zE*OC96Z$TrWLZNt#rE3KmItw**TJW)_TQ0R!1GIM&cPVotl-L^W$sL}t&{R+{nuF@ zRZqq<9ELnj-=sG5eTmkE%)Jbx`0yomz4bJZ_uZ2(_xL$hjQ_2qBwY1)Dg52)Uyzdq z=6YkX_CJet|6q~E9|mCz!nNp@+?GKYWX#+dK@tskN=`BzBQ^}cr$k=&0a=u#OEZ%~ z>5@ua;%hjtSh`BoD#&q z4kSY=7Nlj73yz?$=YX{|A0OyzDpPhThX*_j{v&|YG_4Z$j$8;J==wF+-~5j$G>gMx zLm0OosszjCaTbjpEemKro%KliJIu=Q=t25&PuPsw@WyD#k{E^QnC8ue#AUgH1uha{KXMP=I%CI7ybK29qfd_i=CWYi>4o!^-kU5!Jvq z!wT@NiQj1QX-O1v)d3$&kcOSeL8^q`p6uVw%=uX!2VOW9`c6eadF^=nAo$B>ei9z z;C(m$_hOY)>G;W?Y6s%f0dAH)_5=AXH!5`IFa@&2Ui8fjB;?=WCC7@imwC%en=WOy z!1B^)sLL+fxc6Gu{Om1#E|y*4RoM~r#UG`j4937syQ^{B}3 zMD6Ji#*J>xSE)dfP=6XN<45mxQ?zb80pcz1;YB=i1{L2 zTiZKFaCSp2^u6=3{5pS$OCU`jSYeQ&HTZn&ngb9csW$C|T?T#oMRYm{d-{cv*8>Mq zd_t9J2lz}4RCF=Na)GvDTiF*;ORJQu$t!(2habFIT;obMMA7Gck8xbO zkw@=Ui$`l*R>$(p-R(Jh?%k+UNx4CH)S#CiJjO-+nd#XZy(iM(sCf^Hh-rDFxzoQh z)PUW~0FrftHtOQr1u&ZG>z64I3o)|iehZ$WhBU2QOtJj}TH zTA3v7iNN3*U$0!W+MSl6`bY4G)?RRv_u}_!{DG4B@RhB(OLL4El>yregPHO((9G=l zqja$4kAt}QM~cRJH#LNjity6Y^eSf);dN3y@dE*Oh&IKN_336gmgz)j4}_s?d4Ba^ zYn@nCUz;jSIiOn!aAo!lNo74{{r!RNPnatmU=WSiizHTRcGM_CNJ1g&N&~U+hU?7M zM!9OLi~rO^>aAT(O$CTN&+%6PL--_VT1Bn4efBuFBKB zVfXq($3t*h+dIve}yE6R9*=93i{dCrRgWQ~0tt|xg7X$mTzs9VgVz+$Ja^;MP zi=^K2qM9izceu6}iq7AMgz6^SegoB_2miiXlLOw_fPWS%AYI1H6##$Ggf5?WQ?DVE z%>gK3Lezowg<09p6t}W)75@$MnEm;W=9cq7jay!XNODY;JJ%HR2xCen13CpF(b zi@oETgmHN@gsipNTEpIZXxnTOHW0|KEzbgCo9F#`pBv43#G`MANV(V!z9gy(7^*`L z*1IuwbE{QRG+OkqaX-)QqZ$QL6(|u7nHArJ2t<_4)GZu54`Im zg^5D@_O=@SQ^|nETiEFdXV53BQFr*g+FNz?WVZnV?&FGSQ3!gl_eE23O!vnM7bG4q zm-5go9(4ca%Z1kJ4L-r1C;L2}upIn_^k^eZ>hVXp9o$RtU!64*OS+T3-EO`48JIy1 z@U^C&<6URJjXCHJIXpG19s3My!_;c-{&?3oOL$A0l7J4RG$VyY|2?mnVMiQbzlYGCAiqlsa8|B9#go1 zitT@m{OVs556Dq^{bVGA03c9ARoKFFC(Fk0?JOi3Q7w| zBPCq|(u`D4N)e>HMt6^pZV(ZW8XyWN-QAs|1jgu^z(zP74fn<8zVGip@EphU9M7*X zHg=uyexI*8e^PNVIcVqx6P>lMNNwx5d-H0F^UJ-ZP(C*7cqZ#5?6^)f+n3-|6(j=; z?p#NT%!uZsb=(*PJdwE8vp4CG2Zptdu{hzENB*m>N9MWmC#&me(@bd!Mks^Tvs8-q z{)s^@+!zy<8k~3RU@P=@7?L^TPOVpl-qaw<*DltF?yxGv)rlatW) z6Pc!IHR7vvX@bSE$aC3NTSG{Z9bIkSr|pll3%H3y!=iz6%+C*OGg05G?X#XVC}Id>5kvCi@t6W(mSWQlHKVYf@Bh2;&sq>@oh@oWYB7D9py_ebb6vq!-q zKtM!0`+=p3^q@1b?O5(P&}2W$^UIf)&!n38tp}`aVL0gTjrvsdK)J7MgLlLL?);K0 z#MEEPg?(eG%~O70hmaN$u5Zjx`j=1$`jhzIP9#LjqI1w1-)ysZ6eXHpPr>Wbe{sJ?d84;(afy_>kj>zQVp- zu{5pE`=RmW+UKfYH?VK@x4*yd<;yP$P4JHCQ~pjcY&pEKhhJ&U*^i8MM$1`G6M$oR zm{WI^?s!$nI`2kP@Wm zV#nZjeXJGxLo;JPY|cKuft^k?Ps>NXK%9*ykpR-|~QwIE;;RaxPC5g`(n|*Td8B65W za4=;4nbc2nS$>N)bgswMNAI0A8(5tsUKY{3-;-YM{CPzdvNIYd$E0qzfGJ-)b5a*U zOUf8^Sk_<@`n)cdkB8W5Ep8eMN0nnBcyLVE8gPi1-GMF<{|mT&*lepJ03ivPhS!3r zR%5Sf(&2E7Cxbn2RL(yZ1WRFH{ANc4b%zrN6mxCb4c% znv2O>Dr21nd$&Umo96G~;AWPoE}FiZhi-a`Wl#Z+lS8LBU@K!lHigdO>m%QzRiIEY zM{e7WeKmQ@i)dWGeWWtxh7jBRyZ?gxb|SQDy^{L!TIAzihJrHi#^(V?WHKFiJ1l{~ zzel@kXD}^uK_rO%mf~6@{055l>;Z<@qpOdVwnDT*+cQoDm}r(D3b zC8akXO*FjT1_ecP=d3^*pMt_)a+H@O?*hcbj$Airo1UgMCr8S!YZD-m7JenCD&{=I zo!OKR#Bi<-xIN1ogzUsQ@foN>OvODRJ9oN|9;Yr(uRL1B7=?l%*c>4?DOs5*KT&D7 zbV3qJS*YRzR){H=P8}(SPt4cLnyYu1(K2-AuWai1FGB0#V&+nHU@XEPR9HeOiE}@G z7pXDJCW8RXW)Kp9vPiu8_t8vf3t#gV74&g=so+&lXm$@${UL%a;-l_mDi*aY{SDW# z0B}#CeIRbs!bRcy9_pj}kR8eBYBI{Vz=H0z@KXwy3|8`X1oKsIwj8v9MA#`pR(c{e zb0jt;((DW&D=sVjZ0}jvUG8v=aby*MYG2lgaWBL|YNsRsdvzwNECjo*@vX;BsPYFAT)3&*KL7ao4NXN-vfsIrdVuXNl(acu`ElVO&xo1+IJl2b-ekWB6MOG4X^Ri zI0i_AW4CI3Lj3dxEVmW$!yc7riMSG(gYaiFR}OFQv0MWLW@3YT$~zsIaFI@H1<0{jJO2ojwsoKn(X)eeY1*V_Hcj_BxY?Xn`Z z1*%BB4Iw+Z^(N(1vLr6*Lv`4(vv(+7?+jd1_lo@@Jw z=V9nx_=w%Fo1p;25?V4LU4hMcwyxNJ{)iJco-MNFjrlaPD6%NlbZFtr$JEki&FPx8 z!-Y-db^mhpk?u0}rJ3busy6SU`Zio7Prd`@zdp2aF z&f?&Ad=-!B6`umrRUSA_>im+7xqGr+&weKj=coUWYSVVxGe<}fEuf>u;H^)wNGQFs zgI&TOResr#e4%MFI;CZL^%qmVjr!V9G-Rs(C0*~e($4A6ES6C~u?4&IdTU=T_zd>u zRn>q)r{o6lLI|P+dGxy}@%y^htm!LWh-S&j1WoJ%Yi=@Q5gMZ z-v3@%q*dDzcS6_&oryGNx?GTe`1D##Qpqrmi8N^!$Ztw+Bn!beVo2}1WKuIl>PiuE zA>y#8%wBPKK0Re1dQPg<&jccCAzUtPRse?CZ76dj4bd~4Sz>+r(UgEm{!B|uIJ^;@ zvyZWDfHOxN0f$V!x2I14`fiUVLb-4VySI2|bIV^|$Gy;)Ckqj|yYbGiz-GygebpV{ zesc>O%-%=_T-)mr6WY#arZ<6h)z?Y@9HoYUXqxS{~Z5O!Gr z%_m?OpP&mRh$^aYFUhTE(|lb1*!5Gbh&{BEl z2qk%yg}62E@gAs%!7dZv_g<3)lG6ZJeQ;-E+;P%Ju?s3hEm&vl{Z3A0BS{tBOG{IS z-{9%ypzjP~(Ue^w`QZ!egm5!wr+p?1IkV7*O-SmD%rlCr8@&_VV|?v0#p6NjfQI%K zU=m%S_qp9f4}WX5SAymfuC#aOvRS@0Q3EY*fj=%-(dLbr{Q+Y`ZjpreN~9Wb5E)+y zkqfbL=-1R$s0jSQ_c&}QQj$>cuIX*ut;e1cZ zogiZyl0MylMD{~dm>Ke;j2l-zv)I)&Z9l<%W_Y3e@zk&5t>Ra$h*X?8XohW}Mn04w zI<6QG##Tv^IR~O3{f3+UddTmxnx5eSv5rhQpZa-}@^Y7**ziY7S5$Iw8;}Ac^_OU1 zc)#Hc1jLgJa2x{^5oJ&lnX#xq+}TV$m?ZAydiati^$GA*oMo6X%-P2bZasnTHx76b z0SfnO)ee%+9^U@=3kNS!uNuSmkVOXYW&!dF5gwfZu_i)?Fga`KJwWLE{eAX&l#c@Y z)o`=z!C<*#!DyKdDl8!Ekhh%MBl_TQdvQC^B=4d&W|G5q;Eq5EHzqk??8}ebGs2LA zusAC3HU$64Pz(9obDwVS?q~Wh$0wlc`LQBaU3ZrybYM`CqL4*3Yh&qRULcyrnREz; zeb~hCTzRR>Yp79rc3J?it2hz#iBL()**;l(2CQo~?xn5mEfM|Lowsi1#}b^blKe?@0qV+9>VI+bKX~_@q{Dc0-^_=)^=J z08&KH-qB5}P?&VgvmSQkr+xmc_eGJAdN_l4uQmKtl}WQ_BhW@FbkI~2Uan+o+!gS_-^#OmX3>Z`kPQ2(l+N$bP~I zytGXEg>wYxIIF63=W*={#6L?Y?hf~hf3aT~=$k?rs+7yzSLJNgk=va~qWP*HgaABn zjWlWPUe$NrNLq?IL%)Li{U?C*1Ksz!9--wD=-FYLv8(G5vG{-eTJ1x&gz_p9>7xXgPNiMhPjl$51pJXH_1S z4&>SCM3}+)YY{w?P=&=m(>?YSD+^{6MGwi(^33LYhd&P4J?M^dH>=8IMA`TUc)|fH ze1ZHTn!Gv>fx!Fs+=X@)0I=yAOzjC*qt{l-LGwhs{h)Etpl*unjmsk@@Hg%{j-RrH`z}E$b-ZHQ7_frQ77Y1u=7Qwy4%AZPM@l zYO=cg{7=ZejipGZJJnW5DQr|_lVEE~rh9peOY6Md7M&TDfFqN2en+RvdXNP^G% ztosxirCrX#WO)@o(H?wa2l~c&>7HXu`32t}@k?yW+L+`CZO&`IyZ4MNVGBg0%ycjq zP59+{)V>6M9TD88XG9Ux(|zIMhcBW`P(6LE$$~!1vHxuu-4x6D6Y?>h96V=*6c^?p zxL0>}Mzn$TFMM{q3~Zh|fdtA>=N^S%t_p*{ znVxnSj)jRY3}J#%RQF)eLrR#BymT_-v2??!wM({ma^sNHsL?Q%|h17 z?#E)1mQCdUkR$J#o&IO=RE&vC2Etz5U3;>#^0qMK50fAOCcw6A?^lU`LaB3`NT0Q(^k5)P>J+S^(`g+GcU z+o({w$OUzb46m1Iw2}TK-T^3r#E&FQW&i;&rjwICr0P20v^=tR zV&n8RfC$)}PL(Ny$4_Bgux;|`dYn9NMiX`+8P%}84V%(YPaal5|)85qAQSkj6uR%`SpzS*WA&fKC_< z`uN53UgYI^+<~B)bZ>G5S@SK8`CIn#r1*8iy=zAYM}dqJ_D2y=3f_3 zFT7!dd8_(0JPj)TCQL@-&7CYY5^F$Ppbz%0+6p5lk{^RpR5Yb`Z8l&VBr0L!XL0) zl>d{nwLZ|NFP_#wq~|vvP4$02)5&Z&+n0TlXAyU@epx2$L93AvdLG+g$col%lC!|< z$>V!WfC<9O?dd`4HF7?+5dt_WcUJU$KN@v33Ru7@Q9l@39)~#kzE(NqUI_S3oLAAg z5b%>jtOqctMt@ugChp~|D2mtHK)5Y1$i|2nWNEvarf%R2DfplGhr zIvyFflV?j&<5y5a`iuWOj-#!-0FgSNob)(r*UcEtg0d)4guzJ6V%2cyv`su z42`{?u_Wq7m?zs=xFKlvYeNo@&KKP3!tWF$t6wU26WkP%ZK;2IrY#7=t{Q4Z)Do<= z%T)b*;6J9ZU=MU0zCdf&-|*)`cW3PT8kmDqrnP+I`rA05BDeiEC|(5Wr9B>MIVJxP z1p7GDyJOJB7LLz(Ir|4tvu;AFZCE*BLr|>-K9Q5VzC1APv%fp13VtMrErIx3dQ?E} z_~A>3X9h*Yiv#wBG4dmU(kEv}Bm$!l6WW=;{t7qQGm10({mmD_LWhq;b`*NW#H^6j zU{k(>O8P*-h#_Dsn7Lj90VH>zqe4v%9r+-oM^Y{WwiqvFveJpZ?|Z8xzt|T=93rRZ zaB7qNLT4C${{9mM%|GZ?#e3)$`qKX@X<^6hWn-%bva9?pD){7O8gb6Hu#8m4NkFll z_SesYD>Sb@*!-T;2N-$ZR+NNAYggXof8kWG(kpxnd(V6Bq(s7HR^6u;8r7tx% zKr?Y|flW?a=2yz^c}0w!TKrz};|7_;&{Wvfs*?;8XYoZs}No9T+5^xqx14`0)p$>b8|X;`9uH4Rjyso4xXE`pDAK1h9smMFIuhw(#= z8R{Ylqo;meKa0e5{Pj76o0p0F9~Ng#LkmXjcHw<}VK;0i0oz2=IsVCnPb{{atvB7G z(^IB~gDe%a(uERfFK<1X9(*eI&GlTFDn`E;Vb^1o#mB3?NLLJn>YtYi(UMM|`MY1Z zVaXO=OYq!bZ_CDU$=pA`E>1~HUh+l+W|02q_2$YVAlT(W$yf~|pC)TWW;Gui`6jU_;2q7^~+oVTBLq_-< zV9G{G1=wi_ISS4?kTKhJ6MOC?NDaBdBz^;J>1Di9*Ru-SeaL*Qmi@1+t3qP31G!F6 zp(6VERVA<~O};heo?X@Sv1t8l2WvVclPyzGyTjS5Z*5%Z_==2=gF{R?3&peBrMJ*e zuK|X+W|FK8eOsx+3#ZGa@2nX-F(IW*b6-Ej_@x~l%q)sX4}aua zS4mggjCn=-+~epbF~g91M1M|FGKUu+(qFeG$SS(KU7u1ISc2X0v3K5YpT0VE@spqi z;xtUH?~Y_xj=!`dayn+LZ zEYXuAAS?5TGGAx?-wq5Saqm85qkSPagE?dj!=;b1twNmsaZOyGt|I=_GAxtq$K&~O z9jwmL=A!!KfzYQ6e;`1Va9vWw>S&y_20z)Os*OawgtJf!8s0B$VGabGNo>(lPzMa92xkdKf_1=;pe$>M6&0D%+ zL2OBP@r9|S5&@%PvDePxt z9i_M^T8HB_VtjS9NbYk{jq?EuMYP7YchgrPkFF93(X=Wmn|&35fOKT(h(4L=d4)ws zWOTDLi_E44J)ho|vb9H8khPl`*ZT&otXHZK+s{ek_7Ry38oJjHdAHeOIeV1X7QpK* zyMyd{>P*-lS*DPNRTCpcSW;0fxS@18N@d_P4_{MRp&ni5W%!I}QUe!7>heJI12%EM z;JE7u9_0UZ21F2S7QNo-;J9m+75(63xuO81biSO9_g6}IoYctWIZaA`uS;XMiu${Y zbYP<0k8&1QYS;>QJrtct&`#0(xK(AJ^fNo`NK~Z^ROn}87RierNxjj6C7#*bhGRI98`D^a zR5?FFg0Qc&U%TR>8FNZhmmlagv8kQ`R|!}+pEoL1zs^5*Zw#etLC6cO`()5xm>h1| zq82vS-}=|WQ1jZ$gwn5PP8cL}3%7uqAW$o|pu|F@^W)-^IGL4B|Gex~=sIoF7`5z) zH%?;WkbSg1JO33Mo)8*`5&lz_fw6cVcDv+4qo=`6fEO*RpOe-T^c z07Ap}m_xm*-yEDV+r>FQ!@fa=VNo4KED}s*tEt}1Sm#ZaKVnMSlES%RJ`WTGAWvv$ zF+F$kzi1u&xbs@|7RGd(nM8Fa3U&!Jq0M6-7zoXGj3|R5r$fx~6NlQQsj(*SY<%IX% z>gI^6)dU2wRo_x6CNI*+|Lisj(4^mwfh2>%7LCC2%Tz$~*f+HBc=4fs-_Ry-?F10C zI<84gqHWXws`x}{AvEM;_tBo~XuAL*UC?goI|FwyKdYKDM)zC44w{Zt%>=E%S?TXIUtiADB>j z0wGBQ-HUu&>wYo*sPz-}vQa5GPaGG4%C%{efHw6I@*hpP-E-z}gcYDzA1yd`k*DE2 zJs^@yFXSkLCn@EFZa}}2Nzs{br`ZU{&W=i{n;2ylD$W|@eH;SI6YpaDZ$O~aLvJ*L zJ37xBEpPMs0$H{Ilw;Hp(2%*dF8cf| zqJFLM4++pN;S^T#ref{J{|q3uOZWHYkGOJ7pS6Qp^Y4c(W_i~#Y7Z${Wn$-tuC0oe z-G1f0PQ3pv5@lU*Y;GYT_!vY9r$oNctAakF=YO4pr=0PI|;2Xe!4e94bMH`o;1QqPvbmDaoGXv z&iSeDGg@+DaQz>zRC?Q9-tpQhjCbOcu;7CTV}}@{wV6eXl4IPeq@DTj!{Yc>_E7AjX}vA#wa3(ZvHr2+%RdbRQVMeYYN55J@#5 z&)WC(C7@9_o#13gWvPA}d03aLVhq6}Dz-YpGrNb#`+kJVRDK5+qPZ>+KFbhEz`KZU zXtDa`zT~V|9K%uf`0>+vSIg{UiEq;`N7!|#j>xTd^B}Lk$|pd87V0-&=dkD9~QqzQ2N(fq_l(rgX`+R8botA$Dj7-nG$d{(>aO$sI>-0tbN>mZ? zEv{v!HwZX6lL;*^sE+cleMoS^v3EVwZFriqA7h7B zus-9)&Cr_Z;bSd>5sAN{_4BEgm8~Dc62Yv>D5;H^+``_Pw$#)kBmBwlH}cvY_!@mX zt+sY?|6U6|ZER#Wq&)RTC|?gP+^Yz_82`}8l?H0H&o-9(1*O=@y7_fh)U)IF%|m$D z{U$O@#Aa6qf-Q^VKr;vD1d^sOUFG(G8ww~ExRd{F%? z1q6G{v#9;15@)|BP0Co#QwFkAp43hM(S)l8{oojtITISRMwB=bg>3w+K!-h%i>uQ(X>F!Eo{AG+d1_W zcEzR&ycFkW6uGqdZApMZcDF+tvP1L2cPKyd>K!dA6LTV39HMpBJN)5KMyeGTT>I3S z*;ydDoO>g2Daq8ZrYPn(SHG9r!-R%3adUwtDia~1q?mF_tY>7lXllW2Dj3h>gT~r%K$y&Gn z)Z5qj0pUt#Ogm}YyTt5&8)ihswV0MrmfA8XC5h(U&WssxwW%O_Zjwqx5mp`=UY?6^x zd5uopZhkD0iy1oc2Kb;eKT(Q>PGq{5&Oz5L7XHA0U@p6k7Kq1Q4`K*5YGm{N%48&K zK4->Xz=4e<5UeGNznt=%h7w`N@R`YM1Q(wqg0G3rtclXlX2mWMGrb}c1V%*(A6eiC z5d_8}pEBFXB|lIMds+Ce|MV(~f>~I7=}9iu$!4*~FwTcNM3=z_HLk8Gfyf2DO~VFx6BFT2 z2&OVgXiKENU8oV=X9eB z_H&l*7`3oPuZUlzOeLUc8AL8r&WllUlD;0mel_#gs5i0gSiC8_hSDQ-Cdk?zCTD8a zbIn;P9)A_1r3}H#xv6Lmc^Vkc;xY_&*dSOF)zf!qs*k=)+-cEi``lYsp>m2`ab20i z(`|1Io#_b=D1?8M5nEsdFMj-tP2h(Q?>%OptCh?Uj+h7NJh|r7r}BMg&%2)N(`&m{ zE4c>Jd$K`?Sev8#4>UPtC?MCT)_mZVSL47oP|XSy+9v_pVQahzl{UMD&Geb)C=Jc9 zDBk<~Xk2#@+~)Bgf0wjhJ>A?aOu&w*P}G}Td*1nJ`Z@5~<2U<4kBa-~BZsvbmVe-V zFr=B>Zorv_ixd{LsR{k${Z}{t@GootYPLWwe&MXr5y_^FCVEnboHB>LQ2uTN-yW4t z!E?P=BEYhGTdzFMFZ$}^+c#Ib95H=G_0(*Mrl{=ui)gm(*^r|qfV{NHKblvcpw>UJ{Nq7G| zd5|BoyOcs(A5~+12QM&*FZn2-2RNsdDf0vB6qI+o;^a9`Jx6yD@F}M1;Xa(E*AJgjfG#(R5)F{)r!|&6%hY> zyiB3r>tCeh<5Q);N~>bJEE$vcMDV^yHJBl?Q}p+IJYv+{hs*skg4WdvojD~~a>oqn zxM6kgQU~r55e(nKXOagp&VxMm@Y)FK&tcIHl3pyUu_VZ3>cOkMKngJkP?mk-Y zJEqVw#CuUe_O$ZbKPqkV6E{vmaeCldn$**E<{z(~eM;;TVeKcet-^pd9WLiW=@{;^ z4~5=)Rgk+tLQJn~`~0$s78~VAxQDxHzqcbV1-Z`HRZz+8^Imhtcty7V8KTvZ8L;O= z=uR{kkAyM-4n06=O>KH^0%@QS^KbWEZ^g45I zzsDmkE7MCBNh~+A%XTV^@NWG{=81W&FF7QV5QynkTS>owg!T%X2*R^Ry>z2v8)4$s z=(D9-P=hiU(E z^*RRs5ggMKITPxiRllbwq8pH`U=gfO+fn#fJlrIbF=G!>DT+l4?7foYz|%tj#b0xN zY0Pym+ODES!e*~@*jX&2+_S+z(mS9mqB%>c&s|{9D{Dj#kNCM`tblcUGnSd&Tka(u(5UZ-Ww1ig1`OF`DbRm z)g`m=&pG9Zp4S1|az6jMs{>A!KeBKEQ@GJT*yfGa;A&FQDZxHbYmM-S9BWWS7Ms=C zO=g=hX6n~ViNCvhrwK`)eG3!5JbtEyg3}#w7Q3v$K5u&As4~1v_R%w5RVU<3h#)yD zhI2YR@@cKD!j&VSB-ksbZdRj0QeN-R64$l5#fXTCcS_}*li3ZdWq3EW#V1c~9vkTy zE)Q_}+vu^+LH^`^+V)R7n&2f4;!?0CAvgdVjUJl_euMN^sOk{u=ujTBU|5Skr(S*ae?$&T5|CbDk?kdKFWS>i1rW={C)HN4N$o6tXr(dev)HDp=oEU3or!CF&?p|LoaR?uWyQVbMaK<*Uke zndTcJ5w!;_eYpT1Zz%vIDr2IV%J`N{X4i?e=os@B(pL}0Nql@|>VCSt8M!jc%e^9G zxd)hHg))HX@3Vm!dR19rt503{gL}QzA4Ik?iNE{Y9Il1~uj-o~w*dqj!4`YB!D0*w z|CcszxaHYziSwcViOPlFiUDq^bXKGP%c)!c&poeB|6{@Bzcu&X{%Ots5bpo4z8PUg zNS+I@rdLx|p9FsQ9|@$k zKJ`^?Z<$+&77XA8zWA6Pu*qitHAstceSj(WIlt>cW%HEC-)L8dp5&beA1{EdWAQ>| zDa|>EO=5c$^@E_18b}n=&`E~Do<}hmq?ZZwkQUcib(u&?$%YCF0M`_`2m*Ou*8nlz zG}Z?#mBKq-ZU%xqT?ADKAkhO$X?qYV+MxmHluMtOs7d&N>TNJ>Uzj4c&CTEgmhT1L z!Q$}dtI?Qpq7@Qi@!-I+Fj#nUQHs+Gko5eqD*EbKc9Hr zbEcHRc}gJ*LFdW`a^qu!w#b=aUw6$%f3}*Lb?!u8qgPJ%<(75mf*lP%eqZ3nR#_+J zs^5R`hJqs_NvLW z@v`n)fnO&rd6oqvQSPv}B^vXK=h3d5cn^(yoBRI-FFc(KF8v1%@4%|&%`N+&}_{Dufx9!-}QqaAavSLJM1I@$rC zQ&FKG|AgC^$Po?HcKCj)Xc2Mw1Gn*WvUGLlTx9Xdwnt|sDz_3nEiI)!N%$EimvYvu zXPBbnlHjaQafIvoyE%95vgo?FC@L_&x#?d3J;9<&_-YR)XYtnU5FG-wm*Fml)|9N< z_X5{{-_vvA`7`Lx*Bml0n8AubV^vYjbTj8o+&!kLgC+XXDnW@9V#{wjVG=m}s%X+a z6@Am$;W}-#R+%zIeTlzvN3JfINV_467C>j2F-S0yxT7Yp2u@U^f5<%U`&L9tk{>>g~fbI$_QJ-@@FChX8#%P z7J~};+@!?u2S1wU7|x7al=T&LuFAo2NSpb@HO=5c57>N9qVCos(>{rax;vzlUZ_bO zzod+K-wqrS8ngScGE$o1VCdV*3>TilH{vHGh5FU_vtNg35D0w7-ri>OyrZFwbfX0t zaH681T@vP=nrXLl?n{?vYAJg7s+(;+o#D#FDYm}R3$eZeq9&=x4NY+9;RdC{nEf9> zA-#SXoPn`Ox%!QP#^M4rW{}|F@Ar55-1fx%vk*T;@ghI>xL^O;pvsNQ4LTGu&@0Y6vZ2!iY z&xQy$h1%PYx)J?XZ#xk5VJ2{?}JaRaB*tLK63vTR*4*bU_)eXr{in|8O;6kyzmeV#%O;Ju@RoUWW>6)&u&W#N7&uL2z;9zqUI zcP)tjE{=CSmgd!>lF-(mW{V*6!~x)*^|uD|oIlQ2+;C+Lg=njvwSKDwa}^Z_aF%Y+ z%gNR|Dne|d?M@l;bQ95MU{eK^=k>kGPS08C7i$yMndOH0CEqW5w*Od-FHsKLT^;@8 zB3=&K@Jo{;*qy9 zHTBATzD!gRyW7IgrHDW7x`)gQkv0tZ(IJj<1e-o?T&e-GPhF(>8G%oC&K5QpIr!Qn zP$27vD10PralQCD@z-CUP)OSAKD=Jaq2qa- z_aik#W-Xa(!919G#fkywD^>|>kdioogca%Us`6uZWwTgzQD@d}(JK}W5oHUaP*AU& zx{N~{w`)jSN5r(e$`4V}V~f-kTS0V5%saSeNdwDdz8qs27Ly@=J@e1Q z^;hH$S5o6Hp>NI3JGHI9NyQNtb?f3(1IslT)ctgM`d+P$t9Qi{)g#oSc;cLv3}~_| z5ajuw=qwsVNQdNa(mUn*afQ+Clb#;E_o!~TgJwrk_v7Fa-Il#c;CX1fG6`h6{oxQ! zwp*YjX7AwV(DR6%g3_{xW!%D*0N_!aFu^f7Yd|meJxSk>QtV_kel5`pi^>z4nYnYv zt@QN^1s(5`Fn*4A{%-&=bF8f?O_zoqVR&;!8F$<}cr7Et&Rw<}SmuDMsuU*s9DOQz z!WGMhqIGzjsj{_xjpM6U{Hc2$z{Ywq&nQD9{YUZeI}&-F}VR;sH=)e z0Js$Q^8*To1OaFDQ;G#Ci|lbkg~@D zMn&`UVi7@FLvEnAJRk+8K{thCJbf7A=l#aLqk_w^*MJu_><1|z&cbFYFcj48`c27X z7l9+Rzwl4Ic7}DXi1t%baNuU7j0`z0e2FxAL+K)klzWcSam?!}(*nk#UJBV*!ScR5Wtr*mto{~HLaq3~ef1*%&oko`XmgBB za?R)2rWn*AZ4j34BNdu3A>Si(>0~QIg4G!4pOu4pW9@nHRadWuKUu%CExz((y+_$j(r97zM|o{(9Q3cGc?PAeE(NS zK^(Xd_*MAjD?3)nx2}NqY2il=Gv#_F@v+yGKC17LAYB2>9QKC8s=mG2ZVfn7rR;vQ zmNNrRbaHwob~{cq=`YQwx3UW$L(Yf$R6aU4CuMSL9`&(?J}>#dgFFqB=giAE<$1SD zG2`5YW_<7kk)Q0ydqhn4FM+ ziJ>$)MIPV1xC~8qxz{H6zP4W-Max5>fqt`X4RZ?;6i5XXYKTWmZY8my@y2-NP-1Vk z(&#*d&-ZaUT+#A**#Gu9?-tVA7T6v0pIsano`^S27;_XRuhbEvD!!im< z{z(%}k4hVs=&cu*2a3MUrAz=63fNs4_n{n>FQ_;)d`kGsmYdRGreQI|LyZI+n*Sv&$LENixxDQp9eRwt*l~HP2RXYkIhQ zO&3kOsWZCJ63Z`G9U;o9G{&t!Z_OI1i^Hiope3x{tzfT&8*Z;}eV)LQB~vH>&WgMR zK~2h2cKHU^^FIY9i<>QnZTXV|5lVI7ExbYlpz{~b-v+=8czOIr6?~#mrsotcr6}rm zA00cW;nxFWY$s->^&ie3F44}vp;5;7DbOQ)G1psK(=fb@@ z>+a0=KP`kVXE)hD9|0%X7lff3J@+^4%+MC%YWA>?u`>fMY=yF3X8Ox|$ZUApZ=d5u z-<_Ak4{Tvj3fm__QLq+5611{3KpQ+1`8t)PSvy*u;(o#iVVQK1_Iv;?PZ|qkeAQc$ z+0&~D2D&}!%r*NH(PiVZ6fiS@ME5BW{#tQ*obvieF4un~gMBrxC;2o_%2OavJD*q> z+6)kh>U8Yo$Glf<+pqi^gYd#`o(-@G6BA_#OwbMQ1TKhO!51(}r3CxA)Zw)V2o->E zo=+HX9fTSFolmHL1t1zhO27#>R6>{)UeQhb#Ia{#TYNm=1pQ$xSE>F81sqjeI{$3s z^t{nr{=i_?K7}8x@B95Y$+gykH1!bQLH`lG^A9+`_oQkh0Fn17VI|{p=MSSi_PtB6aUazidd`$|`uoibXBu zDdo9uVi15V9+?P=P!!EGt%6K~Fg23YI;2oSL*s>lUwxuGO@Y4Vw&~8igXt13r;pA6 z9{D*MIKV(F_m@*vulEiRaB@q8RC>iE05U9v z0P%1ge+F?ynVwWOrW8?;1dYDwsL{N|ek@%86zJsf1e^O0i;=bBe#w`CQztFFp>q z&e*8@m5Yu(Z>T*WL;B3r&sOQj)r}+M=f{V@;k0-B;8Au({d!C$JfNM}NMM4SNKSPa znCMkku!eLD46ru$Y-)~v`t|Zn89&K9j7lAmJf9H(z?BhXq*67=i*Ah32*+2yv(3;f zz-$uPV(O&Sjxd=Gy>UGg&@IjMtSTdfNWWjE0B|s-T)SuX$x(v?7f}PUax*k8BKT)# z4S&LRuDvzG*9D{Z-Ke&man}b+l+ouEg`@%IqEnH%v_Yd^L zRzdIPSLA9e!GN{Isk;sUK@b|$w=-;o8Pf5_7y#wpFqHl#kz)laV?yF!QoE&InP@HI z1Rx=0O(=NRhJQk%^=$Se@*D%Tr(>;Kv4J-iP3`gbmEo&(WThlSx-lDwW1R<}Nf8!AxTb ze3Y(v1P>aQ6kc&wE>vT>!;{A7XW* zs~h4w1oWZQc@wb4wATH+mA7GO3zE}R2Z?5vX=ne7y1$Bw@{RvSVI`$R0SPH-knS81 zkdPDsX%y-196~@qBn0UiKw71{yJP4YI;Bg7hJEq-Kku{Fd$JGq+H0@9Pdpjd&CGq} z_fucm^PsJ!Q_zji_objXg@>EE?sB`_9HaCvF)ATw6~ECeijSk7u=DDXhX2%mU+;u; z#<{iFU9(N+&b?@B@MdB;ue@hrWqOliqT8{E>Pc%48nIq8?kX(v7kP0N5;yXla*Ydq z_$^b|tF>Vmer%WZg0RNb#D$p^B;jYgo&-XKrA&^sZqJM3Liy(UFJKuw(f6dYR*_i? znWYm6y87#vW3972UmWS|nUvXxBhdU3oU%V+!ELnxN9yd&Td?Z(0zjS`O%NA}h6Y=fwUXn4kQ4I8( z2v7j5Wc`Y)sTWZgK)kn3A!p0 z?W<+GXjtu;&IqyIldLAjxBk)jSisz{^EI z{k#s#hnj*+!f+-+EHj5j^Zn2ZXC>#U7Un-hAq#GejT{A4&5P9deXo(U1%h5HaiD9^ z`5jZ<%Ha_(tvWpC%hMm@ueqqN0{G;1-HN>=g)P&+DU#$;4D%5BWrroF_H0|}jJ=|F zJm8gqz4e8lM_<0m`CWf5=5usiJ8UA;wP$~;Cm>a?S^xRTS? z+7S4k$@C-08V*2*Egr+a?88FEJC4Me2ef!Wc>-7c1#;Nl+U?}+Xje#%GvwicOY-mGTmkC{{pp{_ojPTvYsb= z?r@jvo%~)f%PfcU?)G*BqTcJ1Ew>(#;hkXMxMS0P-xHvz!yn&|ou)XfAwep&^+YrT z)Rgg`J+7~`mU){|ykFFoPDoe{{nKh}{cU)u)r-jAptqv;9&#U0Brbv+aC;>?CB2tD zNCt=Hq^1bJ#{;wAxCp_Jc@=Ru?9QuZ-`n5-lnV=wCBzJ=_qpiPAX@I1fka!8yT*(F zlt4~|(@Fy{V}t)x%>Xsj`*hmFZSsX+T%upmsu!?Ky(gGDIdkXdvVR_|Jau z#kT0U`(tNQ;P5*yiL@I#DjncN3OOkV!JoJHL`0?Avo4xSiNBmZ7=@h?UyW5$0$!o` zHE5+*330?+Yw7VIeR`#_pRLX_91uSzxaL0Wf#S$?C$HbAJdzp z*YUt#O4HF`;y=r~mMD1cf@8kiNJ3E@9Oq5!=;E$Rbn;3ER; z;JXht-px2BARD+n9AD%(OM5|m@3iL-ly16&;ydQMLhQ9o(6Y_Zwo`tCTPjf0&k5&2 zkh^4UA*sT8(DGbo2ajDh@j1{N0h0$Re6f`~8b^|>=D<)`?Ufh#-kS{v3KMmNca(49 zEBWW9yo^5jJAIz18AQ>$C2-C5=Od!1`b71AzvEYX7t5MK-jk_zI&~~Tv;)}o$&WU= zQrfRiPIw)AT4ypa$II_ggS-J}XO5_GfF6q;BT6OtP@z=>_DPd432`!2{j~iEpV zqz1!}cnT|>x>Ins{=qLpva>o8qwi4DwsCGcwHw$>2Nl=1`@-q>?tHX#`x9?BT*mAd z9v^v>s|LctaGLjOq@RcQ@9+BGyND-#$yV>0Zy2jjuo>a8dVT+Ew&w#m6X(M>wR{W{ zNW+r9J18m)lFDrS&XixcJ7AEpADKK+FSQh=3B4uulGJ7k3;yg!r}he9g&5?Puet1$ zmu~u)O*R+#tI0QrD$bfS?q7I0Ni~8oAINkH31D9MLdMo}cYX9q*`%x2wr&!+f^;HJ zw3B|m;Saf+A+k{X@J-~q0HP*IG^!mEGWhjf6V6zmdENf8NsZVT<2?h(&8bs^yhb!m z@C7>f{|H9FY2ViM$WH(wlhCZH_;8R22B}s_^J*)bL^}v(+~y8LUJnGnyACx8;UxBS z_M?y#pwxmk+PopToPJ{*)vn)O5hO|kE{huv zai)MWGpW*t8IJDvr^y9c7YarDgR=5CRL63Iz)f>vWrmkJ13?n-B#}@#pW`b#GEoKy zx-tiLDrHb#EV^v!O(~i8ZcT!IL*Q2MaS@rGH$;6FGe;2lFlb>W&RcNMjLBgRD44j7 zbMFq7#S|;n!^#~6-E!VgF`@k%BI+#}p<5oG=Wrf_>0PeKQHK}Nu)S?k?+QRM9YL_j z3FTq`SgRzfp~52<4gO&n0|>`2i3w~LP?bcouV+NA08*50_=wN);e$74&G?fYt*Ms3 z9j~`Zt>LgOqkHh;3IRCA^cbwl(ra8kC^2;wzQ^ z^)o_EK3UaaTu61uIbnlMvna(!~a=zLFg{ug^i9eXO27lY}kbr11; zyp^Ahdrp&HrYo`GZMsrXrL?${Rr&Mgh@5<72^rSWwgPBNNPj&~)ad8(ip|xy`Q^uw z!6bh*D!N;xwCw)@G`ms2C{#Ra{-3Md%Lb5T)>(|sNpGYK#roSWL?n>ydCf1s{FV zi;aWX;R+!GA3_A!VgaQM^qm={jyak55m9gzL8t5`*4)p&s~r+w8fu%9b5fJ!wDL&3 z&fDU7ykm=S$l_?`zV{zDD5McS)E6s~a`z((7U=8$M|BDRHoc$l?~0#S zY0?G7rBYupAI+41^~XNB^ldDVxF%|7Dt?~6@RzL2+AE~1=H;D@99D6#04cnI#7F_KjVy$@40e7>s(;jl334JJwAzRkOL>(8{A)DAVog zX-tSVOe@J$O9yC>`E;HX@BZ>;?uoJVG?Qj&!nt_$u3h!uYu*o?YB5e35f<}5>~One zvA@Rdq`fyQNFjt@oYkE>rmwY<^G2f67q~ z%jls1s?}~i94m)3CG~!U*Yy0ECi~FmVDx$dPf-4iC*pyd2VfPidz>;Va1i=Rm3T!- zJ)FH=^Kc>oo6QQWe(7s&Sq-5zXrP;cCKT&JgKW^b|Z8Nof zOJ68+08ZTwI6Gsn=XxmgH}&@hvD~&2(XkAnwWhl1?Kk!}aqm;;cbBzg&bpaa=|CsW zHzJ~^Pbv)p?VhIo*>3FvAosGGl?dk1$d%mA1=BuQSXB#7#}5kzYo`McaW@JI&|rI? zscG}(pqwJ>zo0g&K^!(+?MK(m%TVsNw(*FF9|2#*kENy{Vzofa=Z<9Qi7h%}{QT*d za@}gNHGyTXNWR@b{-XbedmLFwUTnn<1tiQ}zy8 z)q6ucRXnX}*^T;gOsCcN|6b z6*LNoPukZ4R>bue)&-KN1f)W3KSoro?7iImIC$2DU{JD^GkhE#9^x8&J+`K|KQU=L zg{T!AC)`n$H-z5xm{=(}X1Fv=q9+@n4<6M{=d4clFfrMubH3Cz@jYM2T)vshGgzJF zEvDHIsB)ogIwzvRYga)hry^feA18A|)AmqyPQdG3_@poRHc4%HPfi|wyF?*(w|4ZpBDV9 z*1J2ac`t;bJ;SbFleZVD)hIMj&Djm(O7oK|8-lr$e7!Kja>|R*3t>|IE%F2(8<0 zJ(asF5%Zdl>^!1NBLHSDPcZjXkY<6%0P1V!tg~5I(@n%wvtBQtO=&{uC#8Dl<#BBH zFs$>r%?1|rK|-Trh>v&Vd2FN3TS5xT`Zo4dsX*S!MeIGYYQ0F-0B$-wdE3lhRpzXn zcNLo$bmn>1c0bd~!Nzut@3$d%T5oU+(CUrAs9bIQ_vpIN{9sq9`7D< z5@Bvi?QvMu2F1RBtEnb#o;TkVVN#H6$_Gkf01?LIeWgxL+LHs3p`51Kubd-a6Po*u z148n`R;2qegNEwd3!0_`(#t9~<+MmjeZJOxGr2y{Cw$i?`v|wimz4*{>Dka1foHQ) z?`r_jPb0P<@g8m?p*bHo+KP{TT4?<-*5KIP2yRjOI(IoFHiJS~(rQ0eMFyinkr^9?Q?Djbpl9SUn6YC>(w}{$x#9?{O{Aj9P^fzV?cuDfB6Qqg8=F z?JM_{WDH20@YjRXmsIg_jzbW0X^_>IMlyI;uPLRSAMG?3M($wwHRu04>=ajj!=u4< z4rv-Pd$28h3#S(KZOc0ao zW@YkY`HGd0J?)eROn+z0pWE(iS2@4XsdpA%NM>v%ufDK$}k3eB@o?NwFI z(}>+2DFqsqhP;(`JGsPXOy4MRIgP{;t1C!SZ4aMOjWl+blQ{33p5Go_-S9`(+SkG_ z9YMywy+!blA}|&deZHHH8-7nURB7%d@db{@e{pq$Ve`oTBNO%G4s!OYyFTj1AgTD}Zf@^B#jJDez&n(u%eNAWFJDAHx=T#l zHtK09&((Y&T*6wg%RKljw*z3JD43VO-xxafvkO9(6ST23%dFpl2<;L)R8%)=&W5tz zPA%h&hms+{86Sp#gqItiN|QM%$0M&>OKWD=R4Ge3X`OcjzCW_|90@h_sdheB=e-~nXJJlzW1|& zC;nt6v$eN;HD{~7OI(l^CE+P-*8Yc96(IE4EI!vN{{?yS08>D&v=d4W)jt)r-~BC% z?Z3yL2Qi*8rs`jED*g8`wO!+DJ=l`8S|<9S`ie`K7XLza%+VL=gIe zz-uhZq|X9Px_<=eqK4!aFX{iRIr}vFWx9JHKin)&HTev8?iXS2@Z+z!)=o8j(i^vj z%F4k^TUP@wdJgTnBN?pW{U<9!tIMTFTx{px)Kc#lpnAfw3wu(sJj}AJKL+u|@lRpD z1K{Cavw>bnCA}c`VEp8yXS-h&==W-Kt%rB!e$GmLI%l#Efi=-9;o{m3yhPs*y5AuMt?Dzqn5|&_lM5J6qV<0Dbqto* zTN!F5sscP=i0*hUo$gbz4SzG9k2Ho`-cC;MWDmw+I&&84o+*-nj7sI-XqF~n%_0)( zy`LjGoiOt==LwSJo{(M2d78EqkBaJaaqe-KLO8rp0ym!Ur~TYLy^_L|xIqSMB7q>| zLsB{y2ah3|00(8%$bi~$CPXWl$v~LoW>Z&Qm@wWbB;Rs+BcGR3T(W$7H3pBSiYW!@ zJ!(10_@nk4wGAmwt9fwVFQ)2dbtrNpRrbb65L5KIM_i&j#!zjE)GXyFY(%V|r%(T@ zXW*`<$^%Nv1L`-zk=WFLSu=6yNNS;?lMk;yrtW(1LUUi4wj4m`kfuKAA5s_h?wa(o zQu2eFEXU2opt?6H7wM&BH7InLzE)n^zyeG9p;T2O9iiW~uyS1W@R2eSa+pzmm5N1ieKcb}}^L_2^cSe0Lrhj6Cq+i_Ou&7{R>5+rF##-k&wh5a@y?sho50 zk63xPRmm6UOb3RrUB(|A0eVzd`7dWzQ@BkS=4jeK+QbU%&4d-1`OC_78x6RRr?1WM z(iy%3IlT3jqv>sKVL`}Uw{?QKDY`5kjSIFt&(0xj3Od4C{{bT(9MCPDi)GRz7(087 ze5}7IuP1?Y98*2$U>Zi2y^NkhP&KCQ0Fr>P+H67N@<~fM8qbmO&0Cs^&ESGPt5@A# z{aYSYB{u`aoH!7k!4yC$10wC4H%ta9TXgL71!sI)k=>}(w55ErCR<4@r(uZe>&hPL zEkh?F{bhtLWBf$80g? z|9w)FBDJL$!j=juJIkJzxfP)9Ws ztIZWaPQH>6@3#UC)L|(XF%C~(K88)`2M)L7iyuu9QYDkt0t@+cBQ>GAV4!4P0&WkNGhDkqddsj}uXVA7Rn&%L@io^D% zbgSws3e;`!5$apstOERcwgHAUD$Z=+#^5(#fgx=!I2KT;g^TzaG02FoyY3qmH$p{T z-c!+HOrO>3K5hGxs|F9%)(0nS;D+tJQ&uvEyR>#`_&f_;D>uG+>=118DFl?cQuEtN zca!yI#KOp#w{IFB!$_**?CTeX_D$+rYSkCk9@&oK889?+Q34O^Ru&*_=MX7j2!??R zk!g1-xrpzP(mQ)>#PZH2cGt@)Z2!pNFky#o=%ZH)T*CNgE9pvw?gER7S8ijffy5{)%;~8L2-wFgO zjAx$f0zy&nWmIkwIE<`&ooXIkmqMBHo?OXc ztuoP6{`oHOdD7L0K{?#(P}y)5voOa(M^Nzl6Q-w`?2?Sm3!a=j`_Bn|6MJGOb-Qa^ zri14G!Yz2+(AH;Osb~9BH}1@fPGEu1BYZk7k-D;V{WA`Ip{0X!V6}&RvC=U;l^Rdb ztcQaLiOIU!#7+K+EC9L&YKQ5h`8LBhIO#kg%T-E+r@}+M>oOF%#=YCL*?7c3NZg1) z*-ZL@2C`_Z%ptD$Xb;d1_vtbAyRR(J73-LJnF@1Jk>O*LQ5(|yzK4-U;|lT^(5j{P zcyQxx@_0dBw=GZPKwb-r+)CC+4`py;12Jf%JY|<9PFm1b)`Nd}eZC90F`NN%FJzWYfG%Q8V$s{QW=35luU5M=FKeA{;)N1~2>2mqU1o!zh1xm#qy^B!C2{@I^+w zYO13yc;>cDxpqcpB8jXOe=?nryMiGVaHYexJGX7cpPKVM-7JzkG`B?iS9F%LyVak%)h82$r!l> z#EtNYBoqXepQLuQY}+S!_CFBC*|SLevgO^$FOqtbeDjJ$ImiJGKKp_qK>agt4wLeA zK*B}kIF=`OI?XvS#`MOC3YkzC5dX zVF3>bKs>`4k8Ch8uWGce`%^m}&_083Q-F4{Y#Lgc;{HZgMu{J(3#TcEK~%**!45Z1 zROrWW3kQa$Ga%)m>us_@J{W@zN`hU%T)r){yuJ$LMOAgqEcD?-JjC9bWpE*$euL?9 zl59I2vz3Rm-7sN>pHqsB%t_Em7#Ryu7qhWq>Z9jBybF|g zV>rrHll&cIJd9j*nyXDGGa_iJ4-*WI9eMo4z%H#?cD{z>5eM~*9#j^El*V>*vSeo_ zaOc#(k+$JF*SCg9zZ?3xpJlm7HO)&nI`v`S!X9V?1Yo4WfqI`6JGuHwXU1U|IOOJU zbt%H4W09`-sre=!P39J0SO?uv56F=qHIFQq>OH;}F2#u60go_NsBymcRq_;fus19J zPJ8@koV{9mi-9(is?ZCSB-j;`E`6Wpqa+S7j@cUgFjL-X09I%rQ$UjI85WAB6DJvH*CTzW~ z%*H;^DzUa&#nVE){WrbzI%j=+$u6y1Alv}pR-e=Qsy>sd2K|mXGald~ooZvvgeJ`! z>*|A6$P3evm8$-u{u(nh;f7Z+uU_duv$l3UftgBAeSv-_e~mey$MS%?sX6BW8S9M2 zJ5OV6BeWSz;@3%x<7=9l_C(YuL(Q-?mY||p^vd_aOu07bP`618Ks$hS^iK2WXEwAd zm8090HvF2^Y7LsU{Tm4aa^9)ni>f<2dm1tnwQ(N&Sxdv(X*A4_$ej{So>lCAu-K!d zw2bt8_1+^P=;23+umM!}U&!IV9(~K#XlD-=-0vxo+wMuC8!uq-EJ5v!=rEn)d~bhI zWII#kMB0*a_1jaT9goFZ0>#`n0!2bT(NI?Qm-p0k2$ab!h);dC#19d;KjTbG=Khse z>XQSi@2Hs1283V_4Z&D?0+D`w>yd$BDQ#Cy(oksMv4H>z0^v+-O=>=ibZfM1SrJB2CYl;xXR0O(lfc#OCvJq64~Cd!C+#=!(?H7Lv@> z4wka%(G9Baq>MJYzwgn!lnVEmXD#pWFlFkyxc%pI-9eH;-Q|6>ktJ>W_)`5V5 zwX}#D_1np7*Vh{_Lvp{y%>%Kk{NuV#N5?^L5ZhA31YqlBTp8DSX@P9=q!!wib$4Lb z)ei!3-5lImQcxIIsdJC>I5S_c=hO2!%V(=7os8HVLP9s)gPk$WqGz@NW#*+HLF>ua zLUMY2m;oFO)s_DqbLt8=0`+`4HZ*b`U4dkw@qJZBnFW)te zny;$lV*x45qC$HCHzjuieA|$-2QHh?vcqz>r^O8pADB4C=<<*G-|zb7Jj#|=k_b7V)IL_?RTLA$VNb5 zu;UsP?&R91t1gEoZ?(w!7f{}TDoG1?-fw#zyJ-%Kr=G-N(lwk`k>Q5r#q$x++p{h0 zUvq=BCmrpDIr^TUPUn)$Hx$1F*yIC|A z`p}VK%<6*RpSG{MwMqCR1`c(IW5hfp>+ig$Q_YgqQkRnSh7iqn12D4nC=+bukdv85 zBtwOdjZS@^MsKwYU8m9;1$f%%WF|W@c#lxB^`mPw;AXLjz4d(S+Me!gqH%7b`JLnz zNOTEvZK-bw)EFA7TfBj_QB)tmAn{q|aKJx)pd*RZ5L(7Bde9(LgQLr07gD#Y!=?=! zqtS~8#TVx$?G1**z5_aJSKyzK%o-0*CyI&t1>S>4wZ? zO|*3G-djZg)*!Aue0sf3_8r$wfKwSXFMLsdFN2sl>YE;DyZG#wEdQqO(4F)F#aFU` z)VqHOazn?w)pdR}wDe|OL{c%*y@eZ8njYVY~yC%M}`KO%};$vHUTy~Bf3c-vsv;8p_;a*{L<#22^ZNjN<#~i7;AO)yO z`)&F>5;ZcY!y{86YNH_l35@PY85!mdK!naxQzqAt$!66pX;mHRl5b~2-(Dl5!*9&& zG5hOEHe;Kk2gJ%ViOfSpK5uaNj!cus@~zk7dv4*7+qg*}N55D_73sgYIgg-YQv2=b z+IFy$w;^KecUrM&G{$oQ*k2-SUp8R$95W^2-~qV!ieq$X4T?t`^(n;_{*~O9M9_3I z$Rnx*N#V=KSqlFB_W(@91M;wej%Y%{G56Fk&v0wF)Yl}C5xpWQg}i=o+=$>^Jlbmf zsn5m-DCq%WARwax{CV0HJXF6Pl_ec~BKH5|=h1KrXg*F= zAIWg-L|}z~62~=93OeN>|37PG|KF6c=dx1~(#%)Axf`&Hs5u5eg{xgw$9&y)V-9xh z>}?0oDmuDG)VHpHPv3J26y@JgE_ase4zqNarYLqA>CTYaK>E93zl_O>)2_;U2x6?f zt@V7N=g~lReengvdyn!8JXKnxSNO1Z-wt zpuAF0?G>0LpuMxJidJ{``9Vf2MUV4#!hn_Q+Ch?Cev2rQ0e;zwAFYY08u&^;LLlcpsUb!!iang7-+@ z8X8W&Bldj>R1B?BNU=>1XTMY6MR@R%&{rhPq{_Tx&r4L`u+3!oAs}f~l-_c!N|(i&e68af~bZk8Juwbn=_lSq~sJp{DQkSZguK2 zpxR7kB}Ob_S!P+aBvyM*1-rn0ZTr7L-Fec?eLNz{x8X{`fzXXSJro<-C}n0b$7|Vna*uHs8azyHv{#-?y^b>Z4w)o1gld zRRve{Wy7Z>Gxpro1270;BD~MHy?KX%3?mJ6?AsOW0{cGm%0Ppw=J~nmTuy91ybf+* z1oz5A&Oa{g6Ymjq(*}G6Z6K(m<(N(#?eJFGG-fPuiS=*;BSvj_Ff{uyNSoltdsh2U zuX6-Pi3`7ieAFI4Edp}D@~!`8rM=0{X_czVLdzT1g>P^o(F%lEUENpDFp1$~~k8nU!JU*)tA2~Ao1D_jdXO~#bz5=V&R8DZsqo`8Ag&>iP_u?N(Kz?}GIg@q#t%l~! zsozU0;*6SS|J++A;rUNl-ISkSKg)Vrq9oX{0+OnXgn_(W)jko|BjcNAS}PaVAFLy=_=m@YsrM^sP`AuRQ#^N4sn^kBR_k)IJ=0j&=-%B)*J$ycjV$p3S`f>q9wq4I0})a(tt#c9*l2PM zlk9j$93a$|Tt=zl8zy~a=W+Eqa>lK*0vV2$CF~#LnnDX0e!OIxkPl9SUB3&XJ%bMk znQSm79r^g3wAc+p_AoNc5>v@)o*+!e&JQ{Oxe@zN?%T`ZPzWfHRl!4%H3_oH6@5bQrV zo2NirgA2Ny^Vo(e;#KdZzAB6o2u8ww?Y9bG#_ZwY@WpP}PQ)NnogEeI1y%ehe^(`l z1VW0PXGyWtcW8}07EsYX$8^fo_F9}H+SlI>=!K5uS#%Q*-+4M!e87O3q4t(FXY(o$Hbjnvr@{`vt6_+A`mRKe zJNvSEM*W$_|?WpAzkem>51-( z=lN1c*xUkcVX+L4RbJfN$U@C&S_Fr>#|yB-V!>wKCXXt-0qzg-H4#1VO8QS;7Chbc zoA-hUOyMf}obCNJL89p`FTIr_$G+|>>V=qV|MiAJsQDj0bFknn2sKG(zYCSZp~Tmqay_ zXd8&Jv^$$mldN|0!GI!jXKUV)kSxAr%5DwdlVdyt0sYnhYR9$@45d5y`#|MlKU(DX zNb}+c!la`8!+H+4@r-IJX!~UxV`Y?Uwa`0`Kk=J`!nvt;kr%?C8SI$3b{iA^|8KPf zfE$OY2P(xJcPi`0`{BRi5qL0Vq>bW3^o_7-G36D>t~;;|g+vq!c0yvqoUyNzNju7W z-CvipK948d?`ZSYhr=xC$=@meJhL`l6MAxIVnz09w^c{nkUOAXDSw{=m+;jeKW9a9 zwq=x&kYQfpP7cQohmxEiwN5{=C^y|WAh2+hP!!B5F-NBCD+Lz}BWXam1S_31i|`pmMQSF zc>;)`F|Zz{yRE%dprFNNdQ^?;-!VrK9&rIOS^Y$xVpWYeBxFAU|yKZXNW zLS6*(X9AhX=K$CCRnTTJX3sySSUQ)yR4Oq62)PPzlig;0&*86=*E-eamll2EzL9I?t~`p+Dj)&>hxDHXa+>kK5Hp1*;$fr|l=ukp zVQccL*a!${{9Ec#!eEA4!!Dt%)1#vf+V7?tbD@c)L8v*tr{hn*@&;nl6VN(W|6#KB z1h>UtD2SJ=Y4BMp{0E8Ur74G$hjBao#90s~k|;Z%e2x=GLS0xtx}6hqdwG#08_D9L z{8YRnO5gr?>C4k$ppF8%qG;nnF{qilM;amRr(V{t`0gBAmtu7YN|lBe{xPzd?_@KI zn#PZTT}w1fMgb~&EMRC`DNVzEk*md%<3kXf@x`iB$&3^qwYdEdYmI6%s6=wQ+z!q< zXyYaSxw`%JJ8a=8S6Uos*N7vwn|!+I-nxec3p<7K^FEjJW6CN*p&jRVovF?LZSxQgOO%v_tO7q;-wB$gj^c9zaJskH*@m?}+hr1*pPUTJ|B>5DW zIH=^osqhsXfFmBxq-P)V2S943xcJQQFfWl+x6OYBW>pE^%T_fdRfiB<4iA(sKd3OWqZiqa`bF zDq$OXWAf-5%#q)1zm{$9B05#-eZyqa({a3P@2!n8kUb@)ULDcxUy>gpk8l0L7lkkv zLpBo9Y>S~FdxSN?m@*wP=zzsxntI4S;tvZ)ellW1!Wm>Ac1G!C)LsB(G8zr zzw)*ngfFF z7;gk@=FsEe7_u19uF?`^AxwGCt5-r=S@+Wp9YkoZ2O6JJr`sH!gPINKlaipF4yz%p z6dVU4x+9I%HH06q=rXa;o?iWf>DMp4lJ9C-QQ5@?Ty-rY{N*7Na%r$EmFqxK-=`qR za@wnrokG`q6MDN`w*rPmu5UHl*P}svJ$n|5kPvsI)$G9?mV3{xg75_vFIvE}bQzr~ z;DVN~)ltX@mw(yxwb;+C&hgDJVw~5hh$ZiPMJn_~6jyPg+Sx0vmjm~pEmT&$jf3p&PXg+Nv)!#9xnL3`1KM~Apcz=xng<{x6XyxW19XJl8 zzShek**2K|^HWOA;Q(p5@BgGKb~J)EiU0o}9Iw@_fOOurH~;=~E0_h`+u-h>@&BHz z#s3XZ{hxlb28WB*zBU=wo4Eh}KP^~ISFOP40#b)K1^+=ResO`GX?cN_)4M=m4YFLk zK}g@-J-)ka#=8viOMoYv!)6~e3kGHapep^c{0iS(3E^$p?{3?(2{NpLspr+*)~Z)) z?k`@xe0pFb#0Z(zoPO#Xo1{FoB6c4{@ISA=2X=r7N*`sVj$hakk0mNwK9vr_eyUvi zfx*1Ruf`Fqw_Xs{of74f{m+j~G%W#`(|B8U{AT{<+P70-&Ud>m#^)oDbzNiqNk55& zC*ZGndo)mmFk9^7OZ4H++Mlm%n(w>A?gt7V4gAiI3Gz~Q;Dx~gK6ZO%GQn?+V#O$a zZNEVjb*p+3ivgcsn6*ZLuNNoMYp`=C*14Y@Q`c zF5d3t4p}(5SNp`|;n;rNI(FB>?uF|63fhq?mK>9O?sm z`0dumJpg*?V6ajb{_PstsSk+?KU6>NoME&Xn-nDQ{TCP)1Pbfh`30+ko%>a|x3Jwz zRRnc)*9?X%J_Sffs#^%KRe9N}PJGBk;DVA*_;{PCmSI^AkgKb)T8Xj1|8Xg|!+YAz z39yg>&jWeNvXvt~Wx7M)@u4U6tPx^bU<8f^`0r~);%=Xp)o6LZFIbONC274~h{}KN z)u&B41p`#s>XNag3LaSyS~HYhg=_ZXG6tA#9b(c*{Rg~&lkfyVJ?Cf|FXld0 zO>2^d@PITC5??g6cDcZ;)%VS9HRjq=$ZI#z+3$*XhtnW(VfnGa5`->y^&%!Fsp|!Z z?L7jHY6J2t=VqUhDv&gd57G;yKKOmIJ@Owd8gV4V`9w?)LTrAg_;0P)0WHJl(_y)K zGk{xt2ye>_XMKtXY}$s*ATZtm`D)#cP_I8GlyNTSS;z+2Tna&~l(IgG6@2+w-j zOo*`-2mv0qmC~tM`UuD>@y1rIL%+1Tkx@Y#!FC>TZpZ8f1hnC>yb!o#ZrsS}NztQ6 zVMk0(({{q#PeU%RJ#O|^X`yt49|ODEKbA4t)GzEagl7-BQ1&4^&dBZ-@~Q)DR_MwWH__153`03T^$Z?*c;oM=Tmgc z&4v_3U((WP8)-2ckd>_zf>tllV?YT|y1j*8m{ALQ{XGk3p}c zdj^@o-tY-l>aa(qi+T|jfG+T05U)D@S%!-cTIzrS7K@33Awu0$%L@s@%9DGvv!+n7 zjoU9lvgN)4z7^RT=QT5L#U}InX`xnmrteM7^vHhD(KRpCtcBBEWB8Hn;TsEk`W%Ry z?9|*VltfdLZ|zj*Z6ry=k*wx$TMpy1yg2z;XOps^`4(WpV|4}{3v9z3T)bEC@r+uBxf%PWyAzt_cUUw?&YpEbM2yBXi0Q{m zukM$36G@Jtlx3H{-1WCQ6!;>juqX_6XBrw3>)O;@`!BIM3y8QqlD)|FVMIj9uQph~ zHXN1Haa?Jx)-s%v&7Bs`ftHw)S0^(VN6n0|-X-VN(nU5bf4nImzlnG24ru)vm$udQ z{MMndUy+;YsGLx_gc_%Ubxpl=a~7uNoS><H-gC1oSBDW@WcF39r%>L&d*J5LA2 zVL9tlFSU?CAwj7RzfeZirn&ndWw7-O?=`94M#8M{5666yQT$~OL*bp|G%V7+(rs~T z-beYVx^;D0W*yym-mBhQAv$}da^?LwzYTY`S`{Q@+q^Gch^6TzX$Wx6!)Iah$xEN& zn#UVAZn>?$Q4sw>8~A%n0&QCI#(7H)$trkXm>iHk7`Yl^;^$F8qtHtTR__^e{}gO+ zpnH-hP3cxD6ycz~Rj!}n{yRp~WW9c7|F5i__FQw$?!>i~CF+;tQnNGu4_;Pv=5I<~ z*qO5*V5WtAf?xIDT#qH6%DBR|(cQlz*O1u40sn~MVAGwkWSx3HG2>k~`JLEq6i5R|w}FWeMNQtd*!o6c>*M^Ae5VYM;Uik0sPrn{#{WsR-!Pa!@+_9#?3;%!cMM z6RS4TMoBP4QV%|ms9YHd=A&Z-h&&i)9?(DWkGA};^#q)SCk*qBrm|twgBfhkJb8N<-mz`cm3s{DU_&j z{^x3Oe(c0anR$iwK(t=~n!Sb#Znwrkebb^wn0Ebi`GhG9dkp4U=z#esAV$#pYJgi| z^U`&b!J!_r0t&|C(^o6gzpuUP}Py3yn8&wl-J^Eq1 z3TDdHH1ogL_h@7v(KGbap){NG#XsyIYshNQ1nt;`K&`W_Y{2d#Vo)kt0_b z|A+tF-sx@FoX`DeGPHvqtR2-x>teZ`{w$!O=2f!Zc>TGcrpITr@3$A9=i%lvCsfbs z=LC7M7J06a9h_qb-el|_NE%HmUS%REahPqR@c#boM>Bmkhlp>jPoQCyK{unAp%OrNP&^kJrqS^ zjL{7u6Go06J)ZmX#J}*oUf=zA?~Yy9b*^*X@AuAqj!;*F^Jm#0df%v50eJUT- zAo}t7!|^u47BuxUhgo^b9Xoo3f%DG&^4(AEst`!QitSs#7m;#HM%~nuZLBu4W3|9W zUdnZM2ni{fNmv?a8ii4vXMp{I>Z= zwdVWuNhD$IKLvZgbv=xa{(r;$1poBLdx=&zkvVm^*Wyk&dcvpPKH!y@v{+Y$EqYAQ zMcbcP`AdzQphXO_7Bsk-%B<+>IgKN${b!{4r$RCVOfsNh#}nHcrfH(6{A1IluXgvi z?7aeGuaBx)nieH)?r?QYq2VV(Mr6polF#?J%qM=0yiK>yIyijtp8SIGBzRu{>6tDD z6O3PlH~#9t@2z9R8@${KD7hcYd|S^AVsPzr$M+)>dqE}&jbP1>#H{!AAF@ZZWP6nBkL7+d&sl~CZWfm1lY9n7 z-R5sHg$ELjcrD8rOsTABLu{`#AC8eFMY6Z&wLa^EePwPA@wiNU5Yqc$FxX&WM&c=u zmR{+dWci_?-)0#$c$I50m+036EZ0Geuet=KF5FPT{QBoA%yN?jIeRMMUmTQ;2!Xn4$xOaeeA)LF#52!<&)t)mVa-ZJx@hETmOR-Wf zXSG4ASi%D;cgu!pDkmiyPjD@H$QX4U76@vhs_Jid*P~w^KPRn-l%+O%RAnUbW!wGv z;~K_n3Jw##Ul?>pH-FUD(Tt64wpVK#(uh!vNP8|aN8?~N z@O(J;;Y<)G{yuehbqrr=H+cShX!xcUyW}GUu3i;9xX#|pDr9&4yhz$?Nan)X-RGiO zB(*|EBrzKUm!|3MJE6!pDl2LyGYldZuxn!aKOx+!1uGLZtiEkGc~=M;ou`J*Z~Gpk zJgkV}H!FzlsP#3SVgskh(5{gB>Jlwj_kqE_KWWX9iW)|sA=wL^+{-9n9}TrcHq7WCra zW-L+yT0A;9c36=~9Y28*0E!((3b8n#{mBA8YH7dQC?$K8po@CCN)EzU;@M8jc6&TO8J^tzef7BZC8(gQsg_B#+3tK~IcPcd^P!u& z$;m~`mhkvpSU>!Ij1`;NnNeBxU&C8K(LgJdB;g&pm2^RbE-KOA45wx&+C9u4;iFhp z$1+SnWibgV&q3PKo)e%A_C#8}z5Jg_vg_YTl6$u#d&T{RI@aV_lYQYogIMYnS1(BPk0zSz ziAWQ;wjh_okFm$f1n-yv%&cvt@GXO*0;^>eY~KWFaU!4U%lVJ968}w3pac5faPiLU zRqTSq=d25-1XuKb!iNb(qrDfl5PZ$hPob6t2QpSDI1@;BvKD~z6Od(nITCr!X`DHQ zR$Kp_-RAn=U0y=X&F082ZN`j&V80OS3S1H?baM{Wb_f8fHeN~3{1p6$1qngKVGJnL zw;~WT8qFU;{a-yiQ4xp#{Z!6Kr6{}>a2dU#n!*2sLw0qd#oHgMJ^jI)qbBvh-rn2wl<#T*dZXS7 z5NKhLl#|Lc`y1?|O3{S11&YbhD>BjT1fJEmRIzmz=S46&n%4pqRJfX1So7P%5~`;K zK`UYWogZkI=8U#Dh@=s`lKTN8j$Llo8x??nV&)VNswj_zj-|@1a4L^~*^Us_G z94DvBYb`u58+9Dh5lQAAxzD@6@+puH5g3Xob1&oIBL}~JRY8PEud4E0@blpxgXWiS ziX63}=2icq8?_Xd2JjNwrAhE;bs;uTqU!J_bx0-~(EbS}pnJv(ceUkkNh8+fwj7zf@wZDJyiR=~%yUQsynVkF7=I2QqmD!II)d{p2%sU!p3BZXlfGhNxts(6l5$Y(nf2jCv~GY@Q(j-zU=*X6-CpG=lwi za220_6UDKNXd+Rb<G z%1n1!eREUd9IGP5kPUmOQApL+$023)%bz@$r^LUz9B6jv5rP^<2R61f*~`_Y(w{Ie z$x4MdTgZ;*8OdlfhHF|~Ar4@sPB=73j} zxL+lig8Ou?Aes%4~F!HF-nxPd~TKTZw?@mBD6) zPfx-}-=`!xq9c=SNq5ek5XP->i82fg#J}JN zum&||(IVGn&bJBjo4rS_sWA>Ld6cL?-x1Ag89KG zM6CLDR0Jyfyw9U!Cj#?4g&#>RZ!nqS` z5}Q7ZxVO#adue3a&&_Yln{V`$lNw{6h%E(udWY6~BAaA&%wLCcDvPCq&4d`-{WSZlC(s#sDH>^I&DO}YmzW%6t8(BX zyJ-QMD(1ChYxNDh_*RBcXb+7J7lAh>c)V(qx;}#(ChfZgA{^4bGEeXm;vUi zc@NmLJ>DG*du7x1C%7sgR;4-nqZiR)77yVBk@J6z7y3aqs;8Ck#U!jjV>z9jtNc5( zae;=kDaPneMw;09=bQ557x9`3u%Q~~%XUmgXt0y1|8X4HdZ2Rzq3Ao75V$RJLc*s( z^EctKc%+dPIP&FGNsGPS*Pv6SF!57HLC&Z(jRXTvwDA*hR6Ec=64G=Pq!}j@)2*>9 zcmJ(sZ4l zh6Ch_I^5OI7E^HtXuk=a!O{9X+zH*8@&_mQPqh-AspF5?iIvO;75}uuaksl`OrPi9 z?>K(`5aFfU!Mon*fklRSQl z=t!727`d$<@yim>AH09tbEKHaztOtVG=}3e#ojRJ{E5rkZx6Hg*Klb|J7Y` z$zp^KQ{wcK*Z=;FbCjeozI-#mwE7T7T-Ye_g-IuCGv^j*1$SPyokzmM)q)4f%~<|j zeluu#zqPD*OR>SF)}M>u9Vv|>+&Z47TC637k5pfx>0UkmZB}&Ul+d7FQ1ROY)NB1G z@}w5?(v$L6CzuAr;!~Z|^KtktakWCfV0IMF=w*>e)d=sGzIs8AoYv4v$2wj~&X(F8 zmRl6lXDQ<&g9g{~>yr0c{T)BKJw;F-Jjch<$SGi(Z7D0td8(*Xb!i@a@l*&HQe;)rPVg8910!I95%pzWUm(fGi$L0 z-?Qyf*`AHJi{6JebYQEKl#t6FFaZyLl^m?!8B>CUx`RNPu?J6tHN?$}hJ8r5tLGj1 zsu zwX}rI;AE9@V?lhC+oTnEVYRTkrs}=wVE8~*+{eR72_PviF1&~RsTl-`o&DuM>oNLI z6p&3)?hwTdkI~-vrb(KeU*6WF612Yf&>b+l1HkO4_TF$fB`Z44k7NhZjpZ|L+=;Yo zbIP=s6ZWhOzo`)q?tcAryg1kHb_+ce$I@KAb*d2mDt?QsBFlTw7Qf5oisL zs@p4J9q;nE;HJQYls~w<$Fw9mtQ4W($ds#!FmuSv;<_&VG7xaFw|3}S_~VGlAvF}* ze0SJ%Qv8vEc#yg^`dWYgUSY8%dgAQFc@D(7^UalC&Qx?|HR#z+Ab=@Kf?CH+p-(}d z!Z7m5wldCKoHjr%8A9;8Zpti=w_#|6QzedEghve=GVG`Me>)1+BD>a^ayyI0i z70`mFTavA-W;db~m7v3~ZWk5i*)SF2J6A5Ukb=%^;jx+f!tW^OvDRqm*2AW7R!6>) z%{*}vALtW3f2x>fzn0{CnE(*uAJ`E3755V3_u4fv!9uR=kuekSj+wz;yG>XF{Y4ec zX7fygxD$v;>k8;k)u6Q3a;wzksB~rWai1I1HiJPAuwqQ>5W6`I^uwF%}(SGB7WNIrY zZaF3pJE;>=qz8?T4RG?rGGr|H$q>5(+CQ*I7@_I{HT=)=65P-X28^ua*Bkr1W;wF8 zhFP90zt->;avg#x7IUOrT0Bz$#xN(+w%ZB}2MN?)$|FeU4$~RrJLPH=wS`Ioix1x* zAL__)ck)hmn~1o`@|aqb%X^`2*{8Y7{VDxo83D$s`FjB$oX7_ zx7z7FZ;^46IL+ukp0p31!GpuXvGzgU6WyeB*fbW9@KDu%-u}g!ASD?{WE#I2P{SdX>fw&rX>modey0yz+nJU0g8B1KxD%b^Pv*fg zRlLb!YTuT-sr^L~Khi0!iWzA{%u;W&h-(uXOLGD_YpIymqPp&UHjpSY?4@Rp1i%)O z2mo8X0Q2vt@iTX2AqG%y`=V(A5JJ}u$tPrFZ4T_BG;!Frgt043MudbGz?8!_;Kn_haZvUj#Gh6!`6?f%c( z(~+ce-a_lceLzV%tRK%e+H5BVf-@P}rT$l<{Ryt0#|4CC6AY&YW)mp>JgFXES5PHW zY*T6ky}iRS{n+(}F)yo^^Mu(d11pjBl;hl?=2Z(LzhPsf=f#Z6&%&UAB;2rkk%9@_ zFQ%K8HO6B-18>0m8~RxQ@yDChh$$euUZ#Rx;2whcjYuQL$<~6sjnkqr8+V(f{rn$3 zzIJjv1+|bt=0I}VTgK$Q={2yj5_SBGQL%q40^hmN7N*JKGtN3(n}I|{h+5}TZWpR6 zv*l3ROl;EtJMvjtzVSJBh&0hdG?z5!FP>&6;zf?P z33St!2$qtjr>h%V%CjvbG z4z;o8;3s7>mlvfl)v-a$fyB#n(ec;~)15Ua3KTBRJoB;SDRG_e^=mt*W}dTcWy7hh z1*YVOWik?6srJkIu5=gwb$k|LA-)4HWn}*LwL}>EDn>06`h-Y1^0;)mw4IEo?*~y* zx#(m5tx&***(li|I}cL5tvbnb*vr=yo|RI4^$oOizC2{qR=x{xDZkeGyL>m0zwWkM z;R>q;kC2xjYl16ni9oT<8cSi59aZ~)^yKPCSAf9tz%Bqse;)#K)QSpU*7Y9#bW}C` zvG~QFgWfalPF1HU4o-4ZZ~kkNHOcv_4!`{6KS>vilwjG80F>y0#nRy_+)k3jUyJ9% zaF^)e)nMB~3IX+g4WQLm)k?O>r=f7mwSQ6Y?|40r?F8gYo*zGz8R;%IA9Gl53bt*S zRp!3yOVa`GCofdV6unR^lFWB+(BUTC(%F9r5UyLm8Z^9T3Lsp#b$rR84=-h9O)vZs z0f5+p4|uJ9;n()R=gEJ68OWN=q~zokm0BO5fP@0yGDPFGVs-VE(W4b|SK?+0ko1{@m@Gy2P^ z0U_IM1V*_Z7?>n4y#p-yC^4laJTEE`_KI+OkN;Qg>;r|QM@yMtE literal 0 HcmV?d00001 From 83087983afe385d679606218740d090ce3591054 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:08:45 -0600 Subject: [PATCH 07/44] Update Ps2GrouperUNChHill.adoc --- Ps2GrouperUNChHill.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Ps2GrouperUNChHill.adoc b/Ps2GrouperUNChHill.adoc index 3f98eac..019059e 100644 --- a/Ps2GrouperUNChHill.adoc +++ b/Ps2GrouperUNChHill.adoc @@ -6,6 +6,8 @@ There's maybe a a story that I didn't include about how groper data gets indirec We've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. +image::"Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png"[three paths] + The The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. @@ -549,4 +551,4 @@ Audio Transcript meeting going to where those people are are, and show up there, and figure out what kind of conversation have, and what kind of goodies to share. So ! We'll keep - up the good fight \ No newline at end of file + up the good fight From 18cf70c5e9a17d2b4f5e5e1365b2cabbe2a1fefc Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:09:47 -0600 Subject: [PATCH 08/44] Update Ps2GrouperUNChHill.adoc --- Ps2GrouperUNChHill.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ps2GrouperUNChHill.adoc b/Ps2GrouperUNChHill.adoc index 019059e..5a674d6 100644 --- a/Ps2GrouperUNChHill.adoc +++ b/Ps2GrouperUNChHill.adoc @@ -6,7 +6,7 @@ There's maybe a a story that I didn't include about how groper data gets indirec We've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. -image::"Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png"[three paths] +image::Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png[three paths] The The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. From 6c03b6120cfab97ee7e7d9dd78a8f796436593dc Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:10:32 -0600 Subject: [PATCH 09/44] Update Ps2GrouperUNChHill.adoc --- Ps2GrouperUNChHill.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ps2GrouperUNChHill.adoc b/Ps2GrouperUNChHill.adoc index 5a674d6..97c1b10 100644 --- a/Ps2GrouperUNChHill.adoc +++ b/Ps2GrouperUNChHill.adoc @@ -6,7 +6,7 @@ There's maybe a a story that I didn't include about how groper data gets indirec We've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. -image::Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png[three paths] +image::"images/Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png"[three paths] The The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. From 1ec1d8bc4a1736efb4bb2fe278ae41591af4eb89 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:13:18 -0600 Subject: [PATCH 10/44] Delete Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png --- ...ration with PeopleSoft @ UNC Chapel Hill.png | Bin 61680 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 images/Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png diff --git a/images/Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png b/images/Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png deleted file mode 100644 index faec55302d80f35c9c0ead0aa540d35d17159d1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61680 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 From 4253ea5ac2e0a099e8d85c93c4c1a70de3200147 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:14:06 -0600 Subject: [PATCH 11/44] Add files via upload --- images/GrouperPsIntegUNC.png | Bin 0 -> 61680 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/GrouperPsIntegUNC.png diff --git a/images/GrouperPsIntegUNC.png b/images/GrouperPsIntegUNC.png new file mode 100644 index 0000000000000000000000000000000000000000..faec55302d80f35c9c0ead0aa540d35d17159d1a GIT binary patch literal 61680 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 literal 0 HcmV?d00001 From fe6f60486e3576743c1522b1314186a81b2d9979 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:14:52 -0600 Subject: [PATCH 12/44] Update Ps2GrouperUNChHill.adoc --- Ps2GrouperUNChHill.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ps2GrouperUNChHill.adoc b/Ps2GrouperUNChHill.adoc index 97c1b10..85c83ad 100644 --- a/Ps2GrouperUNChHill.adoc +++ b/Ps2GrouperUNChHill.adoc @@ -6,7 +6,7 @@ There's maybe a a story that I didn't include about how groper data gets indirec We've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. -image::"images/Grouper Data Integration with PeopleSoft @ UNC Chapel Hill.png"[three paths] +image::images/GrouperPsIntegUNC.png[three paths] The The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. From b5266cb67cdee8d465081a4d5cf3b6b4c62f2141 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:17:44 -0600 Subject: [PATCH 13/44] Delete Ps2GrouperUNChHill.adoc --- Ps2GrouperUNChHill.adoc | 554 ---------------------------------------- 1 file changed, 554 deletions(-) delete mode 100644 Ps2GrouperUNChHill.adoc diff --git a/Ps2GrouperUNChHill.adoc b/Ps2GrouperUNChHill.adoc deleted file mode 100644 index 85c83ad..0000000 --- a/Ps2GrouperUNChHill.adoc +++ /dev/null @@ -1,554 +0,0 @@ - -Ethan: - -I wanted to talk about today is just basically how our data currently gets from eoplesoft to Grouper. -There's maybe a a story that I didn't include about how groper data gets indirectly to peoplesoft. But maybe I can comment about that at the end - -We've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. - -image::images/GrouperPsIntegUNC.png[three paths] - -The The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been -the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. - -So that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in 2009 well ahead of bringing up the HR And finance modules. The integrations are messaging and the reason for those two different transports are that the original campus solutions integration was all messaging. - -The original campus solutions integration was all messaging based. and then , we just found that later upholding strategy was perhaps, , at least as effective as the messaging we were doing. -And so when we did the integrations with HR And Finance , those were done as as so transport integrations and kind of either way it's It's pretty close to real time. So the the information that's pushed by messaging. And course that's when there is a ton of changes that kind of back things up are really into - -and then There are the ones that are polling or polling every five minutes. the data integration, but a second path that we use all conveyed via those messages, and then business logic to publish those into reasonable affiliations happens inside Directory Manager, -The Directory manager also does those so queries that I mentioned. So that's the direction we decided to go with -HRAnd in finance. So it connects to Hcm. and queries for jobs and associations and associations with the construct that we use here. , for the these sort of -poorly worded affiliate status which is basically your sponsored researchers -contractors anybody who you can't really say is an employee of the university, but still has quite a formal relationship with the University goes through this what we call our affiliate process, and that creates those associations. The Directory manager is is what they call every five minutes or So -for any new jobs and associations that are available. And then also, once a week, has a a a so pinpoint that a call and say, Okay, cycle through and give me everybody so that it can do a full synchronization. -And then there's just a very simple query over to Peoplesoft finance, really. Only thing that I am cares about from -our finance installation is what are the department names? So it gets nbers department nbers that are associated with jobs or associations or student status. -, but it it's nice to have a friendly name to associate with those department nbers, and so it retrieves those friendly names from our our finance install. -And then Directory manager is responsible for essentially has its own open ldap instance running kind of locally to that application, and then we use the built-in open all that sync where to? To? To to that out to our our large open -installation, and then finally, That's where Grouper can run. It's loader jobs and retrieve things from Ldap. So just like we run loader jobs for databases. We've got these that run directly against our open laptop installation, and that gives group or, - first of all, it's subject source, -but also affiliations with student type and departments all come through wearing that open all that instance. So this. These are fairly indirect, as obviously. But as I mentioned, they perform well that this works. -, it's just kind of -old and - very you and C specific -the The second flow that we have I mentioned informatica, -and it's doing sql queries into any of the big towers along with some other data sources. Honestly, it's just here we're We're concerned about Peoplesoft -and then informatica has the capability to -push those in the group or via the group or web services. So a lot of the roles that are people solve security folks create are useful in other applications besides just inside people's, so they they function. As for -proxies to other data that people might have access to because of the roles that they have. And and one of the Peoplesoft powers. So, for example, they can go to a data warehouse. - and instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried -to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? -! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom -and . So -all of those are published. A group or many of them are then published to that to be consed. But this gives group or some knowledge about internal - people, self-security information as well as those kind of edge case groups that we haven't come across a friendly, her way to to get replicated out for consption to be a group, -and I should have said this before. But but Please interrupt with questions as we go along, because I know these paths are are fairly divergent. So it's a really, really quick one about the diagram that you're showing that Are the arrows correct? Are you taking data from and from Fromatica and sending it to people talk? Or is it the other way? -I I I usually debated which way to point these arrows, but this is our sql query, so informatic that is, reaching out to the Peoplesoft hours, The Nsql query and pulling data back. I see. - -the third flow is just direct loader jobs that people saw from that group or a queries people. Software so probably the the courses and course roles are the - main use of these queries. -We we do publish all of our courses out to group, or you know, each semester, and then break out -the different roles inside the courses. So, student student, you know, faculty primary -teaching assistant. , all of those kinds of it's it's -that didn't get published out to. For example, - components that we have, -and those those really are the the three paths happy to go into more detail on any one of them, as people have questions. -, are there? So what are your Lms or any management systems, -mainly, or you have several, I guess. Yeah. Why, why would you have one? Right? So our our current Currently, the majority of our courses are in sakai - but we are trying to migrate to canvas. So we have something a little bit larger than pilot groups on campus at this point. - -- - - - - -00:58:02/01:00:44 -Audio Transcript - - - this is something - we need to figure out. We needed to figure it out for a while. ! I don't think we're quite there yet, but we have more pieces in place, and what that needful thing is is to make the kind of material that we've presented to each other and talk to each other about and drafted docents about make that more useful to the community. ! And help answer some of their nagging questions "Please provide guidance on this or I'm considering - this. And I notice that there's functionality from - these tap components more than one of them. And then there's also all this commercial stuff. - So the frame of mind i'd like to ask us to be in today is is basically - imagining what form of materials what presentation - would serve the needs of that. - - One major effort to go in this direction - was requested something on the order of a year ago from Cirrus identity to come up with the - example. I am architecture and some - classic use cases - that would move us in this direction. Get us with a sort of basic - foundation for being able to do this kind of compare and contrast thing, and and answer some of the questions from folks. , so that Lincoln one A will take you over to that, and I will go there - now, and B. C and d essentially highlight different parts of that, and I - we'll kind of step through those - over on that draft. So - IAM reference architecture. It's clearly everybody involved considers this a draft, - and this is one of the first extended groups to have a look at it. - ! And that's exciting in itself. ! So - I guess what I thought was a really well useful place to start with looking at the objectives, because these are, I think, things that we would agree are important objectives. So come up with this family of use. Cases uh - that are pretty common. , but kind of touch on different aspects of how I am supports the enterprise. - . And then to find baseline deployments. - primarily, if not exclusively, drawn from mashups of tap components. - And say, Okay? Well, if you've got used case one federated access here are the ways that the tap components can be wired together to solve that. - And then , - we don't want to stop there because - of nber three, which is that - we want to figure out a way so that organizations or other solution providers can - - defined alternative ways to essentially meet the same use cases, maybe, or meet one that's related, but not identical. And do these in a way that we might call overlays, meaning. The basic - framework is still there, but we're substituting other things for tap components or different tap components for other functions, and so forth. And then ! They set themselves the task of starting to suggest some alternative deployment overlays - and so that that's kind of where i'd like to us to go today when we get into - taking up one presentation, we've heard which is one from Ethan - about Peoplesoft group or integration - and kind of running through a very similar exercise to what we just outlined here. - ! The docent from serious goes through - some generic capabilities. And - at sort of basic treatment of the tap - architecture components. - And then we get into these five used cases and let's see. So used case one Federation enablement. I don't think there's a lot of mystery about what that is basically trying to reach across multiple organizations and - share access to external service providers, or share access from one institution to others, and things like that. ! Not too surprising, then, for each of these in this docent they provide examples - a little more specific right? And then they have - worked on identifying the audience that would care about this use case. - And then this is a relatively, - we haven't done a lot of this kind of thing ourselves, at least in this software integration group, - which which is to lay out a a user's story end user experience, step by step. ! That shows them accomplishing what they set out to accomplish. - And then finally, there's the tap baseline which components you might use for - to accomplish that, and how you wire them together. - The other four are a managing access, - I think, to most of us on the call, we can - pretty much brought what that is likely to be about scholarly collaboration - both within and beyond the boundaries of the institution, - and then guest systems and Guest is a very broad category. Here you can see from these bullets - that guest is a nice brella term, covering everything from job applicants - to alni donors and vendors, and so forth. ! - And they go through all that - and same pattern of subsections on each of those - and the tap, baseline and identity life cycle management - use case that they address. So I think you can see how those five pretty much - - cover in one way or another. Some of the major use cases in - in our space. - , - And I guess in this final section called suggested alternative implementations. - I wanted to highlight this sentence in red here. , that the whole point of this was to facilitate, follow on docentation - of alternative implementations or overlays - that incorporate under legacy systems and other non-tap components. So this is kind of like the opening gambit if you will but we know that to meet the needs of the broadest - range of campuses. We have to also cover situations that are likely to be hybrid or - mixes and matches of things mashups. - So - And I think maybe the intent here was to focus this all on those five - specific use cases. I think that might be. - Well, let's. We'll see how that bears out. I I suspect it. - We might come up with some interesting material on presentations that are quite - aligned with one of the five here, but I don't think that's as critical as the basic approach, and for these five we certainly do want to lay out - alternatives along the way. - : So basically , - the challenge to us. So one E: basically , we're being asked you, all and others will be asked to review this offer comments and suggestions and , and eventually then still start identifying next steps. - , One of the next steps kinds of things is this next bit Here - this came up this business of having people present on - Peoplesoft to Grouper integration. Stories came out of the people, soft integration working group, - and I see Tommy is here, so that ah! As the chair of that group and other members of that working group are here as well. - , - and we've gone through a a series of those four of those presentations from late smer until fairly recently. - and that a few of us, Tommy, and then from - Illinois State University. I'm glancing in here here in here today, - but anyway, and Ethan raised their hands when asked - if they would take part in reviewing this, and again trying to - extract the essence of it, and fit that into some kind of framework that we're talking about. That would be useful to the rest of the folks. So if people are game - for that, the next thing I would do is start the replay of about thirteen minutes of - Ethan's presentation from July the twenty nine, I think. - , But let me kind of pause there and catch my breath and - entertain any kind of questions or uh - concerns. Or maybe you've had some ideas already of things that would kind of address this business of how we help our peers, - - What I - I wanted to talk about today is is just basically how our data currently gets from Peoplesoft - to - . There's maybe a a story that I I didn't include about how group or data it gets indirectly to Peoplesoft. But maybe I can kind of comment - a comment about that at the end. - But we've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. the The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been - the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to particularly the Open LDAP Directory, but also Active Directory. - So the that that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in two thousand and nine well ahead of bringing up the HR And finance modules. - . The The integrations are messaging, and so and the reason for those two different transports are that the original campus solutions integration was all messaging. - I'm gonna jp in here to try to - reload this presentation and overcome the network here that just through a nice big X on things. So i'll try to pick up where we left off if I get this - and then the ones that are polling or polling every five minutes. So those are still, close enough to real time to for people to be unbothered by the by, the data integration. - A second path that we use is, we we want informatica, which is - an etl tool - , So the main thing that's that's used for is for developers uh - user avatar - Bill / Internet2 - 00:18:29 - you want to unmute Ethan? - user avatar - khazelton - Internet2 - 00:18:31 - he didn't do that. My flaky network did it so i'm gonna go inside closer to the router and - wireless, and we'll try again. Sorry about this folks. - That's the - first time I've had that kind of issues in a good long while. - user avatar - Ethan Kromhout - 00:18:51 - Yeah, although I I would naturally tend to mute me if I could. So - user avatar - khazelton - Internet2 - 00:19:03 - relocating. And then we'll pick it up again, - or maybe well, no, it's pretty much a couple of good. - Get somebody else to pull up, - hey? I got it. - Oh, yeah, that's a nice feature. - It does that it might - Firefox browser probably just need to shut things down and starting in. But I think I've got it - looking over here. Let's see. - Make bit today. - Yeah, I believe we're about or that the original campus solutions integration was all messaging based. and then we just found that later upholding strategy was perhaps, at least as effective as the messaging we were doing. - And so when we did the integrations with HR And Finance those were done as as so transport integrations - and kind of either way it's It's pretty close to real time. So the the information that's pushed by messaging. And course that's when there is a ton of changes that kind of back things up are really into - Yes, - and then the ones that are polling or polling every five minutes. So just to let you know we're not seeing the slides at this point i'm bothered by the by, the data integration, but a second path that we use - it, says i'm screen sharing. Now, is that true? - I'm seeing the It's the It's the multiple desktop conundr. - I know I know - user avatar - Unknown Speaker - 00:24:30 - gotta stop sharing this one - user avatar - Unknown Speaker - 00:24:34 - and then share this other one. - user avatar - khazelton - Internet2 - 00:24:44 - Perhaps now it is correct. - Is - we? We run in for America, which is a nhl tool. - . So the main thing that's that's used for is for developers kind of in the group that runs Peoplesoft to write queries, - and then either push those out the different locations, or create apis in informatica for people to retrieve data without having direct database access. - So the developers in relation to group or do a fair amount of querying of things in those databases, and then pushing information into Grouper for a couple of use cases i'll talk a little bit more about. - And then lastly, I I would, I should mention. Is it near real time for those other integrations. In the case of the informatic etls, it's really up to the developer. Most of those are things that run on kind of a daily cycle. But, the developer in informatic that has the uh - capability to schedule things as often as they want them to run. It really is up to them. - Excuse me, The The last way is for you a group of loader jobs we have many, many dozens of loader jobs running in Grouper but some of those do run directly against Peoplesoft databases - and those tend to run three or four times a day. So they're They're less real time than our directory manager. Application , but still have some kind of a a fixed schedule. That's up to the idm team that runs group or the to decide how often they run. - So this first little wanted to talk about is the one that goes via Directory manager. So this is our home home growing at - so kind of as I mentioned Peoplesoft campus solutions we've got triggers on a nber of the Bio demo tables inside campus solutions. , as well as some of the students. basic student information. - So whenever those bio demo tables show. Any kind of change or status change happens with the student. then a database trigger causes a message to go out to integration broker, - and then we have a configuration. Integration. Broker is so that it can speak Jms. to our Directory manager application. So that's That's the the first flow in the flow for the campus solutions - our information, the the student status as it flows to Directory manager is fairly specific. We get a a nice , - a array of information that that arrives at Directory manager, and if we're getting to get published out to build out - . So you know the students, Major. - miners what year they are what their status are. They prematriculated? Admitted. They are full on student. That kind of thing is all conveyed via those messages, and then business logic to publish those into reasonable affiliations happens inside Directory Manager, - a Directory manager also does those so queries that I mentioned. So that's the direction we decided to go with - HRAnd in finance. So it connects to Hcm. and queries for jobs and associations and associations with the construct that we use here. , for the these sort of - poorly worded affiliate status which is basically your sponsored researchers - contractors anybody who you can't really say is an employee of the university, but still has quite a formal relationship with the University goes through this what we call our affiliate process, and that creates those associations. The Directory manager is is what they call every five minutes or So - for any new jobs and associations that are available. And then also, once a week, has a a a so pinpoint that a call and say, Okay, cycle through and give me everybody so that it can do a full synchronization. - And then there's just a very simple query over to Peoplesoft finance, really. Only thing that I am cares about from - our finance installation is what are the department names? So it gets nbers department nbers that are associated with jobs or associations or student status. - , but it it's nice to have a friendly name to associate with those department nbers, and so it retrieves those friendly names from our our finance install. - And then Directory manager is responsible for essentially has its own open ldap instance running kind of locally to that application, and then we use the built-in open all that sync where to? To? To to that out to our our large open - installation, and then finally, That's where Grouper can run. It's loader jobs and retrieve things from Ldap. So just like we run loader jobs for databases. We've got these that run directly against our open laptop installation, and that gives group or, - first of all, it's subject source, - but also affiliations with student type and departments all come through wearing that open all that instance. So this. These are fairly indirect, as obviously. But as I mentioned, they perform well that this works. - , it's just kind of - old and - very you and C specific - the The second flow that we have I mentioned informatica, - and it's doing sql queries into any of the big towers along with some other data sources. Honestly, it's just here we're We're concerned about Peoplesoft - and then informatica has the capability to - push those in the group or via the group or web services. So a lot of the roles that are people solve security folks create are useful in other applications besides just inside people's, so they they function. As for - proxies to other data that people might have access to because of the roles that they have. And and one of the Peoplesoft powers. So, for example, they can go to a data warehouse. - and instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried - to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? - ! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom - and . So - all of those are published. A group or many of them are then published to that to be consed. But this gives group or some knowledge about internal - people, self-security information as well as those kind of edge case groups that we haven't come across a friendly, her way to to get replicated out for consption to be a group, - and I should have said this before. But but Please interrupt with questions as we go along, because I know these paths are are fairly divergent. So it's a really, really quick one about the diagram that you're showing that Are the arrows correct? Are you taking data from and from Fromatica and sending it to people talk? Or is it the other way? - I I I usually debated which way to point these arrows, but this is our sql query, so informatic that is, reaching out to the Peoplesoft hours, The Nsql query and pulling data back. I see. - I honestly don't know what right way to the face that are up. - Uh. So I did. I hear you use the term people's off towers. Or did I, Mis? Hear that or that? I probably said that yeah, it just took me to separate out the - kind of the big three, and I I actually she. Which reminds me, there's another gap in this diagram, which is, we do also run - it easily. The The Peoplesoft portal, - and some of those security related - roles, and what not come from that portal. So I should have also had our fourth tower, which is the Peoplesoftware - user avatar - Unknown Speaker - 00:33:57 - on this diagram. - user avatar - khazelton - Internet2 - 00:34:02 - And then the the third - , - third flow. And and apparently I need to go back and remember how to spell membership. But the third flow is just direct loader jobs that people saw from that group or a queries people. Software so probably the the courses and course roles are the - main use of these queries. - We we do publish all of our courses out to group, or you know, each semester, and then break out - the different roles inside the courses. So, student student, you know, faculty primary - teaching assistant. , all of those kinds of it's it's - that didn't get published out to. For example, - components that we have, - and those those really are the the three paths happy to go into more detail on any one of them, as people have questions. - , are there? So what are your Lms or any management systems, - mainly, or you have several, I guess. Yeah. Why, why would you have one? Right? So our our current Currently, the majority of our courses are in sakai - but we are trying to migrate to canvas. So we have something a little bit larger than pilot groups on campus at this point. - user avatar - Unknown Speaker - 00:36:06 - All right, - user avatar - Unknown Speaker - 00:36:07 - I believe we're back. - user avatar - khazelton - Internet2 - 00:36:09 - . - So yeah, hopefully. , in spite of the interruptions and things, people had their ears on for that. . - So we're now up to to see here. - - what I pulled out of this when I listen to it, - is that the uh - functionalities. - from I am that are getting addressed in this particular instance are the C one through four, - and those are essentially drawn from - this. I am functions list, which - we've had around for quite a long time, but we haven't made much use of - , but I thought it might be one interesting way to - I don't know, indicate what functionality is coming up in, in what different kinds of presentations are used cases. . So this was an attempt without a lot of editing, since to capture - the various capabilities - our functionalities of I am in in operation goes through a few different categories of things. - , and what - what I got on him - the presentation for me It was it - We're looking at - these - thanks Here We didn't there wasn't much talk about auditing, logging, reporting, but i'm assing that that is also part of this these these processes, so - as I say, that from that long list of all the quote unquote all the functions - these are the ones that, I believe, are addressed there, and I try to indicate a little bit of how they're related. So - provisioning and deprovisioning are supported by the functionality that that he's talking about - messaging, and the Api's and message and integration and data floats. All that stuff is core functionality, of of course. - - batch reconciliation and new real-time sync didn't talk a lot about that a little bit, - and so you could consider that, I believe, as supporting functionality or the core functions that are going on in this group or two. - user avatar - Unknown Speaker - 00:38:40 - - user avatar - khazelton - Internet2 - 00:38:41 - I'm: Sorry. Yeah. People's off to go for integration. - And then finally, again auditing, logging are supporting functionalities. - . So that was kind of my dry run through of what you might - try to do to to pull out - sort of key terms or something to organize the material when you're trying to figure out which bits people might care about. - So d is essentially - my thought, and I think, I've got the three dots under d four, meaning. I'm interested in hearing. If there are people other ways that people think - , we can make use of this information rather than just, - you know, playing the whole thing. But again, always putting first in our minds. - ! - What are the kinds of situations that community community members will come to us? - They found themselves in Situation X. And they would like some guidance or help about, how they how they deal with that. - And , - this is basically a few ideas I had for it. So let's say we've assembled - any nber of these presentations or excerpts of - of presentations from Csp from software integration working presentations all over basically . And one way would be to say, Okay, this community user comes in - and , they have come in with a list of gaps that they're trying to address here, and what they do is uh - match that list of gaps against the functionality tally, if you will, and say, Okay, these are the functions that I'm: I need. I don't have, or I want to replace the current way. I'm addressing those - . And then the point is, if once they do that selection from the list of functions, - there'll be a response that brings back links - to use the stories that address that bit of functionality, and by doing that address, the Gap. So - you know there's there's a notion of information. What we're trying to do is give people a way to bring their question - to some intermediate point, and - have some magic done so that they see the parts of that ocean that are of greatest relevance to themselves. So that's one way. Here are your gaps here the functions let's see who is address, which function, how and then sort of a flip version of that is, - maybe they've decided that they're definitely using Grouper and shib, and that that's - really what what they know today. They probably always got some legacy stuff, But let's say they focus on group and shib, and they want to see which functions are covered by those tap components, and which ones are are not adjust, and therefore either need to be - picked up by another cap, tap, component, or some commercial thing, or maybe like, continue their legacy - way of providing that functionality. , then the the other little wrinkle is some of the functionalities - might be provided by more than one component . We all we all know the you know Co. Manage midpoint group or triangle, or there's a lot lot of functional overlap if you look so anyway. , they pick the components, and they get a list of the functions that are not met, - and - present the user with links to stories - that involve those components. So again, ! They gave us the components. We say, here are various bits of information we have about how those are being used. - ! - And that's really where I - run out of material - generated by my own reflections on this. And so i'd really like to take the question first back up to that higher level did. How do people think about, - uh - how people are likely to - show up at our door, if and present - their issues of their questions. ! And if you suggest one way they might do that, then the thing to go on to do would be to say - of all this rich ocean of material, How do we? How do we get them to the right bits? I mean conversations with them is a is a good way, of course, or work with unicorn or provisioning. I am, for an analysis of things. But - ! Are there ways to make the material we have, and we'll continue to produce. Make it more, Make it easier for them to figure out which bits they might want to focus in on. - So i'd be very happy to hear ideas people might have about that - one way might just be to use yourself as a guinea pig and say, - , - what is it that you're - hoping to get or about to try? And do you have all these things sorted about, - which it's a functionality are going to be provided by What are there questions there? - user avatar - Steve Zoppi/Internet2 - 00:44:31 - Yeah. And in fact, Keith, I was gonna suggest that people speak from personal experience first, if they can, and if they are uncomfortable doing that , we can turn off the recording . But I think the more personal stories that we have in this easier it's going to be for us to decompose - user avatar - khazelton - Internet2 - 00:44:47 - and relate to others, possibly on it. But that's my two cents, for that's kind of where I worked myself around. So I like the idea. So yeah, , if you can relate, find yourself in something like this kind of story. , we'd love to hear it. , and maybe we can. - You get some things out from the sharing? - user avatar - Ethan Kromhout - 00:45:40 - And, Keith, I was just trying to think one interesting kind of variation on that might be the different architectures that - universities have come up with - for how they lay out the the tap components - and make decisions about the overlapping capabilities. - And then, sort of talk about the the differences between those, you know. Why is it that? - I tend to think of - midpoint as my my person registry, and and Tommy is gonna think of Co. Manages his. You know some of those kinds of , almost - diagnosis of the differences. Kind of thing. - user avatar - khazelton - Internet2 - 00:46:33 - Yeah. And some of that, you know, is - kind of expanding people's horizons about what different ways, you can, - you know, mix and match to solve certain problems. But - - well, Tommy, I mean you've been going through the thick of this process of trying to, uh - to find a new architecture and figure out which pieces are there. It's an ongoing process, I know. But - ! - Are there? Can you figure out - things that might have helped earlier along the way. Or is it just a - you know, every day by day struggles to figure out the bits and pieces. But is there something that we've made it easier for you to get navigate all this? - user avatar - Bill / Internet2 - 00:47:23 - I think Tommy dropped off. Okay, Well, - user avatar - khazelton - Internet2 - 00:47:28 - and - i'll ask him later. - I - you going into this. This is a hard thing to get - solutions for. - So i'm not too surprised that we're not. You know people aren't crowding the mic. But, on the other hand, - , - I guess I I keep thinking - we've got a we've got to try to help people that are coming new to this stuff, and - you know, - is there? I guess the question is, is there value in the material that we're producing out of all the different working groups we have. . This certainly goes back to the Peoplesoft integration working group, because I think we - struggle there to think about what - what kinds of outputs we can provide. And I think in the last - time or two we've talked about that we've come up with some - good ideas. But ! - I was - still hoping to hear - a bit more reflection on on that. - How we help, you know. Marry the user, the peer member and the material. We have. - Help them get through the - decision process, - user avatar - Ethan Kromhout - 00:49:19 - as you sort of glancing down our participant list for today. , and we're just seems to be, you know one of those weeks where we've ended up sort of - Internet to, and catalysts partner heavy - relative to universities. , But i'm, i'm wondering if this might be a - a good question at A, at a Csp group meeting as well. - user avatar - khazelton - Internet2 - 00:49:43 - Yeah, I think so. . Just because they're kind of in the thick of it at that point. Yeah, they self selected for wanting to get solutions for things. Yeah, I think that's right. - I guess. , - if we stick with the personal story angle. It would be interesting to - here from the catalyst folks. ! - How the how they typically run into people, and how the people present their problems. And - again, probably with with those catalysts partners. It's - a conversation that starts with those needs. But - , - maybe if some of those initial conversations are in encounters or - queries. If you could just say a little bit about - is is there a typical one, or there's I mean, I'm sure there's a great variety the ways that people turn to you. But i'd i'd love to hear a a couple of those and see if it - sparks, and he - recognition on our side. - user avatar - Jim Lookabaugh - 00:50:46 - Yeah, Keith, this is Jim. . - I. For some reason I keep - circling around one concept in my head that isn't going to be very helpful for your specific question about. You know the sort of personal stories from - give an institution's perspective, but I still think it it might - help - gather stories based on the two different ways in which I think people might approach it. One would be the the component or the piece of tooling that any of our collaborators here in these working groups are - right. Maybe some of the institutions in the collaboration success program - some of them are going to come from, - and this reflects the kind of engagements that we have. Provision I am have comes from someone who already has a a a decent amount of infrastructure in place. may even be an expert on one or more of the pieces of tooling, - and has a pretty poignant specific question of how to make best use of the tool that's already in house, - and that's a good proportion of our clients. They'll come to us with something very specific. So in in creating, maybe some guidelines or - flow charts or docentation, or or something a decision chart to help. Maybe some more novice. Folks - come to some comfort level about what tooling might work best for them at their institution. That's one. Approach one end of the picture that we could probably come from. - which is a a tool specific picture of what? Exactly. For example, let's just take midpoint. - , what kind of for Campus X. - What kind of a cool or interesting problem did you solve? Whether that was with help from you know, - industry, partners, or not, - and elicit a a a collection of those kinds of stories from that perspective, that end of the spectr, the tools, perspective down and dirty in the guts which will appeal to you know, very tech - oriented to people like myself. - Then the opposite end. This is what's been going on in my mind in my mind for the last fifteen minutes or so the other end. Would it essentially be the the user story, the use case, perspective, independent of the tool set that you've chosen for your institution, or even if you don't have a solution yet, and - you're just getting by with maybe manual intervention, or putting up with some expensive or painful process, or whatever whatever is in place. Now you're looking - almost desperately for a solution. So you're starting from more of a a tool into a technology independent use case, - gather those you listen to collection of those from people who are more apt to think that way - and see where that takes them. Okay, How have you envisioned solving it? How do you solve it now? . Sort of drill down into, maybe an abstract data flow and help Mary - those kinds of descriptions of used cases and stories to the tools that we're familiar with, and in the trusted access platform, or maybe even alternatives, like, I think, in the agenda, maybe a little further down. I was reading ahead. - We've got like three institutions who might be prepared to share stories of alternatives and help marry it that way. So it's. That's what I've been thinking. I'm sorry it doesn't really answer your question but I it might be a way to help bring some stories into a collection that we can help organize. - user avatar - khazelton - Internet2 - 00:54:39 - No, I think so, and it's certainly in the space it may not be, you know precisely down in the middle of the road, of the things I talked about. But it's it's certainly in the space. And ! I think that's an interesting way to look at it. This one, I suppose, was closer. The The Ethan presentation was - culture to that. Looking from a component and seeing you know how they how they meet that how they use it. in this case it was, you know, primarily around the integration of two components. - , you know Peoplesoft stuff, and - and our tap component group. So - user avatar - Jim Lookabaugh - - but that in the same general space, I think as what you're right. Yeah, I I agree, and I what I didn't say was, we have our balance of clients in that other perspective. They're probably starting new. They don't have midpoint in house. Yet. - They've done enough research, or have gathered enough recommendations from either Internet to an in common or peer institutions, or what have you? But they've gravitated towards midpoint, and they're intrigued enough - to want to give it a try. And so the balance of our clientele asked us to help them with proof of concept in making best use of midpoint in particular. because that's the tap component that you know is in our wheelhouse. So - that's that is kind of one of the reasons why I also visited that other end of the spectr is because our clientele kind of break up into those two broad groups, anyway. - - khazelton - Internet2 - 00:56:15 - Okay? . So You' So that certainly falls into the . The first use case I would imagine right It's I've got. I i'm interested in midpoint, because I have, you know I read some things about it that think make me think it might work for us. - Could you show us? You know how you would approach solving, you know, - this Lms provisioned with the help of midpoint. Right? Exactly something that i'd like you to consider, Jim, as you're thinking through this, though, is that's that's great for it. Hey? - a use case where somebody is trying to select a tool and what we've been getting pretty consistent feedback on is - they don't even know whether or not their use Case can be satisfied by a tool, a collection of tools or no tools. - And so there are some - So the approach that we've been considering in how we smarize these things - from the user story perspective, and then drill that filling down into what the solution is. - - Your - suggestion about having a triage map makes really good sense, and it's come up multiple times over the last few years. - , so we do have to do that as well. I'm not saying that that that approach doesn't make sense. It makes great sense. - It's just that. , There's sort of the the question of how we illustrate how you get to that decision based on the solution or the endgame being sought, and that by itself is a roadmapy problem that we're trying to work through. So any you might have there would be useful. - - Jim Lookabaugh - Yeah, I I agree, Steve, and I. I think I had that in my mind, too, and I was. I intentionally was blurring that line because of this, that although we are engaged by some clients to help them with the proof of concept on midpoint, I mean, there's no guarantee that they'll be happy with it right? So they have certain business needs. They need solved, - and they might not even be very confident. At midpoint - It is an appropriate solution for them, and the poc could, you know, for lack of a better word fail, I mean. Still, it's successful if you can prove that it's not a good suit. Good for you. Right? Yeah, the negative assertion is also is also a positive outcome. But yeah, - user avatar - khazelton - Internet2 - 00:58:47 - well, obviously, we haven't solved this thing in one meeting, and I didn't really expect to. But , I think. there's good ideas in this last few minutes that we can try to follow up on. - - well, we've convinced ourselves. I don't know if this is true or not. We've convinced ourselves that it's the people who - I really don't have the solutions figured out, and maybe our - coming with a pretty fuzzy picture of all this. ! If there is such an audience, then then we have to figure out. I think we haven't. - Have we done a great job for people like that? , I suppose they show up at Base Camp right? And that's their introduction to all this? - - To my mind it's a gap in our - capabilities on the trust and identity side is - meeting - going to where those people are are, and show up there, and figure out what kind of conversation have, and what kind of goodies to share. So - ! We'll keep - up the good fight From 07cc4827d2dd43f8892f93233dfbcdad150d24a6 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:25:55 -0600 Subject: [PATCH 14/44] Add files via upload --- ps2grouper.adoc | 559 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 559 insertions(+) create mode 100644 ps2grouper.adoc diff --git a/ps2grouper.adoc b/ps2grouper.adoc new file mode 100644 index 0000000..1592916 --- /dev/null +++ b/ps2grouper.adoc @@ -0,0 +1,559 @@ + +==== Grouper Data Integration with PeopleSoft @ UNC Chapel Hill +Ethan Kromhout, 2 Nov 2022 + +I wanted to talk about how our data currently gets from eoplesoft to Grouper. +There's maybe a a story that I didn't include about how grouper data gets indirectly to peoplesoft. But maybe I can comment about that at the end + +We've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. + +image::images/GrouperPsIntegUNC.png[three paths] + +The The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been +the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. + +So that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in 2009 well ahead of bringing up the HR And finance modules. The integrations are messaging and the reason for those two different transports are that the original campus solutions integration was all messaging. + +The original campus solutions integration was all messaging based, and then we just found that later a polling strategy was perhaps at least as effective as the messaging we were doing. +So when we did the integrations with HR And Finance, those were done as as SOAP transport integrations and either way it's It's pretty close to real time. So the the information that's pushed by messaging. And unless there is a ton of changes that back things the updates are near real-time. + +Those that are polling or polling every five minutes are an acceptable form of data integration. But a second path that we use is Informatica, an ETL tool. So the main thing that's that's used for is for developers in the group that runs people soft to write queries, +and then either push those out the different locations, or create apis in informatica for people to retrieve data without having direct database access. +So the developers in relation to group or do a fair amount of querying of things in those databases, and then pushing information into grouper for a couple of use cases i'll talk a little bit more about. +And then lastly, I I would, I should mention. Is it near real time for those other integrations. In the case of the informatic etls, it's really up to the developer. Most of those are things that run on kind of a daily cycle. But,,, the developer in informatic that has the capability to schedule things as often as they want them to run. It really is up to them. + +The business logic to publish those into reasonable affiliations happens inside Directory Manager. The Directory manager also does those SOAP queries that I mentioned. So that's the direction we decided to go with for +HR and finance. So it connects to HCM and queries for jobs and associations with the construct that we described here. For the +poorly worded affiliate status which is basically your sponsored researchers +contractors anybody who you can't really say is an employee of the university, but still has quite a formal relationship with the University goes through what we call our affiliate process, and that creates those associations. The Directory manager is is what they call every five minutes or So +for any new jobs and associations that are available. And then also, once a week, has so pinpoint that a call and say, Okay, cycle through and give me everybody so that it can do a full synchronization. +And then there's just a very simple query over to Peoplesoft finance, really. Only thing that I am cares about from +our finance installation is what are the department names? So it gets nbers department nbers that are associated with jobs or associations or student status. +, but it it's nice to have a friendly name to associate with those department nbers, and so it retrieves those friendly names from our our finance install. +And then Directory manager is responsible for essentially has its own open ldap instance running kind of locally to that application, and then we use the built-in open all that sync where to? To? To to that out to our our large open +installation, and then finally, That's where Grouper can run. It's loader jobs and retrieve things from Ldap. So just like we run loader jobs for databases. We've got these that run directly against our open laptop installation, and that gives group or, + first of all, it's subject source, +but also affiliations with student type and departments all come through wearing that open all that instance. So this. These are fairly indirect, as obviously. But as I mentioned, they perform well that this works. +, it's just kind of +old and + very you and C specific +the The second flow that we have I mentioned informatica, +and it's doing sql queries into any of the big towers along with some other data sources. Honestly, it's just here we're We're concerned about Peoplesoft +and then informatica has the capability to +push those in the group or via the group or web services. So a lot of the roles that are people solve security folks create are useful in other applications besides just inside people's, so they they function. As for +proxies to other data that people might have access to because of the roles that they have. And and one of the Peoplesoft powers. So, for example, they can go to a data warehouse. + and instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried +to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? +! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom +and . So +all of those are published. A group or many of them are then published to that to be consed. But this gives group or some knowledge about internal + people, self-security information as well as those kind of edge case groups that we haven't come across a friendly, her way to to get replicated out for consption to be a group, +and I should have said this before. But but Please interrupt with questions as we go along, because I know these paths are are fairly divergent. So it's a really, really quick one about the diagram that you're showing that Are the arrows correct? Are you taking data from and from Fromatica and sending it to people talk? Or is it the other way? +I I I usually debated which way to point these arrows, but this is our sql query, so informatic that is, reaching out to the Peoplesoft hours, The Nsql query and pulling data back. I see. + +the third flow is just direct loader jobs that people saw from that group or a queries people. Software so probably the the courses and course roles are the + main use of these queries. +We we do publish all of our courses out to group, or you know, each semester, and then break out +the different roles inside the courses. So, student student, you know, faculty primary +teaching assistant., all of those kinds of it's it's +that didn't get published out to. For example, + components that we have, +and those those really are the the three paths happy to go into more detail on any one of them, as people have questions. +, are there? So what are your Lms or any management systems, +mainly, or you have several, I guess. Yeah. Why, why would you have one? Right? So our our current Currently, the majority of our courses are in sakai + but we are trying to migrate to canvas. So we have something a little bit larger than pilot groups on campus at this point. + +- - - + + +00:58:02/01:00:44 +Audio Transcript + + + this is something + we need to figure out. We needed to figure it out for a while. ! I don't think we're quite there yet, but we have more pieces in place, and what that needful thing is is to make the kind of material that we've presented to each other and talk to each other about and drafted docents about make that more useful to the community. ! And help answer some of their nagging questions "Please provide guidance on this or I'm considering + this. And I notice that there's functionality from + these tap components more than one of them. And then there's also all this commercial stuff. + So the frame of mind i'd like to ask us to be in today is is basically + imagining what form of materials what presentation + would serve the needs of that. + + One major effort to go in this direction + was requested something on the order of a year ago from Cirrus identity to come up with the + example. I am architecture and some + classic use cases + that would move us in this direction. Get us with a sort of basic + foundation for being able to do this kind of compare and contrast thing, and and answer some of the questions from folks., so that Lincoln one A will take you over to that, and I will go there + now, and B. C and d essentially highlight different parts of that, and I + we'll kind of step through those + over on that draft. So + IAM reference architecture. It's clearly everybody involved considers this a draft, + and this is one of the first extended groups to have a look at it. + ! And that's exciting in itself. ! So + I guess what I thought was a really well useful place to start with looking at the objectives, because these are, I think, things that we would agree are important objectives. So come up with this family of use. Cases + that are pretty common., but kind of touch on different aspects of how I am supports the enterprise. + . And then to find baseline deployments. + primarily, if not exclusively, drawn from mashups of tap components. + And say, Okay? Well, if you've got used case one federated access here are the ways that the tap components can be wired together to solve that. + And then, + we don't want to stop there because + of nber three, which is that + we want to figure out a way so that organizations or other solution providers can + + defined alternative ways to essentially meet the same use cases, maybe, or meet one that's related, but not identical. And do these in a way that we might call overlays, meaning. The basic + framework is still there, but we're substituting other things for tap components or different tap components for other functions, and so forth. And then ! They set themselves the task of starting to suggest some alternative deployment overlays + and so that that's kind of where i'd like to us to go today when we get into + taking up one presentation, we've heard which is one from Ethan + about Peoplesoft group or integration + and kind of running through a very similar exercise to what we just outlined here. + ! The docent from serious goes through + some generic capabilities. And + at sort of basic treatment of the tap + architecture components. + And then we get into these five used cases and let's see. So used case one Federation enablement. I don't think there's a lot of mystery about what that is basically trying to reach across multiple organizations and + share access to external service providers, or share access from one institution to others, and things like that. ! Not too surprising, then, for each of these in this docent they provide examples + a little more specific right? And then they have + worked on identifying the audience that would care about this use case. + And then this is a relatively, + we haven't done a lot of this kind of thing ourselves, at least in this software integration group, + which which is to lay out a a user's story end user experience, step by step. ! That shows them accomplishing what they set out to accomplish. + And then finally, there's the tap baseline which components you might use for + to accomplish that, and how you wire them together. + The other four are a managing access, + I think, to most of us on the call, we can + pretty much brought what that is likely to be about scholarly collaboration + both within and beyond the boundaries of the institution, + and then guest systems and Guest is a very broad category. Here you can see from these bullets + that guest is a nice brella term, covering everything from job applicants + to alni donors and vendors, and so forth. ! + And they go through all that + and same pattern of subsections on each of those + and the tap, baseline and identity life cycle management + use case that they address. So I think you can see how those five pretty much + + cover in one way or another. Some of the major use cases in + in our space. + , + And I guess in this final section called suggested alternative implementations. + I wanted to highlight this sentence in red here., that the whole point of this was to facilitate, follow on docentation + of alternative implementations or overlays + that incorporate under legacy systems and other non-tap components. So this is kind of like the opening gambit if you will but we know that to meet the needs of the broadest + range of campuses. We have to also cover situations that are likely to be hybrid or + mixes and matches of things mashups. + So + And I think maybe the intent here was to focus this all on those five + specific use cases. I think that might be. + Well, let's. We'll see how that bears out. I I suspect it. + We might come up with some interesting material on presentations that are quite + aligned with one of the five here, but I don't think that's as critical as the basic approach, and for these five we certainly do want to lay out + alternatives along the way. + : So basically, + the challenge to us. So one E: basically, we're being asked you, all and others will be asked to review this offer comments and suggestions and, and eventually then still start identifying next steps. + , One of the next steps kinds of things is this next bit Here + this came up this business of having people present on + Peoplesoft to Grouper integration. Stories came out of the people, soft integration working group, + and I see Tommy is here, so that ah! As the chair of that group and other members of that working group are here as well. + , + and we've gone through a a series of those four of those presentations from late smer until fairly recently. + and that a few of us, Tommy, and then from + Illinois State University. I'm glancing in here here in here today, + but anyway, and Ethan raised their hands when asked + if they would take part in reviewing this, and again trying to + extract the essence of it, and fit that into some kind of framework that we're talking about. That would be useful to the rest of the folks. So if people are game + for that, the next thing I would do is start the replay of about thirteen minutes of + Ethan's presentation from July the twenty nine, I think. + , But let me kind of pause there and catch my breath and + entertain any kind of questions or + concerns. Or maybe you've had some ideas already of things that would kind of address this business of how we help our peers, + + What I + I wanted to talk about today is is just basically how our data currently gets from Peoplesoft + to + . There's maybe a a story that I I didn't include about how group or data it gets indirectly to Peoplesoft. But maybe I can kind of comment + a comment about that at the end. + But we've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. the The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been + the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to particularly the Open LDAP Directory, but also Active Directory. + So the that that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in two thousand and nine well ahead of bringing up the HR And finance modules. + . The The integrations are messaging, and so and the reason for those two different transports are that the original campus solutions integration was all messaging. + I'm gonna jp in here to try to + reload this presentation and overcome the network here that just through a nice big X on things. So i'll try to pick up where we left off if I get this + and then the ones that are polling or polling every five minutes. So those are still, close enough to real time to for people to be unbothered by the by, the data integration. + A second path that we use is, we we want informatica, which is + an etl tool + , So the main thing that's that's used for is for developers + user avatar + Bill / Internet2 + 00:18:29 + you want to unmute Ethan? + user avatar + khazelton - Internet2 + 00:18:31 + he didn't do that. My flaky network did it so i'm gonna go inside closer to the router and + wireless, and we'll try again. Sorry about this folks. + That's the + first time I've had that kind of issues in a good long while. + user avatar + Ethan Kromhout + 00:18:51 + Yeah, although I I would naturally tend to mute me if I could. So + user avatar + khazelton - Internet2 + 00:19:03 + relocating. And then we'll pick it up again, + or maybe well, no, it's pretty much a couple of good. + Get somebody else to pull up, + hey? I got it. + Oh, yeah, that's a nice feature. + It does that it might + Firefox browser probably just need to shut things down and starting in. But I think I've got it + looking over here. Let's see. + Make bit today. + Yeah, I believe we're about or that the original campus solutions integration was all messaging based. and then we just found that later upholding strategy was perhaps, at least as effective as the messaging we were doing. + And so when we did the integrations with HR And Finance those were done as as so transport integrations + and kind of either way it's It's pretty close to real time. So the the information that's pushed by messaging. And course that's when there is a ton of changes that kind of back things up are really into + Yes, + and then the ones that are polling or polling every five minutes. So just to let you know we're not seeing the slides at this point i'm bothered by the by, the data integration, but a second path that we use + it, says i'm screen sharing. Now, is that true? + I'm seeing the It's the It's the multiple desktop conundr. + I know I know + user avatar + Unknown Speaker + 00:24:30 + gotta stop sharing this one + user avatar + Unknown Speaker + 00:24:34 + and then share this other one. + user avatar + khazelton - Internet2 + 00:24:44 + Perhaps now it is correct. + Is + we? We run in for America, which is a nhl tool. + . So the main thing that's that's used for is for developers kind of in the group that runs Peoplesoft to write queries, + and then either push those out the different locations, or create apis in informatica for people to retrieve data without having direct database access. + So the developers in relation to group or do a fair amount of querying of things in those databases, and then pushing information into Grouper for a couple of use cases i'll talk a little bit more about. + And then lastly, I I would, I should mention. Is it near real time for those other integrations. In the case of the informatic etls, it's really up to the developer. Most of those are things that run on kind of a daily cycle. But, the developer in informatic that has the + capability to schedule things as often as they want them to run. It really is up to them. + Excuse me, The The last way is for you a group of loader jobs we have many, many dozens of loader jobs running in Grouper but some of those do run directly against Peoplesoft databases + and those tend to run three or four times a day. So they're They're less real time than our directory manager. Application, but still have some kind of a a fixed schedule. That's up to the idm team that runs group or the to decide how often they run. + So this first little wanted to talk about is the one that goes via Directory manager. So this is our home home growing at + so kind of as I mentioned Peoplesoft campus solutions we've got triggers on a nber of the Bio demo tables inside campus solutions., as well as some of the students. basic student information. + So whenever those bio demo tables show. Any kind of change or status change happens with the student. then a database trigger causes a message to go out to integration broker, + and then we have a configuration. Integration. Broker is so that it can speak Jms. to our Directory manager application. So that's That's the the first flow in the flow for the campus solutions + our information, the the student status as it flows to Directory manager is fairly specific. We get a a nice, + a array of information that that arrives at Directory manager, and if we're getting to get published out to build out + . So you know the students, Major. + miners what year they are what their status are. They prematriculated? Admitted. They are full on student. That kind of thing is all conveyed via those messages, and then business logic to publish those into reasonable affiliations happens inside Directory Manager, + a Directory manager also does those so queries that I mentioned. So that's the direction we decided to go with + HRAnd in finance. So it connects to Hcm. and queries for jobs and associations and associations with the construct that we use here., for the these sort of + poorly worded affiliate status which is basically your sponsored researchers + contractors anybody who you can't really say is an employee of the university, but still has quite a formal relationship with the University goes through this what we call our affiliate process, and that creates those associations. The Directory manager is is what they call every five minutes or So + for any new jobs and associations that are available. And then also, once a week, has a a a so pinpoint that a call and say, Okay, cycle through and give me everybody so that it can do a full synchronization. + And then there's just a very simple query over to Peoplesoft finance, really. Only thing that I am cares about from + our finance installation is what are the department names? So it gets nbers department nbers that are associated with jobs or associations or student status. + , but it it's nice to have a friendly name to associate with those department nbers, and so it retrieves those friendly names from our our finance install. + And then Directory manager is responsible for essentially has its own open ldap instance running kind of locally to that application, and then we use the built-in open all that sync where to? To? To to that out to our our large open + installation, and then finally, That's where Grouper can run. It's loader jobs and retrieve things from Ldap. So just like we run loader jobs for databases. We've got these that run directly against our open laptop installation, and that gives group or, + first of all, it's subject source, + but also affiliations with student type and departments all come through wearing that open all that instance. So this. These are fairly indirect, as obviously. But as I mentioned, they perform well that this works. + , it's just kind of + old and + very you and C specific + the The second flow that we have I mentioned informatica, + and it's doing sql queries into any of the big towers along with some other data sources. Honestly, it's just here we're We're concerned about Peoplesoft + and then informatica has the capability to + push those in the group or via the group or web services. So a lot of the roles that are people solve security folks create are useful in other applications besides just inside people's, so they they function. As for + proxies to other data that people might have access to because of the roles that they have. And and one of the Peoplesoft powers. So, for example, they can go to a data warehouse. + and instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried + to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? + ! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom + and . So + all of those are published. A group or many of them are then published to that to be consed. But this gives group or some knowledge about internal + people, self-security information as well as those kind of edge case groups that we haven't come across a friendly, her way to to get replicated out for consption to be a group, + and I should have said this before. But but Please interrupt with questions as we go along, because I know these paths are are fairly divergent. So it's a really, really quick one about the diagram that you're showing that Are the arrows correct? Are you taking data from and from Fromatica and sending it to people talk? Or is it the other way? + I I I usually debated which way to point these arrows, but this is our sql query, so informatic that is, reaching out to the Peoplesoft hours, The Nsql query and pulling data back. I see. + I honestly don't know what right way to the face that are up. + . So I did. I hear you use the term people's off towers. Or did I, Mis? Hear that or that? I probably said that yeah, it just took me to separate out the + kind of the big three, and I I actually she. Which reminds me, there's another gap in this diagram, which is, we do also run + it easily. The The Peoplesoft portal, + and some of those security related + roles, and what not come from that portal. So I should have also had our fourth tower, which is the Peoplesoftware + user avatar + Unknown Speaker + 00:33:57 + on this diagram. + user avatar + khazelton - Internet2 + 00:34:02 + And then the the third + , + third flow. And and apparently I need to go back and remember how to spell membership. But the third flow is just direct loader jobs that people saw from that group or a queries people. Software so probably the the courses and course roles are the + main use of these queries. + We we do publish all of our courses out to group, or you know, each semester, and then break out + the different roles inside the courses. So, student student, you know, faculty primary + teaching assistant., all of those kinds of it's it's + that didn't get published out to. For example, + components that we have, + and those those really are the the three paths happy to go into more detail on any one of them, as people have questions. + , are there? So what are your Lms or any management systems, + mainly, or you have several, I guess. Yeah. Why, why would you have one? Right? So our our current Currently, the majority of our courses are in sakai + but we are trying to migrate to canvas. So we have something a little bit larger than pilot groups on campus at this point. + user avatar + Unknown Speaker + 00:36:06 + All right, + user avatar + Unknown Speaker + 00:36:07 + I believe we're back. + user avatar + khazelton - Internet2 + 00:36:09 + . + So yeah, hopefully., in spite of the interruptions and things, people had their ears on for that. . + So we're now up to to see here. + + what I pulled out of this when I listen to it, + is that the + functionalities. + from I am that are getting addressed in this particular instance are the C one through four, + and those are essentially drawn from + this. I am functions list, which + we've had around for quite a long time, but we haven't made much use of + , but I thought it might be one interesting way to + I don't know, indicate what functionality is coming up in, in what different kinds of presentations are used cases. . So this was an attempt without a lot of editing, since to capture + the various capabilities + our functionalities of I am in in operation goes through a few different categories of things. + , and what + what I got on him + the presentation for me It was it + We're looking at + these + thanks Here We didn't there wasn't much talk about auditing, logging, reporting, but i'm assing that that is also part of this these these processes, so + as I say, that from that long list of all the quote unquote all the functions + these are the ones that, I believe, are addressed there, and I try to indicate a little bit of how they're related. So + provisioning and deprovisioning are supported by the functionality that that he's talking about + messaging, and the Api's and message and integration and data floats. All that stuff is core functionality, of of course. + + batch reconciliation and new real-time sync didn't talk a lot about that a little bit, + and so you could consider that, I believe, as supporting functionality or the core functions that are going on in this group or two. + user avatar + Unknown Speaker + 00:38:40 + + user avatar + khazelton - Internet2 + 00:38:41 + I'm: Sorry. Yeah. People's off to go for integration. + And then finally, again auditing, logging are supporting functionalities. + . So that was kind of my dry run through of what you might + try to do to to pull out + sort of key terms or something to organize the material when you're trying to figure out which bits people might care about. + So d is essentially + my thought, and I think, I've got the three dots under d four, meaning. I'm interested in hearing. If there are people other ways that people think + , we can make use of this information rather than just, + you know, playing the whole thing. But again, always putting first in our minds. + ! + What are the kinds of situations that community community members will come to us? + They found themselves in Situation X. And they would like some guidance or help about, how they how they deal with that. + And, + this is basically a few ideas I had for it. So let's say we've assembled + any nber of these presentations or excerpts of + of presentations from Csp from software integration working presentations all over basically . And one way would be to say, Okay, this community user comes in + and, they have come in with a list of gaps that they're trying to address here, and what they do is + match that list of gaps against the functionality tally, if you will, and say, Okay, these are the functions that I'm: I need. I don't have, or I want to replace the current way. I'm addressing those + . And then the point is, if once they do that selection from the list of functions, + there'll be a response that brings back links + to use the stories that address that bit of functionality, and by doing that address, the Gap. So + you know there's there's a notion of information. What we're trying to do is give people a way to bring their question + to some intermediate point, and + have some magic done so that they see the parts of that ocean that are of greatest relevance to themselves. So that's one way. Here are your gaps here the functions let's see who is address, which function, how and then sort of a flip version of that is, + maybe they've decided that they're definitely using Grouper and shib, and that that's + really what what they know today. They probably always got some legacy stuff, But let's say they focus on group and shib, and they want to see which functions are covered by those tap components, and which ones are are not adjust, and therefore either need to be + picked up by another cap, tap, component, or some commercial thing, or maybe like, continue their legacy + way of providing that functionality., then the the other little wrinkle is some of the functionalities + might be provided by more than one component . We all we all know the you know Co. Manage midpoint group or triangle, or there's a lot lot of functional overlap if you look so anyway., they pick the components, and they get a list of the functions that are not met, + and + present the user with links to stories + that involve those components. So again, ! They gave us the components. We say, here are various bits of information we have about how those are being used. + ! + And that's really where I + run out of material + generated by my own reflections on this. And so i'd really like to take the question first back up to that higher level did. How do people think about, + + how people are likely to + show up at our door, if and present + their issues of their questions. ! And if you suggest one way they might do that, then the thing to go on to do would be to say + of all this rich ocean of material, How do we? How do we get them to the right bits? I mean conversations with them is a is a good way, of course, or work with unicorn or provisioning. I am, for an analysis of things. But + ! Are there ways to make the material we have, and we'll continue to produce. Make it more, Make it easier for them to figure out which bits they might want to focus in on. + So i'd be very happy to hear ideas people might have about that + one way might just be to use yourself as a guinea pig and say, + , + what is it that you're + hoping to get or about to try? And do you have all these things sorted about, + which it's a functionality are going to be provided by What are there questions there? + user avatar + Steve Zoppi/Internet2 + 00:44:31 + Yeah. And in fact, Keith, I was gonna suggest that people speak from personal experience first, if they can, and if they are uncomfortable doing that, we can turn off the recording . But I think the more personal stories that we have in this easier it's going to be for us to decompose + user avatar + khazelton - Internet2 + 00:44:47 + and relate to others, possibly on it. But that's my two cents, for that's kind of where I worked myself around. So I like the idea. So yeah,, if you can relate, find yourself in something like this kind of story., we'd love to hear it., and maybe we can. + You get some things out from the sharing? + user avatar + Ethan Kromhout + 00:45:40 + And, Keith, I was just trying to think one interesting kind of variation on that might be the different architectures that + universities have come up with + for how they lay out the the tap components + and make decisions about the overlapping capabilities. + And then, sort of talk about the the differences between those, you know. Why is it that? + I tend to think of + midpoint as my my person registry, and and Tommy is gonna think of Co. Manages his. You know some of those kinds of, almost + diagnosis of the differences. Kind of thing. + user avatar + khazelton - Internet2 + 00:46:33 + Yeah. And some of that, you know, is + kind of expanding people's horizons about what different ways, you can, + you know, mix and match to solve certain problems. But + + well, Tommy, I mean you've been going through the thick of this process of trying to, + to find a new architecture and figure out which pieces are there. It's an ongoing process, I know. But + ! + Are there? Can you figure out + things that might have helped earlier along the way. Or is it just a + you know, every day by day struggles to figure out the bits and pieces. But is there something that we've made it easier for you to get navigate all this? + user avatar + Bill / Internet2 + 00:47:23 + I think Tommy dropped off. Okay, Well, + user avatar + khazelton - Internet2 + 00:47:28 + and + i'll ask him later. + I + you going into this. This is a hard thing to get + solutions for. + So i'm not too surprised that we're not. You know people aren't crowding the mic. But, on the other hand, + , + I guess I I keep thinking + we've got a we've got to try to help people that are coming new to this stuff, and + you know, + is there? I guess the question is, is there value in the material that we're producing out of all the different working groups we have. . This certainly goes back to the Peoplesoft integration working group, because I think we + struggle there to think about what + what kinds of outputs we can provide. And I think in the last + time or two we've talked about that we've come up with some + good ideas. But ! + I was + still hoping to hear + a bit more reflection on on that. + How we help, you know. Marry the user, the peer member and the material. We have. + Help them get through the + decision process, + user avatar + Ethan Kromhout + 00:49:19 + as you sort of glancing down our participant list for today., and we're just seems to be, you know one of those weeks where we've ended up sort of + Internet to, and catalysts partner heavy + relative to universities., But i'm, i'm wondering if this might be a + a good question at A, at a Csp group meeting as well. + user avatar + khazelton - Internet2 + 00:49:43 + Yeah, I think so. . Just because they're kind of in the thick of it at that point. Yeah, they self selected for wanting to get solutions for things. Yeah, I think that's right. + I guess., + if we stick with the personal story angle. It would be interesting to + here from the catalyst folks. ! + How the how they typically run into people, and how the people present their problems. And + again, probably with with those catalysts partners. It's + a conversation that starts with those needs. But + , + maybe if some of those initial conversations are in encounters or + queries. If you could just say a little bit about + is is there a typical one, or there's I mean, I'm sure there's a great variety the ways that people turn to you. But i'd i'd love to hear a a couple of those and see if it + sparks, and he + recognition on our side. + user avatar + Jim Lookabaugh + 00:50:46 + Yeah, Keith, this is Jim. . + I. For some reason I keep + circling around one concept in my head that isn't going to be very helpful for your specific question about. You know the sort of personal stories from + give an institution's perspective, but I still think it it might + help + gather stories based on the two different ways in which I think people might approach it. One would be the the component or the piece of tooling that any of our collaborators here in these working groups are + right. Maybe some of the institutions in the collaboration success program + some of them are going to come from, + and this reflects the kind of engagements that we have. Provision I am have comes from someone who already has a a a decent amount of infrastructure in place. may even be an expert on one or more of the pieces of tooling, + and has a pretty poignant specific question of how to make best use of the tool that's already in house, + and that's a good proportion of our clients. They'll come to us with something very specific. So in in creating, maybe some guidelines or + flow charts or docentation, or or something a decision chart to help. Maybe some more novice. Folks + come to some comfort level about what tooling might work best for them at their institution. That's one. Approach one end of the picture that we could probably come from. + which is a a tool specific picture of what? Exactly. For example, let's just take midpoint. + , what kind of for Campus X. + What kind of a cool or interesting problem did you solve? Whether that was with help from you know, + industry, partners, or not, + and elicit a a a collection of those kinds of stories from that perspective, that end of the spectr, the tools, perspective down and dirty in the guts which will appeal to you know, very tech + oriented to people like myself. + Then the opposite end. This is what's been going on in my mind in my mind for the last fifteen minutes or so the other end. Would it essentially be the the user story, the use case, perspective, independent of the tool set that you've chosen for your institution, or even if you don't have a solution yet, and + you're just getting by with maybe manual intervention, or putting up with some expensive or painful process, or whatever whatever is in place. Now you're looking + almost desperately for a solution. So you're starting from more of a a tool into a technology independent use case, + gather those you listen to collection of those from people who are more apt to think that way + and see where that takes them. Okay, How have you envisioned solving it? How do you solve it now? . Sort of drill down into, maybe an abstract data flow and help Mary + those kinds of descriptions of used cases and stories to the tools that we're familiar with, and in the trusted access platform, or maybe even alternatives, like, I think, in the agenda, maybe a little further down. I was reading ahead. + We've got like three institutions who might be prepared to share stories of alternatives and help marry it that way. So it's. That's what I've been thinking. I'm sorry it doesn't really answer your question but I it might be a way to help bring some stories into a collection that we can help organize. + user avatar + khazelton - Internet2 + 00:54:39 + No, I think so, and it's certainly in the space it may not be, you know precisely down in the middle of the road, of the things I talked about. But it's it's certainly in the space. And ! I think that's an interesting way to look at it. This one, I suppose, was closer. The The Ethan presentation was + culture to that. Looking from a component and seeing you know how they how they meet that how they use it. in this case it was, you know, primarily around the integration of two components. + , you know Peoplesoft stuff, and + and our tap component group. So + user avatar + Jim Lookabaugh + + but that in the same general space, I think as what you're right. Yeah, I I agree, and I what I didn't say was, we have our balance of clients in that other perspective. They're probably starting new. They don't have midpoint in house. Yet. + They've done enough research, or have gathered enough recommendations from either Internet to an in common or peer institutions, or what have you? But they've gravitated towards midpoint, and they're intrigued enough + to want to give it a try. And so the balance of our clientele asked us to help them with proof of concept in making best use of midpoint in particular. because that's the tap component that you know is in our wheelhouse. So + that's that is kind of one of the reasons why I also visited that other end of the spectr is because our clientele kind of break up into those two broad groups, anyway. + + khazelton - Internet2 + 00:56:15 + Okay? . So You' So that certainly falls into the . The first use case I would imagine right It's I've got. I i'm interested in midpoint, because I have, you know I read some things about it that think make me think it might work for us. + Could you show us? You know how you would approach solving, you know, + this Lms provisioned with the help of midpoint. Right? Exactly something that i'd like you to consider, Jim, as you're thinking through this, though, is that's that's great for it. Hey? + a use case where somebody is trying to select a tool and what we've been getting pretty consistent feedback on is + they don't even know whether or not their use Case can be satisfied by a tool, a collection of tools or no tools. + And so there are some + So the approach that we've been considering in how we smarize these things + from the user story perspective, and then drill that filling down into what the solution is. + + Your + suggestion about having a triage map makes really good sense, and it's come up multiple times over the last few years. + , so we do have to do that as well. I'm not saying that that that approach doesn't make sense. It makes great sense. + It's just that., There's sort of the the question of how we illustrate how you get to that decision based on the solution or the endgame being sought, and that by itself is a roadmapy problem that we're trying to work through. So any you might have there would be useful. + + Jim Lookabaugh + Yeah, I I agree, Steve, and I. I think I had that in my mind, too, and I was. I intentionally was blurring that line because of this, that although we are engaged by some clients to help them with the proof of concept on midpoint, I mean, there's no guarantee that they'll be happy with it right? So they have certain business needs. They need solved, + and they might not even be very confident. At midpoint + It is an appropriate solution for them, and the poc could, you know, for lack of a better word fail, I mean. Still, it's successful if you can prove that it's not a good suit. Good for you. Right? Yeah, the negative assertion is also is also a positive outcome. But yeah, + user avatar + khazelton - Internet2 + 00:58:47 + well, obviously, we haven't solved this thing in one meeting, and I didn't really expect to. But, I think. there's good ideas in this last few minutes that we can try to follow up on. + + well, we've convinced ourselves. I don't know if this is true or not. We've convinced ourselves that it's the people who + I really don't have the solutions figured out, and maybe our + coming with a pretty fuzzy picture of all this. ! If there is such an audience, then then we have to figure out. I think we haven't. + Have we done a great job for people like that?, I suppose they show up at Base Camp right? And that's their introduction to all this? + + To my mind it's a gap in our + capabilities on the trust and identity side is + meeting + going to where those people are are, and show up there, and figure out what kind of conversation have, and what kind of goodies to share. So + ! We'll keep + up the good fight \ No newline at end of file From 0359738eb769caffd0e984afae0610472e99f3c5 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:35:42 -0600 Subject: [PATCH 15/44] Update ps2grouper.adoc --- ps2grouper.adoc | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index 1592916..24db1b9 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -19,39 +19,47 @@ So when we did the integrations with HR And Finance, those were done as as SOAP Those that are polling or polling every five minutes are an acceptable form of data integration. But a second path that we use is Informatica, an ETL tool. So the main thing that's that's used for is for developers in the group that runs people soft to write queries, and then either push those out the different locations, or create apis in informatica for people to retrieve data without having direct database access. + So the developers in relation to group or do a fair amount of querying of things in those databases, and then pushing information into grouper for a couple of use cases i'll talk a little bit more about. -And then lastly, I I would, I should mention. Is it near real time for those other integrations. In the case of the informatic etls, it's really up to the developer. Most of those are things that run on kind of a daily cycle. But,,, the developer in informatic that has the capability to schedule things as often as they want them to run. It really is up to them. + +Is it near real time for those other integrations? In the case of the Informatica ETLs, it's really up to the developer. Most of those are things that run on kind of a daily cycle. But,,, the developer in informatica has the capability to schedule things as often as they want them to run. It really is up to them. The business logic to publish those into reasonable affiliations happens inside Directory Manager. The Directory manager also does those SOAP queries that I mentioned. So that's the direction we decided to go with for -HR and finance. So it connects to HCM and queries for jobs and associations with the construct that we described here. For the +HR and finance. + +It connects to HCM and queries for jobs and associations with the construct that we described here. For the poorly worded affiliate status which is basically your sponsored researchers -contractors anybody who you can't really say is an employee of the university, but still has quite a formal relationship with the University goes through what we call our affiliate process, and that creates those associations. The Directory manager is is what they call every five minutes or So +contractors anybody who you can't really say is an employee of the university, but still has quite a formal relationship with the University goes through what we call our affiliate process. That creates those associations. + +The Directory manager is is what they call every five minutes or so for any new jobs and associations that are available. And then also, once a week, has so pinpoint that a call and say, Okay, cycle through and give me everybody so that it can do a full synchronization. And then there's just a very simple query over to Peoplesoft finance, really. Only thing that I am cares about from -our finance installation is what are the department names? So it gets nbers department nbers that are associated with jobs or associations or student status. -, but it it's nice to have a friendly name to associate with those department nbers, and so it retrieves those friendly names from our our finance install. +our finance installation is what are the department names? So it gets nbers department nbers that are associated with jobs or associations or student status. But it it's nice to have a friendly name to associate with those department nbers, and so it retrieves those friendly names from our our finance install. + And then Directory manager is responsible for essentially has its own open ldap instance running kind of locally to that application, and then we use the built-in open all that sync where to? To? To to that out to our our large open installation, and then finally, That's where Grouper can run. It's loader jobs and retrieve things from Ldap. So just like we run loader jobs for databases. We've got these that run directly against our open laptop installation, and that gives group or, - first of all, it's subject source, -but also affiliations with student type and departments all come through wearing that open all that instance. So this. These are fairly indirect, as obviously. But as I mentioned, they perform well that this works. -, it's just kind of -old and - very you and C specific -the The second flow that we have I mentioned informatica, +first of all, it's subject source, +but also affiliations with student type and departments all come through wearing that open all that instance. So this. These are fairly indirect, as obviously. But as I mentioned, they perform well that this works. It's just kind of +old and very C specific. + +The second flow that we have I mentioned informatica, and it's doing sql queries into any of the big towers along with some other data sources. Honestly, it's just here we're We're concerned about Peoplesoft and then informatica has the capability to push those in the group or via the group or web services. So a lot of the roles that are people solve security folks create are useful in other applications besides just inside people's, so they they function. As for proxies to other data that people might have access to because of the roles that they have. And and one of the Peoplesoft powers. So, for example, they can go to a data warehouse. + and instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? ! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom and . So -all of those are published. A group or many of them are then published to that to be consed. But this gives group or some knowledge about internal - people, self-security information as well as those kind of edge case groups that we haven't come across a friendly, her way to to get replicated out for consption to be a group, -and I should have said this before. But but Please interrupt with questions as we go along, because I know these paths are are fairly divergent. So it's a really, really quick one about the diagram that you're showing that Are the arrows correct? Are you taking data from and from Fromatica and sending it to people talk? Or is it the other way? +all of those are published. A group or many of them are then published to that to be consed. But this gives group or some knowledge about internal people, self-security information as well as those kind of edge case groups that we haven't come across a friendly, her way to to get replicated out for consption to be a group, + +and I should have said this before. But but Please interrupt with questions as we go along, because I know these paths are are fairly divergent. + +So it's a really, really quick one about the diagram that you're showing that Are the arrows correct? Are you taking data from and from Fromatica and sending it to people talk? Or is it the other way? I I I usually debated which way to point these arrows, but this is our sql query, so informatic that is, reaching out to the Peoplesoft hours, The Nsql query and pulling data back. I see. -the third flow is just direct loader jobs that people saw from that group or a queries people. Software so probably the the courses and course roles are the +The third flow is just direct loader jobs that people saw from that group or a queries people. Software so probably the the courses and course roleare the main use of these queries. We we do publish all of our courses out to group, or you know, each semester, and then break out the different roles inside the courses. So, student student, you know, faculty primary @@ -556,4 +564,4 @@ Audio Transcript meeting going to where those people are are, and show up there, and figure out what kind of conversation have, and what kind of goodies to share. So ! We'll keep - up the good fight \ No newline at end of file + up the good fight From 0c23c0916bed7a6a4ad15a90ad7f562a7c49a420 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:36:14 -0600 Subject: [PATCH 16/44] Update ps2grouper.adoc --- ps2grouper.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index 24db1b9..2d80df2 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -9,7 +9,7 @@ We've got kind of three main paths the data goes through to get from from People image::images/GrouperPsIntegUNC.png[three paths] -The The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been +The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. So that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in 2009 well ahead of bringing up the HR And finance modules. The integrations are messaging and the reason for those two different transports are that the original campus solutions integration was all messaging. From 1005dc9a01c9470a3c12e4058fbf651f7ef86af0 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:36:42 -0600 Subject: [PATCH 17/44] Update ps2grouper.adoc --- ps2grouper.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index 2d80df2..d663f7d 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -2,7 +2,7 @@ ==== Grouper Data Integration with PeopleSoft @ UNC Chapel Hill Ethan Kromhout, 2 Nov 2022 -I wanted to talk about how our data currently gets from eoplesoft to Grouper. +I wanted to talk about how our data currently gets from Peoplesoft to Grouper. There's maybe a a story that I didn't include about how grouper data gets indirectly to peoplesoft. But maybe I can comment about that at the end We've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. From 3010fd6f0f795357cf71e376ac703236439cb93e Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:38:03 -0600 Subject: [PATCH 18/44] Update ps2grouper.adoc --- ps2grouper.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index d663f7d..385b65e 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -48,7 +48,7 @@ and then informatica has the capability to push those in the group or via the group or web services. So a lot of the roles that are people solve security folks create are useful in other applications besides just inside people's, so they they function. As for proxies to other data that people might have access to because of the roles that they have. And and one of the Peoplesoft powers. So, for example, they can go to a data warehouse. - and instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried +Instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? ! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom and . So From a6c3b4474a60cb8e701030db9ace6908d36f4318 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:42:48 -0600 Subject: [PATCH 19/44] Update ps2grouper.adoc --- ps2grouper.adoc | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index 385b65e..9dc8564 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -59,17 +59,12 @@ and I should have said this before. But but Please interrupt with questions as w So it's a really, really quick one about the diagram that you're showing that Are the arrows correct? Are you taking data from and from Fromatica and sending it to people talk? Or is it the other way? I I I usually debated which way to point these arrows, but this is our sql query, so informatic that is, reaching out to the Peoplesoft hours, The Nsql query and pulling data back. I see. -The third flow is just direct loader jobs that people saw from that group or a queries people. Software so probably the the courses and course roleare the - main use of these queries. +The third flow is just direct loader jobs that people saw from that group or a queries people. Probably the the courses and course roles are the main use of these queries. We we do publish all of our courses out to group, or you know, each semester, and then break out -the different roles inside the courses. So, student student, you know, faculty primary -teaching assistant., all of those kinds of it's it's -that didn't get published out to. For example, - components that we have, -and those those really are the the three paths happy to go into more detail on any one of them, as people have questions. -, are there? So what are your Lms or any management systems, -mainly, or you have several, I guess. Yeah. Why, why would you have one? Right? So our our current Currently, the majority of our courses are in sakai - but we are trying to migrate to canvas. So we have something a little bit larger than pilot groups on campus at this point. +the different roles inside the courses. So, student, faculty, primary +teaching assistant, all of those kinds of roles. + +Currently, the majority of our courses are in sakai but we are trying to migrate to canvas. So we have something a little bit larger than pilot groups on campus at this point. - - - From 60514d992502cacf4fccf531bd2289306fc6983e Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:47:03 -0600 Subject: [PATCH 20/44] Update ps2grouper.adoc --- ps2grouper.adoc | 493 ------------------------------------------------ 1 file changed, 493 deletions(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index 9dc8564..c576e26 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -67,496 +67,3 @@ teaching assistant, all of those kinds of roles. Currently, the majority of our courses are in sakai but we are trying to migrate to canvas. So we have something a little bit larger than pilot groups on campus at this point. - - - - - -00:58:02/01:00:44 -Audio Transcript - - - this is something - we need to figure out. We needed to figure it out for a while. ! I don't think we're quite there yet, but we have more pieces in place, and what that needful thing is is to make the kind of material that we've presented to each other and talk to each other about and drafted docents about make that more useful to the community. ! And help answer some of their nagging questions "Please provide guidance on this or I'm considering - this. And I notice that there's functionality from - these tap components more than one of them. And then there's also all this commercial stuff. - So the frame of mind i'd like to ask us to be in today is is basically - imagining what form of materials what presentation - would serve the needs of that. - - One major effort to go in this direction - was requested something on the order of a year ago from Cirrus identity to come up with the - example. I am architecture and some - classic use cases - that would move us in this direction. Get us with a sort of basic - foundation for being able to do this kind of compare and contrast thing, and and answer some of the questions from folks., so that Lincoln one A will take you over to that, and I will go there - now, and B. C and d essentially highlight different parts of that, and I - we'll kind of step through those - over on that draft. So - IAM reference architecture. It's clearly everybody involved considers this a draft, - and this is one of the first extended groups to have a look at it. - ! And that's exciting in itself. ! So - I guess what I thought was a really well useful place to start with looking at the objectives, because these are, I think, things that we would agree are important objectives. So come up with this family of use. Cases - that are pretty common., but kind of touch on different aspects of how I am supports the enterprise. - . And then to find baseline deployments. - primarily, if not exclusively, drawn from mashups of tap components. - And say, Okay? Well, if you've got used case one federated access here are the ways that the tap components can be wired together to solve that. - And then, - we don't want to stop there because - of nber three, which is that - we want to figure out a way so that organizations or other solution providers can - - defined alternative ways to essentially meet the same use cases, maybe, or meet one that's related, but not identical. And do these in a way that we might call overlays, meaning. The basic - framework is still there, but we're substituting other things for tap components or different tap components for other functions, and so forth. And then ! They set themselves the task of starting to suggest some alternative deployment overlays - and so that that's kind of where i'd like to us to go today when we get into - taking up one presentation, we've heard which is one from Ethan - about Peoplesoft group or integration - and kind of running through a very similar exercise to what we just outlined here. - ! The docent from serious goes through - some generic capabilities. And - at sort of basic treatment of the tap - architecture components. - And then we get into these five used cases and let's see. So used case one Federation enablement. I don't think there's a lot of mystery about what that is basically trying to reach across multiple organizations and - share access to external service providers, or share access from one institution to others, and things like that. ! Not too surprising, then, for each of these in this docent they provide examples - a little more specific right? And then they have - worked on identifying the audience that would care about this use case. - And then this is a relatively, - we haven't done a lot of this kind of thing ourselves, at least in this software integration group, - which which is to lay out a a user's story end user experience, step by step. ! That shows them accomplishing what they set out to accomplish. - And then finally, there's the tap baseline which components you might use for - to accomplish that, and how you wire them together. - The other four are a managing access, - I think, to most of us on the call, we can - pretty much brought what that is likely to be about scholarly collaboration - both within and beyond the boundaries of the institution, - and then guest systems and Guest is a very broad category. Here you can see from these bullets - that guest is a nice brella term, covering everything from job applicants - to alni donors and vendors, and so forth. ! - And they go through all that - and same pattern of subsections on each of those - and the tap, baseline and identity life cycle management - use case that they address. So I think you can see how those five pretty much - - cover in one way or another. Some of the major use cases in - in our space. - , - And I guess in this final section called suggested alternative implementations. - I wanted to highlight this sentence in red here., that the whole point of this was to facilitate, follow on docentation - of alternative implementations or overlays - that incorporate under legacy systems and other non-tap components. So this is kind of like the opening gambit if you will but we know that to meet the needs of the broadest - range of campuses. We have to also cover situations that are likely to be hybrid or - mixes and matches of things mashups. - So - And I think maybe the intent here was to focus this all on those five - specific use cases. I think that might be. - Well, let's. We'll see how that bears out. I I suspect it. - We might come up with some interesting material on presentations that are quite - aligned with one of the five here, but I don't think that's as critical as the basic approach, and for these five we certainly do want to lay out - alternatives along the way. - : So basically, - the challenge to us. So one E: basically, we're being asked you, all and others will be asked to review this offer comments and suggestions and, and eventually then still start identifying next steps. - , One of the next steps kinds of things is this next bit Here - this came up this business of having people present on - Peoplesoft to Grouper integration. Stories came out of the people, soft integration working group, - and I see Tommy is here, so that ah! As the chair of that group and other members of that working group are here as well. - , - and we've gone through a a series of those four of those presentations from late smer until fairly recently. - and that a few of us, Tommy, and then from - Illinois State University. I'm glancing in here here in here today, - but anyway, and Ethan raised their hands when asked - if they would take part in reviewing this, and again trying to - extract the essence of it, and fit that into some kind of framework that we're talking about. That would be useful to the rest of the folks. So if people are game - for that, the next thing I would do is start the replay of about thirteen minutes of - Ethan's presentation from July the twenty nine, I think. - , But let me kind of pause there and catch my breath and - entertain any kind of questions or - concerns. Or maybe you've had some ideas already of things that would kind of address this business of how we help our peers, - - What I - I wanted to talk about today is is just basically how our data currently gets from Peoplesoft - to - . There's maybe a a story that I I didn't include about how group or data it gets indirectly to Peoplesoft. But maybe I can kind of comment - a comment about that at the end. - But we've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. the The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been - the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to particularly the Open LDAP Directory, but also Active Directory. - So the that that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in two thousand and nine well ahead of bringing up the HR And finance modules. - . The The integrations are messaging, and so and the reason for those two different transports are that the original campus solutions integration was all messaging. - I'm gonna jp in here to try to - reload this presentation and overcome the network here that just through a nice big X on things. So i'll try to pick up where we left off if I get this - and then the ones that are polling or polling every five minutes. So those are still, close enough to real time to for people to be unbothered by the by, the data integration. - A second path that we use is, we we want informatica, which is - an etl tool - , So the main thing that's that's used for is for developers - user avatar - Bill / Internet2 - 00:18:29 - you want to unmute Ethan? - user avatar - khazelton - Internet2 - 00:18:31 - he didn't do that. My flaky network did it so i'm gonna go inside closer to the router and - wireless, and we'll try again. Sorry about this folks. - That's the - first time I've had that kind of issues in a good long while. - user avatar - Ethan Kromhout - 00:18:51 - Yeah, although I I would naturally tend to mute me if I could. So - user avatar - khazelton - Internet2 - 00:19:03 - relocating. And then we'll pick it up again, - or maybe well, no, it's pretty much a couple of good. - Get somebody else to pull up, - hey? I got it. - Oh, yeah, that's a nice feature. - It does that it might - Firefox browser probably just need to shut things down and starting in. But I think I've got it - looking over here. Let's see. - Make bit today. - Yeah, I believe we're about or that the original campus solutions integration was all messaging based. and then we just found that later upholding strategy was perhaps, at least as effective as the messaging we were doing. - And so when we did the integrations with HR And Finance those were done as as so transport integrations - and kind of either way it's It's pretty close to real time. So the the information that's pushed by messaging. And course that's when there is a ton of changes that kind of back things up are really into - Yes, - and then the ones that are polling or polling every five minutes. So just to let you know we're not seeing the slides at this point i'm bothered by the by, the data integration, but a second path that we use - it, says i'm screen sharing. Now, is that true? - I'm seeing the It's the It's the multiple desktop conundr. - I know I know - user avatar - Unknown Speaker - 00:24:30 - gotta stop sharing this one - user avatar - Unknown Speaker - 00:24:34 - and then share this other one. - user avatar - khazelton - Internet2 - 00:24:44 - Perhaps now it is correct. - Is - we? We run in for America, which is a nhl tool. - . So the main thing that's that's used for is for developers kind of in the group that runs Peoplesoft to write queries, - and then either push those out the different locations, or create apis in informatica for people to retrieve data without having direct database access. - So the developers in relation to group or do a fair amount of querying of things in those databases, and then pushing information into Grouper for a couple of use cases i'll talk a little bit more about. - And then lastly, I I would, I should mention. Is it near real time for those other integrations. In the case of the informatic etls, it's really up to the developer. Most of those are things that run on kind of a daily cycle. But, the developer in informatic that has the - capability to schedule things as often as they want them to run. It really is up to them. - Excuse me, The The last way is for you a group of loader jobs we have many, many dozens of loader jobs running in Grouper but some of those do run directly against Peoplesoft databases - and those tend to run three or four times a day. So they're They're less real time than our directory manager. Application, but still have some kind of a a fixed schedule. That's up to the idm team that runs group or the to decide how often they run. - So this first little wanted to talk about is the one that goes via Directory manager. So this is our home home growing at - so kind of as I mentioned Peoplesoft campus solutions we've got triggers on a nber of the Bio demo tables inside campus solutions., as well as some of the students. basic student information. - So whenever those bio demo tables show. Any kind of change or status change happens with the student. then a database trigger causes a message to go out to integration broker, - and then we have a configuration. Integration. Broker is so that it can speak Jms. to our Directory manager application. So that's That's the the first flow in the flow for the campus solutions - our information, the the student status as it flows to Directory manager is fairly specific. We get a a nice, - a array of information that that arrives at Directory manager, and if we're getting to get published out to build out - . So you know the students, Major. - miners what year they are what their status are. They prematriculated? Admitted. They are full on student. That kind of thing is all conveyed via those messages, and then business logic to publish those into reasonable affiliations happens inside Directory Manager, - a Directory manager also does those so queries that I mentioned. So that's the direction we decided to go with - HRAnd in finance. So it connects to Hcm. and queries for jobs and associations and associations with the construct that we use here., for the these sort of - poorly worded affiliate status which is basically your sponsored researchers - contractors anybody who you can't really say is an employee of the university, but still has quite a formal relationship with the University goes through this what we call our affiliate process, and that creates those associations. The Directory manager is is what they call every five minutes or So - for any new jobs and associations that are available. And then also, once a week, has a a a so pinpoint that a call and say, Okay, cycle through and give me everybody so that it can do a full synchronization. - And then there's just a very simple query over to Peoplesoft finance, really. Only thing that I am cares about from - our finance installation is what are the department names? So it gets nbers department nbers that are associated with jobs or associations or student status. - , but it it's nice to have a friendly name to associate with those department nbers, and so it retrieves those friendly names from our our finance install. - And then Directory manager is responsible for essentially has its own open ldap instance running kind of locally to that application, and then we use the built-in open all that sync where to? To? To to that out to our our large open - installation, and then finally, That's where Grouper can run. It's loader jobs and retrieve things from Ldap. So just like we run loader jobs for databases. We've got these that run directly against our open laptop installation, and that gives group or, - first of all, it's subject source, - but also affiliations with student type and departments all come through wearing that open all that instance. So this. These are fairly indirect, as obviously. But as I mentioned, they perform well that this works. - , it's just kind of - old and - very you and C specific - the The second flow that we have I mentioned informatica, - and it's doing sql queries into any of the big towers along with some other data sources. Honestly, it's just here we're We're concerned about Peoplesoft - and then informatica has the capability to - push those in the group or via the group or web services. So a lot of the roles that are people solve security folks create are useful in other applications besides just inside people's, so they they function. As for - proxies to other data that people might have access to because of the roles that they have. And and one of the Peoplesoft powers. So, for example, they can go to a data warehouse. - and instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried - to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? - ! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom - and . So - all of those are published. A group or many of them are then published to that to be consed. But this gives group or some knowledge about internal - people, self-security information as well as those kind of edge case groups that we haven't come across a friendly, her way to to get replicated out for consption to be a group, - and I should have said this before. But but Please interrupt with questions as we go along, because I know these paths are are fairly divergent. So it's a really, really quick one about the diagram that you're showing that Are the arrows correct? Are you taking data from and from Fromatica and sending it to people talk? Or is it the other way? - I I I usually debated which way to point these arrows, but this is our sql query, so informatic that is, reaching out to the Peoplesoft hours, The Nsql query and pulling data back. I see. - I honestly don't know what right way to the face that are up. - . So I did. I hear you use the term people's off towers. Or did I, Mis? Hear that or that? I probably said that yeah, it just took me to separate out the - kind of the big three, and I I actually she. Which reminds me, there's another gap in this diagram, which is, we do also run - it easily. The The Peoplesoft portal, - and some of those security related - roles, and what not come from that portal. So I should have also had our fourth tower, which is the Peoplesoftware - user avatar - Unknown Speaker - 00:33:57 - on this diagram. - user avatar - khazelton - Internet2 - 00:34:02 - And then the the third - , - third flow. And and apparently I need to go back and remember how to spell membership. But the third flow is just direct loader jobs that people saw from that group or a queries people. Software so probably the the courses and course roles are the - main use of these queries. - We we do publish all of our courses out to group, or you know, each semester, and then break out - the different roles inside the courses. So, student student, you know, faculty primary - teaching assistant., all of those kinds of it's it's - that didn't get published out to. For example, - components that we have, - and those those really are the the three paths happy to go into more detail on any one of them, as people have questions. - , are there? So what are your Lms or any management systems, - mainly, or you have several, I guess. Yeah. Why, why would you have one? Right? So our our current Currently, the majority of our courses are in sakai - but we are trying to migrate to canvas. So we have something a little bit larger than pilot groups on campus at this point. - user avatar - Unknown Speaker - 00:36:06 - All right, - user avatar - Unknown Speaker - 00:36:07 - I believe we're back. - user avatar - khazelton - Internet2 - 00:36:09 - . - So yeah, hopefully., in spite of the interruptions and things, people had their ears on for that. . - So we're now up to to see here. - - what I pulled out of this when I listen to it, - is that the - functionalities. - from I am that are getting addressed in this particular instance are the C one through four, - and those are essentially drawn from - this. I am functions list, which - we've had around for quite a long time, but we haven't made much use of - , but I thought it might be one interesting way to - I don't know, indicate what functionality is coming up in, in what different kinds of presentations are used cases. . So this was an attempt without a lot of editing, since to capture - the various capabilities - our functionalities of I am in in operation goes through a few different categories of things. - , and what - what I got on him - the presentation for me It was it - We're looking at - these - thanks Here We didn't there wasn't much talk about auditing, logging, reporting, but i'm assing that that is also part of this these these processes, so - as I say, that from that long list of all the quote unquote all the functions - these are the ones that, I believe, are addressed there, and I try to indicate a little bit of how they're related. So - provisioning and deprovisioning are supported by the functionality that that he's talking about - messaging, and the Api's and message and integration and data floats. All that stuff is core functionality, of of course. - - batch reconciliation and new real-time sync didn't talk a lot about that a little bit, - and so you could consider that, I believe, as supporting functionality or the core functions that are going on in this group or two. - user avatar - Unknown Speaker - 00:38:40 - - user avatar - khazelton - Internet2 - 00:38:41 - I'm: Sorry. Yeah. People's off to go for integration. - And then finally, again auditing, logging are supporting functionalities. - . So that was kind of my dry run through of what you might - try to do to to pull out - sort of key terms or something to organize the material when you're trying to figure out which bits people might care about. - So d is essentially - my thought, and I think, I've got the three dots under d four, meaning. I'm interested in hearing. If there are people other ways that people think - , we can make use of this information rather than just, - you know, playing the whole thing. But again, always putting first in our minds. - ! - What are the kinds of situations that community community members will come to us? - They found themselves in Situation X. And they would like some guidance or help about, how they how they deal with that. - And, - this is basically a few ideas I had for it. So let's say we've assembled - any nber of these presentations or excerpts of - of presentations from Csp from software integration working presentations all over basically . And one way would be to say, Okay, this community user comes in - and, they have come in with a list of gaps that they're trying to address here, and what they do is - match that list of gaps against the functionality tally, if you will, and say, Okay, these are the functions that I'm: I need. I don't have, or I want to replace the current way. I'm addressing those - . And then the point is, if once they do that selection from the list of functions, - there'll be a response that brings back links - to use the stories that address that bit of functionality, and by doing that address, the Gap. So - you know there's there's a notion of information. What we're trying to do is give people a way to bring their question - to some intermediate point, and - have some magic done so that they see the parts of that ocean that are of greatest relevance to themselves. So that's one way. Here are your gaps here the functions let's see who is address, which function, how and then sort of a flip version of that is, - maybe they've decided that they're definitely using Grouper and shib, and that that's - really what what they know today. They probably always got some legacy stuff, But let's say they focus on group and shib, and they want to see which functions are covered by those tap components, and which ones are are not adjust, and therefore either need to be - picked up by another cap, tap, component, or some commercial thing, or maybe like, continue their legacy - way of providing that functionality., then the the other little wrinkle is some of the functionalities - might be provided by more than one component . We all we all know the you know Co. Manage midpoint group or triangle, or there's a lot lot of functional overlap if you look so anyway., they pick the components, and they get a list of the functions that are not met, - and - present the user with links to stories - that involve those components. So again, ! They gave us the components. We say, here are various bits of information we have about how those are being used. - ! - And that's really where I - run out of material - generated by my own reflections on this. And so i'd really like to take the question first back up to that higher level did. How do people think about, - - how people are likely to - show up at our door, if and present - their issues of their questions. ! And if you suggest one way they might do that, then the thing to go on to do would be to say - of all this rich ocean of material, How do we? How do we get them to the right bits? I mean conversations with them is a is a good way, of course, or work with unicorn or provisioning. I am, for an analysis of things. But - ! Are there ways to make the material we have, and we'll continue to produce. Make it more, Make it easier for them to figure out which bits they might want to focus in on. - So i'd be very happy to hear ideas people might have about that - one way might just be to use yourself as a guinea pig and say, - , - what is it that you're - hoping to get or about to try? And do you have all these things sorted about, - which it's a functionality are going to be provided by What are there questions there? - user avatar - Steve Zoppi/Internet2 - 00:44:31 - Yeah. And in fact, Keith, I was gonna suggest that people speak from personal experience first, if they can, and if they are uncomfortable doing that, we can turn off the recording . But I think the more personal stories that we have in this easier it's going to be for us to decompose - user avatar - khazelton - Internet2 - 00:44:47 - and relate to others, possibly on it. But that's my two cents, for that's kind of where I worked myself around. So I like the idea. So yeah,, if you can relate, find yourself in something like this kind of story., we'd love to hear it., and maybe we can. - You get some things out from the sharing? - user avatar - Ethan Kromhout - 00:45:40 - And, Keith, I was just trying to think one interesting kind of variation on that might be the different architectures that - universities have come up with - for how they lay out the the tap components - and make decisions about the overlapping capabilities. - And then, sort of talk about the the differences between those, you know. Why is it that? - I tend to think of - midpoint as my my person registry, and and Tommy is gonna think of Co. Manages his. You know some of those kinds of, almost - diagnosis of the differences. Kind of thing. - user avatar - khazelton - Internet2 - 00:46:33 - Yeah. And some of that, you know, is - kind of expanding people's horizons about what different ways, you can, - you know, mix and match to solve certain problems. But - - well, Tommy, I mean you've been going through the thick of this process of trying to, - to find a new architecture and figure out which pieces are there. It's an ongoing process, I know. But - ! - Are there? Can you figure out - things that might have helped earlier along the way. Or is it just a - you know, every day by day struggles to figure out the bits and pieces. But is there something that we've made it easier for you to get navigate all this? - user avatar - Bill / Internet2 - 00:47:23 - I think Tommy dropped off. Okay, Well, - user avatar - khazelton - Internet2 - 00:47:28 - and - i'll ask him later. - I - you going into this. This is a hard thing to get - solutions for. - So i'm not too surprised that we're not. You know people aren't crowding the mic. But, on the other hand, - , - I guess I I keep thinking - we've got a we've got to try to help people that are coming new to this stuff, and - you know, - is there? I guess the question is, is there value in the material that we're producing out of all the different working groups we have. . This certainly goes back to the Peoplesoft integration working group, because I think we - struggle there to think about what - what kinds of outputs we can provide. And I think in the last - time or two we've talked about that we've come up with some - good ideas. But ! - I was - still hoping to hear - a bit more reflection on on that. - How we help, you know. Marry the user, the peer member and the material. We have. - Help them get through the - decision process, - user avatar - Ethan Kromhout - 00:49:19 - as you sort of glancing down our participant list for today., and we're just seems to be, you know one of those weeks where we've ended up sort of - Internet to, and catalysts partner heavy - relative to universities., But i'm, i'm wondering if this might be a - a good question at A, at a Csp group meeting as well. - user avatar - khazelton - Internet2 - 00:49:43 - Yeah, I think so. . Just because they're kind of in the thick of it at that point. Yeah, they self selected for wanting to get solutions for things. Yeah, I think that's right. - I guess., - if we stick with the personal story angle. It would be interesting to - here from the catalyst folks. ! - How the how they typically run into people, and how the people present their problems. And - again, probably with with those catalysts partners. It's - a conversation that starts with those needs. But - , - maybe if some of those initial conversations are in encounters or - queries. If you could just say a little bit about - is is there a typical one, or there's I mean, I'm sure there's a great variety the ways that people turn to you. But i'd i'd love to hear a a couple of those and see if it - sparks, and he - recognition on our side. - user avatar - Jim Lookabaugh - 00:50:46 - Yeah, Keith, this is Jim. . - I. For some reason I keep - circling around one concept in my head that isn't going to be very helpful for your specific question about. You know the sort of personal stories from - give an institution's perspective, but I still think it it might - help - gather stories based on the two different ways in which I think people might approach it. One would be the the component or the piece of tooling that any of our collaborators here in these working groups are - right. Maybe some of the institutions in the collaboration success program - some of them are going to come from, - and this reflects the kind of engagements that we have. Provision I am have comes from someone who already has a a a decent amount of infrastructure in place. may even be an expert on one or more of the pieces of tooling, - and has a pretty poignant specific question of how to make best use of the tool that's already in house, - and that's a good proportion of our clients. They'll come to us with something very specific. So in in creating, maybe some guidelines or - flow charts or docentation, or or something a decision chart to help. Maybe some more novice. Folks - come to some comfort level about what tooling might work best for them at their institution. That's one. Approach one end of the picture that we could probably come from. - which is a a tool specific picture of what? Exactly. For example, let's just take midpoint. - , what kind of for Campus X. - What kind of a cool or interesting problem did you solve? Whether that was with help from you know, - industry, partners, or not, - and elicit a a a collection of those kinds of stories from that perspective, that end of the spectr, the tools, perspective down and dirty in the guts which will appeal to you know, very tech - oriented to people like myself. - Then the opposite end. This is what's been going on in my mind in my mind for the last fifteen minutes or so the other end. Would it essentially be the the user story, the use case, perspective, independent of the tool set that you've chosen for your institution, or even if you don't have a solution yet, and - you're just getting by with maybe manual intervention, or putting up with some expensive or painful process, or whatever whatever is in place. Now you're looking - almost desperately for a solution. So you're starting from more of a a tool into a technology independent use case, - gather those you listen to collection of those from people who are more apt to think that way - and see where that takes them. Okay, How have you envisioned solving it? How do you solve it now? . Sort of drill down into, maybe an abstract data flow and help Mary - those kinds of descriptions of used cases and stories to the tools that we're familiar with, and in the trusted access platform, or maybe even alternatives, like, I think, in the agenda, maybe a little further down. I was reading ahead. - We've got like three institutions who might be prepared to share stories of alternatives and help marry it that way. So it's. That's what I've been thinking. I'm sorry it doesn't really answer your question but I it might be a way to help bring some stories into a collection that we can help organize. - user avatar - khazelton - Internet2 - 00:54:39 - No, I think so, and it's certainly in the space it may not be, you know precisely down in the middle of the road, of the things I talked about. But it's it's certainly in the space. And ! I think that's an interesting way to look at it. This one, I suppose, was closer. The The Ethan presentation was - culture to that. Looking from a component and seeing you know how they how they meet that how they use it. in this case it was, you know, primarily around the integration of two components. - , you know Peoplesoft stuff, and - and our tap component group. So - user avatar - Jim Lookabaugh - - but that in the same general space, I think as what you're right. Yeah, I I agree, and I what I didn't say was, we have our balance of clients in that other perspective. They're probably starting new. They don't have midpoint in house. Yet. - They've done enough research, or have gathered enough recommendations from either Internet to an in common or peer institutions, or what have you? But they've gravitated towards midpoint, and they're intrigued enough - to want to give it a try. And so the balance of our clientele asked us to help them with proof of concept in making best use of midpoint in particular. because that's the tap component that you know is in our wheelhouse. So - that's that is kind of one of the reasons why I also visited that other end of the spectr is because our clientele kind of break up into those two broad groups, anyway. - - khazelton - Internet2 - 00:56:15 - Okay? . So You' So that certainly falls into the . The first use case I would imagine right It's I've got. I i'm interested in midpoint, because I have, you know I read some things about it that think make me think it might work for us. - Could you show us? You know how you would approach solving, you know, - this Lms provisioned with the help of midpoint. Right? Exactly something that i'd like you to consider, Jim, as you're thinking through this, though, is that's that's great for it. Hey? - a use case where somebody is trying to select a tool and what we've been getting pretty consistent feedback on is - they don't even know whether or not their use Case can be satisfied by a tool, a collection of tools or no tools. - And so there are some - So the approach that we've been considering in how we smarize these things - from the user story perspective, and then drill that filling down into what the solution is. - - Your - suggestion about having a triage map makes really good sense, and it's come up multiple times over the last few years. - , so we do have to do that as well. I'm not saying that that that approach doesn't make sense. It makes great sense. - It's just that., There's sort of the the question of how we illustrate how you get to that decision based on the solution or the endgame being sought, and that by itself is a roadmapy problem that we're trying to work through. So any you might have there would be useful. - - Jim Lookabaugh - Yeah, I I agree, Steve, and I. I think I had that in my mind, too, and I was. I intentionally was blurring that line because of this, that although we are engaged by some clients to help them with the proof of concept on midpoint, I mean, there's no guarantee that they'll be happy with it right? So they have certain business needs. They need solved, - and they might not even be very confident. At midpoint - It is an appropriate solution for them, and the poc could, you know, for lack of a better word fail, I mean. Still, it's successful if you can prove that it's not a good suit. Good for you. Right? Yeah, the negative assertion is also is also a positive outcome. But yeah, - user avatar - khazelton - Internet2 - 00:58:47 - well, obviously, we haven't solved this thing in one meeting, and I didn't really expect to. But, I think. there's good ideas in this last few minutes that we can try to follow up on. - - well, we've convinced ourselves. I don't know if this is true or not. We've convinced ourselves that it's the people who - I really don't have the solutions figured out, and maybe our - coming with a pretty fuzzy picture of all this. ! If there is such an audience, then then we have to figure out. I think we haven't. - Have we done a great job for people like that?, I suppose they show up at Base Camp right? And that's their introduction to all this? - - To my mind it's a gap in our - capabilities on the trust and identity side is - meeting - going to where those people are are, and show up there, and figure out what kind of conversation have, and what kind of goodies to share. So - ! We'll keep - up the good fight From b7383252930a6db7cff56a7fd96874891075639b Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 11 Jan 2023 13:48:27 -0600 Subject: [PATCH 21/44] Update ps2grouper.adoc --- ps2grouper.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index c576e26..907cf3e 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -3,13 +3,13 @@ Ethan Kromhout, 2 Nov 2022 I wanted to talk about how our data currently gets from Peoplesoft to Grouper. -There's maybe a a story that I didn't include about how grouper data gets indirectly to peoplesoft. But maybe I can comment about that at the end +There's maybe a story that I didn't include about how grouper data gets indirectly to peoplesoft. But maybe I can comment about that at the end. -We've got kind of three main paths the data goes through to get from from Peoplesoft to to Grouper. +We've got three main paths the data goes through to get from from Peoplesoft to to Grouper. image::images/GrouperPsIntegUNC.png[three paths] -The first one kind of the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been +The first path is the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. So that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in 2009 well ahead of bringing up the HR And finance modules. The integrations are messaging and the reason for those two different transports are that the original campus solutions integration was all messaging. From 9417acb3da88b6675e3418094747b36a149fe6b2 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Tue, 17 Jan 2023 21:38:29 -0600 Subject: [PATCH 22/44] Create siwg-extracts.adoc --- siwg-extracts.adoc | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 siwg-extracts.adoc diff --git a/siwg-extracts.adoc b/siwg-extracts.adoc new file mode 100644 index 0000000..70bd467 --- /dev/null +++ b/siwg-extracts.adoc @@ -0,0 +1,37 @@ +=== SIWG-2022.adoc +- - - +_2023-01-08 20:44:32 submit list of work items and accomplishments_ + +https://spaces.at.internet2.edu/display/ISI/Service+Management+PoR-2022 + +planing and launch of midPoint User Group and Peoplesoft integration Wg + +*-Jan 2022, p. 221-* + +ID Match API complete implementwtions of the API in COmanage and independently in midPoint + +Recorded discussion of the possible uses of Grouper loader jobs w BillT and CarlW + + +*-Feb 2022, pp. 112-113-* + +Recorded discussion of Grouper templating, provisioning and proposed entity data system capabilities with Chris Hyzer + +Recorded discussion of COmanage and midPoint user invitation, self-registration, and onboarding and mP SSH connector + +*-Apr 2022, pp. 76-78-* + +Arch and design for using COmanage as Identity Registry integrated with midPoint for provisioning + +*-May 2022. p. 71-* + +Volunteers take on drafting a list of connector how-tos + +Help organizing a panel on campus midPoint deployments for Tech Ex + + +*-June, July 2022, pp. 51-2-* + +Interview James Babb to obtain better understanding of the growing adoption of Azure AD for a growing set of IAM tasks + +Organizing project for next iteration of Grouper/midPoint integration + +Procesa map illustrating the path from raw SoR data to access policy and enforcement + +Reviewing state of development of ProvisioningIAM's open source Base Connector Utility for creating ConnID connectors + + +*-September, 2022-* p.24 + +end-to-end demo of the auto-documentation feature of midPoint, ultimately this functionality was incorporated into the TAP Workbench used by participants in the Collaboration Success Program. p. 24 + + +*-October-December 2022, pp. 1-19-* + +Conducted review of the draft BTAA Provisioning Cookbook + +Recorded presentation on the WebAuthN passwordless login service at Duke U. + +Exploring tools and methods for performance analysis on interacting TAP components + + From 6e85477d0acd53249194c561371b17d59463b925 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 11:20:22 -0600 Subject: [PATCH 23/44] Add files via upload --- images/unc3flows.png | Bin 0 -> 34809 bytes images/uncDirMgr.png | Bin 0 -> 22872 bytes images/uncInfMat.png | Bin 0 -> 22872 bytes images/uncLoader.png | Bin 0 -> 25060 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/unc3flows.png create mode 100644 images/uncDirMgr.png create mode 100644 images/uncInfMat.png create mode 100644 images/uncLoader.png diff --git a/images/unc3flows.png b/images/unc3flows.png new file mode 100644 index 0000000000000000000000000000000000000000..4d4c12787ba891f0e70d3bb622c0940777ce9ad0 GIT binary patch literal 34809 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

GCX7rfiAvE$Rw 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�#h)zP^eeT8+I}kvJ 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 literal 0 HcmV?d00001 diff --git a/images/uncInfMat.png b/images/uncInfMat.png new file mode 100644 index 0000000000000000000000000000000000000000..0e1ece45a19f017676b057f9486f0d9ce3865f8a GIT binary patch literal 22872 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 literal 0 HcmV?d00001 diff --git a/images/uncLoader.png b/images/uncLoader.png new file mode 100644 index 0000000000000000000000000000000000000000..5f9133ff781e6bd0bcea80c88ce435f3f784e78c GIT binary patch literal 25060 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 Date: Wed, 18 Jan 2023 11:21:12 -0600 Subject: [PATCH 24/44] Delete GrouperPsIntegUNC.png --- images/GrouperPsIntegUNC.png | Bin 61680 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 images/GrouperPsIntegUNC.png diff --git a/images/GrouperPsIntegUNC.png b/images/GrouperPsIntegUNC.png deleted file mode 100644 index faec55302d80f35c9c0ead0aa540d35d17159d1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61680 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 From 07ab31f1e8ae7862aad6825fb1e7622c4fe33411 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 11:22:38 -0600 Subject: [PATCH 25/44] Update ps2grouper.adoc --- ps2grouper.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index 907cf3e..c85e792 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -7,7 +7,7 @@ There's maybe a story that I didn't include about how grouper data gets indirect We've got three main paths the data goes through to get from from Peoplesoft to to Grouper. -image::images/GrouperPsIntegUNC.png[three paths] +image::images/unc3flows.png[three paths] The first path is the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. From 877ead289be5941a6468fa3e2d7e439ac835c00f Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 11:30:06 -0600 Subject: [PATCH 26/44] Delete uncInfMat.png --- images/uncInfMat.png | Bin 22872 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 images/uncInfMat.png diff --git a/images/uncInfMat.png b/images/uncInfMat.png deleted file mode 100644 index 0e1ece45a19f017676b057f9486f0d9ce3865f8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22872 zcma&Ob9iM-&^H=QY&$!)?POwWV%xT@iET}siEZ1-#I|kc%bauG_q+Fx`#g8;XYKCl z)m_!ydo}9URXbc>Rtydr8yW}*2u?y=SP=*aIQA>P4GI4BebBgz`xO8?DvEsvs+`0< z{vv{m)g(-0WPqr?;*db!fRTYf|7Q9600CnIefuX41SAQJ^S^OLV2c0pfB*r7ngfCT zmq+6({CkOi-Cw2u3qf;%|1ZZ}kpIaI9GeUJKXIV#zr_ysG10yPC_8a=M<5^=l)pDH zPtGCEqhp|BAmW1t002A=MkZW}!lM5b|Dt$_%$%I; zxajF!U0vy1ndxjDOz9apIXUSWnCO|9XuopMI=b69>ATU|I1>NM11y5exqIzl!qwP34kv zFgN~^{Fgr;BhNoM|6ghU$>E{@EByaanSWdQPwH1w`Jj2||F_%tps{qeA%K7cfFy(k zf4BjkcR(a+54n>)xlVFIII%lS#t9RB3s8uhH4{!xCY8dEax&SwA8j-BUN~H`^rXR? zQonRl$=}^A6q_9uQcN_H82^PS><1=plpE*B&IOd^2>vwqoe@rrTv zvZ2}1S@!yQ|LLo|9yX*yL4fZ3(~l?@k^w+u4He`$H}Uxorm|2))FgropXL$yj5|CbiP3XA?*xUbKUsWGlb5tcb8~J7BK3tcOjJ0ZSM2@|PBnUlaM#&L;40D{khLE5&_Y>l;PH@E( zVbb=!wA|WlLQnB6X8scqx zka+mFo^veBWMb?0czn`$JQVX($Z!*yq5;s<*~ftN_=N@kT&6WdU-@BS2h?W#ARLfW zDndH!XL8X1N|8v!+rex>L@}N~Hv}SGBU1a}{7qGGEKDf+GDAqpx?SD~eTiiE=bxHXL%`^+{h=npzjFGKi0^k%j({ca}S)htB9>u>L zXu5_}p^74e)7l>h;cm%6b5BJx!E^^Br`QX$^LT2g#FF<( zM?oW)_QKsu6<3#tF}T4=$mtX{1Ufdly|HHt{J*mYj(+yUI~||kB}M?smUA6Edz`QZ zfgQc2gNJJ)!4Z4;H&p;~FE^W9^x6w(|HqS3FT39DIiAojTAua6-e1H}}^zm>$ znmZ#eX&^A7`s^}Akbe=jfs}7Zg1{ffNT=3LSMdW9kug>Fy^(xM}c=;-&e0v&*_Bak+r zc~ngX$6DWnpKa&0Z*&_mMj28!!w+l?Fa#_09F-z-3024p9yy)%@W+J&nu=eNDZlS za0Aa*HiI%7x~&hgu2k8Z(4KfUT)yva!ibw`B+-{FtUH zf-c;-T}E-r#Ksea8gdxq{f%-C_rgM5d}{I7R|k{=?D5F>LGqG6U6itkwi8luI*Coi zrsDWI@q`Eg5)~jyE3PfdRQ_@}JKyUld;?pVKc%LbvoEpz?vN-q#eA*CBNN8V5LSPE z4O|+KvfgwW2YflPUm4IRe46z#W6tvF5v(l1i!2I;tp2P_3x#AfeFu>exH`kytR13 z^;lDsfchUe4T8{5kHJtO`pysV!%E?dH#`0sX&FfXbqU6sCrh-OWk;9-obj#BMe4oz zDYW!ger`2#k>TCzVDnlUeu?a7nL;bM@HqZe1rmZx+hk`)#XX9G%#_Bx(UaL9$43__ zn< z0N^ll?c?Cwl3<-jiY{vsHt@LS%5E$x(-ba4DaNp6x6DxDDCnq8`56`Vj~Y5_$0sAw z1`oTMyLY^8IYqQzo0SUt_Y4Z8dt$ovUz8?ucC$f5KGgIItE&E;KUL?Ur>u^(m*ENr$4-jzi1DXO=&cOm;GfW84(vOUl%9eM5N6n99{>Q zb`)G|`c=6q;H9*iUx-XqQ+p=7!Wzj&1R}+Jr5%p;vO4{b>|fiac^49tSb zLMxm>S1@{fpT}MqG?P+H4<%LQV@V5>KFe3LBAkjdR3gVU@t`ATh73^^{9QyTHcrD2 z-;QU6xZ{}+{^Y!v?)=>qaG0d`h5}jDh`#rwxv~4)r-tW%vhKjP5ioDESGf$w2N*5i z7P>3K25dka6T%CpSX6?Q*ix|An-8hQFW~duFEFOhkVwP2Dkbs-xv6ACHqYnMey?>pw zT>BV@JQBbnSQbYk>@| zd%t0Y&K!(b4MAC1+cPJ#@)*(ll6`hunL)$Ld)g2_Lz74UYfm8Q z4Mg=HAd^6p8iTCkRt4L#()b>ljjm}TOQrmMdW8A0MfkZf;KVkd_)Rh0OzK;QgvdQH z(Taa&p06!KL}n2)mrHyOK0}C7wP`!B;S+z=NPrBH;zq?uVwYzDtgwZ+%iGRRt&;Ot zv!_1;fx|f#XGtj+BS{U$<~Ku^x(PW#AlqeBv&<(C$KqvazRamT5%(Pq&82d5J%fUV z461a_ermG;HAL(>vZ{jd{_6nn$YVR9Dt&BjeGHDkv^P?5?3l{Qq_QHLWf<@{(NUO` zka2$h4#U?SY05#XkM)QOMIcK5NE<>c?#&iocue^=E8pKB=APr@*?*iDMpOslJSB;> z!bR87p*ZjeN^OYjFU7L!SGxn~)G7Gk;zfy94CWLfrwSFMg@E*MWBjc{_zzNos$ImD zKNriS-7#UHKk#RV5C{k4S;agRVAHUx`^tdy#^>$Se!xZ7k#OrotLXIrqqDu4Iaa=n zOd2Q+PU>p2j>k6=OWL2H`i~H8Mc$1REjVS102xivP?Em8I~iAc-58~LJcQA=< za4L{j8KTRy2{RQ0eY#3T)6hsW_P>J^08Ng5_H|Ty0~n!B2?V*^jMS6+2SucK!l=!P z2&c!nk-?bIeI)c?vE;c)1DCLmgH#a@Ixx~}MkzIQp1+rR8B6)6?RSBjC-i#z^IocNtWuyzc!Ra=MpsO%DcfX>otG&m8XFjh( zaL1QWdY-OY0g>j%!~I0GbwD*SfNQbB5$R#b$nF3;ItsVlANi;~Y_|`83U3e)CjCif z$mz8#5`HXMN8b50R#&`Xkp=&f_DQ7K5`j(Ehb)#kBBbGRvr%r0`>Cj}R2rgTL;6E& zQ!^+0O25wOvClE8*4!uLZAYr`hUHAYq>&|e9Q9#n&`Mn;)8Zr>xO&7B@$Y_?0i-q3 zwKvurgh*f~8^&O9eVIHxuq zq84!P^Q~nTaxfPvag30v=6=p-h7qs|UV{Ofj(vxatk7&}@SK9?CM85}t)wVf!ALp( z*j7VLsT90W0~+v-bj-t~&a&nzEn0nCx63qm+mL24P9d^1CAcEOAIA||(j=T%3!B{N z_1JhigJ-5RDXWp2!cFB||@Jq&eZG&nK8=9N=fwAx4Fr;rg20=rF_>Vv3>8IY($l38`lVf3hCy$PYHl3dwAI7V1_0SI$RG=hfavOpMkEp&dQVR zCKFE$gtdX~+o!ycUyT7zs*8hO#=<NZ;uoVbXsoSc4IXgKb}Mi{dn8{%DPGQk)s) zp>(GHlkElPYH?2*mn*UX7gL(qlM<GGUtJDTIgzyk5fG;W&`@o)(6r{ zg0)?6qNgkS>Hg#@iHXMo9AWMsQCf%_&dIWG)fCTF4{5*b$=QW6`jz8S3Y4L6Ac-SrQ|sWQuf%w`~(aE*u+tEnh2q z=|h)=93LZOCpLsZ(zyB$*oMdEjsg1xxgn?aI`;%O&BMvnmzLdlvp;FI+Q(Kpuyy?# zlmp?Gee1_={3<^A?tu8Jjq%mSnDfTTm*rMwIVNka(?gzPT@gJ8NW0#z9q<3>=?s50 zR@gMM|7gG$>4f_qd>{?|rR^sK$e>XE3n#eEhE2{>ocxO>NP>A;auzX-RZop2!1hPr z;XM#5P?vlm56tkuQ;djAF|y^Rdy-OU!X|5O^U%~F`k{V>q-%2)kD$TYq{XG*v-JUI zYS}>^2+_Eo{PQylvYX9*@1zE!!b)0g0x$%9@RorOZAdawGVRn7@^sjdd@wao@ z`T^yrrpwkzRQyjv{7Z!az(b?;f&)DxWvZFQn2=G2Jm9^!&3@afYYxE;>!MxHK^~UW;9aYV;pQpPbm>FW23lL$5itvV1$#)lLc#CKIXZ;n4JJ7ZJGa;D{Z~9Ne6o!I=v4yV6OX;H z;HJV$CE3j@jiE}0)>*K1kJAw&eAU(nLmvz%@aHjhC+V?s1Ak!qqnf?dN7!4hCxTDm zo>acOZqj5+U!5OXu;403$6%uwk!MWxwK78OceL?)yns&=;LZA9M!WTpk`GGqy%6K) zoWfz4l52YLd(03t6!E_(@P>?=gvx=F^yl)&lMvDkvdkGUW@z$mGzL#W;@L(O6K0dD zjKAC^fm05JMj@l1knqvDU`xUj)8LUg1QTd-tx{NG7!CKvkH@M`x965)ueJOX<%~uk zCr$m>f;od>$g8`RW9NHw0@6j*;$_!HPcaS_A*MY!q|Vq|8ZZf$6ORpYdl)+7AO8ih zS!C*4-hY^qGBNgm1JM^9$#-X|Ei~_b8#U-)@N#{FS1DjPD;}740DoVVge0TDHKx>Y4`!o zx@=kQTf_Uz+zKuEb=vX-^%x1Zl;+?%f&U7xGAlx&D}dkC{bSqJ!$hM$@5KUTa3@bm zwUB~cy>=E^XoZ0GoY&#ZA>%j((@Wca`~z~1uW`h8d}eC%x!BkZ!2jvA>z*ym#|Bqv zU!!mogUsnx3vww|yk|o8%y-6`9THU>z|0(dh!vK^M^)J*q2p54zg?HBo%${!A}hd> zbA^hFawEj>!qn{4GL>`n*x*by;3ss3KQHK&o5TfWxlT|i zv)12{;eN5wv8&(=B|X8%f$ZZAPh~~1nlZ${wzyRcFd%ZPtS`$w zb{LXIAU=rsu)PqIjf#sY7~T)Lt+1;UzW-s;0d&>OZch3#Juk5|KfG?l^sYJS%~)VU z2Ga61QG2k3M%`9q79!e(01uJ=vepia&&0GfanB>kl#L4bTmim%+cG0!5dBzmi?eSAbQ>XjeitZMbGF;`Y~#lr z6^0!i7CP`U-o1xB?fBl)V|w?_@ERYWWTuw#3$}lem(W|H&m+ui|9hYSMN7!<0sI_& zO%hnxA}KGwAc@DNm*A5!*nT44v4|a9cP1VlqaRvqD{fVW6Y@v=Dwwxy`oMRnu9EB< z9uw_uFGV5sQ>Z?mUA>5Is2&?(d>~`PkUemz5=K8zeSVyT!QNzMxvCwuA%rS6iEuhGx34ot^*_QymE-@Oq@?!q!`N(iTCPWyx;v>36h>&WJbJ1nDDR@rL zR$S@5OsD!L37LCV^=7luJ#^I3j}8KC@LK5WN@bm7OElGjlI9IP zA#vX48J{o(={}`xI>h(v7W;eQ#Coz(6qa#LPW2-Vzf)w=>|;GB;%L+xCE>kVhsrb6 ztKC{i1OtACg(a@FgVY~3>*E@!+@jMZ!DTdIhZrbp&|&tzEa-}eqiwlmnNth*L3Xj+ znRX`b3|qb9^-*>pN$p4wXvSC*2^?&!=qa;o$7?I-t5DS-+PV{|!V=vel72$k3)=5)h zlY2P#CcxR=Az`DFoy_K;({$wlDsq_IQ{r;<*8)~raoG%vPmUwJ?7Wsr>(UF?CwcxR z5&{+1*wEDImzF55#iN_5MwzBb)-cbiCwwgW?)2P?bxY)Z(K9s`TvtrOO}{CQy+4E? zq2rTx=CeonJdyDUUG#%4qiG!>0E;jyR+_?DJ{=3ZrT|*j0M7suGTQErcqS|=%HJBY zL1;dYHPPS4^b`8@l#K3S8JU((%%2kx#ufV|!HkqlG!UTgXna}WLRI!HU*SNYOQ=4z zn47-nkgUyTF8E^{<~!95Hp9I!7Odg>PW4dWLxZ4j^}X?vwEgvUjeHh%Lgw8AVvGXi zLgSFZq^alBgMzaZ`ggP%dt9HZFz{y70>Z?6IlRoZV*`Jz+V9PV~r1AK5rYp{Z0R& zCfRL7Au_Flj6+~Mr|0e6F}tu}Fem5L^z$Hbbcmn>;<#vVPw*fyGv1;g53`+>mv{Xj zP5Ng%EEYNz*jV9cS?5J-%dE@n+7f_QTf3J_5&GmZhk7UmH})AO1rTG@F38-6-iwiS zp08a}bb|e2g{d|PK|IMK%?cesa7Ofvj!(czsH9vbY)U&z9{9mY@I5uEy;)*B4!1;> z$KfcEBp+d!pC-aR77!=kEFdG{Ok}NQf5f~HXz{%arF7KjlTp@1wh~LIcx)=eBPlUS zQu`ck&PmO|;Z{ahMfW%3iAZ!#+JG<+*xLM{xYwgAtVSzJWN}hK{9fc#C}H(ERZYsk7(=Kix=m}RiBZ`N!Hyg z_j>(!W#GIXBkrA}hMA#%|ON+CJEviPZWDyLRHo{61kYGz#Spz%FX}|C>j&Va$0Up~T~Q;}i6; z?Ey51p}?@?(y)7&`9P)?{a^rDi24$60lj2V4od}2i?F(0+vZ6 z@aJSh`CiqisOiR9qaGy%6>8=deqasuV9=tm!Iu?>!WZ+zBEgNu^rNkVtpA->Mez*2JPyp3?#mlQ5fGnE|250Ruat6Wj^$NcaVbXUG$$ zQjk`)wrX&?JSnNSTcxd)l!_3y%+kvG+~4{#ipU#F3<~u6f(l1O`n$J(RMC%cmatUm zwD{F1(4=v=bnM(HbGpAVytt*Yu-0QYkV5Tx+IE>>jzcjVH#Z9h^51s(KK4}yvySM# zU2cX5x8b=P`Q@!q1z%~dp2hfg;#0yI`vS#{acqQ~AKJ73*t~yy9F6%rCeT|QOK!zs zbvS;*O6zhfB|PY-{e}|X$ycJqxG-X52vD!z<~6giU}@~n59RL@F8YR2U?2@rHr^(N zc3q|OObO|mjyvd9d``zqy(+z6z^KFB#Mz9~)i9p8N?!bIM_aRB&byz3nr+!+{r17ITe?LZ_S zRcPprvxSqX*a`n;-wHAk`Xh$-xiGHBJWY(vq=aR1Rh`9}YJk)+%S(VGE%sR6kF##< z#CK#bBn12lq(5~T%hVmg`va@JTT7A0YEFGTsE!TZrffzH!DP7hS7}TtVf4}rt!9hp z&%;D45Emrj^0J$OTQ_05>CDZD7yjA>N=kf}jdW+oZ=SPbO(&tt4`4jp5}gbIUOo0_RgEiT*C@c~EE@dA1%Oa0G`Vsu1UJg<*NMKBK@SmO=N2nl&K%A3P$+&*sKK({c&#B zg?e7pTnT;&g3}**czx&6p?m$_(3MD+BgCNnSwNKuEZIBbTq(>4XL2GW%KE&NYK zdl=|KQSQJ2zxvN z!j&V3G0U1xCOY1AK+oV|K@F`RiGEi?;tM2{zqCjLfQi7ddPOrvn{9?ni}HsjQv7#V@ZQzvupmrTRYEPt7~(Kjg-u)2j@4|- z3h+aM8q7vO?)(KNT>EL%a%sc*3u`*zk^A*&l5FC8e<2?aM(FySVgA5^E9!cZenq_= z4W)`Li`?vdw_LuT-W7%GU3LNwd&3$RrEH1Ko$eHF!%*#uvokT8WGt(kZMog=8R8>P zQpFJv=TClCD-~-XR{ohe5x*T<8vE>Z_o3OFzrD!V+0$Di49Z%# zSo|?@8=szTCR~yq%FO8U8fjFE9shElZYe*L9q_XnJE(PBoP<0EkKHiZoOs4u>!_z4 zUGG57U}Atkt4P+W6u&5Ir@zLbq=stR6iZY@luXNhKVAW**pvh-q{gKW-F<6&DsQvD zBwlJ9?i*C4uNDEmAGXZUKDLb z=H21e64S>Ubq~7~Y{!%GjWjj`>LSZC7&*9bFfMLJG^pr0qb#~{L8V0fDhsJB2a%GF zPcjIy+aS^-h#t<=gcqQgmR1U|iLQyc-yRd@Eq~SrpKL!8!#BW! zwj6EtYRtemX2)kwAVECYUKT}8Xnrz6{D!Hb-y9tk#ZFaDI;JY5T&pFE&uyhLT(N2w zQ^RgwG=fDB#b^4P+HPthi-hP$sC`Wj-&q?LkV2d9W4=kF)Nw#rk<8;6gZ6kD4HgTO zu8j^p8AM>wTK%0@9b$kQy~wlHk{uYcRhdW0hmp7Wlz~UtOuW);BvRUT=FDqMOLc;P zpDG9mqL{$Y4v3xrI1djl6ixLO=qxHJ^-e7~+jmK#%ys%;t{EC||M!?wd5!VW$v`I+ z$hLV!#5c)1?apJ22kLY6`s4McSH_Zr8^E`Vl=#_iwO;pJLgSoR0OH~-N>C4BO=!_X=0Qh0|6-Ys z5g6xuq(y?HB5U1lNqdXf{_l87n`@L=))Nk!tp*8m1}qz17i`(Im-)ntB#f*|4h(%~!7^0xzVcba7#Zh9 z`I6DdxP^3+Tow7|#rYLV&3@aR+A#rue&8X&zA%aU^=3}$S}V!Ej0wy<1lRKnYAOk` zNvF5#?4X#SKN|_|t7zgp$U`%zT>TR(1)1%`Z&@!H z1iYWf+Fh$>#|Qsh=hejhLGY`Ivr|wfGCbofZ$=;>BQenm@Oj=*j{HQa9^nNhx-98_ z`ibOQc1aO6?Jq~{%b;{e{O4wL94ke7fh!?eE5i8s#ls1gBY`@3Dm*LAj*y_p6dsqj zD819Zul*_iR(qOm(CKAa^7^bPxe?#In<#2M<7Zq)LNS)(@T;v(7YTny2)$X6uoT3q zoCfp@9zJV8B8`hQgF;$lvqE4!IOc*}3xw(`hf3G*SRu-1$*-#GGjJ`jJ7 zWi)M=I$bAfaXguW6~{eJn|hM+cR`k=C8?RTZeq4S_u4tf61ymAv?L+Q*x&Y2aTDL? zi9YO;&m2H=@i{(-4|&d}VICc{hgB8;gQvcZHn`XuekU3rA5F2UxV``)lO&2$H;c~Ts1x4e0 zXHx)=-)X_;TcNO)q30n3Tz;}EE6$n+7NhLs4!tET1NKxSJuu)1Ax*&OZ2i#51JU#6+LAJ?& z8hx=2$~hdpth9u1#YeW>2#%H|7)MLaZqFH7`T3Fx$iq+^VdVhLMvL0h?M7>|AC#>;J!5V3-FHB0#d=L;c>9*seY>8`k4K% z6OwWDPROrs33s=; zB>Jcn4kf)AT^ric0uvS(lVggM;Ak0@ioZ^~dcNSkVU`_hNdA_9sq5tl*z&GzTw;4s zFE|t^RNwxoq(`%|Wf%5=Oz*}X=Jj*Jw|pVDR;fR4rkEhD(3T<2sVa-qkQBSHQ`ssu zCl?sT0CYHJy7rIR5V_YDgHZm}?_1+_8ayq8y1kOQSD( zV!P(7PPoZEmk6dtB!gm7zWsgy=^t0~tY-H$G6;gc!ukAaR@UCXt<*D3($6-Q&{<%;zD*1~iu3Wz z07##`_^Saym!Y9AfnsZR?%uQ;F>tp^-!}+)EziGO2Y zc$D!&vd64ai23f3h>6?lr0bI%Xq5mSzD3j;0tg5usYWc~@(-s8BA}-UddTteJov*v z<)FCSw_A-!VWrgdxjJxTc5$?o@qJl8ckVfGk2#E~gl*{+E=35w26|3ikd&t?RW+tVl<`H&8hI$Y~ zeVDY;RH9kLSt%^TfA^2!HYP=ZtQ-N^dyOaGmL7;t=e(Jt~)!VPE4m19JR`mwepctnI@#zTmH_S=rIrx3(Sa z3%wCDAb+Yc!jqUl{h1!}qK*|-1wn(d-M~OT@D{MnY1{eq$Z zx%M81@O@Obdi_%8mD~|>>sHPR%4LRlKiJTBFOU8Srt$Tu;xpRNS7YB&_erNZ0-y47 z;RCWiSM=A^3y!TX0@(WL<~ynkr;xo##-Ghk9>ln|xv4B}a;an*#&0SrDx+UEy5suc zurMLJ5&oi^0b&fJo!VHku3%mKOAs*VbiEQF9g51zq#`0BPki4xn|7{0^mNxHg>4rD zT`^3?41CMgT1LGZu6l!EYV~>oau);V0%mJgpLK8y>uz=)1p|B{YcZtr}-4)e?g)z!WaBH5%v;w4wBrM(4(fFEA2 zGmQ!wW*)ES58y^!A{dGxNa%Ws=;{uizjoN^hvM|OD=F7*V=GY%m0zDkIjShjI;R^ zGSh(qc^MSE?_d2?Pu@Mq;a#uV(;tvB{E^CKOtCew zP;p(}g5Q6%qn~~kc;jrgMsa9jT{^l75dK=!zS>{ zHDlE;U+|w5lmf(%_{)pK%8Et!U&D_rwlCAp7C4SPSVd49ikZdQJ|tjo^4=;{CjxQI zdnjGRwjd{<;;56NhPG4O9V`pj7BJ#vou` zizw{uf|!Cd^~YgOW^tIKmD%ir)9rLI@)}0};hcniHpVUq?F* zDL}F!4#>!zkvuFme~M(3;tCIM0eSA19ghJoGHC2a$(%+eCZk^x%u>_2wJynH1Q@Uu z_biX25=RAk3vy^twqZ5a_mBYg+fc3N=jX&Q$YeRI>&1KHY0h~+gd5V6*e>}@Z4U(A zXdEBNK(^;Ci~;&{1YV5gJq(HSL`X%BT_qnr+gvd9_arD#7^bg@&JKpyCok&dY6zP2 zr-wd`k9n0<$pk)-K~tLOK1*(mqBa5gSi!3?-B0|XIBLm=Axa%I$=iy>0^UcLra65T z7ux}Oi>G<8{inp;i#}2SE^hAqtL?tor6md+b{kZm-+M3jrw4|7nS!<(?aN*9w~ znx(9;=pd~qylUd1_MA4oS0}%#B$bpB%GGLmy}0Td8&!1N_tEM|lEJrAt}Ee%7?|6-Rv$!}KO8r>$>XMPSA9dn2##$#;qvk_aocX`PVSuGui2FquAM6C2$M-bt@r%QjQ(8Q z4=IN(*eY1V&v=E{yy{C%{ATv>=5XXo2<&Sy(vQWBQuaE5Is&Vit9%E(xQC5-daY9*IS;F7 ztoNg^UO_{H3WH7y5qmDj`$0WCDk=$&+a;9)mmpE`%dy1<%t^R;=IW|rJ_;p(R4O?V zAlNJTy;qsjW@!23?fF)$ody*9dOD+8r2D~HUqA0k%=FcEyEnLLt}QoLuYYO~=Xx4P z?rUP}|FcfeeEq{QR^G1BA{_3V_#s<0;FG0JSJG>Ho64Nw4+FsWq7K_5O=GRmJ!* z*zyPCQXfYamnCmqpCm_KaoDiOiy8IHC@wZL3kYlCp88ou);&j)6NvTV$Vo@#Lk7Wr zEf{%yI#QjWAki$0HHJzw+sWI6SVxyaPzhK*iwHAWG4GWz|KviW7EJh<2%=eejhF_2SCj#di1h597| z8~i`MK>-v)y5$Aphm=_d_j~Iq7dfmi$n(>5r<#zAm%ISr!ExaWfqi0)Ip z*_tK-=Y?vUm&7S2WfNN|U#v{O8pXcEM=xfD;B7D-gtALD^h;>t)Ym}6d z3$oHki@@THQPc0PxV}7MK2r3I3xF6kr1AY62OWUfJIt9(S9p7W#--qW`=#fu%f+r5 zommu=JNX+m6OYGh#{EY3y4j3$e5OJ4*1pwCgztBZ3K6 za+j~a|IW9YTRGRZLxJOMb}-pdT^|>!Gk)t3e~Q~?yjW~>Xt1KK3RsbbhVkWSflnaV zWyTr&Z0EoT0p#%LXomuNr{?_hjC0jb71uB}!nu zh+i+A{t~4IsYv(fnUYxdxWJcwI(|fsu&8LdiGSf`?UDL5Vo1ih#ee@*Uw;ZTfB8|8 zXnBgB7XCy2e?4_xguD_@6bMC%-sg`4k?Azt2w#tv|{c zJTUyzTsxyFqPGC}+NUfy6|(gc2^h$d&B&{g%gDghnjJIU%D`KhrHE$^x$V!Qwdg33 z;xt(awL^LxW*zGIQ*PlyT&Kf%ve7$a5#ovj(8y?n{Fz_WP6_HKF*mnJY!4uk5Dyc? zm*pW3ah#&(EK>qAq5j%2nOIJFG;8D1}q*ej)ozn}JE0F__w&<8kEGuewXXCNz5`c8-ETFU>m#@0T)HgJKnV6Uw`}84G(olUHM4DC8C10ef z#B5hm{8R9v5nSKYATFaEoXM?Cr~5HVkY@W66D?)PQzV1`6;Yn}9l4Ov(DnEX{!9XynRqVNN@=vufnH zZgsynymtrh?CL7@4=K32#|&y^gG3$*5hqt?Of*$b&EJ_k_QD3cJI2R1^R6Z<@sQ$};-I*lcgnyweg!kFV#$~yiv zJV@NRnIahunYaJ=l&48r% z!id{v-gR^dYH06WKKhhln@har+VCn44vs5om?rPb|HGKCXzmYa90VP*`?4nvn<(0x zCQ|D4-+Eqam%w4d081U&V&MBHX?#o;;hb9RuG;Y>*sC3OHu-ocgP9P6e_rw1y7w2 z2563it$S(yLTxnXYSs(VVggu)(wBntbGlez7#{8+jrL*WL>}|cY&<7~kve!l%=znI zyhZulE0Zb18D}?^0|Q~Nd&q1)A5w8dGoBgCColLUA{`&fV$+_Uehy7fAB0eYw8k-L zc@FO0r|V|Yneta8|5|gBh>VHL*15QIi6%_DpUzFYwx5|@X9g^uW*Dy@5dAT#RfqvF zoVK|&vdCj)P<#IZ0z!ZL`(FUVR>vdiv+$GEr7eB<8oL7$w z+h82Tt(E=mYaa;Y3GLBc6{xT=p!<{<+d^LJCZK6WdzXor?oKw#(Ssn3RoDXY4o2K>g=7S>2P!b?;zr16>T#@Cox_WhwFL94= z8`Eb?n|YR>pJjv3czX_?hC#!mI2RLFce;JLs5N<=r|hRX%3NeOC%DXAu^q<~ato8< zhNv^C8vta0-DvV!fk$@6hkhz6(}{&DJ)>NCnx)PJg$6Km%Ktim(t4{RU+Fg?V`@7JmEp z4W-u}0vN0yp>EE93R7EEg%Y=DcK9M3^RV7c<%;FiFn8dxfX zFNou~#k>1!AWh61%Mv_bdI-S9rLWAE$=%R^Xi5VHf+S=MM*V#K0b*{NQ z?`*kBN=mAq&B&KjRHWe2ZnA^zC#vmsj@K%2%&mv&Qc*N0scz9!dd5Nln8st2k&*3W zeZYmkhsajGdKCZd+vehr8u@emk4vlzoJPwfw+C_*Za`Wu&QAmY3ZXL$W^c{*j#8I| zC`2ZC^Y-g7ud*ZGty>eeh%S}K+9eA?6kPGu)i5ctfP;xA0!m7jisy$m3~5Cx_kwvA z&RXV96uftOg_ez5k5jBgjE>?Z6RH66!jOnDckEByo|n^1sR*x~5$4j6neg5p?=_dH zEDwWyk8qZ7IfF?#_n)ECGBUjY5eO0Y_Vx~|GDuO6(8=bd6$KfQg0Bsl;W_C(!6Eok zOaCLg-ku&>dd*3)o=e4zfV+juWm}QtdvYfqTmq%g2!30+)7b8=81}-32G+R)tz?X} zZ#o#%SW)pecAxS-sC2Q15xqWc9evh%x_q;+zJ44N4u99+@r&(*^6dEJgj#VFZe(D< z-Fh;!Y1^A9Kzi}1*jfn`Z`R;;Pdr?4(k zgA^mrjDDl4U#{kbL*9#uiOE2!8XG6ab;|u#8-C?5g#CDJJ|!qkE4>q~!c7#-b?C(A z3a;i$ur|%g@;5zSTz1VhwMAHWc*VkzfphBEx=e*R@o4ppnI_|FH!VaP8XA(YWCqB) z5#iC{A_B0|+bL^v54(yoAw0PbrssBR9$U0lvWDN;JJE3$EBiV-Lr&S%ikDxMlV}CD zmud7M?t%GjzdN#F_oqJYY3z`NLHsq7O$WF&Y8yv=T zs@mIYEOP-X4yjqd#`pq?AvX4b71yfj?FywKGbM|P8h?1!d9!g5(eyzkU!PGj2FeK1 zlGYwRtRaZj7Zr6Mq7d(pp$kSHsIO|O-|id3uP#bWBPEXRWaCrSeIRS9-LRvY=r(#^ zbJ@(W1tZPvZXbk7bG08PZoF|QZU93f2^f0>So|GWS^F4rJEw{3L;kTQT{<^0ylEw3 zxa2`vr?bAh$QrgNY&7(Ao?@qE(@*~!4j1DRqFea!BVHm^lgs&~d3Al%W&X3+Z8T*uz2sw^{WxKXgk>I`=Rl5Qu`>+L3YjdWz7#H-k))^T9#r zIX~mUp&_LFq=v&{mA8pKVn5SG375Z^a#ZthG{h^vW?zB^m>7!?kRUrV zDSg46+ahmdz+zx&>Q#M({bZhkymB$wL-)dQsewB-sY{869%S5WP2RiqHmfUPD%hZ~ z0K^Sj%7>5ajI%lA+}hSHc^H-w?R8c&x&b!E`oPESD^r@J$I!w;M|giq6h(bsnr^VS z$L}40(psKw@DR*Z3%|bLba-D#Uy@F`x2pi-#`j+^2L!*; z$;5!JB0Jn!f}RbRm%Niw>HF2WYYC5rK}SQp0YoDhsqAKZ5;2Ncyg_Qi-Nq_E(33yh zE>$g8^GlI#gTTGLBn^Wb3YkQMri3eQsq5;<6iHSeJ?QcQ(T?g2Og3Y zNVYdB<}MoGPpq+`2zIFNRuIq5bYG9n1OM$POO_PI`zFb$FCkRBzv!(eZ`ZpIPAZzX z!l>!}5cEJ>o;(jjzKwaWa&fiI*^A9t7Z#ee-bVxs0}58vx0j8cmE5jx&e)gt-YFom zkC>?L0t0o8lxvk(>JQv!QsSWR`)x?ufg}4{KSpo9b~jlHtfYGxgauTc?$mTK(uTC$ zYI!Q-$nQdC=u!`@bfFrWPGn#MBAOoL0>_}f3qIy_p%x7vyu>L$+7$7LkF19A1(SS}(c9D1Y-TSu@;T(e#uM!=0pX8opP%I{Tf0xYh3fe)}r4Zns_v>^c z>B)^lC#riKoYP~Ra6ig;CAdJtZxp$brS-;nt-w(54bI%(>owk#J5Ze^mnvKS(}~8x zxz?Nwi3_(2i7EJ+D{gUQR*D9F2gvgc1nh?zSkq&0F9H4iHozj-HfuRHf4bY2yLF@# zUOKq(D&A_S;cS|4Zhby*?#`j1hotCVvAdxVxxDmh1i1c@vYIIs}a64YkIFj9iw zeDyWQMDr@*&Ro?p0G-m#dz*Pq$M-0(+VURwEQ&-N1{KETXaME@q9#lBO^r4f zg@62?rn$3^Zb_Vk;M3mR(}*K2rbV-e&TPF+CX!0vhC0gtvW1I*WMeS4+rHD)Z_RvX zzcOG(v>i~^vE_A#BFXN&0TeMbFOGGcb|lab=5{(L(xai38_>nZ+`ldTAp>xHzp-~7tPalT@GwA)J*);7mu*Xwh^%rsq80;2^J^n$_zBy zn$_EdgtGqC_W|`6QZ}>e%t?tNj&^p5fs4~IyVeVLRxQ=JeTf;lqFcG*u)H6kmwJt&hGTbRSdo?NGhA^%Wk{4*tBwJ4Rxc$xk=$59jSkGiGU<)2EN8w3o&B&%ix|BKW~NMaZW|3bxyPz)>eNvJCD|}mMI8KgmS8Gj!PMlf!18({j)S-?x&~Tj?Y|@ zQlhRQ^fbb(>1|mcQTkdEnan5c5A$gQE{&N;aB%U__b*P%5ZD+ki`>UbJd- z8mrWiWx-`N-(l#20sam(oJ2ySCA`*;JZLIZA zjxd`hqjL?Hfis?;zp%%|?1bwpi4n>z#9C)AN;>Cl?tzVvD3_5rAsUw%5lg>6!ngc> zCni{2FNvQRo-SsF#SXYk+7{4EB9gtQqgxdF|D!KQ9vtx~ub}RkSQ!~W*Qai>mXsvM zLjSTqQc%#SND1y>R|>|U{1<|!o9t_)Ycb!>7ljJ`bWwL`^~fD?DT=;sxK;h4mtNB^ zC7Z9oGy@i>1})*0N({H0I4-8_djLdw-)PRrix_TY$3RfdV5eb|qELuhhz6&+V3qX| z%oK+Hn8439UTw-|W**)6=LhFh45E~7pb74pDp$}F>6#3ITf&;vQSnDlH#Dz|u&cL`Q5I8ol4X}8J!4gc81hiQ1OQ_6e$pHFX0O0c9RqzYP2 zw@kI!of!i_g6;?Ep8rbLoobg%=SxEi1nr(=u379zXW?-B$it9_-=chg+PpFFy7`%s zGx~xpU%yM@l4#E*jRSPx7Q66QX8XLy_3nPWREU-Ishn87hwc1r*Lx(UW4!?;zZsw? zXm9Rgu_Mmc_#w%Rr|7&Sk}Vc*XFd*<$Q@8_eQ!J-A-N~xH6 zd#=u|YWlKtwj0^T?!zy9*a1Z0({xe0|F0E5mkkKRq%b`O5h5iw?*gpp%m44>P;{VV zv&kAxI<0Wx25AzpiomZt#6J`lC}W`?puJ!k+yOsi)>_?}-&*IdNV!h-LxuJ;WjfM( z)>c5TY&(sGh2u+ICdPi2D2GL#D2kdtV}hd&#WkU^CUI>j9*gN27h4)Ft~0r!8}!}9 z-&r|~*uXgVwGo6c+4j?caL1;K=7i4<37BCcoPlNT-LGA@IvJ$g=}{*g{XLKw+ObR4 zHb+u`1|m6bYG8Kiu(@$_W?^&=Fi+U88&f{t_*A^g;yeCS*{rloz;A)KsBYZCD^i(- z=N&t^qgV&OWR-7fNRJROIca3 z)Yg7-w`IUtw6_m9@5Ky!vru?xkmzn=4f))%aCvNQNQ_fVED_`Un$cy({;jX9^8i)4 zBfA>0ZR7j=$HLjGBoZ`Ii(M%ojMIZTQS4pk@T)*qO_8!($&xmRXL-O0FM)zj7LD$joz%80#03KG7!e6m zG5DkD&#$0x%0Rd3xG=x&3ZJm}ME9RX@VHN`5oQUJv|Eg1RS+AuH&BM>*S4aAqF#m5 zk=pXD!t}k;9cvstS-e6YEMEf^KZ=fxY^$@rF1E-(V&CPVgE3uO5GMaZNSO0_18a#^ ztmUv9eNhS51yZx%AZ2IIg1bT3y^t=q=YN=f36s-@#Qx>vNKM5ndR7k@tPwW}5SDGp zd~Mpo0`ccTJil2v68Xz92Z{46+v8Nrfo<%u)asTxBKB1OIfYySU3ZJeVnQMy^IdAB zZ(brut-JH%3afqGM7m;D^8OLe)?5W*z3JJ{ga2f(-kMwordNf(ijTby4mAPx8Dmh1 z+PgWH!6Nb2jQFHqER;_uT7X^>d?>2e%LrsoLYl1FyprEC?r;-3;Y4OWRR;X$P@MAK zC1x0aZ2oJv5qzWU`E-58p{mDsde{5JxpHH&{_Lgxlc8g!+j+7VUPZ09Y}bpnmvF-y z%`*geU#iubQ|{jpr5NOsMT#qRj%1H!wt?dx_dP6G?Qx4O)Qbw)epusf!f5OHg6{{L z*>meXnkBSQKv>f*`wg0|8oW~Mh1B86<2h$;<^}n;j;>GE2Z#VdOANZH?6%_O z@2)?x==v7)z3Hs3<0H!%JITHkYh29$q{hD)-K6Y2UcVvX16}=g>dc0oJtx2`rj!7e z1;CA@@yz)ZdsmrPdH9r)L5s65`eEj*g$vg~24G48_brz|o5DY~#HNHT*c9#(S`E3d jXXn42IiCfbU66$CW!PP|Nx4O|7uHtSyZceqD)@f@awlLj From 9fc35647054fbd7958175d23c95462cbd41b887b Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 11:33:40 -0600 Subject: [PATCH 27/44] Update ps2grouper.adoc --- ps2grouper.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index c85e792..ac11396 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -17,9 +17,11 @@ So that path through Directory Manager includes our oldest integration, which is The original campus solutions integration was all messaging based, and then we just found that later a polling strategy was perhaps at least as effective as the messaging we were doing. So when we did the integrations with HR And Finance, those were done as as SOAP transport integrations and either way it's It's pretty close to real time. So the the information that's pushed by messaging. And unless there is a ton of changes that back things the updates are near real-time. -Those that are polling or polling every five minutes are an acceptable form of data integration. But a second path that we use is Informatica, an ETL tool. So the main thing that's that's used for is for developers in the group that runs people soft to write queries, +Those that are polling or polling every five minutes are an acceptable form of data integration. But a second path that we use is Informatica, an ETL tool. So the main thing that's used for is for developers in the group that runs people soft to write queries, and then either push those out the different locations, or create apis in informatica for people to retrieve data without having direct database access. +image::images/unc3flows.png[three paths] + So the developers in relation to group or do a fair amount of querying of things in those databases, and then pushing information into grouper for a couple of use cases i'll talk a little bit more about. Is it near real time for those other integrations? In the case of the Informatica ETLs, it's really up to the developer. Most of those are things that run on kind of a daily cycle. But,,, the developer in informatica has the capability to schedule things as often as they want them to run. It really is up to them. From 420d94e2a7ea9ff9052aabf53e510c3ee6d4053b Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 11:36:06 -0600 Subject: [PATCH 28/44] Add files via upload --- images/uncInfMat.png | Bin 0 -> 22872 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/uncInfMat.png diff --git a/images/uncInfMat.png b/images/uncInfMat.png new file mode 100644 index 0000000000000000000000000000000000000000..0e1ece45a19f017676b057f9486f0d9ce3865f8a GIT binary patch literal 22872 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 literal 0 HcmV?d00001 From f14f334dce5967f3ba2666f5739fbac071e8bd0a Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 11:44:20 -0600 Subject: [PATCH 29/44] Delete uncInfMat.png --- images/uncInfMat.png | Bin 22872 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 images/uncInfMat.png diff --git a/images/uncInfMat.png b/images/uncInfMat.png deleted file mode 100644 index 0e1ece45a19f017676b057f9486f0d9ce3865f8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22872 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 From e674529b54c4cd7bbc37eab2d0a4bcec4ffeea31 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 11:47:03 -0600 Subject: [PATCH 30/44] Update ps2grouper.adoc --- ps2grouper.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index ac11396..e7819b0 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -50,6 +50,8 @@ and then informatica has the capability to push those in the group or via the group or web services. So a lot of the roles that are people solve security folks create are useful in other applications besides just inside people's, so they they function. As for proxies to other data that people might have access to because of the roles that they have. And and one of the Peoplesoft powers. So, for example, they can go to a data warehouse. +image::images/uncInfMat.svg[Informatica path] + Instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? ! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom From e19f5803bc369640ca340a9923417ebd0d7bb6f6 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 11:52:18 -0600 Subject: [PATCH 31/44] Update ps2grouper.adoc --- ps2grouper.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index e7819b0..fba3d2f 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -52,7 +52,7 @@ proxies to other data that people might have access to because of the roles that image::images/uncInfMat.svg[Informatica path] -Instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried +Instead of having a separate role structure for the ddata warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? ! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom and . So From 5a84f602f71bf7ec479c994d351d6f02e57b1426 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 11:54:47 -0600 Subject: [PATCH 32/44] Add files via upload --- images/uncInfMat.jpg | Bin 0 -> 32369 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/uncInfMat.jpg diff --git a/images/uncInfMat.jpg b/images/uncInfMat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..96c523e94b5e32e26b2ab569a0533a29cfdb817e GIT binary patch literal 32369 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 literal 0 HcmV?d00001 From cf6a42613fbef2769d581286097d31ee473e859c Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 11:55:15 -0600 Subject: [PATCH 33/44] Update ps2grouper.adoc --- ps2grouper.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index fba3d2f..b13b655 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -50,7 +50,7 @@ and then informatica has the capability to push those in the group or via the group or web services. So a lot of the roles that are people solve security folks create are useful in other applications besides just inside people's, so they they function. As for proxies to other data that people might have access to because of the roles that they have. And and one of the Peoplesoft powers. So, for example, they can go to a data warehouse. -image::images/uncInfMat.svg[Informatica path] +image::images/uncInfMat.jpg[Informatica path] Instead of having a separate role structure for the ddata warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? From cd771c90550216975944483e7ebdc2fecde02d5e Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 12:02:37 -0600 Subject: [PATCH 34/44] Update ps2grouper.adoc --- ps2grouper.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index b13b655..f2a67b7 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -5,6 +5,8 @@ Ethan Kromhout, 2 Nov 2022 I wanted to talk about how our data currently gets from Peoplesoft to Grouper. There's maybe a story that I didn't include about how grouper data gets indirectly to peoplesoft. But maybe I can comment about that at the end. +image::images/uncInfMat.jpg[Informatica path] + We've got three main paths the data goes through to get from from Peoplesoft to to Grouper. image::images/unc3flows.png[three paths] From 711cf1e0e9480d799c819849c7230a3bb178a0c2 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 12:03:52 -0600 Subject: [PATCH 35/44] Update ps2grouper.adoc --- ps2grouper.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index f2a67b7..b33bbfa 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -14,6 +14,8 @@ image::images/unc3flows.png[three paths] The first path is the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. +image::images/uncInfMat.jpg[Informatica path] + So that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in 2009 well ahead of bringing up the HR And finance modules. The integrations are messaging and the reason for those two different transports are that the original campus solutions integration was all messaging. The original campus solutions integration was all messaging based, and then we just found that later a polling strategy was perhaps at least as effective as the messaging we were doing. From aac9f8e6a9c1a95f86a86334f9939c077c712c09 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 12:04:42 -0600 Subject: [PATCH 36/44] Update ps2grouper.adoc --- ps2grouper.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index b33bbfa..4c8de56 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -22,9 +22,9 @@ The original campus solutions integration was all messaging based, and then we j So when we did the integrations with HR And Finance, those were done as as SOAP transport integrations and either way it's It's pretty close to real time. So the the information that's pushed by messaging. And unless there is a ton of changes that back things the updates are near real-time. Those that are polling or polling every five minutes are an acceptable form of data integration. But a second path that we use is Informatica, an ETL tool. So the main thing that's used for is for developers in the group that runs people soft to write queries, -and then either push those out the different locations, or create apis in informatica for people to retrieve data without having direct database access. +and then either push those out the different locations, or create apis in informatica for people to retrieve data without having direct database access. -image::images/unc3flows.png[three paths] +image::images/uncInfMat.jpg[Informatica path] So the developers in relation to group or do a fair amount of querying of things in those databases, and then pushing information into grouper for a couple of use cases i'll talk a little bit more about. From 400abb47141f553fd142747f4697b4276f9aeee7 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 12:06:12 -0600 Subject: [PATCH 37/44] Update ps2grouper.adoc --- ps2grouper.adoc | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index 4c8de56..e9e8d7d 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -5,8 +5,6 @@ Ethan Kromhout, 2 Nov 2022 I wanted to talk about how our data currently gets from Peoplesoft to Grouper. There's maybe a story that I didn't include about how grouper data gets indirectly to peoplesoft. But maybe I can comment about that at the end. -image::images/uncInfMat.jpg[Informatica path] - We've got three main paths the data goes through to get from from Peoplesoft to to Grouper. image::images/unc3flows.png[three paths] @@ -14,8 +12,6 @@ image::images/unc3flows.png[three paths] The first path is the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. -image::images/uncInfMat.jpg[Informatica path] - So that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in 2009 well ahead of bringing up the HR And finance modules. The integrations are messaging and the reason for those two different transports are that the original campus solutions integration was all messaging. The original campus solutions integration was all messaging based, and then we just found that later a polling strategy was perhaps at least as effective as the messaging we were doing. From f4b475f89abb493d9f24e4124422bd378af1c43a Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 12:12:56 -0600 Subject: [PATCH 38/44] Add files via upload --- images/unc3flows.jpg | Bin 0 -> 38776 bytes images/uncLoader.jpg | Bin 0 -> 33030 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/unc3flows.jpg create mode 100644 images/uncLoader.jpg diff --git a/images/unc3flows.jpg b/images/unc3flows.jpg new file mode 100644 index 0000000000000000000000000000000000000000..48e04fe351f601b4d17773119de2d1d06b7681be GIT binary patch literal 38776 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 literal 0 HcmV?d00001 From 67e97e8623bfd4551bc864e61e13e65dd10f1c21 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 12:13:48 -0600 Subject: [PATCH 39/44] Update ps2grouper.adoc --- ps2grouper.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index e9e8d7d..27473a5 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -7,7 +7,7 @@ There's maybe a story that I didn't include about how grouper data gets indirect We've got three main paths the data goes through to get from from Peoplesoft to to Grouper. -image::images/unc3flows.png[three paths] +image::images/unc3flows.jpg[three paths] The first path is the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. From 24e93ad96ed4bf865f26fb253d79fc5cda82fb96 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 12:15:39 -0600 Subject: [PATCH 40/44] Update ps2grouper.adoc --- ps2grouper.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index 27473a5..e82798c 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -7,11 +7,11 @@ There's maybe a story that I didn't include about how grouper data gets indirect We've got three main paths the data goes through to get from from Peoplesoft to to Grouper. -image::images/unc3flows.jpg[three paths] - The first path is the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. +image::images/unc3flows.jpg[Directory Manager] + So that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in 2009 well ahead of bringing up the HR And finance modules. The integrations are messaging and the reason for those two different transports are that the original campus solutions integration was all messaging. The original campus solutions integration was all messaging based, and then we just found that later a polling strategy was perhaps at least as effective as the messaging we were doing. From 906e5e71cb669d269c080a95872fad734e8b7cd1 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 12:18:53 -0600 Subject: [PATCH 41/44] Update ps2grouper.adoc --- ps2grouper.adoc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index e82798c..91a206e 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -63,8 +63,11 @@ and I should have said this before. But but Please interrupt with questions as w So it's a really, really quick one about the diagram that you're showing that Are the arrows correct? Are you taking data from and from Fromatica and sending it to people talk? Or is it the other way? I I I usually debated which way to point these arrows, but this is our sql query, so informatic that is, reaching out to the Peoplesoft hours, The Nsql query and pulling data back. I see. -The third flow is just direct loader jobs that people saw from that group or a queries people. Probably the the courses and course roles are the main use of these queries. -We we do publish all of our courses out to group, or you know, each semester, and then break out +The third flow is just direct loader jobs that people saw from that group or a queries people. Probably the courses and course roles are the main use of these queries + +image::/images/uncLoader.jpg[Loader Jobs] + +We we do publish all of our courses out to Grouper each semester, and then break out the different roles inside the courses. So, student, faculty, primary teaching assistant, all of those kinds of roles. From 6b4bad35a2b1298c272b76989cbab744710ba8d8 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 12:21:30 -0600 Subject: [PATCH 42/44] Update ps2grouper.adoc --- ps2grouper.adoc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index 91a206e..f4e2a23 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -19,10 +19,7 @@ So when we did the integrations with HR And Finance, those were done as as SOAP Those that are polling or polling every five minutes are an acceptable form of data integration. But a second path that we use is Informatica, an ETL tool. So the main thing that's used for is for developers in the group that runs people soft to write queries, and then either push those out the different locations, or create apis in informatica for people to retrieve data without having direct database access. - -image::images/uncInfMat.jpg[Informatica path] - -So the developers in relation to group or do a fair amount of querying of things in those databases, and then pushing information into grouper for a couple of use cases i'll talk a little bit more about. +So the developers in relation to group or do a fair amount of querying of things in those databases, and then pushing information into Grouper for a couple of use cases i'll talk a little bit more about. Is it near real time for those other integrations? In the case of the Informatica ETLs, it's really up to the developer. Most of those are things that run on kind of a daily cycle. But,,, the developer in informatica has the capability to schedule things as often as they want them to run. It really is up to them. From d14a4df5412951ea994563afa562907eb8053bc1 Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 12:21:56 -0600 Subject: [PATCH 43/44] Update ps2grouper.adoc --- ps2grouper.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index f4e2a23..a99f5c9 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -49,7 +49,7 @@ proxies to other data that people might have access to because of the roles that image::images/uncInfMat.jpg[Informatica path] -Instead of having a separate role structure for the ddata warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried +Instead of having a separate role structure for the data warehouse the people self-security folks would rather just replicate those roles that they have, and people solve the Grouper, and then ! It can be queried, or L. That can be queried to retrieve that information about those roles. We also do use this for some special group that our Hcm. People need to keep track of, anyway. So an example that I off the top of my head is who's in a hipaa-related department? So are you in a hip a covered entity? ! Because there's a nber of of things that want to know that, for example, our our zoom installation needs to know if you're if or not, because it turns on and off. You know, certain capabilities inside of zoom and . So From 59931eb3b021a826703e403adba8a43357e056eb Mon Sep 17 00:00:00 2001 From: Keith Hazelton Date: Wed, 18 Jan 2023 12:46:46 -0600 Subject: [PATCH 44/44] Update ps2grouper.adoc --- ps2grouper.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ps2grouper.adoc b/ps2grouper.adoc index a99f5c9..ced7e54 100644 --- a/ps2grouper.adoc +++ b/ps2grouper.adoc @@ -7,12 +7,12 @@ There's maybe a story that I didn't include about how grouper data gets indirect We've got three main paths the data goes through to get from from Peoplesoft to to Grouper. -The first path is the the largest and most complex is our our homegrown Java app. We call it directory manager, but it's basically been +The first path, the the largest and most complex, is our our homegrown Java app. We call it directory manager, but it's basically been the place where the business logic happens for deciding people's, affiliation states and things like that, and getting those things published out to, particularly, the Open LDAP Directory, but also Active Directory. image::images/unc3flows.jpg[Directory Manager] -So that path through Directory Manager includes our oldest integration, which is with campus solutions. We brought up campus solutions in 2009 well ahead of bringing up the HR And finance modules. The integrations are messaging and the reason for those two different transports are that the original campus solutions integration was all messaging. +So that path through Directory Manager includes our oldest integration, which is with Campus Solutions. We brought up campus solutions in 2009 well ahead of bringing up the HR And finance modules. The integrations are messaging and the reason for those two different transports are that the original campus solutions integration was all messaging. The original campus solutions integration was all messaging based, and then we just found that later a polling strategy was perhaps at least as effective as the messaging we were doing. So when we did the integrations with HR And Finance, those were done as as SOAP transport integrations and either way it's It's pretty close to real time. So the the information that's pushed by messaging. And unless there is a ton of changes that back things the updates are near real-time.