Download presentation
1
Synchronize Changes with Affiliations
SESSION 5315 17 November 2015
2
presenter Hans Janssen Product Manager SaNS Expertise Centre
My goal for this presentation is mainly: make you aware that the affiliation functionality exists. And I hope to show you how it works en for what purposes you can use it. Hans has a background in study advising, functional maintenance and information management and works since 2008 for the SaNS Expertise Centre as Product Manager and Solutions Architect Synchronize changes with Affiliations
3
Overview 1 3 5 AIF & CWS What the affiliation functionality does
Affiliations & Constituents: Concepts and use in Campus Solutions AIF & CWS What the affiliation functionality does ENHANCEMENTS & CONCLUSIONS 2 4 TECHNICAL: How the affiliation functionality technically works BUSINESS NEED: Why we started to use affiliations Synchronize changes with Affiliations
4
SaNS SaNS Expertisecentrum
What have Amsterdam, Leiden en Utrecht in common? SaNS SaNS Expertisecentrum Universiteit Leiden Universiteit van Amsterdam Hogeschool van Amsterdam Tilburg University Synchronize changes with Affiliations
5
What is SaNS? SaNS: ‘Collaboration for a New SIS’
4 Universities in the Netherlands: University of Amsterdam (Research University) Hogeschool van Amsterdam (Univ. of Applied Research) University of Leiden (Research University) University of Tilburg (Research University) students faculty users 1000 administrative users ‘Vanilla CampusHO’ Joint maintenance and development (Expertise Center) Synchronize changes with Affiliations
6
Expertise Center Joint effort of the 4 SaNS-Universities
Responsible for Hosting of the Infrastructure & Technical Maintenance Application Maintenance Application Development and Customization Servicedesk, support, testing, set up Delivers ‘Campus HO’ as a SaaS-Solution 12 FTE employees Support (3), development (2), technical (2) and functional (3) Hosting and technical maintenance outsourced to MCX Synchronize changes with Affiliations
7
SaNS Situation on Oracle
PeopleSoft Campus Solutions 9 Bundle #37 Modules in use: Campus Community Student Records Academic Advisement (Recruitment and) Admission (Student Finance) Student Self Service Heavily customized application (NL Higher Ed): ‘CampusHO’ PeopleTools Infrastructure and Database: Oracle 11g 35 CS-environments (5 per SaNS-institution, 10 for EC, 5 POC) 50 Physical servers, no VM This is not correct anymore: we planned to move to this situation last weekend, but because of a PeopleTools bug the upgrade is postponed Synchronize changes with Affiliations
8
Affiliations & Constituents
Concepts and Use in Campus Solutions
9
Constituents & Affiliations
person (or organization) with a relation to your institution Synchronize changes with Affiliations
10
Constituents & Affiliations
person (or organization) with a relation to your institution Affiliation: Kind of relation the constituent has with your institution With a startdate And eventually an enddate Affiliations change in time Key fields in CS: EMPLID Institution Affiliationtype Startdate Synchronize changes with Affiliations
11
Affiliations in Campus Solutions
Affiliation to Institution Framework (AIF) - History Delivered in Feature Pack 1 (Bundle #13) in June 2009 Part of the Constituent WebServices (CWS) in Campus Community Based on the PERSON_BASIC_SYNC service operation (SOA framework from PT 8.9) Functionality Changes in person-data trigger messages with person-data to an external system Changes in relations trigger messages with affiliation-data to an external system You define what the relevant relations are Different relations can be sent to different external systems Synchronize changes with Affiliations
12
Synchronizing person data …
Person data synchronization: Integration Broker messages with person information (name, addresses) Part of the SOA framework to synchronize CS and HCM internally Service operation and message ‘PERSON_BASIC_SYNC’ Triggered from Person components/pages Synchronize changes with Affiliations
13
… to external Systems Person data synchronization with external systems: Introduction of Constituent WebServices (CWS) Extended for synchronization to and from HCM, HECH and other external systems Also used for external search/match and incoming messages Synchronize changes with Affiliations
14
Adding AFFILIATION data
Affiliation framework ads functionality to the constituent framework: Webservices and application packages handle changes in relationship Trigger is on component/pages Affiliations for a person are (automatically) added to a record Messages with affiliation-data are sent by the constituent webservice Research Tracking uses affiliations to indicate research evaluators or supervisors Synchronize changes with Affiliations
15
Business Need Chosen IdM-system (OIM) has a standard connector for CS-Affiliations
16
New IdM-system (OIM) needs new integration
UvA and HvA are replacing their identity management (IdM) system: New system based on Oracle Identity Manager (OIM) OIM has a standard adaptor for Campus Solutions, based on Affiliation functionality IdM uses different roles (access-rights) for ‘applicants’ and ‘students’ Synchronize changes with Affiliations
17
CS to OIM functionality
Functionality delivered by Oracle Assigning affiliations (relationships) to constituents (persons) in CS Adding context to every individual affiliation Sending messages about these affiliations Filtering based on affiliation type Export of all the affiliations as files for full reconciliation in OIM Connector for CS Constituent messages in OIM Functionality added by SaNS Different business rules for assigning affiliations Much more affiliation types, but based on the same application class Extra context History Support for OIM’s CS-connector delivered in Bundle #27 (October 2012) Based on constituents and affiliations (Bundle #13, June 2009) How many of you already use Affiliations? OIM? Plans? Synchronize changes with Affiliations
18
How Affiliation works Overview Affiliation Set Up
Manually assigning an affiliation to a person
19
How affiliation works - overview
Affiliation process steps Relevant information about a person is added or changed in CS (on a component) Affiliation webservice is triggered to publish a message with the affiliation data The affiliation framework constructs a constituent object based on the message The affiliation framework determines if an affiliation has te be assigned or ended A constituent message with the affiliation data is published to external systems Synchronize changes with Affiliations
20
Assigning affiliations: 3 ways
Synchronize changes with Affiliations
21
Adding a new Affiliation type
Define your own affiliation types Based on existing ones … … or completely new Attach business logic to your affiliation with an application class The class logic defines whether or not an affiliation is set or ended Synchronize changes with Affiliations
22
ADD Triggers to the affiliationtype
Connects the affiliation type to a specific service operation This information is used to route the internal messages Affiliation types can share the same trigger/service operation Synchronize changes with Affiliations
23
Add context DATA Add context records and field
To add extra information about the person or the affiliation The information is added when you assign an affiliation to a person Synchronize changes with Affiliations
24
Affiliation Hierarchy
Affiliations can be a child of another affiliation Only the lowest level is actually assigned Synchronize changes with Affiliations
25
View Affiliatons and hierarchy
Campact view of affiliation codes is found under Campus Community Synchronize changes with Affiliations
26
Manually Assign an affiliation
Steps to manually assign a affiliation: Choose a constituent with an affiliation or add an new constituent/affiliation Assign an existing affiliation type to the constituent Add a start date for this affiliation Save the affiliation for this constituent Campus takes care of the rest Context field data are automatically added Hierarchy is build Constituent message is sent to external system Synchronize changes with Affiliations
27
Assign affiliation to constituent
Synchronize changes with Affiliations
28
Resulting affiliation
Synchronize changes with Affiliations
29
Affiliation Details Synchronize changes with Affiliations
30
Context fields and values
Synchronize changes with Affiliations
31
Trigger based affiliation Assigning
Adding affiliation for an applicant Add an applicant in the Application Entry component Save the application (Person data are saved; PERSON_BASIC_SYNC message is published) (Constituent message with person data is published) Application data are saved; SCC_AFL_APPLICANT message is published Constituent object is created; business logic checks applicant status If a valid affiliation, a Person-Affiliation record is added Constituent message with affiliation data is published Synchronize changes with Affiliations
32
visibility On component/pages with affiliation content, a ‘affiliation’ icon appears when an affiliation is assigned for this person Synchronize changes with Affiliations
33
Filtering the constituent messages
A constituent message with affiliation data is first sent through a filter For every external system you can define which affiliation types are able to pass Synchronize changes with Affiliations
34
Batch Processes Delete and create affiliations;
Export all affiliations
35
Batch processes Assign affiliations in batch
Delivered process, uses the available business rules for each affiliationtype Based on Population Selection; define your own selections, using a bind-record For one, some or all affiliation types Delete affiliations in batch Delivered process Bases on Population Selection; define your own selections, using a bind-record Full Synchronization Delivered process and service operation Fetches all the affiliations and combines them in XML-files for full reconciliation Synchronize changes with Affiliations
36
Affiliation Assignment in batch
Synchronize changes with Affiliations
37
Delete Affiliations in batch
Synchronize changes with Affiliations
38
Export all affiliations: Full Sync
Synchronize changes with Affiliations
39
Affiliations Technically
A closer look at the technical parts Synchronize changes with Affiliations
40
Service operations Affiliation functionality depends on 3 types of services: Constituent services SOA framework services Affiliation services Used for publishing messages to external systems Service operations: SCC_CONSTITUENT_SYNC and SCC_CONSTITUENT_FULLSYNC Used for publishing person data internally, as trigger for the constituent service Service operation: PERSON_BASIC_SYNC Affiliation service Used for publishing affiliation data internally, as trigger for the affiliation framework Service operations: SCC_AFL_APPLICANT_CHANGED, SCC_AFL_STUDENT_CHANGED etc. Synchronize changes with Affiliations
41
Constituent webservices (CWS)
Synchronizing person data with external systems Synchronize changes with Affiliations
42
Triggers on components
SavePostChange on components Call Eventpublish with module-name and service operation: &myApplicant = create SCC_EVENT_PUBLISH:PublishAffiliation(&RS0, "APPLICANT", "SCC_AFL_APPLICANT_CHANGED"); &rsltmsg = &myApplicant.execute(); Synchronize changes with Affiliations
43
Affiliation Implementation classes
SCC_CONSTITUENT_MGR:HANDLER:ConstituentNotifyProcessor This class processes the internal affiliation message SCC_CONSTITUENT_EVENTS.ApplicantSync This class marshals the internal trigger-message into a constituent object SCC_AFFILIATIONS:IMPLEMENTATION Contains the (sample) classes for the different affiliation types Classes contain te business logic that decides whether or not an affiliation has to be assigned SNS_AFFILIATIONS.AffiliationAbstract Affiliation record is added or end-dated Synchronize changes with Affiliations
44
Message structure PERSON_BASIC_SYNC SCC_AFL_XXX_CHANGED SCC_CONSTITUENT_DS.V2 You can easily add or delete records and fields for the messages Synchronize changes with Affiliations
45
SaNS Enhancements Customizations to fulfill the functional need
46
Custom made SaNS enhancements
Every plan its own affiliation Roles in OIM are dependent on the department responsible for a AcadPlan Every AcadPlan (almost 500!) gets its own affiliationtype 1 Application Class handles all the different AcadPlan’s ‘Applicant’ and ‘Student’ are somewhat different in the Netherlands Customized triggers and business logic More context fields, independent of EMPLID Remove code that limits the number of context fields to 10 Use views to add non-emplid based records/fields (descriptions, organization) Always a complete Person data message Change code from ‘delta’ to ‘complete’ Trigger person-messages with all affiliation additions Synchronize changes with Affiliations
47
Concluding thoughts ANY QUESTIONS?
48
What you need to do and know
If your affiliation functionality needs are limited: Use the Oracle-delivered affiliation types and business logic Read the peoplebooks chapters on affiliations Have/gain/use Integration Broker knowledge IB Configuration, Services, Operations, Messages, Nodes, Routings, Handlers, Security… If you want to extend or change the delivered functionality: Copy the delivered application classes as a start Change the application class logic or add your own classes Read the developer guides on constituents and affiliations Build/use knowledge on XML Schema XML Tools, Schemas, XML Development APIs, W3C Industry Standards, Testing Approaches… Build/use knowledge on Application Package PeopleCode Object Principles, Extension, Inheritance, Overriding, Abstraction, Programming Patterns… Synchronize changes with Affiliations
49
SUMMARY Affiliations are a great framework
To define your own affiliation-types with their own business logic Lifecycle types: Applicant, Bachelor Student, Master Student, Postgraduate, Alumnus Special relations: contributor, foreign student, internship, research supervisor To synchronize person and relationship data with external systems Basic functionality is available out of the box For specific types or rules you need to build your own appl. classes Synchronize changes with Affiliations
50
More information Hans Janssen Product Manager SaNS Expertise Centre all Alliance presentations will be available for download from the Conference Site Synchronize changes with Affiliations
51
THANK YOU! Synchronize changes with Affiliations
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.