SIF Driver v4.0.1
Overview
This section contains high-level information about how the SIF integration module functions.
Key Terms
Schools Interoperability Framework (SIF)
SIF is a data interchange open standard developed to allow student, staff, course, and school information to be exchanged between a student information system and other SIF-enabled applications through a Zone Integration Server. The SIF specification defines an XML format for this data exchange.
Student Information System (SIS)
A student information system is a database and management framework which allows school systems to manage their student, staff, and course information. In a SIF integration environment, the SIS serves as the primary source of authority for enrollment (SOA) information.
Zone
A zone is a defined scope for a SIF integration environment. It serves a logical separation of information between various organizational bodies. A zone may represent an entire school district or just one school.
Zone Integration Server (ZIS)
A ZIS is the central communications hub for a SIF integration environment. All systems participating in the SIF integration communicate through the ZIS via SIF Agents. Typically, the SIS will send information into the ZIS which will be consumed by other SIF Agents, such as bus routing software, library systems, and the Concensus SIF integration module.
SIF Object Class
The SIF specification defines a number of object classes. These classes represent various actual and logical entities and relationships within the SIS. The Concensus SIF integration module translates a subset of these object classes to eDirectory object classes and relationships to provide student, staff, and enrollment information into an identity management environment.
Identity Manager
Novell® Identity Manager is a service which synchronizes data between servers in a set of connected systems by using a robust set of configurable policies. Identity Manager uses the Identity Vault to store shared information and uses the Metadirectory engine for policy-based management of the information as it changes in the vault or connected system. Identity Manager runs on the server where the Identity Vault and the Metadirectory engine are located.
Connected System
A connected system is any system that can share data with Identity Manager through a driver. The ZIS is the connected system for this connector.
Identity Vault
The Identity Vault (IDV) is a persistent database powered by eDirectory™ and used by Identity Manager (IDM) to hold data for synchronization with a connected system. The IDV can be viewed narrowly as a private data store for IDM or more broadly as a metadirectory that holds enterprise-wide data. Data in the IDV is available to any protocol supported by eDirectory™, including NCP™, LDAP, and DSML.
Metadirectory Engine
The Metadirectory engine is the core server that implements the event management and policies of IDM. The engine runs on the Java Virtual Machine in eDirectory™.
Concensus SIF Integration Module
The Concensus SIF Integration Module is a SIF Agent which connects an IDM environment to a SIF integration environment allowing the SIF data to be utilized by non-SIF applications such as desktop login, email systems, or any other IDM integrated application. This integration is done via policies and parameters implemented in the SIF Integration Module (connector).
Driver Shim
The driver shim is the component of the driver which converts the XML documents used by IDM into native API calls for the connected system, and vice versa. The shim is responsible for implementing events originating in the IDV into the connected system and for creating events in IDM from changes detected in that system.
Remote Loader
A Remote Loader is a software service which allows the execution of a driver shim on a machine which does not have the Metadirectory engine on it. The Remote Loader is typically used when a requirement of the driver shim is not met by the IDM server. The Remote Loader and the IDM server communicate via a defined communications channel. The IDM server sends and receives XML documents over this channel. The shim, on the Remote Loader server, processes these documents and generates new ones, as needed, depending on the configuration. It is recommended that this channel use SSL encryption to protect sensitive data.
When using a Remote Loader, it is necessary for a communications channel to be available between the IDM server and the Remote Loader server as well as communications between the Remote Loader and the connected system.
For more information on the Remote Loader, as well as instructions on how to set up SSL encryption, please see the Remote Loader section in Novell’s Identity Manager Installation Guide.
Data Transfer Between Systems
IDM drivers support two data transfer channels between the IDV and the connected system, called the Publisher and Subscriber channels. The Publisher channel handles data and events from the connected system into the IDV. The Subscriber channel handles data and events from the IDV into the connected system.
The Concensus SIF Integration Module supports publisher events only from the ZIS into the IDV.
Figure 1: SIF Data Flow
Key Driver Features
Key driver features are listed in this section
Local Platforms
A local installation is an installation of the driver on the Metadirectory server. The Concensus SIF integration module is a native Java driver and can be installed on any supported IDM Metadirectory server, with the exception of NetWare (due to JVM version requirements). In the event your Metadirectory is on NetWare you can utilize a remote loader to a Windows or Linux host. Note that the remote loader on the host must be version 3.51 or higher.
Remote Platforms
The Concensus SIF integration module can use the IDM Remote Loader service to run on any supported IDM Remote Loader platform, except for NetWare (due to JVM version requirements).
Password Synchronization Support
The Concensus SIF integration does not synchronize passwords from or to a ZIS. It will allow for the setting of an initial password on created user objects in the IDV. This is managed through the connector Global Configuration Variables (GCVs), detailed later in this document.
Data Synchronization Support
The Concensus SIF integration module synchronizes User objects and Group objects from the SIF infrastructure into the IDV. This connector does not send any changes or information into the ZIS.
SIF Object Classes and Mapping
The SIF specification supports many object classes and attributes which represent various data elements common to student information systems. This connector supports a subset of these object classes and attributes. This section will detail the supported classes and attributes for this connector as well as their relationship to eDirectory objects in the default connector configuration.
Supported SIF Object Classes:
- RoomInfo
- SchoolCourseInfo
- SchoolInfo
- SectionInfo
- StaffPersonal
- StudentPersonal
- StudentSchoolEnrollment
- StudentSectionEnrollment
RoomInfo
The RoomInfo object represents a physical room in a school. In the default configuration, the connector maps objects of this type to eDirectory groups.
SIF Attribute | Syntax | Default eDirectory Attribute Mapping | Description |
sifClass | Case Ignore String | ccSIF-Class | The name of the SIF Class |
sifZoneURL | Case Ignore String | ccSIF-ZoneURL | The zone URL of the source zone for this object. |
Key | Case Ignore String | ccSIF-GUID | The unique identifier of this SIF object |
RoomNumber | Case Ignore String | ccSIF-RoomNumber | The room number |
SchoolInfo | Distinguished Name | ccSIF-SchoolRecord | Reference to the school object to which this room belongs |
StaffPersonalRefId | Distinguished Name | ccSIF-StaffRecord | Reference to the instructor(s) assigned to this room |
Description | Case Ignore String | ccSIF-Description | Description of the room |
Building | Case Ignore String | ccSIF-Building | The building containing the room |
HomeroomNumber | Case Ignore String | ccSIF-HomeroomNumber | The number of the homeroom assigned to this room |
Size | Case Ignore String | ccSIF-Size | The size of the room |
Capacity | Case Ignore String | ccSIF-Capacity | The person capacity of the room |
PhoneNumber | Case Ignore String | Telephone Number | The telephone number for the room |
SchoolCourseInfo
The SchoolCourseInfo object represents a course taught in the school system. In the default configuration, the connector maps objects of this type to eDirectory groups. The courses are the general course, not a specific section of a course, which is defined by the SectionInfo object.
SIF Attribute | Syntax | Default eDirectory Attribute Mapping | Description |
sifClass | Case Ignore String | ccSIF-Class | The name of the SIF Class |
sifZoneURL | Case Ignore String | ccSIF-ZoneURL | The zone URL of the source zone for this object. |
Key | Case Ignore String | ccSIF-GUID | The unique identifier of this SIF object |
CourseCode | Case Ignore String | ccSIF-CourseCode | School-defined local code for a course |
SchoolInfo | Distinguished Name | ccSIF-SchoolRecord | The reference to the school to which this course belongs |
DistrictCourseCode | Case Ignore String | ccSIF-DistrictCourseCode | The school district’s course code |
Description | Case Ignore String | ccSIF-Description | Description of the room |
CourseTitle | Case Ignore String | ccSIF-CourseTitle | The title of the course |
StateCourseCode | Case Ignore String | ccSIF-StateCourseCode | The state’s code for this course |
SchoolInfo
The SchoolInfo object represents a school in the district. In the default configuration, the connector maps objects of this type to eDirectory groups.
SIF Attribute | Syntax | Default eDirectory Attribute Mapping | Description |
sifClass | Case Ignore String | ccSIF-Class | The name of the SIF Class |
sifZoneURL | Case Ignore String | ccSIF-ZoneURL | The zone URL of the source zone for this object. |
Key | Case Ignore String | ccSIF-GUID | The unique identifier of this SIF object |
LocalID | Case Ignore String | ccSIF-SISID | The school’s ID number in the student information system |
StateProvinceID | Case Ignore String | ccSIF-StateProvinceID | The school’s ID number as known by the state or province |
NCESID | Case Ignore String | cc-SIFNCESID | The school’s ID number as known by the National Center for Education Statistics |
SchoolName | Case Ignore String | ccSIF-SchoolName | The name of the school |
GradeLevels | Case Ignore String | ccSIF-GradeLevels | A list of the grade levels in this school |
Title1Status | Case Ignore String | ccSIF-TitleOneStatus | The school’s Title 1 Status |
OperationalStatus | Case Ignore String | ccSIF-OperationalStatus | The operational status of the school |
CongressionalDistrict | Case Ignore String | ccSIF-CongressionalDistrict | The congressional district of the school |
IdentificationInfo | Case Ignore String | ccSIF-IdentificationInfo | The school’s identification information |
SectionInfo
The SectionInfo object represents a specific instance of a course. This object details the staff instructing the section, as well as the school and room in which this section will be taught. In the default configuration, the connector maps objects of this type to eDirectory groups.
SIF Attribute | Syntax | Default eDirectory Attribute Mapping | Description |
sifClass | Case Ignore String | ccSIF-Class | The name of the SIF Class |
sifZoneURL | Case Ignore String | ccSIF-ZoneURL | The zone URL of the source zone for this object. |
Key | Case Ignore String | ccSIF-GUID | The unique identifier of this SIF object |
LocalID | Case Ignore String | ccSIF-SISID | The section’s ID number as known by the SIS |
LocationOfInstruction | Case Ignore String | ccSIF-LocationOfInstruction | The location where the Section is taught |
MediumOfInstruction | Case Ignore String | ccSIF-MediumOfInstruction | The medium of the course, online, lecture, etc |
Description | Case Ignore String | ccSIF-Description | Description of the section |
SchoolCourseInfo | Distinguished Name | ccSIF-SchoolCourseRecord | The reference to the course of which this section is a member |
SchoolYear | Case Ignore String | ccSIF-SchoolYear | The school year of this section |
SummerSchool | Case Ignore String | ccSIF-SummerSchool | Is this a summer school section? |
MeetingTime
| Case Ignore List | ccSIF-MeetingTime | A list attribute which shows when the section is taught both by day and by period. |
RoomInfo | Distinguished Name | ccSIF-RoomRecord | A reference to the room object in which this section is taught |
Teacher | Distinguished Name | ccSIF-TeacherRecord | Reference to the instructor(s) of the section |
StaffPersonal
The StaffPersonal object represents a staff member in the SIF environment. In the default configuration, the connector maps objects of this type to eDirectory users.
SIF Attribute | Syntax | Default eDirectory Attribute Mapping | Description |
sifClass | Case Ignore String | ccSIF-Class | The name of the SIF Class |
sifZoneURL | Case Ignore String | ccSIF-ZoneURL | The zone URL of the source zone for this object. |
Key | Case Ignore String | ccSIF-GUID | The unique identifier of this SIF object |
LastName | Case Ignore String | Surname | The staff member’s last name |
FirstName | Case Ignore String | Given Name | The staff member’s first name |
MiddleName | Case Ignore String | middleName | The staff member’s middle name |
PreferredName | Case Ignore String | preferredName | The staff member’s preferred name |
LocalID | Case Ignore String | ccSIF-SISID | The staff member’s ID number in the student information system |
StateProviceID | Case Ignore String | ccSIF-StateProvinceID | The staff member’s ID number with the state or province |
ElectronicID | Case Ignore String | ccSIF-ElectronicID | Contains any electronic identifiers for this staff member in the SIS. SIF recognizes the following:
|
Streetaddress | Case Ignore String | SA | The staff member’s street address |
Postofficebox | Case Ignore String | Post Office Box | The staff member’s post office box |
City | Case Ignore String | Physical Delivery Office Name | The staff member’s city |
Stateprovince | Case Ignore String | S | The staff member’s state or province |
Postcode | Case Ignore String | Postal Code | The staff member’s postal code |
StudentPersonal
The StudentPersonal object represents a student in the SIF environment. In the default configuration, the connector maps objects of this type to eDirectory users.
SIF Attribute | Syntax | Default eDirectory Attribute Mapping | Description |
sifClass | Case Ignore String | ccSIF-Class | The name of the SIF Class |
sifZoneURL | Case Ignore String | ccSIF-ZoneURL | The zone URL of the source zone for this object. |
Key | Case Ignore String | ccSIF-GUID | The unique identifier of this SIF object |
LastName | Case Ignore String | Surname | The student’s last name |
FirstName | Case Ignore String | Given Name | The student’s first name |
MiddleName | Case Ignore String | middleName | The student’s middle name |
PreferredName | Case Ignore String | preferredName | The student’s preferred name |
LocalID | Case Ignore String | ccSIF-SISID | The student’s ID number in the student information system |
StateProviceID | Case Ignore String | ccSIF-StateProvinceID | The student’s ID number with the state or province |
ElectronicID | Case Ignore String | ccSIF-ElectronicID | Contains any electronic identifiers for this student in the SIS. SIF recognizes the following:
|
Streetaddress | Case Ignore String | SA | The student’s street address |
Postofficebox | Case Ignore String | Post Office Box | The student’s post office box |
City | Case Ignore String | Physical Delivery Office Name | The student’s city |
Stateprovince | Case Ignore String | S | The student’s state or province |
Postcode | Case Ignore String | Postal Code | The student’s postal code |
OnTimeGraduationYear | Case Ignore String | ccSIF-OnTimeGraduationYear | First projected graduation year, YYYY format |
ProjectedGraduationYear | Case Ignore String | ccSIF-ProjectedGraduationYear | Currently projected graduation year, YYYY format |
GraduationDate | Time | ccSIF-GraduationDate | Date student officially graduated from secondary education, in timestamp format. |
StudentSchoolEnrollment
The StudentSchoolEnrollment object represents the relationship between a student and a school. When a student is enrolled in a particular school, SIF represents this enrollment in the StudentSchoolEnrollment object. In the default configuration, the connector does not represent StudentSchoolEnrollments as actual objects. The enrollment information is added to the relevant student user object as an auxiliary class with the enrollment’s attributes added to the student’s object. The connector handles this via the ccSIF-UserEnhancement auxiliary class.
SIF Attribute | Syntax | Default eDirectory Attribute Mapping | Description |
sifClass | Case Ignore String | ccSIF-Class | The name of the SIF Class |
sifZoneURL | Case Ignore String | ccSIF-ZoneURL | The zone URL of the source zone for this object. |
Key | Case Ignore String | ccSIF-GUID | The unique identifier of this SIF object |
Advisor | Distinguished Name | ccSIF-Advisor | Reference to the student’s advisor’s user object |
SchoolInfo | Distinguished Name | ccSIF-SchoolRecord | Reference to the school object to which this student is enrolled |
Counselor | Distinguished Name | ccSIF-Counselor | Reference to the student’s counselor’s user object |
StudentPersonal | Distinguished Name | ccSIF-StudentRecord | This attribute is used to locate the student user object to enhance with the enrollment. It isn’t set as an attribute on that object. |
EntryDate | Time | ccSIF-EntryDate | The date the student entered this school enrollment |
EntryType | Case Ignore String | ccSIF-EntryType | Indicates whether this is the primary enrollment for the student (in most implementations) |
ExitDate | Time | ccSIF-ExitDate | The date that the student was no longer enrolled in this school. |
ExitType | Case Ignore String | ccSIF-ExitType | The status of the ending of the enrollment |
FTE | Case Ignore String | ccSIF-FTE | Full Time Equivalency for this enrollment |
FTPStatus | Case Ignore String | ccSIF-FTPStatus | An indication of whether the student is enrolled full time or part time, can take values of FullTime or PartTime |
GradeLevel | Case Ignore String | ccSIF-GradeLevel | The student’s grade or academic level |
Homeroom | Case Ignore String | ccSIF-Homeroom | The student’s homeroom for this enrollment |
MembershipType | Case Ignore String | ccSIF-MembershipType | The type of this affiliation as it relates to the LEA |
NonResidentAttendReason | Case Ignore String | ccSIF-NonResidentAttendReason | If the school represented by this enrollment is outside of the student's usual attendance area (as indicated in the ResidencyStatus element), this element indicates the reason that the student attends this school |
ResidencyStatus | Case Ignore String | ccSIF-ResidentcyStatus | Location of an individual's legal residence relative to (within or outside) the boundaries of the school for this enrollment |
SchoolYear | Case Ignore String | ccSIF-SchoolYear | School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., 2004 for the 2003-04 school year) |
TimeFrame | Case Ignore String | ccSIF-TimeFrame | The timeframe of the enrollment based on the SIF_Date in the SIF_Header of the message. For events, it is determined as of the date the event is generated. For requests and responses, it is calculated based on the date of the request. Takes the values of:
|
StudentSectionEnrollment
The StudentSectionEnrollment object represents the relationship between a student and a course section. When a student is enrolled in a particular section of a course, SIF represents this enrollment in the StudentSectionEnrollment object. In the default configuration, the connector does not represent StudentSectionEnrollments as actual objects. The enrollment information is added to the relevant student user object as an auxiliary class with the enrollment’s attributes added to the student’s object. The connector handles this via the ccSIF-UserEnhancement auxiliary class.
SIF Attribute | Syntax | Default eDirectory Attribute Mapping | Description |
sifClass | Case Ignore String | ccSIF-Class | The name of the SIF Class |
sifZoneURL | Case Ignore String | ccSIF-ZoneURL | The zone URL of the source zone for this object. |
Key | Case Ignore String | ccSIF-GUID | The unique identifier of this SIF object |
SectionInfo | Distinguished Name | ccSIF-SectionRecord | Reference to the course section to which the student is enrolled |
StudentPersonal | Distinguished Name | ccSIF-StudentRecord | This attribute is used to locate the student user object to enhance with the enrollment. It isn’t set as an attribute on that object. |
EntryDate | Time | ccSIF-EntryDate | The date the student entered this course section enrollment |
ExitDate | Time | ccSIF-ExitDate | The date that the student was no longer enrolled in this course section. |
SchoolYear | Case Ignore String | ccSIF-SchoolYear | School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., 2004 for the 2003-04 school year) |
Default Driver Configuration
The Concensus SIF integration module is shipped with a default configuration file called Concensus_SIF_v4-IDM3_6_1-V3.xml. When imported with Designer or iManager, this configuration file creates a driver with an initial, default, set of policies and rules to serve as a template for basic SIF integration. This initial configuration will likely need to be modified to match your specific environment and requirements.
Installing the Concensus SIF Integration Module
The Concensus SIF integration module is shipped with a default configuration file called Concensus_SIF_v4-IDM3_6_1-V3.xml. When imported with Designer or iManager, this configuration file creates a driver with an initial, default, set of policies and rules to serve as a template for basic SIF integration. This initial configuration will likely need to be modified to match your specific environment and requirements.
JVM Requirements
The driver shim requires JVM 1.5 or higher.
Where to Install the Concensus SIF Integration Module
The Concensus SIF integration module can run either locally as a module on the Metadirectory server or remotely under a Remote Loader service. The choice of which installation method to use is dependent on individual preference and JVM versions. See JVM requirements above for more details.
Local Installation
To perform a local installation, simply copy the shim and associated files, to the appropriate location (dependent on platform) and restart eDirectory.
Windows
To install on a Windows IDM server, copy the driver files to the eDirectory_home\lib directory. The default location for eDirectory_home is c:\Novell\NDS. Restart eDirectory to make the modules available to IDM.
Linux/UNIX
To install on a Linux/UNIX IDM server, copy the driver files to the dirxml/classes directory.
The default location is /opt/novell/eDirectory/lib/dirxml/classes.
Restart ndsd (eDirectory) to make the modules available to IDM.
Remote Installation
To install the driver on a Remote Loader, copy the driver files to the Remote Loader server. Create a Remote Loader configuration as per Novell’s IDM documentation.
It is recommended the Remote Loader be configured to use SSL. Consult Novell’s IDM documentation for instructions on setting up SSL communication between a driver and a Remote Loader.
Creating a New Driver
To create a new Concensus SIF integration module, you must import the default driver configuration. The default driver configuration file is called Concensus_SIF_v4-IDM3_6_1-V3.xml. Once this configuration is imported, using either Designer or iManager, the driver can be configured for your environment. Please see Novell’s IDM documentation on importing drivers via Designer or iManager.
During the import, the driver will prompt for a number of configuration parameters, detailed here. These parameters can be changed after import, if needed.
Parameter | Description | Default Value |
Driver Name | The name of the driver object in the driver set. This name must be unique in the driver set | Concensus SIF 4 |
SIF Agent Name | The agent name the driver will use to register to the Zone Integration Server | ConcensusIDMConnector |
Use Push or Pull Configuration | Will the ZIS push events to the connector or will the connector poll the ZIS for new events? | Push |
The TCP Listen port for Push | The port at which the connector will listen for push messages from the ZIS. This port must be open in the firewall | 7777 |
Configure SSL for SIF connection | Whether or not the connector should use SSL to connect to the ZIS | No |
IP address or DNS name for the ZIS | The network address for the ZIS | 127.0.01 |
TCP Port for the ZIS | The port where the ZIS agent services are bound | 7080 |
Zone Name on the ZIS | The name of the zone that the connector will join | District |
Include current enrollments | Synchronize student school and course enrollments from the current timeframe | Yes |
Include historical enrollments | Synchronize student school and course enrollments from the historical timeframe | No |
Include future enrollments | Synchronize student school and course enrollments from the future timeframe | No |
Register All Supported SIF Specifications | When set to “Yes” the connector will register will all support SIF specification versions to the ZIS. If set to “No”, a selection panel will be made available to choose which SIF specification versions the connector should use | Yes |
Student Base Container | The base eDirectory container to which student user objects should be placed. Complete placement is detailed later in this document. This container must exist in the Identity Vault | Schools |
Student Incomplete Container | The container in eDirectory where student objects should be placed if the information required for proper placement or naming is not yet available. This container must exist in the Identity Vault | Schools\Incomplete_Students |
New Staff Container | The eDirectory container for new Staff user objects. This container must exist | Schools\New_staff |
Group Base Container | The eDirectory container which will serve as the base for SIF group objects. Complete placement is detailed later in this document. This container must exist in the Identity Vault | Schools\SIF_Groups |
Group Incomplete Container | The container in eDirectory where group objects should be placed if the information required for proper placement or naming is not yet available. This container must exist in the Identity Vault | Schools\SIF_Groups\Incomplete_Groups |
Notification Collection | The container in eDirectory where the IDM notification collection is located | Security\Default Notification Collection |
Driver is Local/Remote | Whether or not the driver will be running locally (on the IDM server) or remotely with a remote loader | Local |
Configuring the Driver
This section will detail the Concensus SIF integration module configuration parameters and how to configure them for your environment.
Driver Properties
The driver properties contain various configuration parameters which control the basic operation of the driver.
Authentication
The SIF Specification does not require authentication between the agent (connector in this case) and the ZIS. No authentication parameters are required except those needed for remote loader configurations. Please see Novell’s IDM documentation for remote loader configuration assistance.
Driver Parameters
The driver parameters panel contains driver-specific configuration. The Concensus SIF connector contains additional driver configuration parameters in the Global Configuration Values section of the driver properties. The parameters in this section are not sufficient alone to properly configure the driver.
Driver Options
The following configuration options are available on the driver options panel:
The SIF Agent Name is the name used by the connector to register to the ZIS. This name must be unique on the ZIS for that zone. Please consult your ZIS documentation for details on registering agent names.
The connector will register with the ZIS, by default, with all support SIF Specification versions. These versions are 1.1, 1.5r1, 2.0r1, 2.1, 2.2, and 2.3. Some zone integration servers will provide objects at several different specification levels. The default configuration is recommended as it will allow the ZIS to deliver object data in the version appropriate to it. The connector will automatically handle objects of differing versions. If required, the connector can be configured to register only with specific versions, as shown below. Do this only if your ZIS requires it for proper functionality. Consult your ZIS documentation for more information.
Set each version to true to have the agent register with that version. Any combination of these versions can be selected.
The default SIF transport method is HTTP. If required, this can be changed to HTTPS to instruct the connector to use SSL transport when connecting to the ZIS.
When selecting https as the transport for the SIF driver you will be prompted for the filenames and locations for two keystore files:
Agent Keystore File is the keystore containing the certificate the agent and zis would use if the zis were configured for mutual authentication.
Agent Keystore Password is the password of the file specified for Agent Keystore File.
Truststore file is the keystore file that contains the certificate provided by the ZIS.
Truststore password is the password for the Truststore file.
Require Authentication is set to false by default. Set it to true if you would like to require the ZIS to authenticate when contacting the agent.
Please see the SSL configuration instructions later in this document to complete SSL configuration by generating the keystore files. Setting this value alone will NOT allow the connector to use HTTPS, It is required that the SSL configuration steps detailed later in this document be performed before an HTTPS connection will succeed.
The default SIF messaging mode is push. In this configuration, the ZIS will send events and data to the connector when they become available. In the pull configuration, the connector will periodically connect to the ZIS to check for new SIF messages. The polling interval is set in the Publisher Options panel, documented below.
The SIF Authentication Level and SIF Encryption Level may be set as needed by the ZIS. Please consult your ZIS documentation and the SIF specification for more information on these parameters and how they are to be set. By default, both of these are set to 0, which is sufficient for most environments.
Subscriber Options
This connector has no subscriber configuration options. This panel is intentionally blank.
Publisher Options
There are two publisher options for the SIF connector: Polling Rate and Heartbeat.
The Polling rate (in seconds) controls how often the connector checks the ZIS for new messages. This parameter is only used when the connector is using the pull SIF messaging mode. The default is 60 seconds.
Publisher Heartbeat Interval controls how often heartbeat messages are sent through the publisher channel when there are no other events. Heartbeat messages are not used in this connector in the default configuration.
Global Configuration Values (GCVs)
The Concensus SIF integration module uses GCVs listed here [revise].
Name | Display Name | Description |
sif.ZoneURLsList
| Zone URL List | The SIF connector can manage multiple zones on the same ZIS. Specify each zone URL here. It is not recommended to manage multiple Zone Integration Servers with the same driver. An example of a zone URL would be http://www.concensus.edu:7080/ZoneOne |
sif.gcv.TimeframeCurrent | Include Current Enrollments in SIF Timeframe | Synchronize Current school and section enrollments for students |
sif.gcv.TimeframeFuture | Include Future Enrollments in SIF Timeframe | Synchronize Future school and section enrollments for students |
sif.gcv.TimeframeHistorical | Include Historical Enrollments in SIF Timeframe | Synchronize Historical school and section enrollments for students |
sif.UserInfoObjectsList | User to SIF Object List | Because the SIF Design has many information objects that could be used to build Users with this GCV the Driver allows for the system to tell the connector which ones to use as a User. NOTE: This GCV is intended for system use only and is not displayed in the GCV section. |
sif.UserEnhancementObjectsList | User Enhancement to SIF Object List | Because the SIF Design has many information objects that could be used to add additional Information to Users with this GCV the Driver allows for the system to tell the connector which ones to use as a User. NOTE: This GCV is intended for system use only and is not displayed in the GCV section. |
sif.GroupInfoObjectsList | Group to SIF Object List | Because the SIF Design has many information objects that could be used to build groups with this GCV the Driver allows for the system to tell the connector which ones to use as a group. NOTE: This GCV is intended for system use only and is not displayed in the GCV section. |
sif.UserSetUniqueID | Set uniqueID when Setting User CN | If set to True any User account created or renamed by the connector will have their uniqueID attribute set to the same value as their CN when a User ID is generated. |
sif.school.SchoolShortNameList | List of School Short Names | This option allows school names to be translated from long names, such as "Washington High School" to short names, such as "WHS", for use in naming or placement. Enter the school short name and the school SIF GUID for each mapping. |
sif.school.ShortName | School Short Name | Enter the desired short name for this school. This will be the value used in naming and placement, if the connector is configured to use it. |
sif.school.SIFGuid | SIF GUID for School | This is the SIF GUID (Unique ID Number) for the school. SIF GUIDs are assigned by the student information system (SIS). |
sif.ObjectTypeDisplay | Show The Following Object Type Definitions | Select the object type definition desired, User, Group, or User-Enhancement. The configuration details for that object type will be displayed. |
sif.User.Objectdefinition | SIF User Object Class Configuration Section | This is the section for configuring SIF object class to User object class mappings and definitions within the SIF connector. Typically, there is no need to add or remove class definitions. A particular SIF class can only have one class definition. |
sif.edirClassName | eDirectory Class Name | This GCV is internally set to the eDirectory object class selected in the sif.ObjectTypeDisplay GCV. It is hidden and cannot be set in the GCV section. |
sif.sifClassName | SIF Object Class Name | Select the SIF object class type for this definition. Options under User configuration are StudentPersonal or StaffPersonal |
sif.InitialPasswordType | Select the value to use for the initial password | User objects will be created with an initial password for enhanced security. Please select the value to be used for this initial password, either one of the listed attribute values or a static text string. |
sif.InitialPasswordText | Text String to use for the Initial Password | If “Text” is selected for sif.InitialPasswordType, this GCV will be used to specify the value for the intial password. |
sif.ObjectNameshow | Display Object name configuration Section | Set to TRUE to show the name configuration section for this object. The name configuration section determines the object's common name (CN) which will be its login ID in most configurations. The name can be constructed from several components which will be displayed in this section. |
sif.RenameObject | Rename these Objects on attribute changes | If set to true, the connector will automatically rename objects of this type if any of the attribute values which consitute its name change. If the attribute is a reference to another object type, such as schools, that portion of the name will not change unless the reference changes in the Student Information System. |
sif.NormalizeIDPiece | Strip non alpha-numeric characters from the User ID | If set to true, the connector will automatically strip non-alphanumeric characters from the name components. Additionally, any whitespace characters (such as spaces or tabs) will be converted to underscore "_" characters and any period characers "." will be converted to hyphens "-". When two or more whitepace characters are together, they will be condensed into one underscore. For example, "Test User.WHS%" would convert to "Test_User-WHS". |
sif.classNamingConfiguration | User Object Naming Configuration | This section contains the object name components which will be used to construct the object name. The components are concatenated together in the order listed below. Use the plus + to add a new component and the red X to remove a component. |
sif.NamePieceType | Value to use for this name component | Select the attribute to use for this component of the Object Name. |
sif.NamePieceText | Text String to use | If you specified “Text” in sif.NamePieceType, specify the text string here. |
sif.NamePieceLength | Name component length | Enter the length of this name component to be used in the name construction. The length is in number of characters, from either the left or right of the value, to be included in name construction. The value "-1" indicates that the entire value will be used. For example, if this component is the Given Name of the user and you wished to use just the first letter in constructing the object name, you would enter a length of "1" and select "From the left" in sif.NamePieceOrientation. |
sif.NamePieceOrientation | Name component Orientation | This setting specifies from which side of the value a substring will be pulled. This setting is only used when sif.NamePieceLength is a value other than -1, which indicates the entire value will be used. The setting "From the left" would be used when characters from the start of the value are desired. The setting "From the right" would be used when characters from the end of the value are desired. For example, to use the first two letters of a user's Given Name, set sif.NamePieceLength to "2" and set this value to "From the left". To use the last two digits of the graduation year, set sif.NamePieceLength to "2" and this value to "From the right". |
sif.Placement.show | Display Object Placement configuration Section | Set to TRUE to show the object placement configuration section for objects of this type. The object placement configuration section is used to determine where new objects of this type are placed in eDirectory. The connector will create any missing child containers (as organizational units) of the base container as needed. |
sif.Auto.Move | Automatically Move Objects of this Type | When set to TRUE, the connector will automatically move objects of this type should any of the components of their placement change. For example, if users are being placed according to their school, they will automatically move into the correct new school container when they are enrolled into a new school. |
sif.BaseContainer | Base eDirectory Container for Objects | This is the eDirectory container which will serve as the base container for objects of this type. All matching and placement for these types of objects will occur below this container. This container must exist in the eDirectory tree. |
sif.IncompleteContainer | Incomplete eDirectory Container for Objects | The incomplete container is the default placement for any object which cannot be properly placed due to missing placement information. For example, a new student is created in the student information system. The connector is configured to place students according to their school. If this new student does not yet have a school defined, they will be placed in this container until they are enrolled in a school. At that point, if automatic moves are enabled, the student object will be moved to the appropriate school container. |
sif.PlacementConfiguration | User Object Placement Configuration | This section contains the object placement components which will be used to determine the eDirectory context to place the object into. Each component represents a container (Organizational Unit) below the base container specified above used in the order listed, highest to lowest. The first component will be the first child container to the base container, the next will be a child of that, and so forth. Use the plus + to add a new component and the red X to remove a component. If the container does not exist in eDirectory, it will be automatically created, when needed. |
sif.Object.PlacementAttribute | Attribute to Use for this placement component | Specify the value (static text) or attribute to be used for this placement component (represents a container in eDirectory). |
sif.NamePieceText | Text String to use | If you specified “Text” in sif.Object.PlacementAttribute, specify the text string here. |
sif.GroupMembershipAttributes | Attributes that represent a group membership relationship in eDirectory | Specify the attributes to be used to build group memberships for this object type. These are attributes which point to another SIF object that is represented as a group in eDirectory. These will be converted to Group memberships in eDirectory. For example a SIF RoomInfo object would point to a SIF SchoolInfo object to represent the association of physical class room in a school |
sif.Group.Objectdefinition | SIF Group Object Class Configuration Section | This section contains the object name components which will be used to construct the object name. The components are concatenated together in the order listed below. Use the plus + to add a new component and the red X to remove a component. |
sif.sifClassName | SIF Object Class Name | Specify the SIF object class for this definition. Options under Group are SchoolInfo, SchoolCourseInfo, and RoomInfo. These objects are used to represent the relationships between students and staff with schools, courses, and rooms. |
sif.edirClassName | eDirectory Class | This GCV is internally set to the eDirectory object class selected in the sif.ObjectTypeDisplay GCV. It is hidden and cannot be set in the GCV section. |
sif.Object.GroupOwnerAttribute | Group Owner If Available | This attribute will set the group owner to the matching object, if available. |
sif.ccSIF-UserEnhancement.Objectdefinition | SIF Student Enhancement Object Class Configuration Section | This section is used to define the handling of the SIF User Enhancement Objects. The User Enhancment objects, StudentSchoolEnrollment and StudentSectionEnrollment, define the relationship between students, schools, and course sections. |
sif.UserObjectClassName | SIF User Object that is enhanced by this one | This GCV is set by the system to User. It cannot be changed in the GCV section. |
sif.edirClassName | eDirectory Class | This GCV is internally set to the eDirectory object class selected in the sif.ObjectTypeDisplay GCV. It is hidden and cannot be set in the GCV section. |
sif.sifClassName | SIF Object Class Name | The SIF enhancement object class to be defined in this section. The options under ccSIF-UserEnhancement are StudentSchoolEnrollment and StudentSectionEnrollment. |
sif.UserObjectReferenceAttribute | Attribute that References the Object to Enhance | This attribute is used to locate the correct user object (generally a student) to enhance with this information. The object is located via the SIF GUID in most cases. The default value of ccSIF-StudentRecord should work in virtually all cases. |
sif.EnhancementAttributes | Attributes that should be added to the User Object | This setting lists the attributes to be added to the matched user object from this enhancement object class. The default values should work in virtually all cases. |
sif.UserEnhancementEndDateAttr | SIF Enhancement End Date Attribute | The system sets this GCV to ExitDate. It cannot be modified in the GCV section. |
sif.UserEnhancementStartDateAttr | SIF Enhancement Start Date Attribute | The system sets this GCV to EntryDate. It cannot be modified in the GCV section. |
|
|
|
Customization via GVCs
GVCs are used extensively by the Concensus SIF connector to control most aspects of driver functionality. Through the use of these GCVs, the connector can be customized to fit most deployment scenarios without the need to create or modify policies. This section will detail the GCVs and provide guidance on their use. This section is organized by the headings used in the GCV configuration panel.
Password Configuration
This connector does not provide password synchronization either from or to SIF. These parameters are not used by the connector.
Driver Configuration
The driver configuration GCVs provide additional configuration parameters not present in the Driver Configuration panels.
The Zone URL list contains the URLs used to connect to the Zone Integration Server(s). This connector is capable of connecting to multiple zones on a single ZIS or multiple Zone Integration Servers. For ease of configuration and to avoid potential collisions, it is not recommended that a single connector be used for multiple zone integration servers without fully understanding the data sources and implications.
The Zone URL takes the form of [transport]://[ZIS address]:[port]/[Zone]. Transport is either http or https. Please see the SSL configuration section for details on configuring SSL connectivity. Setting HTTPS in the Zone URL is NOT sufficient to enable the connector to use SSL with the ZIS. If your ZIS is on zis.concensus.com with the SIF interface on port 7080 and the zone named District, the Zone URL would be: http://zis.concensus.com:7080/District.
The three SIF Timeframe parameters, current, future, and historical, are used to determine which enrollments will be processed by the connector.
Current enrollments are those which are active for this term or academic period. In virtually all environments this value should be set to true.
Future enrollments are those which are not yet active for the current term or academic period. An example of this type of enrollment would be a school enrollment for students advancing from elementary schools to middle schools at the start of the next school year. This enrollment may already be present in your student information system and set to the future timeframe. Setting this value to true would allow the connector to process these future enrollments. In most configurations, this value should be set to false.
Historical enrollments are those which are no longer active for the current term or academic period. An example of this type of enrollment would be a school enrollment for students who have advanced to a new school. The historic enrollment would contain their old school. Setting this to true would allow the connector to process these enrollments. In most configurations, this value should be set to false.
The Set uniqueID when setting user CN parameter will cause the driver to set the eDirectory Unique ID attribute to the same value as their login ID (CN). This can be useful for LDAP clients or other applications which leverage the Unique ID value. When this value is set to true, unique ID will be set (and updated, if a new login name is generated) by the connector. When false, the unique ID attribute will not be modified by the connector.
The list of school short names is used to provide a mapping between a school’s name in SIF and a short name typically used by staff at a school system. For example, Concensus High School might have a SIF name of Concensus High School, however it is usually referred to by its short name of CHS. If it is required that school objects (or perhaps student placement) be named or managed by the school short name, it will be necessary to populate this list with the desired short names.
This list maps the SIF GUID (Globally Unique IDentifier) for the school to the desired school short name. SIF GUIDs can be determined from your ZIS and are unique to that ZIS. Use the plus sign to add new entries to the list.
SIF Object Class to eDirectory Object Class Definitions
This GCV section is used to precisely define the relationship between SIF object classes and eDirectory objects as well as details around object naming, placement, and relationships.
Conceptually, an eDirectory user or group is composed of one or more SIF objects. For instance, a student user in the Identity Vault will consist of data from: StudentPersonal, StudentSchoolEnrollment, StudentCourseEnrollment, and possibly SchoolInfo, CourseInfo, and SectionInfo objects. The connector must necessarily relate multiple SIF classes to eDirectory objects in a many to one relationship. This relation is managed by the connector automatically via the object class definition GCVs. The default set of definitions provide an initial starting set of relationships and values, however it will be necessary to modify them to match the object naming and placement needs for your environment.
Unlike most IDM connectors, object naming and placement are fully controlled by the GCV values. In the majority of implementations, there is no need to modify the object naming or placement policies in the connector.
Pull down the illustrated option above to select the eDirectory object type to view and modify the configuration. Possible choices are: User, Group, and User-Enhancement. Each will be detailed below.
User Configuration
The user configuration section is used to control how the connector processes StudentPersonal and StaffPersonal SIF objects in the identity vault. A set of default configurations is provided which can be modified as needed.
The class definitions for StudentPersonal and StaffPersonal are the only two SIF classes supported for User mapping. Both of these user types use the same set of configuration parameters, however they can be set differently to meet the needs of the integration.
The StudentPersonal configuration is shown below.
The SIF Object Class Name specifies which SIF class this definition is to be used for. For the User class configuration, only StaffPersonal and StudentPersonal SIF classes may be selected.
The desired initial password for objects of this type can be specified with the initial password GCV. This initial password can be derived from an attribute of that object or can be a defined text string. If Universal Password is configured for this environment, the initial password must be compliant with the effective UP policy or the driver will return an NMAS error when attempting to set the initial password. It is important to note that the values used in this step are only used during the creation of the user object. Therefore, they are based entirely off of the values in the student information system through SIF. The available attributes to be used for initial passwords are:
- None
- No initial password (not recommended)
- Surname
- This user’s last name
- Given Name
- This user’s first name
- middleName
- This user’s middle name
- Be aware that this value may not exist for all users, it is not required by most student information systems
- Student ID
- This is the SIS ID number for this user, in most cases this number is the one generated and used by the student information system
- EMail Address
- The email address of this user, as known by the student information system
- Be aware that this value may not exist for all users, it is not required by most student information systems
- Text
- Enter the desired text to be used as the initial password
- This will give all users of this type the same initial password
Object Name Configuration
The object name configuration section uses a composite method where the desired object name, CN, of the eDirectory object is built out of one or more components which are concatenated together. This structure is used for both users and groups. The available components differ dependent on the object type, but the method of construction remains the same.
The connector will automatically test and resolve any name collisions. Object names are globally unique for SIF objects. If, for example, object names are formed by the first initial plus the last name and two students would have the same name, jsmith, the second user created would have their username made unique by appending a three digit integer, jsmith001 in this case.
To view and configure object naming, set the “Display object name configuration section” value to true.
Below is the default name configuration for StudentPersonal user objects.
The “Rename these objects on attribute changes” value controls whether or not the connector will automatically rename objects of this type, StudentPersonal in this case, when any of the attributes used to form the object name change (from SIF). When set to true, the objects will be renamed to match the new attribute value (the name will be recalculated). When set to false, the object will not be renamed. The default value for this is false.
The option “Strip non alpha-numeric characters from the UserID” setting will control whether or not the connector will clean the final object name of any characters which are not letters or numbers. For example, any hyphens, periods, quotes, etc will be removed. As many of these characters are not legal characters in object names, it is recommended that this value be left to the default setting of true.
The next section of the name configuration consists of the name components. There may be one or more components which are concatenated to form the object name. There must be at least one for the connector to function. The components are concatenated in the order listed. The first component is the left-most portion of the object name, with each additional component appended on the right.
Name Component
Each name component consists of three values. These values define what text to use for the component (a defined text string or an attribute value), how many characters of that element to use for naming, and from which side of the element those characters should be pulled.
The above image shows one naming component for users.
The value to use for this naming component can be one of several values. This value list will vary dependent on whether this configuration is for users or groups. The acceptable values for users are:
- Surname
- The user’s last name
- Given Name
- The user’s first name
- middleName
- The user’s middle name
- Be aware that many users may not have a value for this attribute!
- Student ID
- The SIS ID number for this user
- This value is managed by the student information system
- On Time Graduation Year
- The SIF On Time graduation year for this user
- Dependent on your SIS, this value may contain the correct expected graduation year for this user
- Only relevant for students
- Projected Graduation Year
- The SIF projected graduation year for this user
- Dependent on your SIS, this value may contain the correct expected graduation year for this user
- Only relevant for students
- EMail Address
- The email address of the user
- Be aware that this attribute may not have a value for all users
- Text
- A static text string for all objects of this type
- Enter the text string desired
IMPORTANT NOTE: Use care when selecting attributes for name components. All name components MUST have a value for the object to be properly named. If one or more components for the object name are missing or do not have a value, the object will be named using its SIF GUID and placed in the appropriate Incomplete container, defined at driver import or in object placement. Consider adding a “default” value policy for that attribute to the connector and/or validate your SIF/SIS data prior to using a particular attribute as a name component.
Use name component length to determine what portion of the name component value will be used to generate the final username. The value of -1 is evaluated as “the entire string”. Use -1 if you wish to use all of the value. If a portion of the value is desired, such as the first letter of the first name, use a positive integer representing how many characters to use, 1 in the example mentioned. A value of 0 or any negative values other than -1 are not supported.
Use name component orientation to control from which side of the value the characters will be taken. This value has no impact if the length is set to -1. There are two values supported, From the Right and From the Left.
In general, leading and trailing spaces are removed from a component value prior to processing the length value. Spaces within a value, such as the surname Von Braun, are removed and replaced with underscore characters.
Name Component Examples
Example 1: You wish to use the first letter of the first name as a component of the object name. The image below illustrates the correct settings for this name component.
First name is presented as Given Name. The length is set to 1, so one character will be used. Finally, the character is pulled from the left side of the name, which, in this case, would represent the first initial.
Example 2: You wish to use the last two digits of the graduation year as part of the object name. The image below illustrates the correct settings for this name component.
In this example, the correct SIF attribute for a student’s graduation year is On Time Graduation Year, so that is the attribute selected. Only the last two digits are desired, so the length is 2. Finally, since it is the last two digits that are needed, the orientation is set to from the right.
Example 3: This example shows a complete name configuration for student objects. The naming scheme desired is First Initial + Last Name + YY where YY is the last two digits of their graduation year.
Recommendations
When developing object name configuration settings, it is recommended that the name configuration selections:
- Only choose attributes which will have values. A missing value or attribute will cause the object to be named based upon its SIF GUID and placed in the appropriate incomplete container
- Text components can be used to insert characters, if needed, such as hyphens
- Any object definition must have at least one name component
- The order, top to bottom, of the name components will be concatenated from left to right
- Group object naming is done identically to user object name. The only differences are only in the list of available name component attributes
Object Placement Configuration
The next section of an object definition is the object placement configuration. Object placement is done in a very similar fashion to object name configuration. Placement components are defined which, when concatenated together, will form the destination DN of the object in question. Just like with name configuration, it is important to ensure that any attributes used for placement have values for objects. In the event that one or more components needed for placement are missing, the object will be placed in the appropriate incomplete container.
The destination DN formed by the placement components is appended to the base DN for this object type to form the final destination DN. If this container does not exist, it will be automatically created by the driver. NOTE: the base DN will not be automatically created, it must already exist in the IDV.
The above image shows a sample placement configuration for student user objects.
This section of the object definition provides the following configuration elements:
- Automatically move objects of this type
- This value, when set to true, will cause the connector to move objects of this type to a new container when any of the placement configuration attribute values change
- Base container for objects
- This is a DN in the IDV which forms the root-most container for placement of objects of this type
- This container MUST exist in the IDV. The connector will not create it automatically.
- Incomplete container
- This DN specifies the incomplete container for objects of this type
- The incomplete container is used in two cases
- The object’s name cannot be constructed due to missing attribute values
- The object’s placement cannot be constructed due to missing attribute values
- This container MUST exist in the IDV. The connector will not be created it automatically.
- Object Placement Configuration
- This section contains the placement components for this object type.
- The destination DN is formed by starting with the base DN then appending each placement component from top to bottom
- The top-most component is the root-most portion of this section of the DN
- The bottom-most component is the leaf-most portion of the DN (with the exception of the object name, which is defined elsewhere)
- The connector will automatically add slashes to the DN components when they are assembled, there is no need to add them as text components
Object Placement Component
The object placement component elements are formed similarly to name components. The differences are:
- The attributes to be selected are different
- Only the entire string value can be used
The above image is an attribute placement component. Note that, unlike name components, there is no length or orientation available. The entire value is used.
The above image is a static text placement component.
For users, the following attributes are available:
- School Short Name
- This attribute can only be used if the School Short Name list in the driver configuration GCV section is populated
- User to School Associations aren’t defined until all SIF elements are imported. Using this value will result in users initially being placed in the incomplete container until the school information is imported. At that time, the users will be moved to the correct container as School Short Name is defined.
- This attribute is not, by default, set on user objects. It is determined through their relationship with a school object (group).
- School Name
- User to School Associations aren’t defined until all SIF elements are imported. Using this value will result in users initially being placed in the incomplete container until the school information is imported. At that time, the users will be moved to the correct container as School Short Name is defined.
- This attribute is not, by default, set on user objects. It is determined through their relationship with a school object (group).
- Grade
- The user’s grade level from SIF
- Relevant only to students
- On Time Graduation Year
- The SIF On Time graduation year for this user
- Dependent on your SIS, this value may contain the correct expected graduation year for this user
- Only relevant for students
- Projected Graduation Year
- The SIF projected graduation year for this user
- Dependent on your SIS, this value may contain the correct expected graduation year for this user
- Only relevant for students
- Home Room
- Like school name, this value is only instantiated after the remaining SIF objects which define the relationships between users and schools are imported
- ccSIF-Class
- This is the SIF Class of the object, such as StudentPersonal or StaffPersonal
- Text
- A static text string
Placement Examples
Example 1: It is desired that all student users be placed in Concensus\Students. The correct placement configuration for this would be:
The final DN for students would be:
Concensus\Students\ObjectName
Example 2: Students should be placed in Concensus\Students\GraduationYear. The proper configuration would be:
The final DN for a student graduating in 2015 would be:
Concensus\Students\2015\objectName
Recommendations
Like with name components, only choose attributes which will have values. Unless the architecture requires it, it is recommended to leave move on. Check with your ZIS and SIS to ensure that the value provided for any attribute desired is actually useful. It may be necessary to do data cleanup or transformation in the connector before it can be used for placement. Group placement works in exactly the same manner, with the only difference being the available attributes for forming the DN.
Attributes Representing group memberships
This section of the user object definition defines how the connector will determine group memberships for this user. The section is only to be used for managing group memberships with groups created and managed by the connector. This section cannot be used to manage group memberships for any other category of group in the IDV.
When a StudentPersonal or StaffPersonal object (enrollments as well) is delivered to the connector, it may have one or more SIF GUID pointers to other SIF objects, such as schools, rooms, and course sections. The connector will search the IDV for the groups representing these objects and, if one is found, will make this user a member of that group.
The default values for students are:
- ccSIF-HomeRoom
- The SIF GUID for the student’s home room. Will resolve to the room object group (if present) in the IDV. This value is stored in the IDV as a DN to the group representing the home room.
- ccSIF-SchoolRecord
- The SIF GUID for the school to which this user is associated. Will resolve to the school group object (if present) in the IDV. This value is stored in the IDV as a DN to the group representing the school.
- ccSIF-SectionRecord
- The SIF GUID for the course section to which this user is associated. There will likely be many of these, representing enrollments for students and instructors for staff. It is used to resolve the course section group in the IDV. This value is stored as a DN to the group object representing the section in the IDV.
In most deployments, it is recommended that these values remain as the default values.
There are no default group membership values for staff, however this can be customized to fit the solution requirements.
Group Configuration
The Group configuration section covers the mapping of SIF classes to IDV groups. The SIF classes which are mapped to group objects, by default, are:
- SchoolInfo
- SchoolCourseInfo
- RoomInfo
- SectionInfo
In the default configuration, the connector will receive these classes from the SIS. It will use these objects, along with users and enrollments, to build interrelated memberships between schools, instructors, courses, sections, and students.
When fully migrated, students will be made members of groups representing:
- The school to which they are enrolled
- The course sections to which they are enrolled
- The room which is designated as their home room
Sections will be members of the courses to which they belong.
Sections will be members of the rooms in which they are instructed.
Rooms will be members of the schools to which they belong.
This allows rights, policy, and other group-based services to be assigned to courses, course sections, rooms, and schools. This is useful for a number of applications such as ZENWorks and Novell Storage Manager.
The object naming and placement configuration sections for each of these group types are virtually identical to the user definitions. The only key difference for the group objects is the selection of attributes available to construct the names and placements.
Naming Component Options (object with which this can be used):
- SIS ID (All)
- The SIS ID number of the object in question
- School Record (RoomInfo and CourseInfo only)
- The group name of the school to which this object is associated
- Can only be used once all objects are imported
- School Name from SIS (SchoolInfo only)
- The school’s name in the SIS
- School Short Name (SchoolInfo only)
- The school short name from the driver configuration parameters
- Can only be used if the School Short Name list has been populated
- Course Code (CourseInfo only)
- The course code in the SIS
- Course Title (CourseInfo only)
- The course title in the SIS
- Course Record (SectionInfo only)
- The group name of the course to which this object is associated
- Can only be used once all objects are imported
- Room Record (SectionInfo only)
- The group name of the room where this section is taught
- Can only be used once all objects are imported
- Room Number (RoomInfo only)
- The room number for this room from the SIS
- Text
- A static text string
The attributes available for placement components are:
- SIF Class
- The SIF object class of this object
- School Object Name in eDirectory
- The name of the school group in the IDV to which this object is affiliated
- Text
- Static Text string
Group Owners can be set and managed by the connector. If desired, for each class definition, an attribute can selected to define the group owner. The group owner will be set to the user record identified by the attribute, if available.
The available group owner attributes are (classes):
- Staff Record (RoomInfo only)
- The DN of the staff assigned to this room
- Teacher Record (SectionInfo only)
- The DN of the staff (instructors) assigned to this section
The group definitions also support, like users, group membership attributes which will be used when the group is added or updated to manage the membership of this group to other groups. The default configurations are displayed below:
- SchoolInfo
- no default mappings as school records are not made members of other groups.
- SchoolCourseInfo
- ccSIF-SchoolRecord
- RoomInfo
- ccSIF-SchoolRecord
- SectionInfo
- ccSIF-SchoolCourseRecord
- ccSIF-RoomRecord
In most deployments, the default values are sufficient for group membership attributes.
User Enhancements
User Enhancements are relationships which represent StudentSchoolEnrollment and StudentCourseEnrollment. Their purpose is to join students with their school and with their courses. The enrollments are processed depended on the configuration settings for the SIF timeframe. By default, only the current enrollments are processed.
Unlike users and groups, the object definitions for the user enhancements do not require naming or placement configurations. These objects are created as system objects in two containers within the SIF connector object in eDirectory. As they are used only for processing the relationships between students, courses, and schools, these objects are not directly useful as objects in eDirectory.
In general, the default configuration is sufficient for most deployments and these definitions should be modified only as needed to meet specific solution requirements.
The above image shows the default configuration for the StudentSchoolEnrollment definition.
The above image shows the default configuration for the StudentSectionEnrollment
There are three configuration values for these definitions:
- SIF Object Class Name
- The class this definition refers to
- Attribute that references the object to enhance
- This is the value that the connector will use to find the student record identified by the SIF GUID on this SIF class. Only change this if the basic schema for the connector has been modified and students and SIF GUIDs are represented differently
- Default value: ccSIF-StudentRecord
- Attributes that should be added to the user
- When the referenced student is located, the enrollment can be used to add additional attribute values to the student
- Each entry in these lists represents data on the enrollment object which will be made an attribute of the student object when the association is made
The options are limited to the attributes which are available on each enrollment. Please see the SIF class definitions for more information
SSL Configuration
To create the Keystores we recommend using Portecle. Other utilities work just as well, including the Java keystore utilities. Portecle is available on Windows and Linux and is easy to use.
Portecle can be downloaded from: http://sourceforge.net/projects/portecle/
Creating Agent.ks
- Run Portecle
- Select File | New Keystore
- In the New Keystore Type dialog select JKS and press Okay.
- Select Tools | Generate Key Pair
- In the Generate Key Pair dialog
- Select RSA for the Key Algorithm
- Enter 1024 for the Key Size.
- Press OK.
- Fill out the Generate Certificate Dialog identifying this certificate as being published by this your server. None of the fields is required individually, but at least one of them must have a value.
- Be sure to set the certificate validity to the number of days desired. Simply adding a 0 to the default will increase the time before expiration from 1 year to 10 years. An example is shown below. Press OK.
- In the Certificate Name dialog give the certificate a name. This certificate will be displayed in portecle using this name. Press OK.
- In the Create Key Pair Entry Password dialog specify the password for this certificate. Select File | Save Keystore.
- Specify the password for this keystore. This will be the value that should be entered in the driver configuration for the Agent Keystore Password.
- Select the location and filename for this keystore. We recommend agent.ks for this keystore.
.
Creating Trusted.ks
- Obtain the ZIS certificate from the ZIS server by exporting it. Consult your ZIS documentation to learn how to do this.
- Run Portecle
- Select File | New Keystore
- In the New Keystore Type dialog select JKS and press Okay.
- Select Tools | Import Trusted Certificate
- Browse to the exported certificate and select it.
- Click Import
- If a warning dialog is displayed click OK
- Select OK on the Certificate Details dialog
- Accept the certificate as trusted.
- Change the alias if you wish.
- Select File | Save Keystore
- Specify a password for the keystore. This will be the value that should be entered in the driver configuration for Truststore Password.
- Select the location and filename for the keystore. We recomment trusted.ks for this keystore.
Appendix A: Schema
The Concensus SIF integration module includes new schema for the IDV eDirectory instance to support some of the extended functionality of the connector. The SIF schema is provided with the connector as a separate .sch file which will need to be imported into the tree hosting the connector prior to deployment.
The Schema consists of three classes and many attributes, detailed below.
Custom Attributes
Attribute | Legacy Attribute | Syntax | Multi-Valued | Class |
ccSIF-Advisor |
| DN | Yes | ccSIF-Aux |
ccSIF-Building |
| CIS | Yes | ccSIF-Aux |
ccSIF-Capacity |
| CIS | Yes | ccSIF-Aux |
ccSIF-Class |
| CIS | No | ccSIF-Aux |
ccSIF-CongressionalDistrict |
| CIS | Yes | ccSIF-Aux |
ccSIF-Counselor |
| DN | Yes | ccSIF-Aux |
ccSIF-CourseCode |
| CIS | Yes | ccSIF-Aux |
ccSIF-CourseTitle |
| CIS | Yes | ccSIF-Aux |
ccSIF-Description |
| CIS | Yes | ccSIF-Aux |
ccSIF-DistrictCourseCode |
| CIS | Yes | ccSIF-Aux |
ccSIF-ElectronicID |
| CIS | Yes | ccSIF-Aux |
ccSIF-EntryDate |
| T | Yes | ccSIF-Aux |
ccSIF-EntryType |
| CIS | Yes | ccSIF-Aux |
ccSIF-ExitDate |
| T | Yes | ccSIF-Aux |
ccSIF-ExitStatus |
| CIS | Yes | ccSIF-Aux |
ccSIF-ExitType |
| CIS | Yes | ccSIF-Aux |
ccSIF-FTE |
| CIS | Yes | ccSIF-Aux |
ccSIF-FTPStatus |
| CIS | Yes | ccSIF-Aux |
ccSIF-FutureEnhancement |
| B | No | ccSIF-Aux |
ccSIF-GradeLevel | DirXML-sifGrade | CIS | Yes | ccSIF-Aux |
ccSIF-GradeLevels |
| CIS | Yes | ccSIF-Aux |
ccSIF-GraduationDate |
| T | Yes | ccSIF-Aux |
ccSIF-GUID | DirXML-sifAuthGUID | CIS | No | ccSIF-Aux |
ccSIF-HomeRoom |
| DN | Yes | ccSIF-Aux |
ccSIF-HomeRoomNumber |
| CIS | Yes | ccSIF-Aux |
ccSIF-IdentificationInfo |
| CIS | Yes | ccSIF-Aux |
ccSIF-LocationOfInstruction |
| CIS | Yes | ccSIF-Aux |
ccSIF-MediumOfInstruction |
| CIS | Yes | ccSIF-Aux |
ccSIF-MeetingTime |
| CIL | Yes | ccSIF-Aux |
ccSIF-MembershipType |
| CIS | Yes | ccSIF-Aux |
ccSIF-NCESID |
| CIS | Yes | ccSIF-Aux |
ccSIF-NonResidentAttendReason |
| CIS | Yes | ccSIF-Aux |
ccSIF-OnTimeGraduationYear | DirXML-sifGradYear | CIS | Yes | ccSIF-Aux |
ccSIF-OperationalStatus |
| CIS | Yes | ccSIF-Aux |
ccSIF-ProjectedGraduationYear |
| CIS | Yes | ccSIF-Aux |
ccSIF-ResidencyStatus |
| CIS | Yes | ccSIF-Aux |
ccSIF-RoomNumber |
| CIS | Yes | ccSIF-Aux |
ccSIF-RoomRecord |
| DN | Yes | ccSIF-Aux |
ccSIF-SchoolCourseRecord |
| DN | Yes | ccSIF-Aux |
ccSIF-SchoolName | DirXML-sifSchoolName | CIS | Yes | ccSIF-Aux |
ccSIF-SchoolRecord | DirXML-sifSchool | DN | Yes | ccSIF-Aux |
ccSIF-SchoolShortName |
| CIS | Yes | ccSIF-Aux |
ccSIF-SchoolYear |
| CIS | Yes | ccSIF-Aux |
ccSIF-SectionRecord |
| DN | Yes | ccSIF-Aux |
ccSIF-SISID | DirXML-sifSISID | CIS | No | ccSIF-Aux |
ccSIF-Size |
| CIS | Yes | ccSIF-Aux |
ccSIF-StaffRecord |
| DN | Yes | ccSIF-Aux |
ccSIF-StateCourseCode |
| CIS | Yes | ccSIF-Aux |
ccSIF-StateProvinceID |
| CIS | No | ccSIF-Aux |
ccsIF-StudentRecord |
| DN | Yes | ccSIF-Aux |
ccSIF-StudentSchoolEnrollmentRef |
| CIL | Yes | ccSIF-Aux |
ccSIF-TeacherRecord |
| DN | Yes | ccSIF-Aux |
ccSIF-TimeFrame |
| CIS | Yes | ccSIF-Aux |
ccSIF-TitleOneStatus |
| CIS | Yes | ccSIF-Aux |
ccSIF-UserEnhancementRef |
| DN | Yes | ccSIF-Aux |
ccSIF-ZoneURL |
| CIS | No | ccSIF-Aux |
Attribute Discontinued | DirXML-sifIsStaff | N/A | N/A | N/A |
Attribute Discontinued | DirXML-sifSSEGUID | N/A | N/A | N/A |
Schema Key: DN=Distinguished Name, CIS-Case Ignore String, T=Time, B=Boolean, CIL=Case Ignore List