Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Objective

To provide a campus wide API solution to securely provide data through standardize interfaces for all campus members and associated entities. To create a centralized access point where API providers can list data services they provide and find data services they larger community can consume. To ensure data security through clearly documented, standardized, accessible and actionable policies and best practices. To cultivate a forum where data can be used to service and extend the many aspects of research, development, and business needs of the campus.

API Roadmap

APIDescriptionStatusStartEstimated Completion
Curriculum Space Available Provide the space available for each section. This will prevent people from calling the curriculum API just to get the space available. 
Status
colourGrey
titleproposed


Curriculum FinalsInclude course finals information in the curriculum API. Requested by the GoGaucho team.
Status
colourGrey
titleproposed


Curriculum PrerequisitesInclude course prerequisites in the curriculum API. Requested by a student.
Status
colourGrey
titleproposed


Grade data from public recordsThe GoGaucho team requested this data from the public records department.
Status
colourGrey
titleproposed


EmployeeEmployee name and appointment type information
Status
colourGrey
titleproposed


Parking Structure Free Spaces InformationRetrieve the number of free spaces in a parking structure
Status
colourGrey
titleproposed


Identity Provisioning/Deprovisioning Records

Retrieve list of identities which have had a lifecycle event status change.  Provisioning Events: Record creation, addition of an affiliation. Deprovisioning Events: Record "soft" deletion, removal of an affiliation.

Status
colourGrey
titleproposed


Housing PropertiesList of places where students, faculty, staff can live
Status
colourGrey
titleproposed


Campus BuildingsAll the campus buildings. Source has been identified as https://ucsb.metabim.com/
Status
colourGrey
titleproposed


Housing Current List of ResidentsDo they live here? And, where do they live? There is a need to feed student residence into the SIS Gaucho Blue. There is also need to verify student residency one student at a time for some of the Housing needs. 
Status
titleproposed


Employee PhotosReturn the Access Card photos for employees by the UCPath employee ID. It will include the photo hash as well. On hold due to HR concerns.
Status
titleon hold
  

Roadmap

Project
Summary
Status
Start
Estimated
Completion
Drupal 8Upgrade the Drupal Portal to version 8. This will use the Drupal 8 Apigee plugin (which is still in prerelease).
Status
colourGreen
titlein progress
  
Usage ReportsDevelop API usage reports and make them available to stakeholders and developers who do not have access to the Gateway.
Status
colourGreen
titlein progress
  
Apigee Teams FeatureApigee's "Companies" (ie. Teams) feature is a plugin for the Drupal portal with tie-ins to the API Gateway backend. It will allow developers to create Teams, and associate the applications they create with their Teams, rather than themselves.
Status
colourYellow
titleresearching


Account Cleanup ProjectOn an annual basis we would like to review the accounts we have in the system in order to remove accounts that should no longer be active and reduce our security risk profile. To do this we will want to check what accounts are not in active use or their owners are no longer affiliated with the University.
Status
colourYellow
titleresearching


Campus API Security Improvements

Better integrate the API security model with the Campus IdM Team's security model. Look at creating service accounts at the campus level and managing their access through the gateway within https://developer.ucsb.edu.

Secondary Ask: Campus Identity Resource Request

Status
colourYellow
titleresearching


Automated Tasks - Access Request MonitorAn automated task which will monitor access requests from users to auto-approve particular APIs and send Access Request information about restricted APIs.
Status
colourYellow
titleresearching


@apibot - ReportingGenerate reports on API Usage, Access Violations, and Errors.
Status
colourYellow
titleresearching


Statuspage.io IntegrationHave a Statuspage to show the availability and history of the APIs and overall system. Similar to SA's statuspage.
Status
colourGrey
titlewish list


Client Library Reference ArchitectureBuild a client library that demonstrates how to use the API Key and UCSB Net ID/password combination to retrieve data. This project should be hosted in Github and if possible, a build should be hosted on a public repository (nuget).
Status
colourGrey
titlewish list


Drupal - Account Creation Review (Approve/Deny)An extension to drupal which will look at an new account creation. Given a simple set of rules some account requests should be able to be auto-denied. Maybe some can also be auto approved.
Status
colourYellow
titleresearching


...

ProjectSummaryStatusStartCompletion
Graduate Division Applicant Verification (Private)Verify graduate student admissions application information. Will be used in housing process for new grad students.
Status
colourBlue
titlecompleted
  
Library Employee List (Private)Employee name and appointment type information to be used in the Library Alma system to validate current employment status.
Status
colourBlue
titlecompleted
  
Academic Curriculum (Registrar)Curriculums service for Campus API (Box)
Status
colourBlue
titlecompleted

Recreation Patron Photos (Private)Return the student or employee Access card photos by perm or UCPath employee ID (the Fusion padded ID). 
Status
colourBlue
titlecompleted
  
Housing Contract Admissions StatusWhat status the students housing contract is in
Status
colourBlue
titlecompleted
  
@apibot - Javascript ConversionTake the existing functionality of @apibot and convert it from Powershell to Javascript. Move hosting of the bot on the Google Cloud Platform. Develop a workflow that multiple people can develop scripts for it at the same time. Create a CI/CD deployment chain to ensure successful updates.
Status
colourBlue
titlecompleted
 
Students Rosters (Registrar)Rosters service for Campus API (Box)
Status
colourBlue
titlecompleted
Meal Plan InformationMeal plans and rates
Status
colourBlue
titlecompleted
  
Workflow - Access RequestCreate a new workflow to improve requesting access to an API. The workflow should capture information about the application and the approveral which can be referenced later on for auditing purposes.
Status
colourBlue
titlecompleted

 

 
Workflow - Publish a New APIInstall a workflow system into the Drupal portal and developer a "Publish a New API (for Data/API Providers)" workflow.
Status
colourBlue
titlecompleted
  
API - Registrar Courses & Student Schedule Public ServiceCourses service for Campus API (Box)
Status
colourBlue
titlecompleted
API - Registrar Students Public ServiceStudents service for Campus API (Box)
Status
colourBlue
titlecompleted
API - Dining Commons General InformationNames, Locations, etc.
Status
colourBlue
titlecompleted
  
Status Monitoring and HealthchecksUse a monitoring system to make sure we are notified when an API is unavailable.
Status
colourBlue
titlecompleted
  
Slack Integration - @apibot Create a slack integrtion hubot which will handle: search for newly created developer accounts, api product approval, and target server gateway configuration
Status
colourBlue
titlecompleted
 
Initial RolloutCreate First APIs, Developer Portal, Introductory Documentation, and Communicate with Campus the availability of the System
Status
colourBlue
titlecompleted
 
 

Principles

(We don't always achieve these, but this is what we're shooting for)

  • Easy to Find APIs

Provide an easy and quick to use Developer Portal for finding APIs and the data they provide. In order for APIs to be useful, people need to use them and the first step to do that is make them easily found through search engines and clear documentation.

...