Open Social
概要
概要: https://www.drupal.org/project/social
ドキュメント: メインは https://www.drupal.org/docs/drupal-distributions/open-social
コミュニティーサイト: https://communitytalks.getopensocial.com
インストール: 手順は https://www.drupal.org/docs/drupal-distributions/open-social/installing-...
composer create-project goalgorilla/social_template:dev-master DIRECTORY(変更) --no-interaction
インストール中に、file_private_path を settings.php に設定しないとインストール完了しません。
https://www.drupal.org/project/drupal/issues/3231344
Moving a module causes file location in database to be incorrect
sudo drush sql-query "DELETE FROM key_value WHERE collection='system.schema' AND name='transaction';^C
How to fix "The following module is missing from the file system..." warning messages
https://www.drupal.org/node/2487215
Error: User warning: The following module is missing from the file system: outside_in in drupal_get_filename() (line 250 of core/includes/bootstrap.inc).
https://www.drupal.org/project/drupal/issues/2914375
アップデート
マイナーアップデートやパッチ版への更新作業。
詳しくは:https://www.drupal.org/docs/drupal-distributions/open-social/updating
sudo composer update --with-all-dependencies goalgorilla/open_social
sudo ./vendor/bin/drush updatedb
sudo ./vendor/bin/drush cr
アップグレード
Open Social のメジャーバージョンへのアップデート作業。
現在のバージョンを上記の手順で最新版にアップデートします。
例えば、Open Social 12 へアップグレードする場合は、composer.json ファイルで "goalgorilla/open_social": "^12" へ修正します。
アップグレード版へ更新作業 sudo composer update --with-all-dependencies goalgorilla/open_social
sudo ./vendor/bin/drush updatedb
sudo ./vendor/bin/drush cr
◆ Open Social 11.4.11 から Open Social 12.4.2 へアップグレード作業(2024年7月4日)
Open Socialを最新版にします。
- composer update --with-all-dependencies goalgorilla/open_social
- drush updatedb
追加したDrupalモジュールなどを最新版にアップデート
- composer update < and > drush updatedb
互換性確認モジュール upgrade_status モジュールをインストール(事前に drushモジュールをアンインストールを推奨)
- composer remove drush/drush
- composer show drupal/core | grep versions ----> 結果は versions : * 9.3.22
- composer require --dev drupal/core-dev:9.3.22 --update-with-all-dependencies
- composer require drupal/upgrade_status
- composer require drush/drush
- druhs pm:enable upgrade_status
拡張モジュールやコア、テーマなどDrupal10対応か確認します。
- Drupal10対応にするために、コア9.3.22を9.4以上(最新は9.5.11)へアップグレードします。
- さらに、Drupal10に対応できるように、モジュールのDrupal10対応を確認します。
- Drupal10未対応のモジュール( ajax_comments ctools jquery_ui_accordion lazy metatag pathauto social_tour) をそれぞれDrupal10対応バージョンに更新します。もし、Drupal10対応がない場合はモジュールを削除します。
Open Socialを11から12.4.2へアップグレード(composer.jsonで12へ修正)
メール通知
Open Socialのメール通知機能は、通知メールは、通知が送信された時点でサイトでアクティブでない場合にユーザーに送信されます。それとは別に通知ベルがサイト内で表示されます。
管理 -> 環境設定-> Open Social の設定 admin/config/opensocial/mail
デフォルトのデフォルトのメール通知設定
メール通知のテンプレートでヘッダーとフッターを修正できます。
「Remove Open Social Branding」を有効にすると、オープン ソーシャル ブランディングは、サイト名 (および可能な場合はスローガン) に置き換えられます。
「Don't send email notifications to users who have never logged in」を有効にすると、ログインしたことがないユーザーは電子メール通知を受信しなくなりますが、コミュニティ内の通知センター経由で通知を受け取ります。
フッターブロック設定
管理 -> 環境設定 -> Open Social の設定 -> Footer block settings
ロゴ、メッセージ「#MadeToShare by Open Social 」を修正、URLリンクの修正
メッセージ
管理 -> 環境設定 -> メッセージ
Purge settings :「Purge message」を有効にすると、メッセージの削除方法が設定できます。メッセージの数、削除する日数など。
Auto delete messages referencing the following entities : これらのタイプのエンティティを参照するメッセージは、参照されたエンティティが削除されると削除されます。デフォルトは、「コメント」「コンテンツ」「タクソノミーターム」「ユーザー」が設定済み
< カスタマイズ例 >
コミュニティ内で誰かが投稿した場合は、デフォルトでは、同じコミュニティに所属している人で、サイトにログインしていない人にはメール通知が送信されます。ログインしている人は通知がこない場合があるので、強制的に、同じコミュニティに所属している人には、全員にメール通知と通知表示させるには、 管理 -> サイト構築 -> メッセージテンプレート -> 「コミュニティに投稿を作成する」 の設定ページで、「The activity destinations for this message」欄に、「通知」と「メール」を追加設定します。※でもこの設定は正確に動作していないようです。現在調査中(2024年5月28日)
上記の動作不安定により、メール通知が届いているかは定かでないので、グループ責任者はグループ内メンバーにメール配信を手動で行う方法がありますが。グループの「メンバー管理」の「アクション」から「グループメンバーにメールを送信する」を使います。
メッセージテンプレート
管理 -> サイト構築 ->メッセージテンプレート
「create_post_community コミュニティに投稿を作成する」の場合、デフォルトでは、「The activity destinations for this message」では、タイムライン(ホーム)、タイムライン(詳細)、タイムライン(プロフィール)が選択されています。「アクティビティ項目をキュー内ではなく直接作成する」も有効になっています。この状態では、投稿した際に、コミュニティメンバーへは投稿通知が送信されません。「通知」と「メール」を選択することで投稿通知が送信されます。
メッセージの配信ルール
Open Social 12.4.2 の場合(デフォルト設定)
自分が投稿・作成した内容に関する自分への通知メールは配信しません。
「トピックス」や「イベント」を作成した場合、メッセージは配信しない、ただし、作成時に「アクセス制限」のグループを指定することで「トピックス」や「イベント」を最初に作成した時だけ、作成者以外のそのグループのメンバーに配信します。新規作成したその「トピックス」や「イベント」に作成者がコメントなどを投稿してもグループメンバーには配信しません。
グループ指定の「トピックス」にコメント投稿した場合は、元のトピックスを作成した人へ通知メールが配信。
デフォルトでは、ログインして「通知センター」で他の人の作成したトピックスや投稿を確認します。
所属しているグループのタイムライン(ストリーム)「グループに何か言ってください」に投稿した場合は、グループのメンバーへメール配信します。ただし、所属しているグループ以外のタイムラインに投稿して場合は、メール配信はありません。
所属しているグループのメンバーが作成したトピックスにグループ内の別の人がコメントした場合は、トピックスを作成した人に、「誰かがあなたのコンテンツに投稿しました」というメールが配信されます。
サイトのホームのタイムラインでトップにある「コミュニティに発言しよう」に投稿した場合、誰にもメール通知が配信されません。もし、投稿した発言に誰かがコメントした場合、最初に投稿作成した人へ「誰かがあなたのコンテンツへコメントしました」というメッセージが配信されます。
グループ設定ごとの投稿ルール
「非公開グループ」
概要: ユーザーは招待によってのみ参加でき、グループ内のコンテンツはメンバー以外には表示されません。
「公開グループ」
概要: ユーザーは承認なしで参加でき、このグループに追加されたすべてのコンテンツはすべてのコミュニティ メンバーと匿名ユーザーに表示されます。
所属するグループのタイムラインでの投稿は「パブリック」のみ表示されます。サイトのトップページのタイムラインには未表示です。グループは「公開グループ」なので、誰でもそのグループを探してそのグループのタイムラインでその投稿を見ることができます。
「オープングループ」
概要: ユーザーは承認なしで参加でき、このグループに追加されたすべてのコンテンツはコミュニティ メンバー全員に表示されます。
所属するグループのタイムラインでの投稿は「コミュニティ」のみ表示されます。ログイン中は、サイトのトップページのタイムラインに表示されます。ログアウトした公開モードでは、サイトのトップページのタイムラインには非表示です。グループは「オープングループ」なので、ログアウトした公開モードでは、そのグループを探してグループ名は見つかりません。投稿も見れません。
「秘密グループ」
概要: ユーザーは招待によってのみ参加でき、グループ自体とそのコンテンツはメンバー以外には表示されません。
「柔軟なグループ」
概要: このオプションを選択すると、必要に応じて多くのグループ設定をカスタマイズできます。
設定:
Personalisation(有効にすると、メンバーはグループに投稿を公開できるようになります。無効にすると、グループ管理者のみが投稿を公開できます。)
アクセス制限 グループが見れる権限(公開・コミュニティ・グループメンバー限定)
共有オプション メンバーが他のユーザーとグループを共有できるようにする
FAQ
Q: モジュールを追加するとフロントエンド(公開画面)がエラーで白くなり、表示できません。
A: OpenSocialV11.0.1の場合は、Message example および Message Notify example をインストールするとこの現象が起こります。Messageは注意が必要です。
Q: 初めてアカウントを登録したりする最初のログインメッセージを日本語化したい
A: サイト構築 -> ブロックレイアウト -> カスタムブロックライブラリ -> ブロック AN homepage hero block を編集します。
Q: Open Social 12.4.2へアップグレードしたら、同じグループメンバーへメール通知が配信されない
A: 原因は不明ですが、Symfony mailerがExperimental状態なので誤動作している、アップグレード時に不具合など、原因はわかりません。対策として、Symfony mailerから別のメール配信モジュール、例えば、SMTPモジュールに変更する。それでも、配信内容によりますが、投稿やコメントの場合は、例えば、comment_notifyモジュールなどを追加して配信する方法もありますが、どのように配信されるか確認が必要です。Opesn Social 12.4.2 を初期インストールした場合は、Symfony mailerからSMTPモジュールに変更するだけで、投稿時などで標準の配信ができます。
Q: Open Social 12.4.2 のデフォルト設定でメール通知の設定について
A: デフォルト設定では、グループ内で投稿した場合、投稿者以外のグループメンバーに投稿内容がメール配信されます。Open Socialのデフォルト設定では、投稿やトピックスなどのコンテンツを作成した本人はメールが配信されません。