dreamfactory / package-installer
DreamFactory Services Platform(tm) Package Installer
Installs: 174
Dependents: 1
Suggesters: 0
Security: 0
Stars: 3
Watchers: 12
Forks: 4
Open Issues: 1
Type:composer-plugin
Requires
- composer-plugin-api: ^1.0
- dreamfactory/php-utils: *
- kisma/kisma: *
Requires (Dev)
- dev-master
- 1.4.13
- 1.4.12
- 1.4.11
- 1.4.10
- 1.4.9
- 1.4.8
- 1.4.7
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.17
- 1.3.16
- 1.3.15
- 1.3.14
- 1.3.13
- 1.3.12
- 1.3.11
- 1.3.10
- 1.3.9
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.40
- 1.2.39
- 1.2.38
- 1.2.37
- 1.2.36
- 1.2.35
- 1.2.34
- 1.2.33
- 1.2.32
- 1.2.31
- 1.2.30
- 1.2.29
- 1.2.28
- 1.2.27
- 1.2.26
- 1.2.25
- 1.2.24
- 1.2.23
- 1.2.22
- 1.2.21
- 1.2.20
- 1.2.19
- 1.2.18
- 1.2.17
- 1.2.16
- 1.2.15
- 1.2.14
- 1.2.13
- 1.2.12
- 1.2.11
- 1.2.10
- 1.2.8
- 1.2.7
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- dev-tech-stack-file
- dev-develop
- dev-release/1.3.14
This package is auto-updated.
Last update: 2023-12-06 22:37:51 UTC
README
DreamFactory Platform Package Installer (PPI) is a tool for installing applications, libraries and plug-ins on to your DSP.
Packages installed with this tool are safe from system upgrades.
Packaging with Composer
By default, the PPI leverages the package manager used by the DSP, Composer. While this document and the package installer require a composer.json
file to install your package, DSP packages are not required, or limited, to utilize this packaging method. See [Packaging Without Composer][] for more information on alternative packaging.
What's Composer?
Composer is a dependency manager tracking local dependencies of your projects and libraries.
See https://getcomposer.org/ for more information and documentation.
Installation and Usage
No installation is required. To have the PPI install your package, you need to set the composer.json
property type to one of the following types:
dreamfactory-application
dreamfactory-library
dreamfactory-plugin
Applications
Applications are DSP applications that consist of only client-side code. These are installed to your DSP's /storage/applications
directory.
Plugins/Libraries
Plugins, or libraries are DSP extensions that consist of code or code and UI components. These are installed to your DSP's /storage/plugins
directory.
Specifying Your Package Details
In addition to specifying a package type, the PPI utilizes the "extra" section of your project's configuration file (composer.json
). In this section you can customize the installation of your DSP package:
{
"extra": {
"data": {
"application": {
"api-name": "pbox",
"name": "Portal Sandbox",
"description": "A sample application that demonstrates the DSP's portal service.",
"url": "/index.php",
"is-url-external": false,
"import-url": "https://github.com/dreamfactorysoftware/portal-sandbox/archive/master.zip",
"is-active": true,
"requires-fullscreen": false,
"allow-fullscreen-toggle": true,
"toggle-location": "top"
}
"config": "config/app.config.php",
"links": [
{
"target": "src/",
"link": "pbox"
}
]
}
}
}
In the above example we are giving our package a pretty name, an api_name
(which defines the route) and a few other details.
Application Properties
Name | Type | Description |
---|---|---|
api-name |
string | The API name for the app |
name |
string | The display name of the app |
description |
string | The description of the app |
is-active |
boolean | If false, app is ignored by DSP |
url |
string | The absolute/relative url to this app |
is-url-external |
boolean | Indicates the source of the url |
import-url |
string | The url from which this app can be downloaded |
storage-service-id |
int | The id of the storage service |
storage-container |
string | The container on the storage service which stores this app |
requires-fullscreen |
boolean | If true, full screen mode is default |
allow-fullscreen-toggle |
boolean | If true, full screen mode toggle is available |
toggle-location |
string | The location of the toggle. Defaults to "top" |
Packaging Without Composer
Not possible at this time.
Contributing
All code contributions - including those of people having commit access - must go through a pull request and approved by a core developer before being merged. This is to ensure proper review of all the code.
Fork the project, create a feature branch, and send us a pull request.
If you would like to help take a look at the list of issues.
Community
- Join our other DSP users on Google Groups!
- IRC channels are on irc.freenode.org: #dreamfactory for users and #dreamfactory-dev for development.
- Stack Overflow has a growing collection of DSP related questions.
License
Composer is licensed under the Apache 2.0 License - see the LICENSE.txt file for details