19
PROFILES IN DRUPAL (Well, sort of…)

Profiles in Drupal - Drupal Day Aveiro

Embed Size (px)

Citation preview

PROFILES IN DRUPAL(Well, sort of…)

STAGE FRIGHT

• Anxiety, fear […] by the requirement to perform in front of an audience

• "Anxiety usually has physical symptoms that may include a racing heart, a dry mouth, a shaky voice, blushing, trembling, sweating, lightheadedness, and nausea".

http://marzeelabs.org

We are a distributed company with main offices in Porto and Setúbal and virtual offices in London and Barcelona, but you can always find us all around Europe.

We provide technical leadership in large complex projects that require more than just your usual tech implementation. We consult, follow up, code-review and assure the quality of the final product.

MARZEE LABS

ARTE G.E.I.E.

http://www.arte.tv

ARTE is a public Franco-German TV network, a European channel, that promotes programming in the areas of culture and the arts.

http://marzeelabs.org/blog/2015-01-06-drupal-profiles

All your custom code and modules, themes and libraries to be installed should be bundled as an

installation profile, so your site can be installed over and over.

If you haven't started organizing your sites as Drupal profiles, you probably should.

STEP 1The .make file

; mzprofile.make

projects[link][version] = 1.3 projects[link][subdir] = "contrib"

STEP 1The .make file

; mzprofile.make

projects[link][version] = 1.3 projects[link][subdir] = "contrib" ; Provide the original_url when loading the field. ; @see https://www.drupal.org/node/1475790#comment-7743415 projects[link][patch][] = "http://www.drupal.org/files/7.x-1.x-_link_sanitize-bandaid-1475790-16.diff"

STEP 1The .make file

; mzprofile.make

projects[link][download][type] = git projects[link][download][branch] = 7.x-1.x projects[link][download][revision] = 7dc306c projects[link][subdir] = "contrib"

STEP 2The .info file

name = mzprofile description = Install with common features for this awesome project pre-configured. core = 7.x

dependencies[] = link

STEP 3The .profile file

<?php

/** * Implements hook_form_FORM_ID_alter() for install_configure_form(). * * Allows the profile to alter the site configuration form. */ function mzprofile_form_install_configure_form_alter(&$form, $form_state) { // Pre-populate the site name with the server name. $form['site_information']['site_name']['#default_value'] = $_SERVER['SERVER_NAME']; // Set default login, password and all that stuff to make install even faster. $admin_mail = '[email protected]'; $form['site_information']['site_mail']['#default_value'] = $admin_mail; $form['admin_account']['account']['name']['#default_value'] = 'admin'; $form['admin_account']['account']['mail']['#default_value'] = $admin_mail; $form['update_notifications']['update_status_module']['#default_value'][1] = 0; $form['update_notifications']['update_status_module']['#default_value'][2] = 0; }

STEP 3.5Drupal core

; drupal-org-core.make api = 2 core = 7.x

projects[drupal][type] = core projects[drupal][version] = 7.31

; Make profiles inherit from each other ; Allows to use MZ as a base profile including it's modules ; @see https://drupal.org/node/2067229 projects[drupal][patch][] = "http://drupal.org/files/2067229-2-inheritable-profiles.patch"

STEP 4Drush it!

FULL $ drush make profiles/mzprofile/mzprofile.make .

NO-CORE $ drush make profiles/mzprofile/mzprofile.make —-no-core .

JUST ONE MODULE (OR PROFILE) $ drush make profiles/mzprofile/mzprofile.make —-projects=link —-no-core .

BUT!Can it run Crysis?

7 DRUPAL PLATFORMS• http://concert.arte.tv

• http://cinema.arte.tv

• http://creative.arte.tv

• http://future.arte.tv

• http://info.arte.tv

• http://sites.arte.tv

• http://www.theoperaplatform.eu

1 PROFILETO RULE THEM ALL

name = alw description = Install with common features for the Arte Live Web core = 7.x

; Inherit Foundation base profile ; Needs a Drupal core patch (see foundation makefiles) ; ====================================================

base = foundation

PLEASEThink of the kittens…

And I approve this message 👍

Luís is our all rounder. He is experienced in PHP, JS, CSS and all in between. Has an extended knowledge of pop culture and always has an opinion about the topic at hand.

MY NAME IS LUIS