...
Attribute | Multi-valued? | Required? | Notes | |
---|---|---|---|---|
Address | Yes | No | See note below. | |
EmailAddress | Yes | No | See note below. | |
Identifier | Yes | No | Does not automatically include the unique key (SORID). See note below. | |
Name | Yes | No | At least one Name must be returned, and exactly one Name must be flagged primary. See note below. | |
OrgIdentity.affiliation | No | No | Possible values may vary by CO; see CoExtendedType::definedTypes | |
OrgIdentity.title | No | No | ||
OrgIdentity.o | No | No | ||
OrgIdentity.ou | No | No | ||
OrgIdentity.valid_from | No | No | Must be in UTC time, and database format, eg via strftime("%F %T", ...) | |
OrgIdentity.valid_through | No | No | Must be in UTC time, and database format, eg via strftime("%F %T", ...) | |
TelephoneNumber | Yes | No | See note below. | |
Url | Yes | No | See note below. Available from Registry v3.1.0. |
...
groupableAttributes()
defines the set of attributes the Plugin knows about that may be used for generating group memberships. This may be a static list of attributes, or (as of v3.1.0) it may be dynamically determined based on a given instantiation (via the configuration available in$this->pluginCfg
).resultToGroups()
converts a raw result into an array of attribute value/pairs. Note the array is not itself the group mapping, but rather the relevant attributes that will be used by the core code to determine if any group membership match. (This way the Plugin does not need to worry about parsing the mapping configuration.)
Prior to v3.2.0, the resultToGroups()
was poorly specified, allowing either a single value or a list of values. Beginning with v3.2.0, the interface has been clarified, and the result is now an array where the key is the attribute and the value is a list of array, each of which may contain the following keys: value
(required, holds the actual value), valid_from
, and valid_through
. If specified, the latter two must be in strftime %F %T
format, and in UTC.
Example
Code Block | ||
---|---|---|
| ||
public function groupableAttributes() { return array( 'title' => _txt('fd.title'); ); } public function resultToGroups($raw) { // The core code will use this data to determine if the configured // OIS Group Mapping rules are matched. return array( 'title' => array( array( 'value' => 'Professor of Mysterious Events', 'valid_from' => '2017-08-01 00:00:00', 'valid_through' => '2018-07-31 23:59:59' ); ); ); } |
Integration With Enrollment Flows
...