Drupal 8 Migration High Level Requirements

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

Requirements

Notes

Phase 1

  • Drupal 8 based Developer portal site creation using the 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 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

Requirements

Notes

Phase 2

  • Site redesign to accommodate additional areas

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

  • Automate the deployment of new Apigee Drupal module 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 (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.