Drupal開発実績 Think IT

Think ITは“オープンソース技術の実践活用メディア” をスローガンに、株式会社インプレス様が運営するエンジニアのための技術解説サイトです。開発の現場で役立つノウハウ記事を毎日公開しています。

2004年の開設当初からOSS(オープンソースソフトウェア)に着目、近年は特にクラウドを取り巻く技術動向に注力し、ビジネスシーンでOSSを有効活用するための情報発信を続けています。

thinkit

リニューアルに至った経緯

ThinkITでは2004年の開設時から13年間で蓄積された大量のコンテンツ資産がありました。当初はHTMLによるサイト運営、Drupal以外のCMSを導入され。その後Drupalの導入を経て今回のリニューアルに至りました。元々、インプレス様では復数の大規模メディアでDrupalを使い運用されていた事もあり、Drupalのカスタマイズ性の良さやメディアサイトに必要な機能をクライアント自身が良く理解されていました。

今回は、編集業務を円滑に進め、ユーザーのみならず営業サイドの要望にスピーディーに応えられる体制を整えるためのIA(Information Architecture )改修・デザイン一新を含む大幅なリニューアルとなりました。

ライブサイトのリニューアルについて

 リニューアルというと、すでにあるサイトを一部変えるという意味で一見、新規にサイトを立ち上げるより簡単に思われますが、実際はサイトを稼働し続けながらのリニューアルの方が技術的に難易度が高くなるのが一般的で、通常のサイト開発以外に必要となるフローとして以下のようなリストが挙げられます

  • 過去に実装されている機能とモジュールの分析
  • データベースから現行コンテンツのみを取り出すエクスポート機能実装
  • IA改修に伴うコンテンツフィールドの構造変更
  • URL構造の全面書き換えとリダイレクト
  • パンくずなどの全面書き換え
  • 新規機能の追加と旧システムからの不具合改修
  • デザイン変更に伴うテンプレート・Viewの全面的な書き換え
  • 旧コンテンツ自体の変更をせずにレスポンシブデザインに対応させるテーマ開発
  • コンテンツのIDを維持したまま、新しいIA方針で再構築されたコンテンツの取り込みをするためのマイグレーション機能開発
  • 開発中に作成されたダミー情報のIDを含めたクリーンアップ
  • ユーザーデータのマイグレーション
  • リニューアル開発中に投稿・アップロードされたコンテンツとの同期

今回のThinkIT様のケースでは、13年間のサイト運営で蓄積された数万に及ぶ既存コンテンツを構造を変えながらDrupal7に移行する必要がありました。そのため、Drupalでの開発を専門に行っているANNAIへ移行をご依頼されたという経緯があります。

実装機能紹介

ThinkITは以前から多機能なサイトでしたが、今回の改修で修正したり追加した機能の一部をご紹介します。
 

特集記事作成機能

特集ページを作り、その特集内容と関連する過去の記事を呼び出す事で、雑誌で行われているような特集ページを簡単に作る事ができる機能です。過去の記事を埋もれさせるのではなく、特集記事として再利用することで記事一つ一つが、より高い付加価値を生む事ができます。Drupalが得意とする、コンテンツを参照して様々な形で表示する機能を活用した、メディアサイトの運営にとても役に立つ機能です。

DrupalのBook機能で実装されていたものをより自由度の高い形式に置き換えています。

thinkit

特集記事として取り上げたい記事を特集の管理画面から選択する。
参考URL:https://thinkit.co.jp/topics/8345

連載記事作成機能

記事を連載という区切りでまとめ、読みやすく配置する機能です。DrupalのBook機能で実装されていたところをTaxonomyでの実装に切り替え、より自由度が高くコンテンツの再利用性が上がりました。

thinkit

連載(左)「ラズパイかんたんクッキング~」の記事として、

記事(右)「Scratch2MCPIでMinecraft Piを焼き上げよう」を掲載している。

thinkit

記事(右)「Scratch2MCPIでMinecraft Piを焼き上げよう」の編集画面。

連載記事として「ラズパイかんたんクッキング~」を選択するだけで連載記事ページに掲載される。
参考URL:https://thinkit.co.jp/series/5448

ITイベントカレンダー

ThinkIT読者がITに関するイベントをサイト内のカレンダーに投稿できる機能です。投稿されたイベントは編集部により内容を確認の上、カレンダーに登録されます。読者からの投稿を一度、非公開状態で保留にしておき、内容確認後に掲載するという承認ワークフロー機能を実装しました。

従来は問い合わせフォームにイベントの詳細を記入していただき、その内容を編集部か確認後に手動でイベントカレンダーに掲載していたのですが、今回の機能追加により、承認するだけでイベントカレンダーに掲載されるため掲載の手間を大きく削減することができるようになりました。

thinkit

読者からのイベント投稿をカレンダーと一覧形式で表示

thinkit

読者用がイベント投稿をフォームから投稿する事ができる。
参考URL:https://thinkit.co.jp/event/register

ワンタイムゲスト用URL機能

著者校正プレビュー機能として、CMSにログインすることなく特定の人にページを確認してもらえるようにしたいという要望に応えるため、非公開記事を任意の期限だけで閲覧できるURLを生成する機能を実装しました。

ワークフローによる承認投稿機能

記事を書く「記事編集者」と、その記事の公開を決定する「承認者」を分離する事で業務フローの効率化を図りました。「記事編集者」が記事を書くと、「承認者」の管理画面へ承認待ちの記事が蓄積されます。「承認者」は記事の内容を確認後に公開、非公開を決定します。これにより、修正が必要な記事は非公開で訂正してもらう、公開が可能な記事は承認者が公開するという一連のワークフローをサイトの機能として実装しています。

また、記事公開のタイミングを設定するスケジューリング機能も実装しており、あらかじめ記事公開の日時を指定できます。

thinkit

承認待ちの記事はドラフトに一覧で表示される。

外部サイトからの記事の取り込み

外部サイトからの記事の取り込み機能も実装しています。外部サイトからXMLで配信された記事を定期的に取得した記事を「承認者」による承認フローを通して掲載する事もできます。

thinkit

外部サイトのXMLフィードを登録しておくことで自動で記事を取得できる。

記事編集時のWord文章からのスムーズな貼り付け機能

編集担当者やライターによりワードプロセッサー上で編集された原稿からの掲載を、手間なく行う機能を実装しました。画像を含んだWordから文章をコピー&ペーストすると、不要なタグは排除されて画像以外の文章がほぼWordのレイアウトのままサイト上のHTMLエディタに張り付けられます。後は画像の当たりをクリックしアップロードするだけで記事を完成させる事ができます。あらかじめ、Wordでレイアウトを作っておけるので掲載する段階での手間を大幅に削減する事ができます。

thinkit

ワード文章(左)をHTMLエディタ(右)にコピー&ペーストしてもレイアウトが保持されている。

オープンソース全文検索システムSolrを利用した高速な検索機能

サイト内検索には「オープンソース全文検索システムSolr」を利用し、高速な検索を実現しています。また、ある記事に関連した別の記事を自動で表示する際にもSolrを利用しています。記事の内容をSolrで全文検索し関連性の高い記事を自動で表示しています。

thinkit

サイト内検索にはSolrを利用士高速な検索を実現
参考URL:https://thinkit.co.jp/search/site/drupal

thinkit

関連記事をSolrの全文検索で抽出し自動で記事の下部表示。
参考URL:https://thinkit.co.jp/article/8370

静的ファイルによるキャッシュ機能

Drupalは動的CMSでありますが、ThinkITではコンテンツを静的HTMLとしてキャッシュする機能を実装しております。これにより、サーバーへの負荷を軽減し、表示の早いサイトを実現しております。

その他の機能

情報量がとても多いサイトですが、Drupalの持つ強力なカテゴリ分け機能を利用し、記事を様々な観点から分類、集約する事で情報の見せ方を工夫し、読みやすいサイトを実現しています。

デザインとレスポンシブ対応を含むThemingにはかなり自信を持って提供できたかと自負しています。

今回のリニューアルでは、新規開発サイトへコンテンツを移行している間にも、現行サイトではコンテンツの新規追加が行われます。追加された最新記事をスムーズに新規開発サイトへ移行し、シームレスなサイト移行を実現しました。

さらなる継続的な機能改修・デザインリニューアルに向けて

今回は大規模なリニューアルでしたが、今後はDrupalの持つ柔軟な拡張性を生かし、常に機能を追加、改修をしていきながらより良いサイト作りを編集部と二人三脚で進めていければと考えています。

強力なカテゴリ分けや、外部サイトから取り込んだ記事を承認フローに従って公開するなど、Drupalはメディアサイトに適した様々な機能を備えています。他のCMSでは実装が難しい機能でもDrupalであれば実現できる事も多くあります。現在、既存CMSでの運用において改善要望があり、ビジネスニーズに沿った迅速な機能開発を進めたいと考えておられるメディアサイト運用担当の方にはぜひANNAIにご相談いただければと考えています。