CMSへの興味

Article

当サイトはWordPressで構築しています。WordPressはCMS(コンテンツマネージメントシステム)の一つで、シンプルでわかりやすいインターフェースとデザインや機能の豊富さ、学習の敷居の低さから世界のWebサイトの40%歩こえるシェアを持っています。個人のブログ運営にも適しているためご利用になられている方も多いのではないでしょうか。

このBlogを立ち上げるきっかけがCMSに興味を持ちWordPressを選択し現在に至っています。私の自己紹介にも書いていますが何となくクリエィティブな事がしてみたいという事の一つが、セルフメイドのWebサイトを運営してみたいという興味から始まっています。CMSに興味を持ったきっかけと経緯のようなものを一度まとめたいと考えて記事を書いています。

WordPressの使い方などのハウトゥの記事ではなく、CMSがオープンソースとして発展してきた面白さに興味を持ち自身で利用した経緯についての記事になりますので興味を持たれご覧いただけたら幸いです。


WordPressは簡単に言えば、HTMLやCSS,JavaScriptなどの知識がなくても、Webサイトを構築できるネット上のシステムで、PHPとMySQLというデータベースを組み合わせて、ページを作成できるテンプレートを用意し、サイトの構成を自動化したりコードを書かなくてもページが生成される、ネット上のWebサイト制作ツールのようなものになります。

ネット上のWebサイト制作ツールを総じてCMSと呼ばれています。ベースになるプログラム言語やデータベースの使い方により膨大なCMSがありますが、私はWebサイト構築に向いていると言われるPHPとデータベースを使用しているWordPressやDrupalを利用しています。当サイトとは別でDrupalで構築したサイトも記事で紹介していきます。


私がWordPressやDrupalに興味を持った一番の理由が、両システムともオープンソースで自発的に立ち上がり自発的に発展してきた歴史があり、関わっている方のボランティア精神や、その努力が後のプロジェクトに関わった方の収益に有機的に結びついていることがあり、オープンソースと言われる、エンジニアにとって理想的な環境ながら資金難で頓挫した他のプロジェクトと異なり優れたプロジェクトが有機的に進行し、資金などの問題もクリアして尚発展している珍しいケースというのがあります。


オープンソースの成功例で思いつくのが、ビットコインに代表される仮想通貨で、エンジニアの興味から自発的に始まり、今やビットコインの価値は280兆を超えるプロジェクトになっています。ビットコインは非常に優れた初期設計がなされており、通貨発行の希薄化によるインフレ率、時間軸を絶対とし、非可逆性を排除し(人間の心理や行動まで考慮しています)そのことで盤石なセキュリティを担保するブロックチェーンの技術、中央銀行という管理者を持たない世界中のコンピューターリソースに分散し通貨の処理を行うセキュリティや有事へのエマージェンシーまで考慮した分散処理のロジック、そのことで価値の担保を個別の団体に依存しない公平かつ民主的な金融システムとして立ち上がりその理想郷のようなシステムが世界に受け入れられ現在に至っています。


オープンソースの開発の場として利用されているのがGithubと言われる、ネット上にある共同開発ツールになり、世界中から優秀なエンジニアがボランティアで様々なプロジェクトに参加しプロジェクトの開発を行っています。そこから派生したGitlabなどもありますが概ね似たような用途で利用されています。

GitHubの語源であるGitは当初Unixマシンを使い複数人で行う開発の際に、バージョン管理をスムーズに行うために開発されたツールでその管理ツールをネットに公開しグローバルで大規模な開発を行えるHubとして利用しているのがGitHubとなります。

GitHubは2018年にマイクロソフトが当時の価格75億ドルで(1兆円弱)買収しています。この事は様々なプロジェクトを作り上げる世界中の優秀なエンジニアのリソースをマイクロソフトが管理する事が可能になった事を意味しています。

仮想通貨の成功例は一例で、OSやプログラム言語、様々な優れたアプリや、基礎プログラムなど様々なプロジェクトが動いておりそこには優秀なエンジニアがごろごろいます。

GitHubには大小様々なプロジェクトがあり優れたプログラムソースが無料で配布されています。無料でこれだけの事をボランティアでするのって凄いなと感じます。この優秀なリソースが無料でオープンになっている理由について考えます。

理由の一つに大手テックは常に新しいプロジェクトを探したり、優秀な人材の確保に力を入れています。GitHubでの無料のソース配布は、エンジニアの能力のデモンストレーションの場でもあるので、その事で高額な報酬でのスカウトやプロジェクトへの資金提供などのチャンスを得る場でもあります。

日本人のエンジニアは非常に優秀な方が多いのですが、Githubで活躍する日本人は他の国のエンジニアに比べ決して多くはありません。言葉の問題はありますが、何故日本人が少ないのか考えてみると、日本人社会の中にある”本音と建前”の意識があり、実際には優れたエンジニアでも公の場でその能力を自発的にアピールする文化がありませんし評価する文化もありません。

プログラムのロジックを考えた時に、言語が持つロジックの意味合いが強く、基本は英単語から命令文が作られていますので英語圏の人間の方が理解しやすいという理由もありますが、個人的に感じるのは言語の中に文化的や思想的な要素も含まれておりここの解釈の違いというものも影響しているのではないかと考えています。結果に対するプロセスに対する考え方の違いは欧米の方と接すると感じる事がありますがこの要素がコンピューターリソースに対してもあるのかなと考えています。

上記に述べた言語や思考の壁を昨今急速に普及するAIの技術が解決するかもしれないと期待しています。


オープンソースは、高額な報酬を得るためのデモンストレーションとしての側面もあったと述べていますがその事だけでなく純粋にボランティアで動いている方や、関わるプロジェクトの発展を求めて活動している方も多数おりこのような方の方が多い事も特徴です。

プロジェクトの向き不向きもありますが、公共性の高いものほどオープンソースには適しています。テーマが大きく様々な価値観で関わる人間が多いプロジェクトほど発展して行きやすい事はプログラムの世界だけではないのであたり前の事であります。

オープンソースの難しさに、多くの人間が関わりその英知の結晶である事が、プロジェクトが発展していく過程において足枷となっていくケースもあります。それぞれの価値観や目的が異なることからプロジェクトそのものが分裂したち行かなくなってしまうケースも多々あります。プロジェクト自体の資金が枯渇していたり、報酬を望む開発者と望まない開発者で意見が割れるなどの理由によりプロジェクトが割れてしまいプロジェクトが立ち行かなくなってしまうケースもあります。


前置きが長くなってしまいましたが、当サイトの構築に使用しているWordPressもオープンソースですが、プロジェクトが分裂せず立ち行かなくなる事なく現在も進行しています。優れた機能と裾野の広さから世界のWebサイトの40%のシェアを取る大規模なプロジェクトであります。WordPressの利用は無料であり、非常に優れたインターフェースを持つシステムであり、開発陣のボランティアによる尽力は計り知れないものがあります。


WordPressはコアプログラムにプラグインと呼ばれるアプリケーションを追加することでWebサイトに様々な機能を持たせることや、テーマと呼ばれる優れたデザインのテンプレートや、ネットショップ、SNS、ブログ、ポートフォリオ、企業サイト、SEOやバックアップ、セキュリティ対策など様々なプラグインが用意されています。

WordPressは無料ですが、目的のWebサイトを構築するときに有料の優れたアプリケーションを追加する事でWordPressの利用が広がり、個人の趣味だけではなく法人が企業の目的を達成するためにも利用されています。

WordPressのプロジェクトが有機的に機能している理由の一例を挙げると、開発陣はWordPress.comというWordPressに特化したクラウドサービスを提供しそこでの収益は相応のものになっています。

アプリの開発を行っている開発者も、WordPressに精通しているので、WordPressのコアプログラムの開発に積極的に参加し、WordPressがより良いものになり普及すれば、開発しているアプリも普及し収益が上がるという好循環のマーケットが形成されています。

WordPressの特徴に優れたデザインのWebサイトのテンプレートが用意されており、世界のWebサイトの40%のシェアを持っていることから、最先端のデザインや面白いデザインなどデザイン面の先進性や利用しやすさは群を抜いています。この優れたデザインをデザイナーではない一般の個人がそれほどの知識がなくても気軽に利用出来ることはWordPressのメリットの一つであります。

WordPressのオープンソースとしての成功は、コアプログラム開発に関わる資金の捻出が成り立っていることや、利用に関わる容易さから個人や小規模の事業者の利用のユーザーも多く、そのことでサードパーティーのプラグインのマーケットも大きく、プラグインやテーマのサードパーティーのマーケットが、スマートフォンのアプリ市場のような形になっている事があります。

このサードパーティーのマーケットもユーザーが目的を持って利用するアプリの為、他のマーケットに比べ課金に結びつくケースが多いこともWordPressのマーケットが好循環となっている理由と考えています。


WordPressはCMSに限らず、世界のWebサイトの40%を超えるシェアを持っています。利用のしやすさや初学の敷居の低さから私もWordPressを愛用し、当WebサイトもWordPressにて構築しています。

私の悪い癖ですが、物事への興味が関連したものの多岐に向く習性があり、WordPressを利用する中で、WordPressとは異なるシステムに興味が向いてしまいます。

WordPressと同様PHPとデータベースを使用するCMSでDrupalというCMSがあることを見つけます。Drupalについて色々調べるのですが、WordPressが個人のブログなどをメインに発展した経緯と異なり、企業や公共機関での利用とともに発展してきたCMSである事がわかります。

Drupal

そもそも自分の知識や能力でDrupalが利用出来るかといった、利用するための準備や動機がWordPressより強く必要なプログラムでありますがWordPressと異なる利点があり興味から学習意識も湧いてきます。

早速MacBookにDrupalが動く環境を容易し、実際に動かし始めますが、思いの外簡単に動きます。習うより慣れろの精神で触っているとDrupalの利点が見えてきます。利点を一から説明すると長くなるのですが、一番の利点がWordPressよりコアプログラムに用意された機能が充実している事と、機能の配置やルールに一貫性がありコアプログラムの構造の理解がしやすかった事があります。

構造の一貫性で理解しやすいというプログラムで思い出すのが、30年近く前にWebサーバーを構築する必要があり、LinuxとFreeBSDに触れる機会がありました。一般的には利用者が多く情報も多いLinuxを選択するのですが、私にはFreeBSDの方が理解しやすかった覚えがあります。当時はインストール時にハード構成を考え必要なドライバーを個別にインストールするなど面倒な面もあり、サーバーの高速化に、必要な機能のみをインストールし動作を軽くする必要があったのですが、構造ルールが厳格化されているFreeBSDの方がどこに何が配置されているかのわかりやすく、サーバーのチューニングがし易かった事があります。

WordPressとDrupalに触れた際に、感じたイメージがまさにLinuxとFreeBSDに触れた時に似ており、Drupalに初めて触れた際に感じた、FreeBSDの構造ルールの厳格化に通じる共通点を見つけ、Drupalの初学で躓きやすい基本設定に関わる理解を構造の観点から理解出来た事がDrupalを使いWebサイトの構築と運営まで進めた理由になります。

CMSというコードではなくGUI上で設定を行うシステムながら、オペレーションがプログラムを直接いじるような感覚と機能があり、利用目的に応じた設定がしやすい事がわかります。Drupalはバージョン8からPHPのフレームワークであるSymphonyで書かれていますが、Symphonyの機能をGUI化したものがDrupalと考えると理解しやすいです。

WordPressの利点に、充実したテーマやプラグインによりWordPressのコアプログラムが持つ機能の設定を意識せずに利用しWebサイトのデザインや機能を使う事ができます。この事で、コードなどの知識が全くなくても高機能でデザインに優れたWebサイトを比較的容易に構築出来る事があります。

Drupalはコアプログラムが持つ機能や設定を理解しWebサイトを構築していく必要があるので、初学の難易度が上がりますが、そこをクリアすると、コアプログラムの設定に関わる理解が前提であるので、機能に関わる設定の自由度が非常に高い事がありテーマ選択や使用モジュールなどを必要に応じて選択し設定を行い自身で一からWebサイトを組んでいけるWordPressとは異なる面白さがあります。

DrupalもWordPress同様オープンソースであり、ボランティアで開発されています。プロジェクトが好循環で維持できている理由にWordPress同様、開発陣がDrupalに特化したホスティングサービスを展開し相応の収益を上げられている事があります。Word Pressもですが、プロジェクトが発展し社会的に認知され大口の企業からのスポンサードが得られています。

WordPressとの違いに、Drupalは企業需要や公共機関の需要が多いことから、個人利用が少なく、利用者もベンダーなど開発する方の利用が多くモジュールやテーマはボランティアで無料で配布されていますが、基本機能のシンプルなものが多く個人利用が少ないことからサードパーティーのマーケットが確立されていません。


記事を書いた理由は、私自身が枯れた技術と思っていたWebサイト構築と運営が実は枯れてなどおらず、需要はますます広がっており、ネット上にあるコンテンツを平たく言えば、情報告知の手段であり、その情報告知の手段として、SNSや動画配信などとともに利用されてるWebサイトの技術は日々進化しています。

その進化を自身で利用することで体現していくという事が、このブログを立ち上げ運用している重要な目的の一つであります。

クリエィティブという言葉に創造性や革新的な意味合いを感じます。過去から長い時間をかけて進化して完成しているWebサイトの技術にクリエィティブという言葉がふさわしくないのかもしれません。しかし人間が持つ視覚的な情報収集の一つの手段であるインターネット技術の一環を担う重要な手段である事は間違いありません。

そのWebサイトを構築し運用を効率的に行えるCMSの技術が面白く感じていることと、オープンソースと言われる有志のボランティアから出発し、理想論だけではなく、プロジェクトが続く収益構造が自然に出来上がったWordPressやDrupalというプロジェクトに私自身興味が尽きず常に敬意を持っています。

WordPressについては当サイトを見ていただけるとなんとなくイメージ出来ると思いますので以下にDrupalで構築したWebサイトを掲載しますので興味がございましたらご覧いただけたら幸いです。


私がDrupalで構築しているWebサイトは学習の意味合いが強く、構築過程をメインの記事にしていますのでDrupalに興味がない方が見ると何を記事にしているのかが全くわからないかもしれません。

Hooked-onで書いた記事の一部も記事にまとめていますが、Drupalの使い方を覚える意味合いが強いのであまり楽しめないかもしれませんが、Drupalにテキストデータの情報を見やすくまとめてくれる特性があるので、記事は読みやすくなっています。WordPressでは気が付かなかったタグを最小限にする事などもDrupalで実践しています。

Drupalを使い2つのWebサイトを立ち上げテスト的な運営をしています。


Drupalの特徴でもある公的機関での利用を対象に構成されたCivic Themeを使用してWebサイトを構築しています。テストを兼ねてXserverの共有ホスティングで公開しておりの機能的な制約がありますが、サイトは問題なく稼働しています。CivicThemeの特徴にWebサイトの知識がなくてもWebサイトを構築し運営出来るよう設計されています。DrupalコアやモジュールのアップデートなどはDrupalのルールに従う必要がありますがWebサイト構築や運営はWordPressに近い感覚で触れる事が出来ます。

本来Drupalを利用するのであればXserverが推奨し動作確認が済んでいるVPSサービスで運営するべきですが、CivicThemeのDrupal11対応が遅れているため対応状況を見て移行を考えています。

Hooked-on Drupal


AWSを使用してみたかった事があり上記のCivicThemeではなくBootstrap5のテーマで構築しています。AWSといっても一番簡単でシンプルなVPSサービスであるLightsailにBitnamiが用意するDrupalをインストールするシンプルな構成で運営しています。

DrupalコアにBootstrap5を利用可能としたシンプルで最低限のテーマで構成しています。デザインも配色を変えた程度となっていますが、デザインやページ構成は自分で構築する必要があります。

LightsailとBitnamiの組み合わせの問題に、PHP8.2までの動作確認となっているため最新のDrupal11やDrupal-CMSが必須とするPHP8.3ではないため現在Drupal10.xでの運営になっています。

上記のXserver同様、Drupal11への移行を検討していますが、AWSだとEC2にDrupalを設定しインストールする必要があり共用サーバーのように機能がパッケージされていないので、必要な機能を用意したコストを見極めての移行を考える必要があります。

AWSは非常に柔軟なシステムであり、サイトの規模や用途に応じシステムを組んでいけますが、柔軟ゆえテストレベルである自身のWebサイトをどうしていくかの答えをある程度持たないと優れたシステムを使いこなせないので、しばらくLightsailで動かしながら見極めて行きたいと考えています。

Interest


Drupalの利点にViewsとタクソノミーを柔軟に組み合わせてページを生成する機能があります。ページをわざわざ作らなくても店舗を指定したタームのブロックにページに必要な説明やGoogleMapなどを書くだけで店舗紹介に記事が連動するページを簡単に生成出来ます。このページ生成の意味に管理上ページを持っていません。WordPressでいうところのタグで生成するリストですが、このリストにページ要素を持たせる事が出来ます。他にもブロックレイアウトを使用したり様々な組み合わせで目的とするページ生成が柔軟に出来る事がDrupalの利点の一つです。

WordPressでも出来ますがタクソノミーに簡易ではないHTML要素とビルダーの要素が必要となり、デザインにテーマが絡むので他のページとのデザインの整合性を持たせるのにPHPと元のCSSをいじるなど専門知識が必要になります。Drupalはテーマではなくコアプログラムが持つ機能を使うのでコードを触らずに簡単に作成出来ます。

WordPressでは上記のページを固定ページや投稿で作成出来ますが、作業効率や管理を考えるとDrupalの持つ機能に分があります。ただ、デザイン面の自由度はWordPressに分がありますので、利用目的により評価は分かれるのではないでしょうか。

この機能は一例で、一長一短ですが、CMSとしての設計や利用目的の違いが異なる事に気が付く事もWordPressとDrupalを使ってみて初めて気が付く面白さです。

Drupalのタームで生成した店舗紹介の例


WordPressを初めて使用し、WordPressが持つ機能の面白さからBlogを開設したのですが、生活環境の変化で更新が止まっています。再開を考えている中でDrupalに興味を持ち、WordPressの更新をせずDrupalのサイトをオープンするという回り道をしてしまいました。WordPressでサイト構築をして運営するプロセスと異なるプロセスが必要なDrupalに触れそれぞれの良否や思想のようなものが見えて色々感銘を受けています。

両者ともコンピューターのプログラムではありますが結局人が作っているもので、経緯などを考えると設計思想や目的、未来像などに人間臭さも感じられその事に私自身が愛すべき理由が見えた事も収穫となりました。

実使用に関わる技術的なノウハウなどを私が公開出来るほどの知識はありませんが、実際に使用し感じる事などを機会があれば記事でまとめるのも面白いなと感じています。

ピックアップ記事

関連記事一覧