一般社団法人 情報処理学会(IPSJ)は、正会員数15,000人を超える国内最大の情報分野における学会で、情報処理に関する学術、技術の進歩発展と普及活動を目的とし活動しています。1960年の設立以降、機関誌や出版物、社会提言を通じて情報を発信するとともに、研究成果発表や会員同士の意見交流の場を提供するなど、幅広い活動を行っています。
情報処理学会の会員は、各大学などで個別に勉強会を行っています。その記録や資料を共有し、会員同士の情報交換や学びの機会を促進する事を目的として「IPSJ勉強会フォーラム」という会員制サイトを運営しています。
なぜDrupalが選ばれたのか?
技術の進歩が速いITの分野では、知識の習得や情報交換を目的とした「勉強会」が多数存在します。学術論文を読みディスカッションをする場や、国際会議の報告会など有益なイベントが全国各地で行われているにも関わらず、それらの情報が点在しているためにイベントが下火になってしまったり、時と共に情報が埋もれてしまうなど、情報共有が十分にできていないのが現状でした。
そのため、各地で情報処理学会員により実施されている勉強会の実施記録や資料などの情報を集約し、会員同士がそれぞれのグループやテーマ毎に情報共有ができる会員サイトが必要でした。
会員制サイトを作成可能なプラットフォームは様々ありますが、各勉強会グループ単位で管理者や編集者、閲覧者などの役割を設定でき、縦割りの権限設定を柔軟に行えるプラットフォームが求められました。
Drupalが標準で持つ権限設定と拡張モジュールの組み合わせで、これらの仕様が実現可能と判断し、Drupalを採用する事になりました。
求められる機能
勉強会グループ毎に独立した縦割りの権限設定
IPSJ勉強会フォーラム内には、「ディープラーニング勉強会」「3次元ポイントクラウド処理勉強会」などテーマに応じた様々な勉強会グループが存在します。グループ毎に、勉強会を開催し、参加者を募集し、論文単位で内容や資料(pdf、pptなど)を追加する機能が求められました。また、フォーラムの会員は自分の所属する勉強会グループ内にのみイベントや論文を追加できるなど、勉強会グループ毎に独立した、縦割りの権限設定を行う必要がありました。
勉強会毎にグループを作成
複数の会員種別による詳細な権限設定
IPSJ勉強会フォーラムには「勉強会メンバー」「情報処理学会員」「勉強会作成管理者」の3つのメンバーロールが存在します。情報処理学会の会員にはその会員種別や、それぞれの勉強会における役割に応じてこれら3つのメンバーロールが割り当てられます。
「勉強会メンバー」は自分の所属する勉強会グループの論文しか閲覧できないが、「情報処理学会員」はすべてのグループの論文が閲覧できるなど、各ロールに応じた詳細な権限設定が必要とされました。
ロールによる権限一覧表
プロジェクトのゴール
このプロジェクトのゴールは実際に各地で個別に開催されている勉強会の実情を把握し、情報処理学会の会員種別や実際の勉強会の実施状況などを考慮した上で、WEB上で勉強会の告知や参加者の募集、情報の公開ができる仕組みを構築することでした。
関係者に度重なるヒアリング実施した結果、グループ毎、会員種別毎の詳細な権限設定や、非公開グループ機能など実際の運用体制に基づいた機能実装を実現しました。
Drupalによる複数の会員種別、グループ機能を持つ会員制サイトの開発
IPSJ勉強会フォーラムのような、会員向けサイトや社内インフラサイトなど、複数の会員種別とグループが存在し、各グループ毎に細かい権限設定が必要なサイトの開発ではDrupalの持つ詳細な権限設定機能が非常に力を発揮します。
今回のケースでは、勉強会グループ毎に縦割りの権限設定を実装しましたが、この機能はさまざまなケースで応用可能です。大学のサイトであれば学部や学科ごと、企業サイトであれば部門ごとに「管理者」「編集者」「閲覧者」など任意のロールや権限設定が可能です。
弊社が手掛けた、このようなグループごとの縦割りの権限設定を利用したケースとしては「広島大学」の事例が挙げられます。