Developers: The DevHub Platform

A Dynamic Platform

Sites built on the DevHub platform are not static, but are instead dynamically loaded in real-time. This allows the platform to display and interact with dynamic and fresh content as well as roll out new modules and features to the entire network as they are available.

Technology Stack

DevHub uses Open Source technology extensively. When possible, the developers also contribute back patches and features.

Platform:

  • Virtualized Debian GNU/Linux (Stable)
  • Apache 2 / nginx web servers
  • MySQL databases
  • Bind used for DNS

Languages used:

  • Python
  • JavaScript

Open Source frameworks used:

  • Django and web.py (Python)
  • jQuery (JavaScript)

Geolocation

The platform has an internal API to manage geolocation information which can be used to identity the geographic location of a visitor. These geolocations can also be assigned to individual sites and/or pages so that modules within that site can show relevant content from our partner APIs.

Shared Caching System

In a normal environment, many API requests per page load can dramatically increase the load time for the end user. The DevHub platform has a integrated shared caching system which can cache and share API request content for use between sites. This allows for high performance load times even when multiple modules are executed on the same page.

Module Runtime Environment

A platform site consists of a selected theme, a series of created pages, and modules within each page. Contained within the DevHub platform is a module runtime environment that is used to construct simple modules using Python that plug right into the platform and can then be configured for use on a page.

A standard DevHub module contains:

  • Configuration variables: Public properties (which may have a default value) which can be overwritten by the user. For example, "number of items to display".
  • Execute/run method: Retrieve data (e.g., from an API), cache data, format data, then assign data to the template
  • View templates: A series of XHTML templates that display the retrieved module information.

If you're interested in creating a module for our platform, you can start by looking at our Module SDK documentation. We will have a download for the actual SDK as soon as possible.

Single Sign On

DevHub currently allows partners to allow single sign-on (SSO) support for their existing users. On login, they can either be directly dropped into the global dashboard or into a specific site that that they wish to edit.