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.
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
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.
- Virtualized Debian GNU/Linux
- nginx web servers
- MySQL databases
- Bind used for DNS
Open Source frameworks used:
- Django and web.py (Python)