App installation

Open Source

You can only install apps that you either own or are Open Source. If you want others to install your app, make sure you mark it as Open Source (among the branch settings).

Installing an app

Let’s see what happens when you install the app example.com.

Bullet point version

  • File /sys/apps/example.com is created.
  • File /sys/apps/example.com/src is created.
  • File /sys/apps/example.com/src imports example.com.
  • File type of /sys/apps/example.com set to ./src, so they build a type chain. This way you can use the file type example.com within your website and be able to apply central configuration changes to it. (In case we imported example.com directly within /sys/apps/example.com, it would be read-only, so you could not customize it centrally.)
  • Children of example.com/.New are appended to /sys/new, so they will show up on the Toolbar’s New tab.
  • If descendants of example.com/.New had file types referencing children of example.com, for example the app example.com/foo, their type chains will be extended at /sys/apps/example.com/foo respectively (with file type ../src/foo).

Explained

The app example.com is installed into /sys/apps/example.com. This file will not contain the app filesystem directly, rather the /sys/apps/example.com/src file, which will import the app filesystem with an immutable import link, for example import example.com 01d135c52bd92f7e39beff4f64d09aca944707b256. The type of /sys/apps/example.com will be set to ./src, thus /sys/apps/example.com and the imported website at /sys/apps/example.com/src will form a type chain. This is important, because the import links are read-only, so one can not configure the app at /sys/apps/example.com/src, but /sys/apps/example.com can be configured.

Also, any app referenced among the descendants of example.com/.New by their types will also be added under /sys/apps/example.com to make it configurable, given the app is a direct child of the app’s root file. For example, if the app example.com/foo is used as a file type among the /.New files, then /sys/apps/example.com/foo will be created with a file type ../src/foo.

The purpose of this is to allow using the apps example.com and example.com/foo as valid file types within your website, and be able to configure those apps centrally.

Summary

PATH                            TYPE                    LINK
/sys/apps/example.com           ./src                   
/sys/apps/example.com/src       same as example.com     import example.com
/sys/apps/example.com/foo       ../src/foo

Type chain

Here is what the resulting type chain of will look like for multiple instances of example.com.

Extending the Toolbar

To write an app that extends the Toolbar upon installation, add those files under /.New on the app website. Read more on the .New file.

Install on Boomla

You may want to add an Install on Boomla link to your website. The easiest way to do this is via the Install on Boomla app, which of course you can install on your website.