Download the PHP package lagdo/dbadmin-app without Composer

On this page you can find all versions of the php package lagdo/dbadmin-app. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package dbadmin-app

A web-based database management tool

Jaxon DbAdmin is a database admin dashboard with multiple DBMS support, and a custom and extensible authentication system.

Configuration


About Jaxon DbAdmin

Jaxon DbAdmin is built with Jaxon, Laravel and Bootstrap 5.

It currently supports 3 database servers: PostgreSQL, MySQL (and MariaDB), and SQLite.

Unlike other database management tools, Jaxon DbAdmin uses the Laravel authentication system instead of the database servers credentials to authenticate the application users.

The database access code (and thus the provided features) originates from Adminer.

Features and current status

This application and the related packages are still being actively developed, and the provided features are still basic and need improvements.

The following features are currently available:

The following features are either disabled or not yet implemented:

Installation

As a Laravel and PHP application, Jaxon DbAdmin needs to be installed with Composer.

Install from Packagist.

Install from Github.

By default, Jaxon DbAdmin stores the user credentials in a database. An SQLite database located at database/database.sqlite will be created and migrated during the installation. A different database can be used. In this case, the .env and config/database.php file must be updated accordingly. See the Laravel database documention for more information.

The last step is to configure a web server to give access to the application directory, with the public subdir as index.

The database servers to be managed are listed in a config file, whose location and content are described in the Database access configuration section below.

Running with Docker

The Jaxon DbAdmin application can also be started with Docker.

or

In a docker-compose.yml file.

The content of the config/dbadmin.json config file is described in the Database access configuration section below.

User management and authentication

Unlike other database management tools, Jaxon DbAdmin does not use the database server credentials to authenticate the application users.

The user authentication is a separate process, which in this case is provided by the Laravel framework.

By default, the user accounts and credentials are stored in the application database (different from the managed databases), and by default a fresh Laravel installation will create and migrate an SQLite database located in the database/database.sqlite file. The application database can be changed in the Laravel database configuration.

Jaxon DbAdmin provides a CLI command to create user accounts in its database. It is executed from the application install dir.

If the --name and --email are not provided, the CLI command will ask for them. It will then ask to provide and confirm the user password, and if all the inputs are valid, the user account will be created.

Thanks to Laravel, more advanced authentication systems can be implemented quite easily. For example, Jaxon DbAdmin can be setup to authenticate its users on a company SSO service.

Database access configuration

Jaxon DbAdmin supports 3 file formats for its database access configuration options: json, yaml and php.

It will successively look for the config/dbadmin.json, config/dbadmin.yaml, config/dbadmin.yml and config/dbadmin.php, and loads the first it will find. It will then parse the content of the config file, and return the options specific to the authenticated user.

This is an example of a json config file.

The Jaxon DbAdmin config file can contain 3 sections, all of which are optional.

The common section

This section contains options that are shared for all users. The options in this section will be merged with the user options found. Which also means that if no entry is found for the user, these options are not returned.

The fallback section

The options in this section will be returned if no specific entry exists for the authenticated user in the users section.

These options will be merged with the common options.

The users section

This section must contain an array of options, each for a given user or group of users.

Each entry in the array must have an attribute with id key, which itself is an object with 4 possible attributes to identify the corresponding users:

The other attributes are the database options, described in the following paragraph.

If any entry is found here for the current user, its value will be merged with the common options.

The database options

The common, fallback and each entry in users array contain the same options, excepted the id option in the servers array items.

The servers option

The servers option lists the database servers to be managed.

For each entry, the key is the unique identifier used in requests to the Jaxon DbAdmin application. The driver option indicate the corresponding DBMS: pgsql for PostgreSQL, mysql for MySQL or MariaDB, and sqlite for SQLite. The name option is the name to be displayed in the application UI.

The other options depend on the DBMS.

For SQLite, the directory option is a directory where to look for database files. Each file in the directory with the db, sdb or sqlite extension is listed as a database.

For the other DBMS, the host, port, username and password options will be used to connect to the database server. Only the port option optional.

Except for driver and name, the values for all the other options can be loaded from env vars. In this case, the option need to be set in a specific format like env(DBA_PGSQL_HOST), where the value in the parenthesis is the env var name.

In addition to the default .env, the application also loads the .env.dbadmin file, which can be used to define the Jaxon DbAdmin specific env vars.

After the merge with the options in the common section, the entries in the servers options are filtered on valid values. As a consequence, only the entries for which all the required options (except port) are provided will be returned in the final list.

The default option

The default option defines a server the application will connect to when the web page is loaded or refreshed.

The access option

The access option is an object that contains multiple options to define to which databases and to which part of the application the user will have access.

The access option can be defined at top level, in this case it applies to all the database servers, or it can be defined in a specific server options, to be applied only to that server.

In the access object, the system option defines if the user has access to system databases and schemas. If set to false, which is the default, the system databases will not be listed in the user account.

The server option defines if the user has access to server specific pages. If set to false, which is the default, the user will not have access to the Databases, Process list and Variables pages, as well as the server-related Query, Import and Export pages. The corresponding menu entries will not be displayed in the sidebar menu.

The databases and schemas options restrict the user access to the listed databases and schemas.

Contributing

If you're interested in helping improve this project, contributions are very welcome:

Feel free to open issues or pull requests. Even small improvements are appreciated.

Technical Details

The Jaxon DbAdmin application is actually the integration of the Jaxon DbAdmin package, which is an extension of the Jaxon library, with the Laravel framework, using the Laravel integration extension.

The UI is built with the HTML UI Builder package, and generated with the Bootstrap 5 HTML UI Builder adapter package.

The database access code (and thus the provided features) originates from Adminer. The original code was separated into multiple Composer packages, and refactored to take advantage of advanced PHP features: namespaces, interfaces, dependency injection, and so on.

License

BSD 3-Clause License - feel free to use, modify, and distribute.


All versions of dbadmin-app with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
jaxon-php/jaxon-annotations Version ^3.0
jaxon-php/jaxon-dialogs Version ^5.0
jaxon-php/jaxon-laravel Version ^5.0
jaxon-php/jaxon-upload Version ^2.0
lagdo/dbadmin-driver-mysql Version ^0.12
lagdo/dbadmin-driver-pgsql Version ^0.12
lagdo/dbadmin-driver-sqlite Version ^0.12
lagdo/jaxon-dbadmin Version ^0.16
lagdo/ui-builder Version ^0.2
lagdo/ui-builder-bootstrap5 Version ^0.1
laravel/fortify Version ^1.28
laravel/framework Version ^12.0
laravel/tinker Version ^2.10.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package lagdo/dbadmin-app contains the following files

Loading the files please wait ....