Although you can use Drupal with any API management gateway/platform, this article uses Apigee as an example. Pronovix is a proud Apigee partner for our developer portal product. In this article we will highlight two Apigee developer portal solutions: the Apigee Edge Integrated Portal and the Apigee Drupal Kickstart alongside the Developer Portal we offer.
This article also hopes to answer the following questions as a follow up to our article on the key features that make Drupal 8 a good starting point for a developer portal.
- What do I need to know to get started with Drupal?
- What is available for an easier or faster ramp-up?
- How can I integrate my API management tools?
Table of contents:
- Why should I use Apigee?
- Apigee Edge Integrated Portal
- Introduction to Drupal
- Devportals as a Service
- How to choose the best Devportal Solution for your business
Why should I use Apigee?
Apigee is the leading API management gateway for developing and managing APIs using analytics, access control, monetization, and developer workflows (Google Cloud named a Leader for API Management Solutions: Gartner 2019, 2020 Forrester Wave). Apigee provides two options for getting started: their stand alone Apigee Edge Integrated Portal, and the more advanced Apigee Developer Portal Kickstart built on Drupal 8. To understand the latter which is a Drupal distribution, we will need to explain Drupal in relation to its modules, themes, and distributions. We will also outline options available for building your Drupal 8 developer portal and how you may benefit from our Devportal-as-a-Service solution.
Apigee Edge Integrated Portal
Apigee offers a ready hosted solution for setting up a simple self-service portal that integrates with a subset of features available through their API management platform.
Last updated 30 July 2020
- Portal content development using Markdown & HTML
- Custom theme & menus
- Mobile device display optimization
- API Documentation
- Send live requests from your API reference
- API reference doc rendered from OpenAPI specifications
- OpenAPI Specification version 3 support
- Customize domain
- Domain name
- HTTPs enabled
- Integration with custom scripts and script tags
- Configure your email
- SMTP configuration
- Email template configuration
- Access control to portal content and APIs
- CAPTCHA to prevent spam
- Federated login
- Roles and permissions for developer/consumer accounts
- Terms and conditions for account creation
- Advanced customizations
- Third-party tags, like Google Analytics
- Apigee Support
This is an ideal option for businesses looking for a simple developer documentation/marketing site with a few easy to document APIs and minimal documentation. Apigee's monetization feature, API revisions, and more complex documentation structures are not available (see Apigee's feature comparison chart for comparison).
For more complex needs, Apigee recommends sourcing a developer portal that utilizes Drupal 8. To this end, Apigee supports the development and maintenance of - Apigee Edge Integration Modules - Apigee Developer Portal Kickstart Drupal Distribution
Drupal 8 is an open source Content Management System (CMS) that was developed in the last two decades by a diverse community of developers to provide the tools to build reusable, versatile, structured features and content that dynamic web experiences require. Drupal is above all a framework from which a developer portal can be structured.
Drupal 8 for Developer Portals Why choose Drupal 8 for your developer portal? In this article we outline the elements of why Drupal 8 is a good candidate for building your developer portal and why we use it as the base for our SaaS product.Read more
Drupal 8 is supported by a community of dedicated contributors who innovate to expand CMS functionality and usability experience (UX) by developers, site administrators, and end users. At the same time, web agencies, development shops, and our own development team at Pronovix work exclusively within the Drupal framework while maintaining proprietary projects that are not publicly available to the community at large.
Drupal can be described as the sum of its: Core, Distributions, Modules, and Themes.
This is Drupal ‘out of the box’. Downloading and installing will give you a blank website that contains all of the basics to create a content site. As an official release, it comes bundled with what are considered the most essential modules and themes. With every major Drupal release, architectural improvements are released, and some of the contributed modules that were most popular or useful in the prior release are integrated into the core product release. What this means is that with each subsequent release of Drupal (5 to 6, 6 to 7, 7 to 8) tools and elements created for utility are incorporated and thereafter fully supported. Because of this, each version of Drupal is improved on the previous and benefits directly from those community built and industry perfected modules.
Simplified illustration of Drupal Core
“There is a module for everything and if there isn’t, then build one.”
As Drupal is built to be extendable through a modular architecture, members of the Drupal community constantly add contributed functionality in the form of modules and themes that have been registered with drupal.org. These modules and themes are maintained and supported by the community. Not all modules are built with the same quality of engineering, so they are not equal and standards vary from usability to response time for support or issues. The functionality the module provides is heavily dictated by the module creator and maintainer; however, contributors will attempt to make it as generic and reusable as possible. Modules and themes can also be built as a result of collaborations between companies within the community that discover they have shared requirements. As an example, Pronovix built the first Drupal 8 release of the Apigee Edge integration module and the module has since been collaborated on, supported, incorporated, and maintained by numerous members of the Apigee community.
The key to choosing the right modules to use is to ask:
- What functionality do I need?
- Is there a module for it?
- Is this module stable and secure?
- How many issues are in its queue and are they issues that will affect my use?
- Is the issue queue and module actively updated and maintained?
- Are other users adopting this module for their projects?
Examples of API management related modules
Last updated 30 July 2020
- Apigee Edge
- Apigee API Catalog
- Apigee Monetization
- UI for Apigee Edge
- Developer Portal
- Open API
- Swagger UI for display of OpenAPI specifications
- Swagger UI Field Formatter
With all of these modules, you can download and install them to your Drupal instance and ascertain if the functionality is what you need. In some cases, multiple modules may serve identical purposes but one may be better for your purpose than another. Once in use, you can modify contributed modules to meet your unique needs and provide any changes or extensions as patches back to the maintainers of the module for them to consider for addition. It also does not hurt to make feature or support requests to the module maintainers for assistance. In all of this, modules can also be created or used in a proprietary fashion where the module is not registered with drupal.org and/or takes on its own life within a development project. Because a module is a building block, it’s final destination, configurations, interactions with other modules, and usage within a final project is flexible.
Distributions arose in Drupal as a result of developers wanting to be able to create multiple sites that fell into the same general category rapidly and consistently. As an example, the Commerce Kickstart is possibly the most recognized and widely used distribution on Drupal as a quick means to launch online stores. Distributions contain Drupal core, contributed modules, themes, and predefined configurations. As of the first draft of this article there were 1,325 distributions of Drupal available from drupal.org. Most distributions will have the term ‘kickstart’ as part of their title because they are considered as either a starting point or as an example of a use case.
Benefits to using a Drupal distribution as a starting point
A distribution is most often used as a rapid means of getting up and running with an online solution, e.g. Apigee Developer Portal Kickstart. A distribution can save much effort if your use-case is well aligned within the distribution’s goals and if you are willing to accept its constraints, e.g. fixed theme, content structure or layout, or ability to change font and colors. A distribution can be a great starting point from which to build more features into your developer portal. As with modules you may need to try a few distributions before finding the right fit for your needs. Further, using a distribution as a basis for your developer portal will result in an upstream dependency on the distribution maintainers for security and updates. It is vital to ensure that any distribution used in this manner is well maintained.
Disadvantages to using a Drupal distribution
A distribution is often used as a rapid means of testing a specific use case. For example, to get a look and feel for how Apigee Edge integration can be experienced in a Drupal developer portal via the Apigee Developer Portal Kickstart. A distribution may not be a viable solution for your developer portal if you have an array of feature needs that are incompatible with the distribution. With Drupal distributions it is important to have an understanding of any constraints that may limit the ability to meet your deliverables. For example, we often encounter customers with specific design requirements that are better addressed earlier in the Drupal installation process. To re-construct complex or incompatible design needs after installing a distribution model can introduce a lot of unnecessary work. Instead, it may be easier to start a Drupal installation from scratch addressing the required design needs and incorporating the independent modules listed above for Apigee integration. This is where a distribution is useful as a learning tool rather than as your direct end product. You can decide which modules form a good basis to work in collaboration with others to outline the internal structure desired for your Drupal based developer portal.
Simplified illustration of a Drupal Distribution
Apigee Developer Portal Kickstart
Apigee's distribution is well documented and maintained. It provides a great foundation to pairing Apigee Edge integration with Drupal 8. Kickstart installer guides provide direction for installing Drupal 8 core, configuring a connection to Apigee Edge, and applying customizations to the theme.
Features included (in addition to the features listed above for the Apigee Integrated Portal)
Last updated 30 July 2020
- Content management for APIs
- Page templates for content creation
- Apigee Edge Integration
- App analytics on the portal
- Access control
- Custom app registration flows
- Custom developer registration flows
- Benefits from Drupal 8 framework
- Advanced search configurations
- Blog and forums
- Rules-based event management
- Extensible with add-on modules
- Link checker
- Portal logs
- Microsoft Internet Explorer/Microsoft Edge support
- Online User Guides
See Apigee Edge feature comparison for the most up to date and detailed comparison of the Apigee developer portal solutions.
This distribution provides a basic developer portal that is integrated with Apigee’s management gateway through Apigee Edge. You will need some Drupal knowledge to set up this distribution. Depending on your proficiency, installation may not be trivial. Once installed, you will still need to configure your site and potentially download additional modules to account for additional feature requirements such as adding user access controls and SSO (single sign-on) integration, more complex page layouts, and user experience improvements.
Devportals as a Service
So far we have answered the question of "With what do you start?" and "How can I integrate API management tools?" Now we will answer the question of "What is available for an easier or faster ramp-up?"
This is where Pronovix shines - for an immediate understanding of the magic of Apigee and Drupal working in concert, we are happy to schedule a short demo for you.
A Drupal 8 CMS as a backbone for your devportal can be:
- built & maintained in-house by your own devs
- built & maintained by a Drupal agency
- immediately up & running as a Devportal as a Service
There are a number of Drupal web agencies that can take your list of requirements and create a solution to handle your developer portal needs based on their knowledge of Drupal, modules, distributions, and usage. Most web agencies will also address design and theme needs based on your company’s branding style guide. With an outsourced developer portal, updates and new features or customizations will depend on the relationship and agreements with the company or internal team providing licensing, support, and maintenance.
Pronovix Developer Portal
We moved from being a Drupal agency, est. 2005, to specializing in creating developer portals in 2015. Our deep interest and active participation in the documentation and developer experience communities gave us a front seat to advise on and build Drupal portals focused on documentation. We are now part of the success of 40+ API developer portals across a multitude of industrial sectors.
We offer a developer portal product built with Drupal 8 and continue to support and contribute to many of the modules that are listed above.
The Pronovix developer portal is perhaps the fastest and easiest means of getting to ‘done’ with a developer portal using Drupal 8. We can get you up and running in as little as a month. Our portals are standardized with best practices established through both our independent research and our customers' feedback.
Our engagement with new customers begins with a UX information gathering phase about how the devportal will be used and by whom. Based on the workshop feedback, we configure the features in the devportal to fit your specific business objectives, content, and users. For your live devportal we also provide the hosting, maintenance and support so that your team can focus on your API products and their documentation.
Last updated 30 July 2020
- Accelerate Delivery
- UX Workshop to get started and align to how the site will be used
- Ready to use hosted, supported, and maintained solution
- 30+ premade, customizable, and responsive page templates
- Page-building tools for landing pages and other custom pages
- API Content Management
- Extended API Reference Catalog
- Extended API Documentation including release notes, supporting documentation, use cases, sandbox “Try it out”, code visualization and example code
- DocOps via Continuous Integration/Continuous Deployment (CI/CD), commonly referred to as “Docs-as-Code”
- Advanced Search
- In-situ Developer Portal User Guide - A user guide accessible directly from your devportal explaining how to use the portal and any custom extensions
- Change management for legal documentation
- Access Control
- SSO Integration and user access controls
- Enhanced Password requirement controls
- API Key management and monetization (e.g. via Apigee Edge)
- Custom Integrations (e.g. Postman Integration, and more)
See our product feature page for the most recent updates to our features.
Support & Custom work
We provide support packages to ensure a dedicated team is addressing your needs while maintaining the back end and site’s security. We also have design and UX teams and pride ourselves in optimizing developer experiences. Using the Pronovix developer portal as a starting point, our team can address additional feature needs that may arise such as unique graphic design, information architecture, content creation, content review, additional 3rd party integrations, and any other kinds of business logic that may be required. We are also interested in crowdfunding development of new and complex features that are made more robust by their application to different customer needs. This both reduces the cost associated with custom development and results in continuous innovation and product growth.
Choosing the best Devportal Solution for your business
Are you building a developer portal? Interested in a shortcut? As a devportal specialist, Pronovix has created developer portals for 40+ customers in the past 4 years. Talk with us to learn how our SaaS developer portal can accelerate and simplify your launch.Read More about our Devportal Solutions Contact us >