Coder Social home page Coder Social logo

package-installer's Introduction

DreamFactory Platform Package Installer v1.4.13

Latest Stable Version Total Downloads Latest Unstable Version License

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

package-installer's People

Contributors

df-jablan avatar lucifurious avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.