System
Every Decidim is multi-tenant by default. That means that you can have multiple organizations inside of your same installation. This is being used for instance for the Barcelona and Girona Provincials Governments, for offering Decidim installations to many small cities, or by the City of Barcelona, for giving service to lots of organizations (NGOs, cooperatives, etc).
Even if you only have one Organization you also need to create one through the System Panel. It’s available after you’ve installed Decidim, at /system
. For instance if you domain is example.org
, then it should be available at http://example.org/system
.
After you’ve freshly installed Decidim, you’ll be redirected to the System panel log-in page:
1. Create an admin account
For accessing in this dashboard, you’ll need to create a system admin account with the Rails console, as the instructions that you have in your README.md
file:
Open a console:
bin/rails console
Then create the systems' admin:
user = Decidim::System::Admin.new(email: <email>, password: <password>, password_confirmation: <password>)
user.save!
So for example, if your email is system@decidim.org
and your password decidim123456
that’d be:
user = Decidim::System::Admin.new(email: 'system@decidim.org', password: 'decidim123456', password_confirmation: 'decidim123456')
user.save!
Please don’t use this password, is really insecure! |
3. Create a new organization
Inside of the system panel, you need to create your Organization through the form:
Please mind that some of these fields can’t change through the System Form, as changing them could potentially leave your database in a broken state. You can change it through the console, but you’ll be on your own. |
Field | Type | Description |
---|---|---|
Name |
Required |
Name of your organization. For instance, "Decidim Barcelona". |
Reference prefix |
Required |
The reference prefix is used to uniquely identify resources across all organizations. It’s for identifying different resources inside of Decidim. For instance, "BCN". You can change how it’s created this reference through Decidim’s initializer (see Custom resource reference). |
Host |
Required |
Fully qualified domain name. For instance, "example.org" or "decidim.barcelona". |
Secondary hosts |
Optional |
Others domains or subdomains that point to this same installation. Normally this shouldn’t be used. Enter each one of them in a new line. For instance, "example.com" |
Organization admin name |
Required |
Name of the admin account. For instance, "Admin" |
Organization admin email |
Required |
Email for the admin account. For instance, "admin@example.org" |
Organization locales |
Required |
You’ll need to configure at least one language. Decidim is multilanguage, meaning that you can have most of the admin contents with any number of languages. For seeing other languages you’ll need to configure first the Decidim’s initializer. |
Force authentication |
Optional |
Check if you want to Force users to authenticate before access organization. That means that they don’t see any published content and they only have access to the log-in form. |
Users registration mode |
Optional |
Control how you want the login / participant register or signup to work. See below. |
Available authorizations |
Optional |
How you want to authorize and verify that your participants are who they say they are. It depends a lot on your Organization, country, etc. See Authorizations customization. |
SMTP settings |
Optional |
Allows you to configure different SMTP servers for every Organzation in this installation. See SMTP configuration. |
Omniauth settings |
Optional |
Allows you to configure through external OAUTH providers for every Organization in this installation. See Social providers configuration. |
Users registration mode
Allow participants to register and login
Most of the installations use this setting. Means that everyone can register a participant account and login, without restrictions, only with an email account confirmation (and you can disable that confirmation also if you want to through Decidim’s initializer)