Skip to content

Commit

Permalink
Initial implementation of plugin common infrastructure (CFM-42)
Browse files Browse the repository at this point in the history
  • Loading branch information
Benn Oshrin committed Jan 23, 2023
1 parent dd5804d commit c315451
Show file tree
Hide file tree
Showing 48 changed files with 2,301 additions and 517 deletions.
9 changes: 8 additions & 1 deletion app/config/app.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,14 @@
'cssBaseUrl' => 'css/',
'jsBaseUrl' => 'js/',
'paths' => [
'plugins' => [ROOT . DS . 'plugins' . DS],
'plugins' => [
// Core plugins, always active
ROOT . DS . 'plugins' . DS,
// Optional plugins, must be activated
ROOT . DS . 'availableplugins' . DS,
// Local plugins, must be activated
LOCAL . DS . 'plugins' . DS
],
'templates' => [ROOT . DS . 'templates' . DS],
'locales' => [ROOT . DS . 'resources' . DS . 'locales' . DS],
],
Expand Down
15 changes: 15 additions & 0 deletions app/config/schema/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

"columns": {
"co_id": { "type": "integer", "foreignkey": { "table": "cos", "column": "id" }, "notnull": true },
"comment": { "type": "string", "size": 256 },
"cou_id": { "type": "integer", "foreignkey": { "table": "cous", "column": "id" } },
"description": { "type": "string", "size": 128 },
"external_identity_id": { "type": "integer", "foreignkey": { "table": "external_identities", "column": "id" } },
Expand All @@ -20,6 +21,7 @@
"name": { "type": "string", "size": 128, "notnull": true },
"person_id": { "type": "integer", "foreignkey": { "table": "people", "column": "id" } },
"person_role_id": { "type": "integer", "foreignkey": { "table": "person_roles", "column": "id" } },
"plugin": { "type": "string", "size": 80 },
"status": { "type": "string", "size": 2 },
"type_id": { "type": "integer", "foreignkey": { "table": "types", "column": "id" }, "notnull": true },
"valid_from": { "type": "datetime" },
Expand All @@ -36,6 +38,19 @@
"timestamps": false
},

"plugins": {
"columns": {
"id": {},
"plugin": {},
"location": { "type": "string", "size": 32 },
"status": {},
"comment": {}
},
"indexes": {
},
"changelog": false
},

"cos": {
"columns": {
"id": {},
Expand Down
6 changes: 6 additions & 0 deletions app/resources/locales/en_US/command.po
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ msgstr "Database schema update successful"
msgid "db.schema"
msgstr "Loading database schema from {0}"

msgid "db.schema.plugin"
msgstr "Loading database schema from active plugin {0}"

msgid "db.schema.plugin.none"
msgstr "No database schema found for active plugin {0}"

msgid "opt.admin-family-name"
msgstr "Family Name of initial platform administrator"

Expand Down
3 changes: 3 additions & 0 deletions app/resources/locales/en_US/controller.po
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,9 @@ msgstr "{0,plural,=1{Person Role} other{Person Roles}}"
msgid "Pronouns"
msgstr "{0,plural,=1{Pronoun Preference} other{Pronouns}}"

msgid "Plugins"
msgstr "{0,plural,=1{Plugin} other{Plugins}}"

msgid "TelephoneNumbers"
msgstr "{0,plural,=1{Telephone Number} other{Telephone Numbers}}"

Expand Down
103 changes: 59 additions & 44 deletions app/resources/locales/en_US/defaultType.po
Original file line number Diff line number Diff line change
Expand Up @@ -24,137 +24,152 @@

# Labels for default types when a new CO is created

msgid "Addresses.campus"
msgid "Addresses.type.campus"
msgstr "Campus"

msgid "Addresses.home"
msgid "Addresses.type.home"
msgstr "Home"

msgid "Addresses.office"
msgid "Addresses.type.office"
msgstr "Office"

msgid "Addresses.postal"
msgid "Addresses.type.postal"
msgstr "Postal"

msgid "EmailAddresses.delivery"
msgid "EmailAddresses.type.delivery"
msgstr "Delivery"

msgid "EmailAddresses.forwarding"
msgid "EmailAddresses.type.forwarding"
msgstr "Forwarding"

msgid "EmailAddresses.list"
msgid "EmailAddresses.type.list"
msgstr "Mailing List"

msgid "EmailAddresses.official"
msgid "EmailAddresses.type.official"
msgstr "Official"

msgid "EmailAddresses.personal"
msgid "EmailAddresses.type.personal"
msgstr "Personal"

msgid "EmailAddresses.preferred"
msgid "EmailAddresses.type.preferred"
msgstr "Preferred"

msgid "EmailAddresses.recovery"
msgid "EmailAddresses.type.recovery"
msgstr "Recovery"

msgid "Identifiers.badge"
msgid "Identifiers.type.badge"
msgstr "Badge"

msgid "Identifiers.enterprise"
msgid "Identifiers.type.enterprise"
msgstr "Enterprise"

msgid "Identifiers.eppn"
msgid "Identifiers.type.eppn"
msgstr "ePPN"

msgid "Identifiers.eptid"
msgid "Identifiers.type.eptid"
msgstr "ePTID"

msgid "Identifiers.epuid"
msgid "Identifiers.type.epuid"
msgstr "ePUID"

msgid "Identifiers.gid"
msgid "Identifiers.type.gid"
msgstr "GID"

msgid "Identifiers.mail"
msgid "Identifiers.type.mail"
msgstr "Mail"

msgid "Identifiers.national"
msgid "Identifiers.type.national"
msgstr "National"

msgid "Identifiers.network"
msgid "Identifiers.type.network"
msgstr "Network"

msgid "Identifiers.oidcsub"
msgid "Identifiers.type.oidcsub"
msgstr "OIDC Sub"

msgid "Identifiers.openid"
msgid "Identifiers.type.openid"
msgstr "OpenID"

msgid "Identifiers.orcid"
msgid "Identifiers.type.orcid"
msgstr "ORCiD"

msgid "Identifiers.provisioningtarget"
msgid "Identifiers.type.provisioningtarget"
msgstr "Provisioning Target"

msgid "Identifiers.reference"
msgid "Identifiers.type.reference"
msgstr "Match Reference"

msgid "Identifiers.pairwiseid"
msgid "Identifiers.type.pairwiseid"
msgstr "SAML Pairwise"

msgid "Identifiers.subjectid"
msgid "Identifiers.type.subjectid"
msgstr "SAML Subject"

msgid "Identifiers.sorid"
msgid "Identifiers.type.sorid"
msgstr "System of Record"

msgid "Identifiers.uid"
msgid "Identifiers.type.uid"
msgstr "UID"

msgid "Names.alternate"
msgid "Names.type.alternate"
msgstr "Alternate"

msgid "Names.author"
msgid "Names.type.author"
msgstr "Author"

msgid "Names.fka"
msgid "Names.type.fka"
msgstr "Formerly Known As"

msgid "Names.official"
msgid "Names.type.official"
msgstr "Official"

msgid "Names.preferred"
msgid "Names.type.preferred"
msgstr "Preferred"

msgid "PersonRoles.affiliate"
msgid "PersonRoles.affiliation_type.affiliate"
msgstr "Affiliate"

msgid "PersonRoles.alum"
msgid "PersonRoles.affiliation_type.alum"
msgstr "Alum"

msgid "PersonRoles.employee"
msgid "PersonRoles.affiliation_type.employee"
msgstr "Employee"

msgid "PersonRoles.faculty"
msgid "PersonRoles.affiliation_type.faculty"
msgstr "Faculty"

msgid "PersonRoles.librarywalkin"
msgid "PersonRoles.affiliation_type.librarywalkin"
msgstr "Library Walk-In"

msgid "PersonRoles.member"
msgid "PersonRoles.affiliation_type.member"
msgstr "Member"

msgid "PersonRoles.staff"
msgid "PersonRoles.affiliation_type.staff"
msgstr "Staff"

msgid "PersonRoles.student"
msgid "PersonRoles.affiliation_type.student"
msgstr "Student"

msgid "Pronouns.default"
msgstr "Default"

msgid "Urls.official"
msgid "TelephoneNumbers.type.campus"
msgstr "Campus"

msgid "TelephoneNumbers.type.fax"
msgstr "Fax"

msgid "TelephoneNumbers.type.home"
msgstr "Home"

msgid "TelephoneNumbers.type.mobile"
msgstr "Mobile"

msgid "TelephoneNumbers.type.office"
msgstr "Office"

msgid "Urls.type.official"
msgstr "Official"

msgid "Urls.personal"
msgid "Urls.type.personal"
msgstr "Personal"
2 changes: 1 addition & 1 deletion app/resources/locales/en_US/enumeration.po
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ msgid "StatusEnum.C"
msgstr "Confirmed"

msgid "StatusEnum.D"
msgstr "Deleted"
msgstr "Archived"

msgid "StatusEnum.D2"
msgstr "Duplicate"
Expand Down
12 changes: 12 additions & 0 deletions app/resources/locales/en_US/error.po
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ msgstr "Invalid database configuration \"{0}\""
msgid "default.conflict"
msgstr "Default values already imported"

msgid "delete"
msgstr "Failed to delete {0} {1}"

msgid "delete.active"
msgstr "This record is in Active status and cannot be deleted"

Expand Down Expand Up @@ -118,6 +121,9 @@ msgstr "Group is nested or has nestings, and cannot be suspended or deleted"
msgid "Identifiers.login"
msgstr "Only Identifiers attached to a Person may be flagged for login"

msgid "inactive"
msgstr "{0} {1} is not Active"

msgid "input.blank"
msgstr "Value cannot consist of only blank characters"

Expand Down Expand Up @@ -172,6 +178,9 @@ msgstr "Page number must be an integer"
msgid "perm"
msgstr "Permission Denied"

msgid "Plugins.inuse"
msgstr "{0,plural,=1{Plugin in use for {1} \"{2}\" in CO {3}} other{Plugin in use for {1} \"{2}\" in CO {3} and others}}"

msgid "primary_link"
msgstr "Could not find value for Primary Link"

Expand All @@ -190,6 +199,9 @@ msgstr "Foreign key {0} CO ID {1} does not match primary object CO ID {2}"
msgid "save"
msgstr "Save Failed ({0})"

msgid "save.plugin"
msgstr "Failed to instantiate Plugin {0}"

msgid "schema.column"
msgstr "No type defined for table \"{0}\" column \"{1}\""

Expand Down
Loading

0 comments on commit c315451

Please sign in to comment.