The Apigee developer portal is a highly customizable content management system (CMS) that allows you to collaborate and communicate with your developer community. The following figure shows the default portal home page:
Your customized developer portal should educate developers about your API—what it is and how it's used. It should also enable you to manage developer use of your API. This could include authorizing developers to use your API, giving developers an easy way to create apps that use your API products, assigning developers specific roles and permissions related to the API, or revoking developer access to the API as necessary. Beyond that, your developer portal can serve as the focal point for community activity, where developers can contribute API-related content to social media repositories such as blogs and forums.
You also use the developer portal to configure and control monetization features. The monetization features in the developer portal give developers self-service access to Billing & Reports, Catalog & Plans, and monetization-specific settings.
The developer portal is based on the open-source Drupal (http://www.drupal.org) content management system. Drupal provides a core set of features in the form of modules that make it easy to build the content for, as well as manage, web sites. The core modules enable users to add content such as books, blogs, and forums to a web site, and includes a built-in search engine. The modules also enable basic control and customization features such as user registration, themes, and system administration. Drupal's core functionality is extensible. The Drupal community has contributed thousands of additional modules that add a wide variety of functions to Drupal's core features. Apigee has also added modules to Drupal.
The developer portal uses some of Drupal's core modules, such as those for adding books and blogs, as well as community-contributed modules, such as those that provide Google Analytics and access control. For the most part, when you customize the default developer portal, you use the Drupal modules that meet your content and function needs.
Although you decide what content appears in your customized developer portal and what features it provides, we recommend that you offer the following at a minimum:
- API documentation
Include tutorial information that describes how to use your API — for example, how developers can login and how they can add apps that use your API products — as well as reference information that presents the syntax and semantics of your API. Provide any additional types of documentation, such as code examples and links to videos, screencasts, and code downloads, that can help developers learn about your API. You use the Drupal Book module to add documentation to your developer portal. See Add and edit content to get started.
- App creation
Developers use apps to access the resources in your API products. In general, developers add their own apps through your developer portal and select the API products to include in their apps. The developer portal presents a My apps menu item in the login menu. Selecting My apps displays a My apps page through which developers can create their apps. So you don't need to do any additional setup for app creation.
- API console
An API console is a GUI that developers can use to explore and test your API. The console presents a point-and-click interface that makes it easy for developers to submit requests to your API. It also displays the HTTP request to the API, as well as the HTTP response and JSON-formatted data returned by the API. In this way, developers can try out the services your API offers and learn by seeing your API in action. Apigee provides API consoles for a number of API providers. It also embeds an API console in the developer portal. It's good practice to create an API console for your API and add it to your developer portal. You do this through Apigee's Console To-Go product. See What's an API Console? to get started.
Consider also setting up your developer portal to offer the following:
- Community content
Add blog entries and forum discussion posts that are pertinent to your API, and to which developers can contribute. The developer portal presents a blog and forum with some initial entries. The blog and forum are there for you to extend. See Add blog and forum posts to get started.
- Google Analytics
Take advantage of the Google Analytics service to gather detailed statistics about traffic to your developer portal. See Activate Google Analytics to get started.
Some other areas of the developer portal you can customize are:
You can customize various theme elements in your developer portal, such as the color of links, backgrounds, and text, that set a look and feel for your developer portal. See Customize the appearance to get started.
- Account registration and cancelation
By default, developer account authorization is automatic—when developers register on the developer portal, their accounts are automatically authorized. However, you can make authorization manual, in which case, a developer can register but an administrator needs to authorize the account. You can further control account authorization by allowing only administrators to register accounts. In addition, you can control what happens to the developer account and its associated content when the account is canceled. See the Controlling who can register accounts section in Add and manage user accounts to get started.
You can customize various aspects of the email that developers receive when they use your developer portal. For instance, you can change the content of the welcome message that developers receive when they register, and you can tailor the "From" address and name in those emails. You can also specify an SMTP server of your choice to handle email (by default, emails are handled by Apigee's SMTP server). See the Configuring email notifications section in Add and manage user accounts to get started.
The developer portal provides a built-in site search engine implemented by Apache Solr, which uses the Apache Lucene search library. This is the search engine for the site itself, which the user accesses through the search box in the upper-right corner of all portal pages. In addition, external search engines, such as Google, can index all the pages in your developer portal. You can turn off Google indexing. You might want to do this if your developer portal is not yet ready for use. See the Configuring search section in Add and edit content to get started.
- Link checking
By default, the developer portal is set up to check various types of pages for broken links. For example, links are checked in book pages, articles, blog entries, and forum topics. You can add to or remove page types from the link check list. See the Check for broken links section in Add and edit content to get started.
- Footer content