Community Manager - API Developer Portal
Community Manager™ is a sophisticated developer community product to help enterprises develop an API portal to attract, manage, and support the developers that build Apps using their APIs.
Community Manager provides an extensive set of social capabilities to promote the creation of a community of developers either inside or outside the enterprise, or a combination of both. These developers collaborate to form an innovation engine to drive new channels and improve existing business processes. The network-effect of the social capabilities in the API Portal enable a community commons model for social contribution to the APIs themselves through support and documentation, and to the Apps the developer community creates.
Community Manager unites API providers and App developers through a single common community. It supports a range of different roles, enabling interactions between API developers, administrators, and operations along with App developers and project managers to promote idea sharing, advice and guidance, and technical support for APIs and Apps. Community Manager is designed from the ground using social principles to create an entirely new class of enterprise API management solution allowing API Providers to publish, document, promote and support their APIs, and Apps Developers to find, easily consume and get support for the APIs their Apps use.
Community Manager offers a sophisticated web-based API Portal that leverages the Community Platform API exposed by SOA Software’s Enterprise API Platform. It delivers a powerful set of new capabilities to customers:
- Single-sign-on with common social platforms including Facebook, Twitter and Google
- Integration with enterprise IAM systems including Microsoft Active Directory, CA SiteMinder and Oracle Access Manager to facilitate enterprise account management
- Avatar management with local avatar upload, and integration with Gravatar and the provided avatars from the social login providers
The API Portal manages a range of different resource types including APIs, Apps, Users, and Groups. Each resource has its own Board providing a single location for finding information, alerts, discussions, trouble tickets and workflow requests about that resource. Users have their own Board, and also have a Dashboard that aggregates all of the activity on the Boards of any resources they are interested in into a single newsfeed. Users register their interest in a resource by choosing to follow it. This social interaction model enables:
- Developer and User support - users can open tickets on a resource, e.g. to get help with an issue they are having with an API, and any other user who is following that resource can respond to the ticket. This can considerably reduce the support burden on API providers.
- Idea sharing - any user can start or respond to a discussion about any resource, e.g. users can make suggestions for new features for an API, or provide ideas for new Apps
- Staying informed - having chosen to register interest in a resource, e.g an API, the user will see an recent activity from that resource in their Dashboard
- Workflow interactions - all workflow interactions, e.g. requests for an App to consume and API, or for a user to join a Group happen in the context of the Board and are reflected on the Dashboards of the relevant users. These interactions are subject to role-based privileges and will only be visible to resource administrators and the affected users.
As a key part of the social interaction model, each user has their own newsfeed in the form of their dashboard. They can also choose through their profile configuration to be notified for each type of dashboard activity, and can even choose how they want to be notified. Notifications will always appear in their personal navigation construct telling them how many notifications they have outstanding, with a hover behavior showing them the most recent.
Community Manager provides a social ratings and reviews system allowing users to rate or review resources. It presents the ratings summary as part of the search results and displays the ratings detail and list of reviews in the resource details. This helps users decide if they want to use a particular API or not, and can help API providers and App team leads figure out what they need to improve.
Community Manager provides discussion forums in the form of the resource Boards. This means that every resource (API, App, Group, User etc) gets its own forum for discussions, tickets, alerts, and requests. Users can visit the Board on demand, or can choose to follow the resource in which case any activity on the Board will be presented in the user’s personal dashboard. The forums support:
- Discussions - a way that users can ask questions, make comments, and interact with others. Other users and administrators can respond to discussions, providing an ideal means to establish dialog in the context of a resource.
- Tickets - users can raise a trouble ticket on a resource allowing resource administrators and other users to respond to and resolve the ticket. The ticket is really a special form of discussion requiring the user to enter certain data, and providing a status for the ticket. Tickets can also be integrated with existing enterprise trouble ticket management systems.
- Alerts - resource administrators can post an alert to inform anyone following their resource of an important event. Alerts could be used to announce a new version, a planned outage, or even to inform users of a current outage providing details of an expected resolution.
- Requests - all workflow actions, e.g. Group membership requests, API Access requests, etc, take the form of request Board items. These are a special type of item that will appear on the Board of both the requesting resource (e.g an App) and the requested resource (e.g. a Group or an API). The request is visible only to the resource administrators involved in both ends of the request, and is used to track the status of the request over time.
Community Manager is a search driven system. Every aspect of every resource (name, description, documents, reviews, etc) and Board item (discussions, tickets, alerts) is continually indexed to create an incredibly easy to find anything you need. This helps in some really important ways:
- Finding APIs - the simple search mechanism makes it incredibly easy to find the API you’re looking for. Just by entering “cooking” into the search window you’ll find any API or App with the word cooking in a tag, or any other text field (including in it’s documents).
- You can narrow down your results by using the type filters once you have your initial results.
- To make things even easier you can sort by popularity, most recent, and other sort algorithms.
- The results present useful summary information including resource type, name, description and rating, and for APIs it will even tell you how many Apps are using this API.
- Getting Help - because all the tickets and discussions are indexed, if you’re having trouble using an API (or any other resource), you can just search using a description of the issue you’re having, and can find out quickly if anyone has run into this before, and if so, how did they resolve it.
The Enterprise API Platform search index can also be easily externalized and published to a public or enterprise search engine like Google. This means that anything in your search index can easily be found using your user’s current search vehicles. This is critical for supporting the publication of your APIs, and facilitating their support.
Community Manager provides a social platform for your APIs, and also supports integration with the most popular social platforms including Facebook, Twitter, LinkedIn and Google+. This allows you to promote your APIs and Apps across your existing social networks, and drive the viral marketing of your resources.
A really important aspect of the Enterprise API Platform is its ability to serve as a collaboration engine for Developers working together to build Apps and APIs. Contrary to market perception, most commercial (and certainly enterprise) App development is not undertaken by an individual developer working in their parent’s garage. Community Manager allows developer and development managers to create teams of peers who can collaborate on their API consumption aspects of their App. They can use private forums to share ideas and discuss issues, and can share the responsibilities of provisioning and managing their App’s API usage.
Developers can invite each other to participate in teams, and in using the system as a whole, driving viral growth through the social network effect.
Community Manager is a dynamic environment, where the actions that are agreed as part of the workflow process have a real-world impact. Users can request access to an API on behalf of their App - accepting relevant legal agreements and selecting from pre-defined policies - initiating a workflow process with optional approval and activation steps from the administrators of the API and App. The default workflow provides for:
- Automatic approval and activation of requests to a sandbox API endpoint
- API administrator approval required for access to production endpoints
- App administrator activation required for production access - this allows the App administrators to request access to multiple production APIs, but only switch over when they are ready for all changes to occur simultaneously.
- API administrators can suspend and reactivate, or even cancel an Apps access to their API.
- API and App administrators can use the workflow requests as discussion objects to engage in dialog about the way that Apps are consuming the APIs, e.g. to discuss abusive, or badly structured use of an API.
There is almost a religious debate about the idea that all APIs have to be “Open APIs”, i.e. available to any developer to do whatever they like with. The market reality shows that there are far more high-value use-cases for Enterprise APIs, supporting B2B and B2E (Employee) use-cases. The main capability required to support Enterprise APIs is API privacy settings. Community Manager allows API Administrators to:
- Set an API version as private - a private API version has a number of attributes:
- It will be added to the search index with a limited scope, so that only invited users can find it
- Only invited users will be authorized to view it, even if they are able to find its URL
- Only authorized users will see Board items about the private version(s) in the API Board
- Invite users to be part of the group(s) that can view and request access to the API version
- Create multiple different groups, each of which can see their own posts and users, but who cannot see users or posts from other groups
All of the API privacy capabilities also apply to Apps, allowing users to create public Apps that they can promote and market, or private Apps to support beta or development uses, or for sensitive business applications.
Community Manager allows API administrators to upload and manage API documentation and table of contents. It keeps track of versions and allows for rollback if needed. The table of contents is displayed to users as part of the API navigation process along with other key information.
Community Manager manages downloads, allowing administrators to add SDKs, and sample code to make life easier for App developers to consume their API. At the end of the day, the key to the success of any API will be to ensure that it delivers business value and is as easy to use as possible.