Giter Site home page Giter Site logo

bkenro / sqbase Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 3.97 MB

シンプルな構成とサンプルコンテンツを組み込んだ Drupal のインストールプロファイルです。

License: GNU General Public License v2.0

CSS 18.23% JavaScript 39.93% Twig 19.85% PHP 21.99%

sqbase's Introduction

SQbase

SQbase(エス・キュー・ベース、愛称「すくべー」)は、シンプルなサイト構成とサンプル コンテンツを組み込んだ Drupal のインストール プロファイルです。Drupal Meetup 豊田の書籍執筆活動で得られた知見に基づいて作成したものです。

使い方

仮想マシンの場合

まず、Drupal 9 が動作する LAMP スタックと Composer がインストールされた環境を用意します。 Vagrant と VirtualBox をお使いの場合は、ffdsm が利用できます。 以下、ffdsm を例にインストール例を示します。

SQbase のプロジェクトを取得します。

$ cd /var/www
$ git clone https://github.com/bkenro/sqbase.git sqbase

取得したプロジェクトのディレクトリに移動して、依存パッケージをインストールします。

$ cd /var/www/sqbase
$ composer install

サイトのインストール時に参照されるサイトエイリアスのファイルをエディタで開きます。

$ vi drush/sites/self.site.yml

プロジェクトのルートディレクトリ、サイトの URL、およびデータベース作成(sql:create)とサイトインストール(site:install)の Drush コマンドオプションが設定されています。 使用する環境に合わせて必要な変更を加えます。

drush/sites/self.site.yml

local:
  root: /var/www/sqbase
  uri: http://sqbase.internal
  command:
    sql:
      create:
        options:
          db-su: 'dba'
          db-su-pw: 'dba'
          db-url: 'mysql://sqbase:sqbase@localhost/sqbase'
    site:
      install:
        options:
          db-url: 'mysql://sqbase:sqbase@localhost/sqbase'
          locale: ja
          account-name: 'admin'
          account-pass: 'adminpass'
          account-mail: '[email protected]'
          site-name: 'SQbase'
          sites-subdir: 'default'

db-sudb-su-pw はそれぞれ、データベースの管理ユーザーのユーザー名とパスワードです。 db-url は作成するデータベースの接続情報を指定する URL です。 初期状態で文字列中に sqbase が 3 回出現しますが、最初がユーザー名、2 番目がパスワード、最後がデータベース名です。必要に応じて変更してください。

account-nameaccount-pass[email protected] はそれぞれ、インストールする Drupal サイトの管理ユーザー(uid = 1)のユーザー名、パスワード、メールアドレスです。

site-name に指定した文字列は、インストールするサイトのサイト名になります。

必要な変更を加えたら保存して閉じます。

次に、サイトで使用するデータベースを作成します。

$ drush @local sql:create -y

正常にデータベースが作成できたら、最後にサイトをインストールします。 drush site:install コマンドにインストールプロファイル名(sqbase)を指定してください。

$ drush @local site:install sqbase -y

途中、ブロックが見つからない旨の警告が表示されますが、その後のステップでインポートされるので問題ありません。

 You are about to:
 * DROP all tables in your 'sqbase' database.

 // Do you want to continue?: yes.

 [notice] Starting Drupal installation. This takes a while.
 [notice] Performed install task: install_select_language
 [notice] Performed install task: install_download_translation
 [notice] Performed install task: install_select_profile
 [notice] Performed install task: install_load_profile
 [notice] Performed install task: install_verify_requirements
 [notice] Performed install task: install_verify_database_ready
 [notice] Performed install task: install_base_system
 [notice] Performed install task: install_bootstrap_full
 [notice] Performed install task: install_profile_modules
 [notice] Performed install task: install_profile_themes
 [warning] The "block_content:babe213b-d722-4619-b414-dbe771a653eb" was not found
 [warning] The "block_content:a2e01f8f-52cc-4841-b70e-f689fd602712" was not found
 [warning] The "block_content:64e96fee-0b0d-4a42-b19c-33cbc01bae8b" was not found
 [warning] The "block_content:fc628ea8-385d-47db-929c-9f254fe05ee1" was not found
 [warning] The "block_content:ce5d94d6-6d91-42f0-ac9d-4324c437c7ed" was not found
 [warning] The "block_content:96993c0a-ed1a-4c9e-ae2a-c066fdf1f226" was not found
 [warning] The "block_content:b9cc58c2-8d88-478f-bfd3-b87de8602c3c" was not found
 [warning] The "block_content:2bfd7917-dc97-4339-a797-76d5ae882068" was not found
 [notice] Performed install task: install_install_profile
 [notice] Translations imported: 8513 added, 0 updated, 0 removed.
 [notice] Performed install task: install_import_translations
 [notice] Performed install task: install_configure_form
 [notice] Translations imported: 429 added, 677 updated, 0 removed.
 [warning] No configuration objects have been updated.
 [notice] Performed install task: install_finish_translations
 [notice] Performed install task: install_finished
 [success] Installation complete.

以上で完了です。

Web サーバーの設定でプロジェクトの web サブディレクトリを Web ルートに構成し、対応する URL にブラウザでアクセスすると、初期構成のサイトにアクセスできます。

実際にインストールしたサイトの例はこちら:

Drupal のサイト構築トレーニングやサンプルサイトの初期構成など、どうぞご自由にお使いください。

GitHub Codespaces の場合

このリポジトリには、DDEV で Drupal 10 プロジェクトを実行するための Dev Container の設定が含まれています。GitHub アカウントをお持ちであれば、GitHub Codespaces で SQbase のサイトを立ち上げることができます。

  1. GitHub の検索窓で sqbase と入力して検索し、SQbase のリポジトリを表示する。
  2. 「<> Code」をクリックし、「Codespaces」タブの「Create codespace on main」をクリックする。"Setting up your codespaces" というメッセージが表示され、Dev Container 環境のビルドが開始される。しばらく待つと、ターミナルで環境構築の前処理として DDEV の設定処理が実行される。
  3. ターミナルでプロンプトが表示されたら、ddev composer install と入力して実行する。コンテナが起動し、ポートのフォワード設定が行われる。
  4. 終了後「ポート」タブで、「web https」行の「ローカルアドレス」列で「ブラウザーで開く」(地球アイコン)をクリックすると、コンテナ上のウェブサーバーに接続され、Drupal のインストール画面が表示される。あとは通常どおり Drupal サイトをインストールできる。

なお、SQbase には、Drush によるインストールを簡潔に実行するためのサイトエイリアスのテンプレートが含まれているので、このファイルを Codespaces の Dev Container 環境に合わせて調整して CLI から Drupal サイトをインストールすることもできます。

  1. 「ポート」タブで「web https」の「ローカルアドレス」列にある「ローカルアドレスのコピー」(上方向矢印アイコン)をクリックして、ポートフォワードされたサイトの URL をクリップボードにコピーする。
  2. Codespaces のエクスプローラーで、drush/sites/self.site/yml ファイルを開き、root サブキーを /var/www/html に、uri サブキーを 1. でコピーしたサイトの URL に、それぞれ変更する。
  3. さらに、db-url サブキー(2か所)の値を mysql://db:db@db/db に変更する。
  4. ターミナルで ddev drush @local site:install sqbase -y と入力して実行する。SQbase サイトのインストールが開始される。
  5. 終了するとプロンプトが復帰する。1. でコピーした URL をブラウザで開くと SQbase のサイトが表示される。

GitHub のアカウントとインターネット接続環境があれば Drupal サイト構築の実習作業を開始できます。

なお、実習が終わったら Your codespaces ページで「Owned by 〜」の一覧にある Codespace を停止(Stop Codespace)するか、もう使わない場合は削除(Delete)しておきましょう。Codespaces を無償で使える時間には限りがあるので、注意してください。

sqbase's People

Contributors

bkenro avatar

Watchers

 avatar

sqbase's Issues

Drupal core 9.5.x への対応

2022-11-16 に Drupal core 9.5.0 の rc1 がリリースされている。
https://www.drupal.org/project/drupal/releases/9.5.0-rc1

9.5.x の stable 版にアップデートした時の構成設定について検討する。
具体的には、次の課題への対応方法を明確化する。

  • Deprecated になったモジュールの扱い
  • CKEditor のバージョンと関連モジュールの扱い
  • Deprecated になったテーマの扱い

main と develop の各ブランチを 9.5 系に上げる

9.5 の stable がリリースされた。
https://www.drupal.org/project/drupal/releases/9.5.0

9.5-dev ブランチで確認して特に問題ないので、develop ブランチにマージして、以後 9.5.x を最新として追跡する。

なお、当初は 9.4 系を EOL まで維持する想定だったが、インストールプロファイルで非最新のマイナーリリースを維持する必要性は低いと判断し、9.4.x の追跡は終了する。

サイドバーの「特徴」サブメニューのスタイルがブロックのマシン名に依存している

サイドバーのサブメニューの項目について、上下に並び、現在ページに目印が付くようにスタイルを調整している。

#block-features-menu .ul-parent > li {
display: list-item;
float: none;
padding-left: 0.8em;
}
#block-features-menu .ul-parent > li.active {
font-weight: bold;
list-style-type: none;
background-image: url(../chevron-right.svg);
background-repeat: no-repeat;
background-position-y: center;
}

block-features-menu という id 属性はブロックのマシン名に基づいている。このため、マシン名が異なる別のサブメニューブロックを追加した場合、このスタイルは適用されない。スタイルの適用先に汎用性を持たせるには、任意に指定可能な設定値に基づくセレクタに変更する必要がある。

具体的には、id 属性ベースのセレクタから、任意指定のクラス属性に基づくセレクタに変更し、任意のブロックのサブメニューに同じスタイルを適用できるようにする。

Drupal core 10.1 への対応

2022-12-6 に Drupal core 10.0.0 の rc2 がリリースされている。
https://www.drupal.org/project/drupal/releases/10.0.0-rc2

近くリリースされるであろう 10.0.0 の stable 版にコアをアップグレードした時の構成設定について検討する。

Drupal 10.0.0-rc3 への移行時にいったん削除したモジュール:

Drupal 10 対応しているが動作不安定:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.