API Connect Developer Portal
This repository contains the components necessary to create a developer portal for IBM API Connect
using the Drupal content management system.
Branches
master
- Drupal v10 based portal for use with APIC v10.0.x (CD) (https://github.com/ibm-apiconnect/devportal)
APIC_v10.0.5
- Drupal v10 based portal for use with APIC v10.0.5.x (LTS) (https://github.com/ibm-apiconnect/devportal/tree/APIC_v10.0.5)
APIC_v10.0.1
- Drupal v9 based portal for use with APIC v10.0.1.x (LTS) (https://github.com/ibm-apiconnect/devportal/tree/APIC_v10.0.1)
APIC_v2018
- Drupal v9 based portal for use with APIC v2018 (https://github.com/ibm-apiconnect/devportal/tree/APIC_v2018)
APIC_v5
- Drupal v7 based portal for use with APIC v5 (https://github.com/ibm-apiconnect/devportal/tree/APIC_v5)
Requirements
You will require IBM API Connect v10.0.x to use this code.
Modules
ibm_apim
= a drupal module containing the IBM API Connect integration
apic_api
= a content type corresponding to APIs in APIC
apic_app
= a content type corresponding to Applications in APIC
consumerorg
= a content type corresponding to Consumer Organizations in APIC
product
= a content type corresponding to Products in APIC
connect_theme
= a configurable drupal theme
auth_apic
= APIC based authentication module
featuredcontent
= block to feature specific products or APIs (for example on the front page)
socialblock
= block to display recent Twitter tweets and forum posts
ghmarkdown
= a GitHub Markdown input filter
mail_subscribers
= a wizard to enable email engagement with developer organizations and their members
themegenerator
= an APIC sub-theme generator based on different colour palettes
apim_profile
= a drupal installation profile to create a dev portal zip containing everything you need.
Defects / Feature Requests / Issues
Please raise any defects, feature requests or general issues here on github using the Issues link to the right.
Features of the Drupal Developer Portal
Full Content Management System
- Multiple content types
- Configurable customizable content types - add custom field, change the way they're displayed etc...
- Easily create new content in the UI
- User friendly (bookmarkable) URLs
Hook addons into different content types
- enabled or disabled as a default per content type, and then toggled per individual content item
- comments
- ratings (with 6 different icon types)
- Share on social media
- Export to PDF / printable
- Tagging
Configurable Role based access control
- Create new roles e.g. content author or forum moderator
- Define permissions per role
Forums
- Option to automatically create a new forum for each API
- Moderation
- Captcha support (pluggable: images, maths, recaptcha, etc....)
- WYSIWYG rich text editor
Blog
- Multiple users can have their own blogs
- WYSIWYG editor
- RSS Feed
- Integrates with comments, ratings, etc....
FAQ
- Easily add new FAQ questions
- optional addon to allow users to pose questions and have them answered by an admin / moderator and then published
Contact Form
- Allow registered users / anonymous users to email enquiries to the site admin
Customizable Responsive Theme
- Responsive theme with configurable layout options per form factor so can choose how the layout works on tablets vs mobiles vs desktops for example
- Includes 5 different colour schemes
- Create your own custom colour scheme, all colours in the UI can be changed
- Change site logo
- Change site favicon
- Change site name
- Change site slogan
- Toggle whether any of the above are displayed or not
Configurable Password Policy
- default is the same as APIm
- must use 3 out of 4 character types, min password length of 8
Page not found (404) error handler
- rather than report errors it automatically searches for what you were looking for
Customizable page layouts
- different pages can have different layouts
- different numbers of columns, etc..
- include different blocks such as a twitter feed or facebook feed, recent forum posts, comments, etc..
IBM API Connect Integration
- Self-signup from the drupal portal
- Users already known to APIm can simply login, no need to create another account (one is created automatically)
- List APIs available to currently logged in user
- APIs then stored in drupal database so the data is available for search (drupaldb content automatically updated every time it is accessed)
- Can only access items in the drupal DB if can access the equivalent in APIm
- Integrated API explorer interface for browsing API resources and live testing those resources
- Register, Edit & Delete applications
- Upload & Remove images for those applications
- Browse available plans per API
- Browse documents attached to an API
- Subscribe to a plan
- Unsubscribe from a plan
- See what plans an app is subscribed to
Security
- Password policy
- IP Address blocking
- Brute force attack / flood protection
- Configurable Captchas
- Restricted html users can use in comments / content
- Configurable auto logout
License
This code is made available under the GNU Public License v2.
This is provided 'as-is' with no guarantee of official support but we will endeavour to respond to all Issues raised as best we can.
API Management v4
The v4 version of the portal can be found on github here: apimanagement/drupalportal