How It Works
The Open eXtensiilty Platform for devices (OXPd) is an enterprise software development platform for creating device extensions and front panel document workflow applications based on standard web service and web application protocols.
Unlike other device extension platforms that require 3rd party code to be installed onto every device (often requiring custom code for each device model), OXPd centralizes the 3rd party code (called a Solution) on a Solution Server connected to the same network. The device administrator simply configures devices on the network to work with a Solution Server to provide additional functionality. Because OXPd is standard and available on a wide range of devices, large and heterogenous fleets of devices can be served with a single server implementation. And when code changes are needed (e.g. to add features or fix defects), those changes can be made once on the Solution Server and all devices immediately benefit from those changes without any intervention.
This page covers the following topics:
- Evolution of the OXPd Platform
- SDK Installation and Setup
- Enabling the LaserJet Debug Bridge (LDB)
- UI Style Guide: Tailoring Your App for HP Devices
Evolution of the OXPd Platform
The OXPd2 Platform
The OXPd2 Platform is the newest generation of OXPd, based on the latest web standards and best practices. OXPd2 is available on only the newest devices running FutureSmart 6 and later firmware versions. (See the compatible devices list for more details.) Those devices will not support OXPd1, marking the first ever compatibility break in the history of the OXPd platform. However, OXPd2 does support all the same features as OXPd1 (but using different protocols) making it is easy to support both OXPd1 compatible devices and OXPd2 compatible devices within the same Solution Server implementation.
The OXPd2 Platform consists of a set of Web Services for device management and control plus an embedded Web Browser used for all front panel walkup user interactions. This enables server-based software to easily extend core device functionality (e.g. user authentication and authorization, job statistics collection and quota, etc.) through what OXPd calls Agents and to implement rich document workflow experiences through what OXPd calls Applications. Any combination of Agents and Applications can be included in a single Solution implementation deployed onto a Solution Server.
To connect a device to Agents and/or Applications, a Solution Bundle defining those Agents and Applications is constructed and installed by a device administrator onto the device. An optional Solution Context can alo be installed onto the device to provide installation-specific context such as the hostname of the customer's Solution Server. The Solution Bundle and optional Solution Context provide everything the device needs to know for it to communicate securely with the Solution Server when an action on the device requires it.
The OXPd1 Platform
The OXPd1 generation of the platform released circa 2009 and was based on the most modern web standards and practices at the time. Providing not only for for new models but also in firmware updates for many previously installed models, it quickly became the most widely available extensibility platform in the industry. It has been a standard feature in every subsequent firmware version up to and including FutureSmart 5.
SDK Installation and Setup
The OXPd2 SDK has these prerequisites:
- This version of the SDK requires Windows 10. Future versions may support other operating systems.
- Demos and Examples
- Microsoft Visual Studio 2022 with these packages:
- ASP.NET and web development
- .NET desktop development
- Microsoft Visual Studio 2022 with these packages:
- Solution Packaging Utility
- Postman Collections
After installing desired prerequisites:
Download the latest SDK and Simulator from the Downloads page.
Unzip the SDK to your hard drive.
Open the documentation folder and launch the oxpd2-sdk-documentation application.
Follow instructions in the Getting Started > SDK User Guide to explore the contents of the SDK.
Getting Started contains Architecture and Security Model Overviews in addition to the SDK User Guide.
OXPd2 Services contains detailed breakdowns of implementing each service.
SDK Examples explains how to setup and host the Examples solution included in the SDK so that it can be deployed onto a simulated print device. The Examples solution demonstrates implementation examples of many of the individual service API calls.
SDK Demos explains how to setup and host the Demos included in the SDK so that it can be deployed onto a simulated print device. These Demos showcase how multiple OXPd2 services might be integrated into a cohesive solution.
Tools & Utilities > Device Simulator explains how to setup and deploy a simulated print device using actual firmware.
Tools & Utilities > Solution Packaging Utility explains how to setup and use the packaging utility included in the SDK to create your own solution bundles.
Tools & Utilities > Postman Collection explains how to use Postman to exercise individual OXPd2 API calls against a simulated print device.
Enabling the LaserJet Debug Bridge
The current version of the simulator does not support the debug bridge functionality. This will be included in a later version of the beta.
UI Style Guide: Tailoring Your App for HP Devices
HP device control panels vary in sizes depending on model, so we recommend you adjust your application's screen layouts for each model.
As OXPd2 compatible models are released, we will provide details on the control panel sizes, display densities and recommended HP home screen icon sizes. This information is also returned through the Application Service's Capabilities resource, which provides the User Interface Attributes of the print device.