Versions Compared

Key

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

Overview

The API management platform consists of two main tools - a developer portal, and a gateway, both described below. The developer portal is currently a Drupal 7 site, provided by Apigee, and customized by the UCSB Apigee team. The Apigee functionality is tightly integrated into the Drupal 7 site, allowing user accounts, apps, and API requests to be visible in the Gateway, and vice-versa. Currently this site is hosted under the UCSB Pantheon account. With the Drupal 8 version Apigee took a different approach. They split the Apigee modules from the Apigee Drupal site, and made them available as a separate install for any Drupal site. 

Developer Portal (https://developer.ucsb.edu/): used for API discovery and access/publishing requests. API users sign up for the developer portal, create an App, and request access to APIs for their app. 

Gateway (https://login.apigee.com/login): used for API publishing, execution, and statistics. 

Apigee Documentation on Developer Portal:  https://docs.apigee.com/api-platform/publish/developer-portal



Resources

The API Team has limited Drupal resources. We are looking for resources to help with this transition to Drupal 8 and implement the new setup that Apigee has provided with this version. 

The team consists of volunteer members and any automation that can be achieved with the maintenance of the Drupal site will be helpful to the team.

API Team:

Diana Antova - SIS&T, team lead

Steven Maglio - SIS&T, team co-lead

Ian Lessing (Unlicensed) - Library, Drupal resource

Kevin Wu - ETS 

christian.montecino (Unlicensed) - ETS 

Vince Nievares - Academic Affairs IT

Reinard DolleschelBiological Sciences Administration IT

Notes


Phase

Requirements

Notes

Phase 1

New
  • Drupal 8 based Developer portal site creation

with
  • using the

new UCSB using the public affairs distribution
  • UCSB Public Affairs distribution hosted on Pantheon.

  • Apigee modules installation

  • Transfer current site content

  • Setup and transfer workflow and rules

  • Migrate user accounts from Drupal 7 instance to Drupal 8 instance.

  • Home page design - Adopt the UCSB Public Affairs theme and merge the current content (https://developer.ucsb.edu/)

    • We would like to alter the menus to give more space for the DevOps area to expand

  • Automate a notification to site admins when the Apigee Drupal module(s) has a new version released.

    • Look to see if there is something already created which would do this first. If there isn't an off-the-shelf service to do this, then build one.

    • If possible, notification of all possible module updates

  • Phase 1 will include the migration of the site "as-is" from Drupal 7 to Drupal 8.

  • The upstream would be the UCSB Public Affairs Distribution, which will give us:

    • Security Updates

    • Campus Theme Updates

  • The UCSB Campus API Team will be responsible for

    • Apigee Module Updates

    • Custom Module Installation / Updates

  • We estimate the project to take about 160 hours

  • The

Apigee
  • UCSB Campus API team has limited resources that will be available to assist, provide guidance, and testing for the migration.

  • There is a need for a web presence for the campus DevOps initiative. The developer portal was created initially as a generic developer resource site (developer.ucsb.edu). With the API platform being the main purpose of the site initially, it's design centers around this function. We are hoping we can redesign it to better fit the vision of serving the developer community in a wider capacity.

Potential Future Phases

Phase

Requirements

Notes

Phase 2

  • Site redesign to accommodate additional areas

  • Automate

the lookup to check for Apigee module updates 
  • a notification to site admins when the Apigee Drupal module(s) has a new version released.

  • Automate the

application
  • deployment of new Apigee Drupal module

update
  • releases.

  • Connect developer portal to the campus SSO system to allow developers to login to developer.ucsb.edu with their campus ID login credentials.

  • Implement Apigee Teams feature

  • Site redesign to accommodate additional areas
  • In Phase 2 we want to implement improvements to the site, such as SSO integration, the teams feature, better integration with the campus identity system, and some Drupal update automatons.
    • (Teams allow developers /portal users to share responsibility for an app with other developers.) See: Apigee Docs on Teams

    • There is a need for a web presence for the campus DevOps initiative. The developer portal was created initially as a generic developer resource site (developer.ucsb.edu). With the API platform being the main purpose of the site initially, it's design centers around this function. We are hoping we can redesign it to better fit the vision of serving the developer community in a wider capacity.

    • In addition, in Phase 2 we want to implement some site improvements, such as SSO integration, the Apigee teams feature, better integration with the campus identity system, and automation of the Apigee Drupal module updates.

    • The resources for some of these tasks will be different as they will require direct involvement from the Apigee team and other campus teams. 

    Phase 3

    • Account cleanup automation

      • Move all components to AWS (database, existing code)

      • Develop account cleanup code

      • As part of the AWS migration we can migrate the Heroku components for the chatbot

    • This task is not directly related to the Drupal migration and will require different resources.

    Management

    • Steven will meet with the contractor for 30 minutes each day for a daily standup. Ian will be invited as an optional attendee, but will attempt to be there at least 2 days a week.

      • On a day when the Apigee Implementation team meets, we will have the daily meeting at that time and with the larger team.

      • Jira may be used to track work item and progress

        • Steven will work with SA Confluence/Jira team to get the contractor setup.