├── images └── wetkit.png ├── .gitignore ├── .gitignore.example ├── behat.travis.yml.dist ├── sass └── wetkit.scss ├── .drupal-ti ├── runners │ └── wetkit-behat │ │ ├── before_script.sh │ │ ├── install.sh │ │ └── script.sh └── functions │ └── wetkit.sh ├── CONTRIBUTING.md ├── scripts └── check-overridden.sh ├── css └── wetkit.css ├── KNOWN_ISSUES.md ├── drupal-org-core.make ├── wetkit.install_callbacks.inc ├── release.sh ├── rebuild.sh ├── wetkit.info ├── wetkit.install ├── changelog.sh ├── drupal-org.make ├── drupal-org-release.make ├── release_notes.sh ├── config.rb ├── README.md ├── drupal-org-dev.make ├── .travis.yml └── wetkit.profile /images/wetkit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wet-boew/wet-boew-drupal/HEAD/images/wetkit.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore Development Files 2 | compass_app_log.txt 3 | *.DS_Store 4 | *.diff 5 | *.err 6 | *.orig 7 | *.log 8 | *.rej 9 | *.swo 10 | *.swp 11 | *.vi 12 | *.sass-cache 13 | 14 | # Ignore Contributed Modules 15 | /modules/ 16 | 17 | # Ignore Contributed Libraries 18 | /libraries/ 19 | 20 | # Ignore Contributed Themes 21 | /themes/ 22 | -------------------------------------------------------------------------------- /.gitignore.example: -------------------------------------------------------------------------------- 1 | # Ignore Development Files 2 | compass_app_log.txt 3 | *.DS_Store 4 | *.diff 5 | *.err 6 | *.orig 7 | *.log 8 | *.rej 9 | *.swo 10 | *.swp 11 | *.vi 12 | *.sass-cache 13 | 14 | # Ignore Contributed Modules 15 | /modules/ 16 | 17 | # Ignore Contributed Libraries 18 | /libraries/ 19 | 20 | # Ignore Contributed Themes 21 | /themes/ 22 | -------------------------------------------------------------------------------- /behat.travis.yml.dist: -------------------------------------------------------------------------------- 1 | imports: 2 | - behat.common.yml 3 | 4 | default: 5 | extensions: 6 | Behat\MinkExtension: 7 | base_url: "$DRUPAL_TI_WEBSERVER_URL:$DRUPAL_TI_WEBSERVER_PORT/" 8 | files_path: "$DRUPAL_TI_BEHAT_DIR" 9 | Drupal\DrupalExtension: 10 | drush: 11 | root: "$DRUPAL_TI_DRUPAL_DIR" 12 | drupal: 13 | drupal_root: "$DRUPAL_TI_DRUPAL_DIR" 14 | # Look in the profile modules directory and pull in module subcontexts. 15 | subcontexts: 16 | paths: 17 | - "./profiles/wetkit" 18 | -------------------------------------------------------------------------------- /sass/wetkit.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Stylesheet for Installation Profile 3 | */ 4 | 5 | #wetkit-theme-selection-form { 6 | .form-item-theme { 7 | clear: both; 8 | margin-top: .5em; 9 | margin-bottom: .5em; 10 | label img { 11 | float: left; 12 | width: 100px; 13 | margin-right: 1em; 14 | } 15 | } 16 | } 17 | 18 | .in-maintenance { 19 | input[type="image"] + label, 20 | input[type="checkbox"] + label, 21 | input[type="radio"] + label { 22 | display: inline; 23 | } 24 | #edit-theme { 25 | img{ 26 | display: block; 27 | width: 275px; 28 | } 29 | } 30 | .messages { 31 | padding: 10px 10px 10px 10px; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /.drupal-ti/runners/wetkit-behat/before_script.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Simple script to install drupal for travis-ci running. 3 | # 4 | ## Template modified from http://drupal.org/project/panopoly 5 | 6 | set -e $DRUPAL_TI_DEBUG 7 | 8 | # Ensure the right Drupal version is installed and upgraded. 9 | # Note: This runs our custom version of drupal_ti_install_drupal in 10 | # .drupal-ti/functions/wetkit.sh. 11 | drupal_ti_ensure_drupal 12 | 13 | # Our tests depend on panopoly_test. 14 | drush en -y wetkit_test 15 | 16 | # Clear caches and run a web server. 17 | drupal_ti_clear_caches 18 | drupal_ti_run_server 19 | 20 | # Start xvfb and selenium. 21 | drupal_ti_ensure_xvfb 22 | drupal_ti_ensure_webdriver 23 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributor guidelines - Web Experience Toolkit (WET) 2 | 3 | * [Developing for WET](https://github.com/wet-boew/wet-boew/wiki/Developing-for-WET) 4 | * [Contributor guidelines](https://github.com/wet-boew/wet-boew/wiki/Developing-for-WET#wiki-Contributor_guidelines) 5 | 6 | ------------------------------------------------------------------- 7 | 8 | # Lignes directrices pour les contributeurs - Boîte à outils de l’expérience Web (BOEW) 9 | 10 | * [Développer pour la BOEW](https://github.com/wet-boew/wet-boew/wiki/Développer-pour-la-boew) 11 | * [Lignes directrices pour les contributeurs](https://github.com/wet-boew/wet-boew/wiki/Développer-pour-la-boew#wiki-Lignes_directrices_pour_les_contributeurs) 12 | -------------------------------------------------------------------------------- /scripts/check-overridden.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | : ${DRUSH:=drush} 4 | : ${DRUSH_ARGS:=} 5 | 6 | WxT_FEATURES="wetkit_admin wetkit_bean wetkit_breadcrumbs wetkit_core wetkit_demo wetkit_images wetkit_language wetkit_menu wetkit_metatag wetkit_migrate wetkit_pages wetkit_search wetkit_theme wetkit_wetboew wetkit_widgets wetkit_wysiwyg" 7 | 8 | # TODO: We should make sure that 'diff' is downloaded first! 9 | $DRUSH $DRUSH_ARGS en -y diff 10 | 11 | OVERRIDDEN=0 12 | for wetkit_feature in $WxT_FEATURES; do 13 | echo "Checking $wetkit_feature..." 14 | if $DRUSH $DRUSH_ARGS features-diff $wetkit_feature 2>&1 | grep -v 'Feature is in its default state'; then 15 | OVERRIDDEN=1 16 | fi 17 | done 18 | 19 | exit $OVERRIDDEN 20 | -------------------------------------------------------------------------------- /css/wetkit.css: -------------------------------------------------------------------------------- 1 | /** Stylesheet for Installation Profile */ 2 | #wetkit-theme-selection-form .form-item-theme { clear: both; margin-top: .5em; margin-bottom: .5em; } 3 | #wetkit-theme-selection-form .form-item-theme label img { float: left; width: 100px; margin-right: 1em; } 4 | 5 | .in-maintenance input[type="image"] + label, .in-maintenance input[type="checkbox"] + label, .in-maintenance input[type="radio"] + label { display: inline; } 6 | .in-maintenance #edit-theme img { display: block; width: 275px; } 7 | .in-maintenance .messages { padding: 10px 10px 10px 10px; } 8 | 9 | #responsive-preview-navbar-tab ul li button, 10 | #responsive-preview-navbar-tab ul li a, 11 | #language-switch-navbar-tab ul li a { 12 | color: #000 !important; 13 | } 14 | -------------------------------------------------------------------------------- /KNOWN_ISSUES.md: -------------------------------------------------------------------------------- 1 | # Known Issues 2 | 3 | This is a list of major known issues. For the latest list of all issues see the 4 | [Drupal Issue Queue][drupal-queue]. 5 | 6 | ## Existing menu missing on node edit pages based on certain context 7 | 8 | When you follow a specific workflow of creating nodes with translated menu items attached, you can end up in a situation where the node edit form for the translation can't find the associate menu item. 9 | 10 | Bug: [Entity Translation][entity_translation] Issue #[2125569][known-issue-2125569] 11 | 12 | 13 | 14 | [drupal-queue]: https://drupal.org/project/issues/wetkit?categories=All 15 | [entity_translation]: https://drupal.org/project/entity_translation 16 | [uuid_features]: https://drupal.org/project/uuid_features 17 | [metatag]: https://drupal.org/project/metatag 18 | [known-issue-2125569]: https://drupal.org/node/2125569 19 | -------------------------------------------------------------------------------- /.drupal-ti/runners/wetkit-behat/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # @file 3 | # Behat integration - Install step. 4 | # 5 | ## Template modified from http://drupal.org/project/panopoly 6 | 7 | set -e $DRUPAL_TI_DEBUG 8 | 9 | # Ensure drush webserver can be started for PHP 5.3 / hhvm. 10 | drupal_ti_ensure_php_for_drush_webserver 11 | 12 | # Ensure that drush and addons are installed. 13 | wetkit_header Installing Drush 14 | wetkit_ensure_drush 15 | 16 | # Ensure the distribution is linked into the code base. 17 | # @todo Use drupal_ti_ensure_distribution once available. 18 | wetkit_ensure_distribution 19 | 20 | # Build the distribution via drush make files. 21 | wetkit_build_distribution 22 | 23 | # Install the behat extension. 24 | wetkit_header Installing Behat 25 | cd "$DRUPAL_TI_DRUPAL_DIR/$DRUPAL_TI_BEHAT_DIR" 26 | composer install --no-interaction --prefer-source --dev 27 | 28 | # Disable sendmail 29 | # @todo Move upstream. 30 | echo sendmail_path=`which true` >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini 31 | 32 | # Use some optimized PHP and mysql settings. 33 | wetkit_optimize 34 | -------------------------------------------------------------------------------- /.drupal-ti/runners/wetkit-behat/script.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # @file 3 | # Behat integration - Script step. 4 | # 5 | ## Template modified from http://drupal.org/project/panopoly 6 | 7 | set -e $DRUPAL_TI_DEBUG 8 | 9 | # Ensure we are in the right directory. 10 | cd "$DRUPAL_TI_DRUPAL_DIR" 11 | 12 | wetkit_header Running Feature Diff 13 | 14 | # If this isn't an upgrade, we test if any features are overridden. 15 | if [[ "$UPGRADE" == none ]] 16 | then 17 | "$TRAVIS_BUILD_DIR"/scripts/check-overridden.sh 18 | fi 19 | 20 | # Now go to the local behat tests, being within the module installation is 21 | # needed for example for the drush runner. 22 | cd "$DRUPAL_TI_BEHAT_DIR" 23 | 24 | wetkit_header Running tests 25 | 26 | # Copy into place because it doesn't come with wetkit_test. 27 | mv -f "$TRAVIS_BUILD_DIR"/behat.travis.yml.dist . 28 | 29 | # This replaces environment vars from $DRUPAL_TI_BEHAT_YML into 'behat.yml'. 30 | drupal_ti_replace_behat_vars 31 | 32 | ARGS=( $DRUPAL_TI_BEHAT_ARGS ) 33 | 34 | # First, run all the tests in Firefox. 35 | ./bin/behat "${ARGS[@]}" 36 | 37 | # Then run some Chrome-only tests. 38 | ./bin/behat -p chrome "${ARGS[@]}" 39 | -------------------------------------------------------------------------------- /drupal-org-core.make: -------------------------------------------------------------------------------- 1 | api = 2 2 | core = 7.x 3 | 4 | projects[drupal][version] = 7.80 5 | projects[drupal][type] = core 6 | 7 | ; Patches for Drupal Core 8 | projects[drupal][patch][405360] = http://drupal.org/files/issues/aria-describedby_2.patch 9 | projects[drupal][patch][460408] = http://drupal.org/files/issues/menu-access_unpublished-nodes_460408-157.patch 10 | projects[drupal][patch][728702] = http://drupal.org/files/issues/install-redirect-on-empty-database-728702-36.patch 11 | ; This needs to be rerolled to apply cleanly and work due to changes in 7.68 # 12 | projects[drupal][patch][865536] = https://www.drupal.org/files/issues/2019-12-18/Drupal-core--865536-263--brower-key-for-js-do-not-test.patch 13 | projects[drupal][patch][911354] = http://drupal.org/files/911354-drupal-profile-85.patch 14 | projects[drupal][patch][998898] = http://drupal.org/files/issues/998898-63chars-identifier-limit-nomd5-D7-75.patch 15 | projects[drupal][patch][1710656] = http://drupal.org/files/drupal-1710656-3-skip-hidden-menu-items-D7.patch 16 | projects[drupal][patch][1772316] = http://drupal.org/files/drupal7-allow_change_system-requirements-1772316-18.patch 17 | projects[drupal][patch][2383823] = https://www.drupal.org/files/issues/2383823-check_name_empty-26.patch 18 | -------------------------------------------------------------------------------- /wetkit.install_callbacks.inc: -------------------------------------------------------------------------------- 1 | $type)); 15 | $migration = Migration::getInstance($operation); 16 | $migration->processImport(); 17 | } 18 | 19 | /** 20 | * BatchAPI callback. 21 | * 22 | * @see wetkit_import_content() 23 | */ 24 | function _wetkit_panels_fix($operation, &$context) { 25 | $context['message'] = t('@operation', array('@operation' => $operation)); 26 | 27 | // Fix Panels Edit Page on Browser Install. 28 | variable_set('page_manager_node_edit_disabled', 0); 29 | menu_rebuild(); 30 | } 31 | 32 | /** 33 | * BatchAPI callback. 34 | * 35 | * @see wetkit_import_content() 36 | */ 37 | function _wetkit_permissions_fix($operation, &$context) { 38 | $context['message'] = t('@operation', array('@operation' => $operation)); 39 | 40 | // Ensure Administrator has all permissions 41 | // checked by default. 42 | if ($administrator = user_role_load_by_name('administrator')) { 43 | $permissions = module_invoke_all('permission'); 44 | user_role_grant_permissions($administrator->rid, array_keys($permissions)); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /release.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Release and push tags to remotes on Drupal and GitHub 3 | 4 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 5 | 6 | # Variables 7 | BRANCH="7.x-$1" 8 | TAG="7.x-$2" 9 | 10 | function git_tag_recurse() 11 | { 12 | for i in * ; do 13 | if [ -d "$i" ]; then 14 | if [[ "$i" == *wetkit* ]]; then 15 | cd $i 16 | 17 | # Init 4.x branch 18 | exists=`git show-ref refs/heads/$BRANCH` 19 | if [ -n "$exists" ]; then 20 | echo "Branch name $BRANCH already exists." 21 | else 22 | echo "Branch name $BRANCH is being created." 23 | git branch $BRANCH 24 | fi 25 | 26 | # Checkout branch 27 | echo "Checking out $BRANCH" 28 | git checkout $BRANCH 29 | 30 | # Tag + Push release 31 | RES=`git tag | grep "^$TAG\$"` 32 | if [ "$RES" == "$TAG" ]; then 33 | echo "Tag name $TAG already exists." 34 | else 35 | echo "Tag name $TAG is being created." 36 | git tag $TAG 37 | fi 38 | 39 | # Push new branches to remote 40 | echo "Pushing branches to remote(s)" 41 | git push origin $BRANCH 42 | git push github $BRANCH 43 | 44 | # Push new tags to remote 45 | echo "Pushing tags to remote(s)" 46 | git push origin $TAG 47 | git push github $TAG 48 | 49 | cd .. 50 | fi 51 | fi 52 | done 53 | } 54 | 55 | # Initialize all custom modules 56 | cd modules/custom/ 57 | git_tag_recurse 58 | cd $DIR 59 | 60 | # Initialize all custom themes 61 | cd themes/ 62 | git_tag_recurse 63 | cd $DIR 64 | -------------------------------------------------------------------------------- /rebuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Script to rebuild the WxT installation profile 3 | # This command expects to be run within the WxT profile. 4 | # To use this command you must have `drush make` and `git` installed. 5 | 6 | if [ -f drupal-org.make ]; then 7 | 8 | echo ' __ __ ___________' 9 | echo '/ \ / \___ __\__ ___/' 10 | echo '\ \/\/ /\ \/ / | | ' 11 | echo ' \ / > < | | ' 12 | echo ' \__/\ / /__/\_ \ |____| ' 13 | echo ' \/ \/ ' 14 | echo '' 15 | echo '=================' 16 | echo ' WxT ' 17 | echo '=================' 18 | 19 | echo "\nThis command can be used to rebuild the installation profile in place.\n" 20 | echo " [1] Rebuild profile in place in release mode (latest stable release)" 21 | echo " [2] Rebuild profile in place in development mode (latest dev code)" 22 | echo " [3] Rebuild profile in place in development mode (latest dev code with .git working-copy)\n" 23 | echo "Selection: \c" 24 | read SELECTION 25 | 26 | if [ $SELECTION = "1" ]; then 27 | 28 | echo "Building WxT install profile in release mode..." 29 | drush make --no-core --no-gitinfofile --contrib-destination=. drupal-org-release.make 30 | 31 | elif [ $SELECTION = "2" ]; then 32 | 33 | echo "Building WxT install profile in development mode (latest dev code)..." 34 | drush make --no-core --no-gitinfofile --contrib-destination=. drupal-org.make 35 | 36 | elif [ $SELECTION = "3" ]; then 37 | 38 | echo "Building WxT install profile in development mode (latest dev code with .git working-copy)" 39 | drush make --working-copy --no-core --no-gitinfofile --contrib-destination=. drupal-org-dev.make 40 | 41 | else 42 | echo "Invalid selection." 43 | fi 44 | else 45 | echo 'Could not locate file "drupal-org.make"' 46 | fi 47 | -------------------------------------------------------------------------------- /wetkit.info: -------------------------------------------------------------------------------- 1 | name = Drupal WxT 2 | distribution_name = WetKit 3 | description = Installation Profile created for the Web Experience Toolkit using Drupal WxT. 4 | core = 7.x 5 | exclusive = 1 6 | 7 | ; Drupal Core 8 | dependencies[] = menu 9 | dependencies[] = image 10 | dependencies[] = list 11 | dependencies[] = locale 12 | dependencies[] = number 13 | dependencies[] = options 14 | dependencies[] = path 15 | dependencies[] = taxonomy 16 | dependencies[] = search 17 | dependencies[] = field 18 | dependencies[] = field_ui 19 | dependencies[] = file 20 | dependencies[] = block 21 | dependencies[] = dblog 22 | dependencies[] = update 23 | dependencies[] = shortcut 24 | dependencies[] = contextual 25 | 26 | ; Drupal Core (Disabled) 27 | ;dependencies[] = overlay 28 | ;dependencies[] = help 29 | ;dependencies[] = rdf 30 | ;dependencies[] = statistics 31 | ;dependencies[] = simpletest 32 | 33 | ; WxT Foundation 34 | dependencies[] = wetkit_core 35 | dependencies[] = wetkit_admin 36 | dependencies[] = wetkit_images 37 | dependencies[] = wetkit_widgets 38 | dependencies[] = wetkit_pages 39 | dependencies[] = wetkit_layouts 40 | dependencies[] = wetkit_theme 41 | dependencies[] = wetkit_wysiwyg 42 | dependencies[] = wetkit_language 43 | dependencies[] = wetkit_migrate 44 | dependencies[] = wetkit_bean 45 | dependencies[] = wetkit_metatag 46 | dependencies[] = wetkit_menu 47 | dependencies[] = wetkit_wetboew 48 | dependencies[] = wetkit_breadcrumbs 49 | dependencies[] = wetkit_users 50 | dependencies[] = wetkit_search 51 | 52 | ; WxT Recommended 53 | dependencies[] = l10n_client 54 | dependencies[] = panopoly_magic 55 | 56 | ; WxT Testing 57 | files[] = wetkit.test 58 | files[] = tests/simpletest/WetKitWebTestCase.inc 59 | 60 | ; CSS Stylesheets 61 | stylesheets[all][] = css/wetkit.css 62 | 63 | ; Settings 64 | variables[password_policy_show_restrictions] = 1 65 | variables[password_policy_new_login_change] = 0 66 | -------------------------------------------------------------------------------- /wetkit.install: -------------------------------------------------------------------------------- 1 | 3, 18 | 'delay' => 0, 19 | 'digit_placement' => 2, 20 | 'history' => 24, 21 | 'length' => 8, 22 | 'letter' => 2, 23 | 'username' => 1, 24 | ); 25 | $pid = db_insert('password_policy') 26 | ->fields(array( 27 | 'name' => 'WetKit Default', 28 | 'description' => 'The default password policy implementation included with the WetKit distribution.', 29 | 'constraints' => serialize($policy), 30 | 'enabled' => 1, 31 | 'expiration' => '90', 32 | 'warning' => '7,14', 33 | 'created' => REQUEST_TIME, 34 | )) 35 | ->execute(); 36 | // Enable an authenticated role the above for the default password policy. 37 | db_insert('password_policy_role') 38 | ->fields(array( 39 | 'pid' => $pid, 40 | 'rid' => 2, 41 | )) 42 | ->execute(); 43 | 44 | // Only notify on Security Issue(s). 45 | variable_set('update_notification_threshold', array('security')); 46 | 47 | // Set the Admin Theme. 48 | db_update('system') 49 | ->fields(array('status' => 1)) 50 | ->condition('type', 'theme') 51 | ->condition('name', 'wetkit_ember') 52 | ->execute(); 53 | 54 | variable_set('admin_theme', 'wetkit_ember'); 55 | 56 | // Set the Bootstrap Theme. 57 | db_update('system') 58 | ->fields(array('status' => 1)) 59 | ->condition('type', 'theme') 60 | ->condition('name', 'bootstrap') 61 | ->execute(); 62 | } 63 | 64 | /** 65 | * Workbench Moderation schema correction. 66 | */ 67 | function wetkit_update_7100() { 68 | // Schema correction was fixed directly in Workbench Moderation. 69 | } 70 | -------------------------------------------------------------------------------- /changelog.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # usage: changelog.sh 7.x-4.0-beta1 7.x-4.0-beta2 4.0-beta1 3 | 4 | # Variables 5 | SHA1=$(git rev-parse HEAD | cut -c 1-7) 6 | SHA2=$(git rev-parse HEAD~1 | cut -c 1-7) 7 | DIR=$(pwd) 8 | VERSION='R'$3 9 | HEADER_COMMIT="" 10 | HEADER_ISSUES="" 11 | REFLINK='' 12 | COMMIT_REMOVE='merge\|revert' 13 | CHANGELOG='CHANGELOG.md' 14 | CHANGELOG_MSG='CHANGELOG-MSG.md' 15 | CHANGELOG_LNK='CHANGELOG-LNK.md' 16 | CHANGELOG_ISSUES='CHANGELOG-ISSUES.md' 17 | DISTRO='wetkit' 18 | 19 | # Adjust drupal.org.nake file 20 | sed -i "s/$SHA2/$SHA1/" $DIR/drupal-org.make 21 | 22 | # Generate changelog tmp files 23 | rm -f $DIR/$CHANGELOG_MSG 24 | rm -f $DIR/$CHANGELOG_LNK 25 | rm -f $DIR/$CHANGELOG_ISSUES 26 | 27 | echo 'Fixes:\n' >> $DIR/$CHANGELOG_MSG 28 | git log $1..$2 --pretty=format:" - (Commit: [%h][$VERSION-Commit-%h]) %s " | grep -iwv $COMMIT_REMOVE | sed -e "s/Issue #\([0-9]*\)[^:]*:/#[\1][$VERSION-Issue-\1] -/g" >> $DIR/$CHANGELOG_MSG 29 | echo $HEADER_COMMIT '\n' >> $DIR/$CHANGELOG_LNK 30 | git log $1..$2 --pretty=format:"[$VERSION-Commit-%h]: http://drupalcode.org/project/$DISTRO.git/commit/%h" | grep -iwv $COMMIT_REMOVE >> $DIR/$CHANGELOG_LNK 31 | 32 | # Generate changelog file 33 | INSERT_COMMIT_BRANCH='.\!-- Commits R1\.6 --.' 34 | INSERT_COMMIT_BRANCH_B4='.\!-- Commits R1\.5 --.' 35 | INSERT_LINK_HEADER='.\!-- Links Referenced --.' 36 | i='r' 37 | 38 | # Insert Commit messages for tag 39 | sed -i "2r CHANGELOG-MSG.md" $CHANGELOG 40 | 41 | LINENUM=$(sed -n "/$INSERT_LINK_HEADER/=" $DIR/$CHANGELOG) 42 | LINENUM=$(($LINENUM + 1)) 43 | 44 | echo '\n' $HEADER_ISSUES '\n' >> $DIR/$CHANGELOG_ISSUES 45 | grep -o '#\[[0-9]*\]' $CHANGELOG_MSG | sed -e "s/#\[\([0-9]*\)\]/[$VERSION-Issue-\1]: http:\/\/drupal\.org\/node\/\1/g" >> $CHANGELOG_ISSUES 46 | sed -i "$LINENUM$i $CHANGELOG_ISSUES" $CHANGELOG 47 | 48 | sed -i "$LINENUM$i $CHANGELOG_LNK" $CHANGELOG 49 | 50 | rm -f $DIR/$CHANGELOG_MSG 51 | rm -f $DIR/$CHANGELOG_LNK 52 | rm -f $DIR/$CHANGELOG_ISSUES 53 | -------------------------------------------------------------------------------- /drupal-org.make: -------------------------------------------------------------------------------- 1 | api = 2 2 | core = 7.x 3 | 4 | ; WxT Foundation (Custom) 5 | 6 | projects[wetkit_admin][version] = 4.10 7 | projects[wetkit_admin][subdir] = custom 8 | 9 | projects[wetkit_bean][version] = 4.10 10 | projects[wetkit_bean][subdir] = custom 11 | 12 | projects[wetkit_breadcrumbs][version] = 4.7 13 | projects[wetkit_breadcrumbs][subdir] = custom 14 | 15 | projects[wetkit_core][version] = 4.57 16 | projects[wetkit_core][subdir] = custom 17 | 18 | projects[wetkit_demo][version] = 4.4 19 | projects[wetkit_demo][subdir] = custom 20 | 21 | projects[wetkit_deployment][version] = 4.24 22 | projects[wetkit_deployment][subdir] = custom 23 | 24 | projects[wetkit_images][version] = 4.6 25 | projects[wetkit_images][subdir] = custom 26 | 27 | projects[wetkit_language][version] = 4.22 28 | projects[wetkit_language][subdir] = custom 29 | 30 | projects[wetkit_layouts][version] = 4.9 31 | projects[wetkit_layouts][subdir] = custom 32 | 33 | projects[wetkit_menu][version] = 4.7 34 | projects[wetkit_menu][subdir] = custom 35 | 36 | projects[wetkit_metatag][version] = 4.18 37 | projects[wetkit_metatag][subdir] = custom 38 | 39 | projects[wetkit_migrate][version] = 4.11 40 | projects[wetkit_migrate][subdir] = custom 41 | 42 | projects[wetkit_og][version] = 4.3 43 | projects[wetkit_og][subdir] = custom 44 | 45 | projects[wetkit_pages][version] = 4.3 46 | projects[wetkit_pages][subdir] = custom 47 | 48 | projects[wetkit_search][version] = 4.8 49 | projects[wetkit_search][subdir] = custom 50 | 51 | projects[wetkit_test][version] = 4.13 52 | projects[wetkit_test][subdir] = custom 53 | 54 | projects[wetkit_theme][version] = 4.5 55 | projects[wetkit_theme][subdir] = custom 56 | 57 | projects[wetkit_users][version] = 4.2 58 | projects[wetkit_users][subdir] = custom 59 | 60 | projects[wetkit_webform][version] = 4.21 61 | projects[wetkit_webform][subdir] = custom 62 | 63 | projects[wetkit_wetboew][version] = 4.20 64 | projects[wetkit_wetboew][subdir] = custom 65 | 66 | projects[wetkit_widgets][version] = 4.19 67 | projects[wetkit_widgets][subdir] = custom 68 | 69 | projects[wetkit_wysiwyg][version] = 4.15 70 | projects[wetkit_wysiwyg][subdir] = custom 71 | 72 | ; WxT Foundation (Themes) 73 | 74 | projects[wetkit_ember][version] = 4.6 75 | projects[wetkit_ember][type] = theme 76 | 77 | projects[wetkit_bootstrap][version] = 4.33 78 | projects[wetkit_bootstrap][type] = theme 79 | 80 | projects[wetkit_shiny][version] = 4.0 81 | projects[wetkit_shiny][type] = theme 82 | -------------------------------------------------------------------------------- /drupal-org-release.make: -------------------------------------------------------------------------------- 1 | api = 2 2 | core = 7.x 3 | 4 | ; WxT Foundation (Custom) 5 | 6 | projects[wetkit_admin][version] = 4.10 7 | projects[wetkit_admin][subdir] = custom 8 | 9 | projects[wetkit_bean][version] = 4.10 10 | projects[wetkit_bean][subdir] = custom 11 | 12 | projects[wetkit_breadcrumbs][version] = 4.7 13 | projects[wetkit_breadcrumbs][subdir] = custom 14 | 15 | projects[wetkit_core][version] = 4.57 16 | projects[wetkit_core][subdir] = custom 17 | 18 | projects[wetkit_demo][version] = 4.4 19 | projects[wetkit_demo][subdir] = custom 20 | 21 | projects[wetkit_deployment][version] = 4.24 22 | projects[wetkit_deployment][subdir] = custom 23 | 24 | projects[wetkit_images][version] = 4.6 25 | projects[wetkit_images][subdir] = custom 26 | 27 | projects[wetkit_language][version] = 4.22 28 | projects[wetkit_language][subdir] = custom 29 | 30 | projects[wetkit_layouts][version] = 4.9 31 | projects[wetkit_layouts][subdir] = custom 32 | 33 | projects[wetkit_menu][version] = 4.7 34 | projects[wetkit_menu][subdir] = custom 35 | 36 | projects[wetkit_metatag][version] = 4.18 37 | projects[wetkit_metatag][subdir] = custom 38 | 39 | projects[wetkit_migrate][version] = 4.11 40 | projects[wetkit_migrate][subdir] = custom 41 | 42 | projects[wetkit_og][version] = 4.3 43 | projects[wetkit_og][subdir] = custom 44 | 45 | projects[wetkit_pages][version] = 4.3 46 | projects[wetkit_pages][subdir] = custom 47 | 48 | projects[wetkit_search][version] = 4.8 49 | projects[wetkit_search][subdir] = custom 50 | 51 | projects[wetkit_test][version] = 4.13 52 | projects[wetkit_test][subdir] = custom 53 | 54 | projects[wetkit_theme][version] = 4.5 55 | projects[wetkit_theme][subdir] = custom 56 | 57 | projects[wetkit_users][version] = 4.2 58 | projects[wetkit_users][subdir] = custom 59 | 60 | projects[wetkit_webform][version] = 4.21 61 | projects[wetkit_webform][subdir] = custom 62 | 63 | projects[wetkit_wetboew][version] = 4.20 64 | projects[wetkit_wetboew][subdir] = custom 65 | 66 | projects[wetkit_widgets][version] = 4.19 67 | projects[wetkit_widgets][subdir] = custom 68 | 69 | projects[wetkit_wysiwyg][version] = 4.15 70 | projects[wetkit_wysiwyg][subdir] = custom 71 | 72 | ; WxT Foundation (Themes) 73 | 74 | projects[wetkit_ember][version] = 4.6 75 | projects[wetkit_ember][type] = theme 76 | 77 | projects[wetkit_bootstrap][version] = 4.33 78 | projects[wetkit_bootstrap][type] = theme 79 | 80 | projects[wetkit_shiny][version] = 4.0 81 | projects[wetkit_shiny][type] = theme 82 | -------------------------------------------------------------------------------- /release_notes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Script to generate release notes for the WxT installation profile 3 | # This command expects to be run within the WxT profile. 4 | # To use this command you must have Git Release Notes for Drush installed 5 | # @see https://drupal.org/project/grn 6 | 7 | if [ $# -ne 2 ]; then 8 | echo "Usage $0 previous_tag latest_tag" 9 | exit 1 10 | fi 11 | 12 | BASE_PATH=`pwd` 13 | 14 | # Create a directory to store all the release notes 15 | mkdir $BASE_PATH/release_notes/ 16 | 17 | echo "creating release notes for wxt" 18 | 19 | echo "
Instructions on how to upgrade:
" > $BASE_PATH/release_notes/wxt.html 20 | 21 | echo "' . st('This distribution installs Drupal with 110 | preconfigured features that will help you meet Enterprise Standards.') . '
'; 111 | $message .= '' . st('Please note that this is a community-supported work in progress, 112 | so be sure to join us over on ' . l(t('github.com/wet-boew/wet-boew-drupal'), 'http://github.com/wet-boew/wet-boew-drupal') . 113 | ' and help us improve this product.') . '
'; 114 | 115 | $form = array(); 116 | $form['welcome_message'] = array( 117 | '#markup' => $message, 118 | ); 119 | $form['actions'] = array( 120 | '#type' => 'actions', 121 | ); 122 | $form['actions']['submit'] = array( 123 | '#type' => 'submit', 124 | '#value' => st("Let's Get Started!"), 125 | '#weight' => 10, 126 | ); 127 | return $form; 128 | } 129 | 130 | /** 131 | * Task callback: Welcome screen submit. 132 | */ 133 | function wetkit_install_welcome_submit($form, &$form_state) { 134 | global $install_state; 135 | $install_state['parameters']['welcome'] = 'done'; 136 | } 137 | 138 | /** 139 | * Implements hook_form_FORM_ID_alter(). 140 | */ 141 | function wetkit_form_install_configure_form_alter(&$form, $form_state) { 142 | // Hide some messages from various modules that are just too chatty. 143 | drupal_get_messages('status'); 144 | drupal_get_messages('warning'); 145 | 146 | // Set reasonable defaults for site configuration form. 147 | $form['site_information']['site_name']['#default_value'] = 'Web Experience Toolkit'; 148 | $form['admin_account']['account']['name']['#default_value'] = 'admin'; 149 | $form['server_settings']['site_default_country']['#default_value'] = 'CA'; 150 | $form['server_settings']['date_default_timezone']['#default_value'] = 'America/New_York'; 151 | 152 | // Define a default email address if we can guess a valid one. 153 | if (valid_email_address('admin@' . $_SERVER['HTTP_HOST'])) { 154 | $form['site_information']['site_mail']['#default_value'] = 'admin@' . $_SERVER['HTTP_HOST']; 155 | $form['admin_account']['account']['mail']['#default_value'] = 'admin@' . $_SERVER['HTTP_HOST']; 156 | } 157 | 158 | $form['wetkit_settings'] = array( 159 | '#type' => 'fieldset', 160 | '#title' => st('WXT Settings'), 161 | ); 162 | 163 | $form['wetkit_settings']['demo_content'] = array( 164 | '#title' => st('Import Demo Content'), 165 | '#description' => st('Whether demo content should imported.'), 166 | '#type' => 'checkbox', 167 | '#default_value' => drupal_is_cli() ? FALSE : TRUE, 168 | ); 169 | array_push($form['#submit'], 'wetkit_import_demo_content_form_submit'); 170 | } 171 | 172 | /** 173 | * Batch Processing for French Language import. 174 | */ 175 | function wetkit_batch_processing(&$install_state) { 176 | // Import the additonal language po file and translate the interface. 177 | // Require once is only added here because too early in the bootstrap. 178 | require_once 'includes/locale.inc'; 179 | require_once 'includes/form.inc'; 180 | 181 | // Batch up the process + import existing po files. 182 | $batch = locale_batch_by_language('fr'); 183 | return $batch; 184 | 185 | } 186 | 187 | /** 188 | * Task callback: return a batch API array with the products to be imported. 189 | */ 190 | function wetkit_import_content() { 191 | 192 | // Run Mega Menu migration. 193 | $operations[] = array('_wetkit_import', array( 194 | 'WetKitMigrateMegaMenu', 195 | t('Importing content.'), 196 | )); 197 | 198 | // Page Manager Fix. 199 | $operations[] = array('_wetkit_panels_fix', array( 200 | t('Fix Page Manager dependency chain issue.'), 201 | )); 202 | 203 | // Permissions Fix. 204 | $operations[] = array('_wetkit_permissions_fix', array( 205 | t('Fix Permissions for Administrator Role.'), 206 | )); 207 | 208 | $batch = array( 209 | 'title' => t('Importing content'), 210 | 'operations' => $operations, 211 | 'file' => drupal_get_path('profile', 'wetkit') . '/wetkit.install_callbacks.inc', 212 | ); 213 | return $batch; 214 | } 215 | 216 | /** 217 | * Form submit callback: Demo content form submit callback. 218 | */ 219 | function wetkit_import_demo_content_form_submit($form, &$form_state) { 220 | global $install_state; 221 | $install_state['parameters']['demo_content'] = $form_state['values']['demo_content']; 222 | } 223 | 224 | /** 225 | * Task callback: return a batch API array with the products to be imported. 226 | */ 227 | function wetkit_import_demo_content() { 228 | // Fixes problems when the CSV files used for importing have been created 229 | // on a Mac, by forcing PHP to detect the appropriate line endings. 230 | ini_set("auto_detect_line_endings", TRUE); 231 | 232 | // Run Beans migration. 233 | $operations[] = array('_wetkit_import', array( 234 | 'WetKitMigrateTaxonomy', 235 | t('Importing taxonomy.'), 236 | )); 237 | 238 | // Run Beans migration. 239 | $operations[] = array('_wetkit_import', array( 240 | 'WetKitMigrateBean', 241 | t('Importing Bean content.'), 242 | )); 243 | 244 | // Run Beans migration. 245 | $operations[] = array('_wetkit_import', array( 246 | 'WetKitMigrateBeanSlideOut', 247 | t('Importing Bean Slideout.'), 248 | )); 249 | 250 | // Run Beans migration. 251 | $operations[] = array('_wetkit_import', array( 252 | 'WetKitMigrateBeanSlideShow', 253 | t('Importing Beans Slideshow.'), 254 | )); 255 | 256 | // Run Files migration. 257 | $operations[] = array('_wetkit_import', array( 258 | 'WetKitMigrateFileBeanSlideShow', 259 | t('Importing File Bean Slideshow.'), 260 | )); 261 | 262 | // Run Files migration. 263 | $operations[] = array('_wetkit_import', array( 264 | 'WetKitMigrateFldCollectionSlides', 265 | t('Importing Field Collection Slides.'), 266 | )); 267 | 268 | // Run Default Content Media migration. 269 | $operations[] = array('_wetkit_import', array( 270 | 'WetKitMigrateDefaultContentMedia', 271 | t('Importing Default Content Media.'), 272 | )); 273 | 274 | // Run Default Content migration. 275 | $operations[] = array('_wetkit_import', array( 276 | 'WetKitMigrateDefaultContent', 277 | t('Importing Default Content.'), 278 | )); 279 | 280 | // Run Site Menu migration. 281 | $operations[] = array('_wetkit_import', array( 282 | 'WetKitMigrateSiteMenu', 283 | t('Importing Site Menu.'), 284 | )); 285 | 286 | // Run Site Menu Links migration. 287 | $operations[] = array('_wetkit_import', array( 288 | 'WetKitMigrateSiteMenuLinks', 289 | t('Importing Site Menu Links.'), 290 | )); 291 | 292 | // Run Mega Menu Links migration. 293 | $operations[] = array('_wetkit_import', array( 294 | 'WetKitMigrateMegaMenuLinks', 295 | t('Importing Mega Menu Links.'), 296 | )); 297 | 298 | // Enable WetKit Demo. 299 | $operations[] = array('module_enable', array( 300 | array('wetkit_demo'), 301 | t('Enabling WetKit Demo module.'), 302 | )); 303 | 304 | $batch = array( 305 | 'title' => t('Importing demo content'), 306 | 'operations' => $operations, 307 | 'file' => drupal_get_path('profile', 'wetkit') . '/wetkit.install_callbacks.inc', 308 | ); 309 | 310 | return $batch; 311 | } 312 | 313 | /** 314 | * Implements hook_form_FORM_ID_alter(). 315 | */ 316 | function wetkit_form_apps_profile_apps_select_form_alter(&$form, $form_state) { 317 | // Hide some messages from various modules. 318 | drupal_get_messages('status'); 319 | drupal_get_messages('warning'); 320 | 321 | // For some things there are no need. 322 | $form['apps_message']['#access'] = FALSE; 323 | $form['apps_fieldset']['apps']['#title'] = NULL; 324 | 325 | // Improve style of apps selection form. 326 | if (isset($form['apps_fieldset'])) { 327 | $manifest = apps_manifest(apps_servers('wetkit')); 328 | foreach ($manifest['apps'] as $name => $app) { 329 | if ($name != '#theme') { 330 | $form['apps_fieldset']['apps']['#options'][$name] = '' . $app['name'] . ''; 334 | } 335 | } 336 | } 337 | // Remove the demo content selection option since this is handled through the 338 | // WetKit demo module. 339 | $form['default_content_fieldset']['#access'] = FALSE; 340 | } 341 | --------------------------------------------------------------------------------