Skip to content

IBM API Connect Developer Portal built on the Drupal CMS

License

Notifications You must be signed in to change notification settings

jeffzaza/devportal

 
 

Repository files navigation

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.

ibm_apim = a drupal module containing the IBM API Connect integration
connect_theme = a configurable drupal theme
ibm_apim_theme = the drupal theme used in APIm v4
apic_taxonomy_menu_block = a block to browse a hierarchical taxonomy
bannerblock = front page welcome banner block
clone = fork of the node_clone module to fix some incompatibilities in it_
forum_approval = module to allow the approval of forum posts
popularapi = block to feature specific products or APIs (for example on the front page)
socialblock = block to display recent Twitter tweets and forum posts
apim_profile = a drupal installation profile to create a dev portal zip containing everything you need.

Video / Demo

You can see a video of this portal in action on Youtube. (Video now slightly out of date, we'll update it soon, honest!)

Download

The latest release of the code, in the form of a fully functional drupal distribution (containing the drupal core, all required modules, javascript libraries and theme) can be downloaded from the Latest Release page.

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

Support Ticket Management

  • Configurable helpline type support ticketing system
  • Can be expanded to have catagorization of tickets, dashboard, allow raising by email, etc..

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 SwaggerUI 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
  • Configure notifications per application
  • See APIm notification messages

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.

Requirements

You will require IBM API Connect v5.0.7.x to use this code.

API Management v4

The v4 version of the portal can be found on github here: apimanagement/drupalportal

About

IBM API Connect Developer Portal built on the Drupal CMS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 50.6%
  • PHP 39.2%
  • CSS 10.2%