Presentation is loading. Please wait.

Presentation is loading. Please wait.

Synchronize Changes with Affiliations

Similar presentations


Presentation on theme: "Synchronize Changes with Affiliations"— Presentation transcript:

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


Download ppt "Synchronize Changes with Affiliations"

Similar presentations


Ads by Google