The OpenCable Application Platform provides a base specification along with several optional extensions. The OpenCable Reference Implementation provides mechanisms for creating various build configurations depending on which extensions are targeted for a particular deployment. The build system will only include the binary and resource files that are required for a particular configuration. This allows deployment teams to minimize the binary footprint of the RI on resource-constrained devices.
The RI currently implements the following OCAP extensions:
The following extension configurations are tested and supported by the RI development team.
Extension | Configuration 1 (None) | Configuration 2 (DVR-Only) | Configuration 3 (Non-DVR) | Configuration 4 (HN-Only) | Configuration 5 (DVR+HN) | Configuration 6 (Full) |
---|---|---|---|---|---|---|
DVR | No | Yes | No | No | Yes | Yes |
Home Networking | No | No | Yes | Yes | Yes | Yes |
Front Panel | No | No | Yes | No | No | Yes |
Device Settings | No | No | Yes | No | No | Yes |
You can enable or disable the inclusion of various extensions by modifying the following section in $OCAPROOT/target/$OCAPTC/buildrules.properties:
# # Enable/Disable build of OCAP Extensions # # DVR Extension build.ocap.DVR_ENABLED=false # Home Networking Extension build.ocap.HN_ENABLED=false # Front Panel Extension build.ocap.FP_ENABLED=true # Device Settings Extension build.ocap.DS_ENABLED=true |
Any time you change the extension configuration, ensure that you perform a "clean purge build" of the system to ensure that only the desired extension binaries are included.
In addition to the build system configuration, the RI contains a new "properties management" implementation that allows developers to pick and choose various pieces of information from Java properties files based on enabled extensions and extension precedence. Details about the property management system can be found here.