Bundles
What are Bundles?
Bundles are a form of protection which we use to limit access to specific parts of mXrap applications.
One of the primary incentives behind the use of Bundles is to reduce the amount of the root folder which is exposed to users for editing. While we encourage users to modify the root folder to suit their specific needs, modifications to core parts of the app can hamper our ability to maintain and upgrade root folders efficiently. Bundles provide us with the flexibility to prevent users from editing important parts of the app while leaving other parts accessible for customisation. This helps us to deliver and upgrade bundled apps much more reliably.
Why Use Bundles?
Application Maintenance
- Reduced Exposure: Limits the portions of the root folder available for user modification
- Upgrade Reliability: Prevents modifications to core components that could interfere with maintenance and upgrades
- Selective Customisation: Allows users to customise appropriate areas while protecting critical functionality
Intellectual Property Protection
- Secure Distribution: Enables wider distribution without exposing sensitive code
- Licence Control: Access is tied to user licence keys via Bundle Licence IDs
- Authorised Access: Ensures applications are only accessed by permitted users and prevents unauthorised distribution
Implementation Process
Bundles are deployed using a two-stage approach:
- Lock down all access and identify broken functionality
- Selectively restore access as needed
Need Access? If you require access to a tool for use, viewing, or customisation, please contact us at .
Technical Implementation
Permission Files
Bundle permissions are controlled by _mxbundle.mxperms files located in each directory.
- Each folder contains its own permission file
- Permissions cascade to subfolders
- Child permission files override parent settings
File Format
LicenceId, Access, Export
NUM, ACCESS, EXPORT
NUM, ACCESS, EXPORT
Parameters
NUM: Bundle Licence ID for authorised accessACCESS: Permission levelnonesecrethiddenvisibleeditableoverridable
EXPORT: Eitherinternalorexported
Multiple Bundle Licence IDs can have different permissions by adding additional lines.
The behaviour of the different combinations is summarised below.


If you are an mXrap app developer and are interested in bundling your own application please contact us at .