Submit Search
Upload
死闘!Og mailinglist
•
1 like
•
1,221 views
Kuniyoshi Tone
Follow
DrupalのOrganic Groups + OG Mailinglistによるメール投稿&投稿通知が可能な会員制掲示板の構築
Read less
Read more
Internet
Report
Share
Report
Share
1 of 35
Download now
Download to read offline
Recommended
JS開発環境を晒す。
JS開発環境を晒す。
Eiji Kuroda
Tmux
Tmux
harutsugu shimoji
Tmux
Tmux
harutsugu shimoji
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
Koichi Uchimura
NanoStrand
NanoStrand
Masashi Umezawa
CakePHP3使ってみて
CakePHP3使ってみて
Tatsuya Inamura
Symfony2#5 LT
Symfony2#5 LT
Masato Koizumi
Tide - SmalltalkでSPA
Tide - SmalltalkでSPA
Masashi Umezawa
Recommended
JS開発環境を晒す。
JS開発環境を晒す。
Eiji Kuroda
Tmux
Tmux
harutsugu shimoji
Tmux
Tmux
harutsugu shimoji
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
Koichi Uchimura
NanoStrand
NanoStrand
Masashi Umezawa
CakePHP3使ってみて
CakePHP3使ってみて
Tatsuya Inamura
Symfony2#5 LT
Symfony2#5 LT
Masato Koizumi
Tide - SmalltalkでSPA
Tide - SmalltalkでSPA
Masashi Umezawa
Drupal補完計画
Drupal補完計画
Kuniyoshi Tone
Post by email for pulse cms
Post by email for pulse cms
Kuniyoshi Tone
Economic performance management approach, itc ltd sustainability report 2006
Economic performance management approach, itc ltd sustainability report 2006
varsha nihanth lade
第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会
masayoshi shiraishi
Meteor kitchen で楽々ウェブアプリ開発
Meteor kitchen で楽々ウェブアプリ開発
Junji Yamada
Drupal8を体験しよう Drupal8 & Docker
Drupal8を体験しよう Drupal8 & Docker
惠 紀野
オフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタ
Yosuke TOMITA
2016年を振り返る
2016年を振り返る
Kuniyoshi Tone
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
惠 紀野
Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020
CEW Georgetown
African Americans: College Majors and Earnings
African Americans: College Majors and Earnings
CEW Georgetown
The Online College Labor Market
The Online College Labor Market
CEW Georgetown
Game Based Learning for Language Learners
Game Based Learning for Language Learners
Shelly Sanchez Terrell
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
Shelly Sanchez Terrell
What's Trending in Talent and Learning for 2016?
What's Trending in Talent and Learning for 2016?
Skillsoft
SXSW 2016: The Need To Knows
SXSW 2016: The Need To Knows
Ogilvy Consulting
Digitized Student Development, Social Media, and Identity
Digitized Student Development, Social Media, and Identity
Paul Brown
GAME ON! Integrating Games and Simulations in the Classroom
GAME ON! Integrating Games and Simulations in the Classroom
Brian Housand
Connecting With the Disconnected
Connecting With the Disconnected
Chris Wejr
Responding to Academically Distressed Students
Responding to Academically Distressed Students
Mr. Ronald Quileste, PhD
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Shinya Okano
Opa - Cloud Language
Opa - Cloud Language
Tozo Tanaka
More Related Content
Viewers also liked
Drupal補完計画
Drupal補完計画
Kuniyoshi Tone
Post by email for pulse cms
Post by email for pulse cms
Kuniyoshi Tone
Economic performance management approach, itc ltd sustainability report 2006
Economic performance management approach, itc ltd sustainability report 2006
varsha nihanth lade
第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会
masayoshi shiraishi
Meteor kitchen で楽々ウェブアプリ開発
Meteor kitchen で楽々ウェブアプリ開発
Junji Yamada
Drupal8を体験しよう Drupal8 & Docker
Drupal8を体験しよう Drupal8 & Docker
惠 紀野
オフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタ
Yosuke TOMITA
2016年を振り返る
2016年を振り返る
Kuniyoshi Tone
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
惠 紀野
Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020
CEW Georgetown
African Americans: College Majors and Earnings
African Americans: College Majors and Earnings
CEW Georgetown
The Online College Labor Market
The Online College Labor Market
CEW Georgetown
Game Based Learning for Language Learners
Game Based Learning for Language Learners
Shelly Sanchez Terrell
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
Shelly Sanchez Terrell
What's Trending in Talent and Learning for 2016?
What's Trending in Talent and Learning for 2016?
Skillsoft
SXSW 2016: The Need To Knows
SXSW 2016: The Need To Knows
Ogilvy Consulting
Digitized Student Development, Social Media, and Identity
Digitized Student Development, Social Media, and Identity
Paul Brown
GAME ON! Integrating Games and Simulations in the Classroom
GAME ON! Integrating Games and Simulations in the Classroom
Brian Housand
Connecting With the Disconnected
Connecting With the Disconnected
Chris Wejr
Responding to Academically Distressed Students
Responding to Academically Distressed Students
Mr. Ronald Quileste, PhD
Viewers also liked
(20)
Drupal補完計画
Drupal補完計画
Post by email for pulse cms
Post by email for pulse cms
Economic performance management approach, itc ltd sustainability report 2006
Economic performance management approach, itc ltd sustainability report 2006
第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会
Meteor kitchen で楽々ウェブアプリ開発
Meteor kitchen で楽々ウェブアプリ開発
Drupal8を体験しよう Drupal8 & Docker
Drupal8を体験しよう Drupal8 & Docker
オフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタ
2016年を振り返る
2016年を振り返る
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020
African Americans: College Majors and Earnings
African Americans: College Majors and Earnings
The Online College Labor Market
The Online College Labor Market
Game Based Learning for Language Learners
Game Based Learning for Language Learners
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
What's Trending in Talent and Learning for 2016?
What's Trending in Talent and Learning for 2016?
SXSW 2016: The Need To Knows
SXSW 2016: The Need To Knows
Digitized Student Development, Social Media, and Identity
Digitized Student Development, Social Media, and Identity
GAME ON! Integrating Games and Simulations in the Classroom
GAME ON! Integrating Games and Simulations in the Classroom
Connecting With the Disconnected
Connecting With the Disconnected
Responding to Academically Distressed Students
Responding to Academically Distressed Students
Similar to 死闘!Og mailinglist
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Shinya Okano
Opa - Cloud Language
Opa - Cloud Language
Tozo Tanaka
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
近藤 繁延
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
Kazuto Kusama
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
kimukou_26 Kimukou
Talking with drupal - psyshでの対話型デバッグ
Talking with drupal - psyshでの対話型デバッグ
Tomotsugu Kaneko
Windows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみた
y-uti
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
yut148atgmaildotcom
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
Takuto Matsuu
日本語ではじめるDrupal Console in Sapporo
日本語ではじめるDrupal Console in Sapporo
Yoshikazu Aoyama
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイント
Masaki NIWA
Osc10do linux nextstep
Osc10do linux nextstep
smokey monkey
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Hide Koba
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworks
Atsushi Tadokoro
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Developers Summit
CentOS7にD8を入れてみた
CentOS7にD8を入れてみた
masayoshi shiraishi
ログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについて
cyberagent
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
Hideharu MATSUFUJI
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
Shinji Enoki
Similar to 死闘!Og mailinglist
(20)
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Opa - Cloud Language
Opa - Cloud Language
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
Talking with drupal - psyshでの対話型デバッグ
Talking with drupal - psyshでの対話型デバッグ
Windows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみた
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
日本語ではじめるDrupal Console in Sapporo
日本語ではじめるDrupal Console in Sapporo
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイント
Osc10do linux nextstep
Osc10do linux nextstep
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworks
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
CentOS7にD8を入れてみた
CentOS7にD8を入れてみた
ログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについて
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
死闘!Og mailinglist
1.
死闘! OG Mailinglist 2015-02-20 at
Drupal Cafe Osaka 28 刀祢邦芳(Tone, Kuniyoshi)
2.
自己紹介(1) ● 元TMUG 名誉会長 ●
IT業界40年 ○ メインフレーム ○ Windows ○ UNIX ● 苦節10年 with Web+OSS ● Drupalとの再会 in 2014/10 2
3.
自己紹介(2) ● 仕事では ○ Actuate
(BIRT) ○ Tableau ○ Pentaho (Spoon) ○ Zabbix ○ PHPRunner ○ その他 ■ Wakanda, Ansible, Docker, Redmine, Magento など少々 ● 使ってきた言語(順不同) ○ Powershell(最近) ○ JavaScript, Google Apps Script ○ COBOL, FORTRAN, PL/1 ○ マクロ・アセンブラ(6502, System/370) ○ C,VB,PHPはあんまり使ってません 3
4.
● 以前から高校の同期生のMLを管理 ● MLには問題点が種々あったので「脱ML宣言」後 2011年7月にWordPress掲示板に移行 ●
しかし多くはROMなので投稿、コメントをIIJのML サービスで配信(ホスティングサービスからのメー ル送信は200通/時間の制限あり) ==>掲示板とMLの二重メンテが発生 ● メールでの投稿を求める声が大きくDrupalにて実 現することを決意 課題と経緯 4
5.
MLの欠点 ● 文字化け・配信漏れ多発 ● 添付ファイルの制限が厳しい ●
見栄えがメーラー依存(Webのブラウザ依存以上) ● スレッドが見えにくい ○ MLアーカイブをWebで見ても同様 ○ 途中参加の人は議論に追いつくのが面倒 ● 引用のゴミが邪魔 ● これらの欠点が途中にDrupalを介在させることで ある程度は改善されるであろう 5
6.
D7でやりたいこと 1. ArticleにWebまたはメールで投稿 2. 投稿をメンバーにメール配信 3.
そのメールへの返信メールを該当のArticleのコ メントとして取り込む 4. Webまたはメールでのコメントもメンバーにメー ル配信 6
7.
実現案(A) ● Messaging ● Notifications ●
Mail Comment ● Feeds の組み合わせにトライ (参考:http://www.streamconsulting.nl/index.php?q=node/43) しかしながら ● メールの件名が尻切れトンボ ● メール返信時の引用を除外する設定がうまく動作しない ● cronでのfeedがうまく行ったりいかなかったり? ● モジュール本体とドキュメントが若干古い? 7
8.
実現案(B) ● Organic groups ●
OG Mailinglist(project:og_mailinglist) の組み合わせにトライ(類似品og_mailing_listにご 注意!) (参考:https://www.drupal.org/node/938718) 8
9.
What is OG ●
実例 ○ http://drupal-seminar.jp/node/160 ● 機能 ○ 1つのサイトに複数のGroupを定義し、そこに特 定のコンテンツタイプを関連付ける ○ Userは特定のGroupに特定のRoleで加入 (Subscribe)しコンテンツを作成・閲覧できる 9
10.
OGの構造 10 ● グループの雛形となるコンテンツタイプ(複数可能)を作成 <例>運動部掲示板コンテンツタイプ、文化部掲示板コンテンツタイプ ● グループ用コンテンツタイプにグループコンテンツ(複数可能)と そのメンバーを登録 <例>野球部グループ掲示板コンテンツを登録し、そこに野球部員を登録 ●
記事用コンテンツタイプをいずれかのグループコンテンツタイプ に関連付ける <例>運動部掲示板用Article、文化部掲示板用News ● 記事用コンテンツ投稿時に投稿者の属するグループに関連付 けて投稿 <例>野球部員が野球部掲示板にArticleを投稿する
11.
グループ用コンテンツタイプ 11
12.
グループ用コンテンツ 12 これをML用のメールアドレスにする @mg.sample.com
13.
記事用コンテンツタイプ 13
14.
記事用コンテンツタイプ追加フィールド 14 entityreference_prepopulateモジュールが 追加した機能(コンテンツ追加用のURLに指 定した値でGroupを指定するため)
15.
記事用コンテンツの投稿 15
16.
● メールでスレッドを紐付ける ○ Message-IDにノードIDを持たせる 例:Message-Id:
<node-35-comment-0@mg.sample.com> ● 引用のゴミの削除 ○ 行頭に>がある行は削除 ● メール送受信は推奨設定のMailgunを用いる ○ 通常のメールサーバ(QmailやPostFix )も利用可能のよう だが設定が面倒くさそう ○ GmailやWebホスティングだとSPAM防止のため単位時間 あたりのメール送信数が制限されることがあるが、 Mailgunは制限がない OG Mailinglistの仕組み 16
17.
Mailgunとは ● http://www.mailgun.com/ ○ 参考 http://blog.katty.in/5558 ●
商用メールサーバ ○ 10000 mails/month まで無料 ○ Next 500,000 mails は$0.0005/mail ● メリット ○ RESTful APIで送受信するのでSMTP/IMAPのcron不要 ○ SPAMとみなされにくい ■ uses SPF and DKIM for proper authentication ○ 送信エラーアドレスをMailgunで管理 ● デメリット ○ localhostでテストできない 17
18.
Mailgun設定(Account and Domain) 18
19.
Mailgun設定(DNS) 19
20.
Mailgun設定(Routes) 20 forward('http://sample.com/drupal/og_mailinglist/mailgun_callback_mime') catch_all() modules/og_mailinglist_mailgun/readme.txt参照 But generally, you
will want to setup a catchall router which forwards all emails sent to your domain to your Drupal site. To do so, click "Create route", then set the "Filter Expression" to "catch_all()". Then set "Actions" to "forward('http://BASE_URL_OF_YOUR_DRUPAL_SITE/og_mailinglist/mailgun_callback_mime')" ここの設定でML投稿メールを受信する
21.
インストールした主要モジュール ● drush en
xxxx --resolve-dependenciesで依存関係含めてインストール ○ module_filter ○ admin_menu ○ admin_views ○ og ○ og_mailinglist 7.x-1.1-alpha2+10-dev (推奨版だとPHPエラー) ○ l10n_update ○ backup_migrate ○ views_bulk_operation ○ advanced_help ○ panels ○ entityreference_prepopulate ○ realname ○ save_draft ○ node_edit_protection 21 PHP関係では以下が必要 ● PHPMailer ● apt-get install php-mail- mimedecode OR ● yum -y install php-pear-Mail- mimeDecode <==大変便利です ○ profile2 ○ feeds ○ feeds_profile2
22.
Organic groupsモジュールの環境設定 ● admin/config/group画面 ○
OG mailinglist以外はデフォルト設定で OK? ● アカウント ○ GroupMembershipフィールドの設定 ● 右のモジュールのみONにしている 22
23.
GroupMembershipフィールド 23 チェックボックスの方がデフォルト設定しやすい
24.
OG Mailinglistのセットアップ(1) 24 ● 本文の最大サイズ(デフォルト:
100K) ● 1時間あたりの最大投稿数 (デフォルト 20件) ● スレッド化にIn-Reply-Toヘッダを用いる ● 投稿者自身にもメールを送信 などを設定する
25.
OG Mailinglistのセットアップ(2) 25 ● デフォルトのコンテントタイプとテキスト 形式 ●
添付ファイルのフィールド名 ● Mailgunの情報 ● メールサーバのドメイン名 などを設定する
26.
Email投稿に関するテキストフォーマットフィルター設定 26 返信メールの引用部分の 先頭に > がある場合はその行を削 除して投稿する
27.
デフォルトのOG関係のViews 27
28.
Group専用Panel 28 記事投稿用リン クの環境設定
29.
実際のパネル 29
30.
最後の仕上げ 30 ● Real Nameモジュール ○
ユーザのidではなく「氏名」を表示するため ○ 多分同窓会掲示板特有の要件であろう ● Theme ○ MAYOが色々カスタマイズできて便利 ● 日付表示カスタマイズ ○ 「Y/n/j(D) - H:i」書式を全面的に使用 ● Save Draftモジュール ○ WordPressでは標準の下書保存機能 ● Node Edit Protection ○ 投稿の保存ミスを防ぐ
31.
注意事項・課題 ● MAYOのテーマを使うとコメントの日付が正しく表示されずに @datetimeのまま ● メール投稿された記事をWebのHTMLエディタで編集しようとす ると改行コードがなくなってしまう ○
CKEditorとテキストフォーマットフィルタリングの関連? ○ HTML記事を書きたい人は最初からWebで ● 画像・添付ファイル付きのメール投稿はメーラーに依存してでき たりできなかったり。Gmailとの相性は良いが。 =>いっそのこと添付付きはエラーとする? 31
32.
最終目標へ向けて ● ユーザーのフィールドに現在スプレッドシートで管理 しているもろもろの項目を追加する ○ これでユーザー自身がメールアドレスに加えて自分の住所や 電話番号の変更ができる ○
一覧表のビューを作成し常に最新の名簿を提供する ○ 一応名簿ビューはできたが他のユーザの項目参照がができた りできなかったり??? ● 現在のWordPress掲示板のコンテンツを移行する ○ https://www.drupal.org/project/wordpress_migrate で可能な限り以降 ○ 最悪はコピペでも良いが・・・・ 32
33.
My Troubles (勉強になりました) 33 ●
Mailgunでのメール受信 ○ modules/og_mailinglist_mailgun/readme.txtを見つけ るのに手間取った ● CKEditor ○ Librariesを使うとPHPMailerでエラーになった ● Panelの作成は慎重に! ○ ViewとView Panesを間違った ● 短縮URLを知らなかった ○ Mailgunと繋がらなかった
34.
参考資料・教材(未完も含む) ● Udemy(https://www.udemy.com/courses/) ○ DRUPAL
7 – Beginners to Advanced https://www.udemy.com/drupal-7/ ● Packt Publishing(https://www.packtpub.com/) ○ Drupal 7 Module Development [Video] ● OSTraining(https://www.ostraining.com/) ○ Drupal Videos https://www.ostraining.com/courses/categories/drupal/ この中”Organic Groups Version 2”が参考になった 34
35.
END 35
Download now