Skip to content

Configuration

After installing Open Intranet, you can customize it for your organization. This page covers the most common configuration tasks.

Update your site name, email address, and slogan in the administration panel:

  1. Log in as administrator.
  2. Navigate to Configuration > System > Basic site settings (/admin/config/system/site-information).
  3. Update:
    • Site name — displayed in the header and browser tab
    • Site email — used as the “From” address for outgoing emails
    • Slogan — optional tagline shown in the header area
    • Front page — the default is /news-homepage (the news feed); change this if you want a different landing page

By default, only administrators can create user accounts (admin_only registration). To change this:

  1. Go to Configuration > People > Account settings (/admin/config/people/accounts).
  2. Under Registration and cancellation, choose:
    • Administrators only (default) — admin must create each account
    • Visitors — anyone can register (useful for open intranets)
    • Visitors, but administrator approval is required — users register but need admin approval

To manually add users:

  1. Go to People (/admin/people).
  2. Click Add user.
  3. Fill in the username, email, password, and assign roles.

Open Intranet comes with these roles out of the box:

RolePermissions
Authenticated userView content, comment, use reactions, bookmark, search, view documents, and access the employee directory
Content EditorCreate, edit, and delete content (news, events, KB pages, basic pages), manage media, and manage taxonomy
AdministratorFull access to all configuration, content, users, and modules

Optional recipes may add additional roles (see Optional features below).

Open Intranet uses Drupal’s mail system. For a production deployment, configure an SMTP server:

  1. Install an SMTP module (e.g. SMTP Authentication Support or Symfony Mailer) via Composer:
    Terminal window
    ddev composer require drupal/smtp
    ddev drush en smtp -y
  2. Navigate to Configuration > System > SMTP Authentication Support and enter your mail server settings.

Without SMTP configuration, the site uses PHP’s built-in mail() function, which may not work reliably on all hosting environments.

Open Intranet ships with optional features packaged as Drupal recipes. Each recipe adds a complete feature — content types, views, permissions, and sample content — in a single command.

Terminal window
ddev drush recipe:apply recipes/<recipe_name>

After applying a recipe, clear the cache:

Terminal window
ddev drush cache:rebuild
RecipeCommandWhat it adds
Coursesrecipes/openintranet_coursesLearning management with courses, lessons, enrollment tracking, and progress indicators
FAQrecipes/openintranet_faqFrequently Asked Questions content type with a categorized listing page
Ideasrecipes/openintranet_ideasIdea submission and voting system — employees can propose ideas and vote on them
Inventoryrecipes/openintranet_inventoryAsset and inventory tracking with items, locations, and assignments
Kanban Boardrecipes/openintranet_kanbanKanban-style task board for visual project management (experimental)
Kudosrecipes/openintranet_kudosPeer recognition system — send kudos to colleagues
Room Bookingrecipes/openintranet_rmbRoom and resource booking with a calendar view; adds a Room Manager role
SSO: Keycloakrecipes/openintranet_sso_keycloakSingle Sign-On via Keycloak using OpenID Connect
Consultation Processrecipes/consultation_processStructured consultation workflow with ECA automation; adds reviewer roles
Demo Contentrecipes/default_contentSample content (news, events, KB pages, users, groups) for evaluation and testing

To integrate with your organization’s identity provider (IdP), apply the Keycloak SSO recipe:

Terminal window
ddev drush recipe:apply recipes/openintranet_sso_keycloak
ddev drush cache:rebuild

Then configure the OpenID Connect settings:

  1. Go to Configuration > People > OpenID Connect (/admin/config/people/openid-connect).
  2. Enable the Keycloak provider.
  3. Enter your Keycloak server details:
    • Client ID
    • Client secret
    • Keycloak base URL
    • Realm
  4. Save and test the login flow.

Open Intranet uses a Bootstrap Barrio subtheme with SCSS. The starter theme is located in web/themes/custom/openintranet_theme/.

To customize the look and feel:

  1. Edit SCSS files in the theme’s scss/ directory.
  2. Compile with the included Gulp setup:
    Terminal window
    cd web/themes/custom/openintranet_theme
    npm install
    npx gulp
  3. Adjust theme settings at Appearance > Open Intranet Theme > Settings.

Key customization options:

  • Logo — upload your company logo via the theme settings page
  • Favicon — replace the default favicon
  • Colors — edit SCSS variables in scss/_variables.scss
  • Layout — Bootstrap Barrio supports various layout options (sidebar position, container width)

Open Intranet uses Search API with a database backend. Search is ready to use out of the box, but you may want to adjust it:

  1. Go to Configuration > Search and metadata > Search API (/admin/config/search/search-api).
  2. The default index covers all major content types.
  3. To reindex content manually:
    Terminal window
    ddev drush search-api:index

For large installations, consider replacing the database backend with Solr for better performance.

Drupal relies on cron for background tasks (search indexing, email sending, cache cleanup). Configure cron to run regularly:

DDEV includes a cron add-on. To enable it:

Terminal window
ddev get ddev/ddev-cron
ddev restart

Add a cron job that runs every 15 minutes:

*/15 * * * * cd /path/to/openintranet && vendor/bin/drush cron
Terminal window
ddev drush cron

Open Intranet includes the Backup and Migrate module. Configure regular backups at Administration > Configuration > Development > Backup and Migrate (/admin/config/development/backup_migrate).

For DDEV-based environments, you can also use:

Terminal window
ddev export-db --file=backup.sql.gz

For production deployments, enable Drupal’s built-in caching:

  1. Go to Configuration > Development > Performance (/admin/config/development/performance).
  2. Enable Page caching and set a max-age (e.g. 3600 seconds).
  3. Enable CSS and JavaScript aggregation.