Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time


The project is licensed under the same license as Drupal itself, namely GNU General Public License 2 or later.

KADA Drupal distribution. Copyright © 2017 City of Turku,,

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA


Projekti on lisensoitu samalla lisenssisopimuksella kuin Drupal itsessään, eli GNU Yleinen Lisenssi (GNU General Public License) 2 tai myöhempi.

KADA-Drupal-jakelu Tekijänoikeus © 2017 Turun kaupunki,,

Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää edelleen ja muuttaa GNU yleisen lisenssin (GPL-lisenssin) ehtojen mukaan sellaisina kuin Free Software Foundation on ne julkaissut; joko Lisenssin version 2, tai (valinnan mukaan) minkä tahansa myöhemmän version mukaisesti.

Tätä ohjelmaa levitetään siinä toivossa, että se olisi hyödyllinen, mutta ilman mitään takuuta; ilman edes hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai soveltuvuudesta tiettyyn tarkoitukseen. Katso GPL-lisenssistä lisää yksityiskohtia.

Tämän ohjelman mukana pitäisi tulla kopio GPL-lisenssistä; jos näin ei ole, kirjoita osoitteeseen Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


The platform developers use Slack as the primary communication method. If you want to join the Slack channel, sign up at or contact The Slack is free to join for all.


We kindly ask you to report security issues in a responsible manner: Report your security concerns first to who will collaborate with you on reporting the issue to the KADA-project while also ensuring that the existing production systems are not compromised.



You need to have a Drupal-compatible development environment, such as the ones in or

  1. Build Drupal from the make file
    $ cd kada
    $ ./ new
  2. Do a site-install at (try with port 8080 if varnish is preventing install).
  • Choose some features to enable during install
  • Events base feature is not yet working with the site-install
  • Domains will give notice during install, can be ignored
  • If you get timeouts, just refresh the page and batch process will continue
  1. When install is finished, visit the site at
  • The cache has to be rebuilt and features reverted, probably a couple of times before things start working
  • If some database error occurs due to missing module, add the module to correct feature's .info file.
  1. Enable User feature and revert it
  • drush en tkufi_user_feature -y; drush fr tkufi_user_feature -y
  • You can login with editor:secretpass to see what a content editor has access to

Alternate procedure:

  1. Build as above.
  2. Comment out the domain include row from conf/vagrant.settings.php
  3. Run site install:
    $ drush site-install kadaprofile
  4. Log in to the site as admin, navigate to Domain access management and save the default domain (no actual changes necessary.)
  5. Uncomment the domain include row from conf/vagrant.settings.php
  6. Enable some features, for example:
    $ drush en kada_page_feature kada_news_feature


	- Contains built codebases, preserves history
			- IMPORTANT: Use site_ or other custom prefix with custom and feature modules.
				- Site-specific custom modules directory
				- Symlinked from current codebase build when in development
				- Site-specific features directory
				- Symlinked from current codebase build when in development
			- IMPORTANT: Use kada_ prefix with custom and feature modules
			- Is maintained upstream, handle with care to preserve compatibility!
			- Custom modules directory
			- Symlinked from current codebase build when in development
			- Features directory
			- Symlinked from current codebase build when in development
			- KADA Drupal install profile
			- Symlinked from current codebase build when in development
				- DriveTurku theme
				- Symlinked from current codebase build when in development
		- Is copied to Drupal root during build
		- Settings for develop environment
		- Drush make file that defines what drupal core, contrib modules / themes and libraries are used in the project
	- Each additional dependency must be set into this file as contrib code is not in version control
		- Prevents indexing of set paths
		- Configures custom behaviour for each environment
		- Settings for local environment
	- Current build code
	- Actual location for sites/default/files
	- Local patches that are not in any issue queue
	- Custom project build script
	- Use when checking out code that has new contrib dependencies
	- Behaviour of this script depends on conf/site.yml
	- Project drush aliases
	- Syncs sql and files from development
	- Is supposed to be used when running build outside vagrant box (not tested, better to login to vagrant and build there for now)



There is a script for syncing database + files from development.

From the project root:

$ ./drupal/

After syncing database and files, syncscript runs additional commands, like downloads+enables Devel module.



Build is needed when there is changes (or vanilla project repo checkout) made in drush make file. And if in doubt after checking out some other people's code, there is no harm done if you run this command (unless you have done something not so cool like modified core / contrib code).

Also you should be syncing database from develop environment frequently to ensure that you have most up to date database. This way you should be able to avoid adding unnecessary changes into feature recreates.

$ ./ update

After build is done, it's advised to run bunch of drush commands to ensure that database is in the same state as in the feature code.

$ cd <PROJECT_ROOT>/current
$ drush fra -y && drush fra -y && drush cc all

Feature revert is ran twice as we have notices that for some reason features might not get reverted in first run.


  • Contains update hooks for feature / module enabling


  • Naming: kada_NAME
  • Avoid creating custom modules or if you really have to, please consult other developers first


  • Naming: kada_NAME_feature
  • Should contain update hooks to enable additional modules related to feature change
  • Feature specific custom code can be inserted into *.module instead of creating custom modules
  • Fill out changes and other important notes into README.txt file in the feature directory (if you need template, look at tkufi_page_feature)
  • ALWAYS RECREATE FEATURES AND SAVE VIEWS IN ENGLISH!!! (make sure there is /en prefix in the path, otherwise all views translations and such will be exported to code in Finnish)