Documentation


Sandbox account

If you want to try Adminium with minimum effort, we've setup for you a sandbox account with some populated data.
Feel free to edit, destroy, add records and customize the interface, everything will be reset within the hour.

Check out the demo account

Add-on Install

In order to provide you with an administration interface for your data, Adminium needs to be able to connect to your database.

Adminium will store an encrypted version of the DATABASE_URL of your application in the Adminium database. Removing the add-on from your application will delete that info from the Adminium database.

The easiest way to do that is by using our Heroku's OAuth integration which will be used to read the DATABASE_URL configuration variable of your app.

You can also configure your database URL manually.

Manual installation

Visit the adminium page on Heroku's marketplace and select a plan and your project.

Find your Heroku Postgres database URL

Go to the resources page of your application and click on your Heroku Postgres database add-on.

In the Connection settings section, use the button to switch to URL display and copy the connection string.

Integration

Adminium doesn’t need to integrate at a code-level and thus isn’t tied to a particular language. It can be used with any app hosted on Heroku, be it Ruby, Node.js, Clojure, Java, Python, or Scala, as long as it makes use of a PostgreSQL or MySQL database.

Accessing Adminium Interface

Sign in and log in in with Heroku's oauth API on adminium.io will list your apps and allow you to easily provision the Adminium Heroku addon on your app. Once logged in with this method, you can easily switch between your apps.

The interface can also be accessed via the CLI, but in this case, you will have only access to this application.

heroku addons:open adminium

Or by visiting the Heroku apps web interface , selecting your application and then selecting Adminium from the add-ons menu.

If your account is on the Enterprise plan, you can also go directly to the Adminium website and login through a Google account once you have declared collaborators.

Heroku oauth Authentification and scopes

We rely on Heroku's oauth API to verify your identity and list your apps.

We ask for the write-protected scope to access your DATABASE_URL configuration variable to connect to your database, and allow you to upgrade or downgrade your addon plan at any time.

Edition

There are different ways to edit your records:

In-place editing: in each cells of a record in the listing or view page. You can click on the pencil which appears while hovering or you can simply double click on the cell to start editing the value.

Full page editing: available on the left side of each record on the listing page.

Bulk editing: check several records in the listing page and update them with the same value all at once.

Importing: upload a csv file with the id and new values of each records to update.

Enumerable Columns

You may have columns with reference data, like integer that would be more readable if it was a string. A status code column for example.

To configure an enumerable column, check the Enumerable option in the column setting panel which can be brought up by clicking on the cog icon when mousing over a column's header.

Enumerables are clickable in the listing page to quickly filter results by this value, and a statistical pie of the current query for this column is available at the bottom of the table page.

Export and Import your data

You can easily export a specific search and download a CSV file. In the listing page, just click on the export button, select the columns you wish to export and other export options.

Your CSV file can be locally modified and imported back if the CSV file contains the id column of your records.

If the id of a record is not specified, a new record will be created.

Customizing the listing page

If your table has too many columns, you can edit which one you want to see in the listing page.
You can reorder them, rename the header column, customize the appareance of the value depending on their type.
For example, date columns can be displayed like: 08 Mar 01:12, Fri, 08 March 2013 or 37 minutes ago.
Just click on the column header to see your options.

You can also display columns from tables associated to this one or the count of associated rows for 'has many' relations.

Serialized data

Do you run a ruby application? Do you have serialized data stored in some columns?

If the answer is yes, you should try to activate the serialized option in the column setting.

Relationship Display

By default relationships are displayed using the humanized table name and the primary key (for instance User #37). However you can configure a specific column to be used for labeling these links. You might have for instance a pseudo column on a users table.

To choose the Label column for a table, go to the listing view of the table and click on the cog button. In the modal, you will find a pane titled Miscellaneous, which contains the Label column option.

Time charts

For any column of type date or datetime you can easily display a time chart by clicking on the time chart icon ( ) that appears while hovering over the header of these columns. This will display a bar chart grouping the records on the specified column. You can choose between different grouping periods.

You can choose to display the resulting graph on your dashboard by using the star icon ( ).

For graphs displayed on the dashboard, you can click on column bars to see exactly all the records that have been aggregated for this particular interval of time.

Keyboard shortcuts

Keyboard shortcuts help you save time by allowing you to never take your hands off the keyboard to use the mouse.

Press ? in Adminium to see a list of keyboard shortcuts.

Time zones

Adminium has two settings related to timestamps and time zones that can be found in your Accounts settings.

The Application time zone controls in which time zone timestamps will be displayed and entered throughout Adminium. You would typically set this to the time zone corresponding to the region you live in.

The Database time zone lets Adminium know in which time zone timestamps are stored in your database in case your schema uses a datetime type that doesn't include time zone information. A typical Rails application uses timestamp without time zone and stores datetimes in UTC so the default value will be fine.

How can I access PostgreSQL schemas other than public?

In PostgreSQL, tables are searched by default in a schema named "public".

If you need to access tables in a different schema, you can customize the search path by specifying it in your database URL (Edit Account -> Database Connection pane) :

postgresql://user:pass@host/database?search_path=my_custom_schema

You can also specify multiple schema names by separating them with a comma :

postgresql://user:pass@host/database?search_path=my_custom_schema,public

How similar / different is Adminium from gems such as rails_admin or active_admin?

It is similar in purpose to rails_admin and active_admin.

It is however different in how it operates and thus allows different things. Rails admin and active admin are gems to be used with a Rails 3 application whereas Adminium is an Heroku add-on which can be used with any Heroku application, no matter the Rails version, the framework or even the language.

It also differs in the way it is configured ; rails / active admin use DSLs and thus require to write code and deploy the application to modify the configuration of the admin, whereas all the configuration in Adminium is done via the interface independently of the lifecycle of the target application and also allowing non technical users to be in charge of it.