自宅CMSへの道(1): まず欲しい機能をまとめてみた

現在、このサイトはPythonベースのBottleというマイクロフレームワーク上に構築した自作CMSで動作している。サーバの構築手順やプログラミングなどの手順についてはこれまでに書いてきた通りなんだけど、CMSそのものの設計手順なども忘れないうちに書いておこうと思った次第。

自作CMSに移行する前は、PloneというPythonベースのCMSにCOREBlog2というブログエンジンを組み合わせて使っていた。Ploneについては細かい不満はいくつかあったのだが概ね満足していた。ただ、COREBlog2は開発を終了し、Ploneのバージョンアップに追従できなくなってしまった(FreeBSDのportsからも削除された)。

で、なんとかしなきゃいけないと思い始めたのが2012年1月のこと

Plone+COREBlog2のいいところは以下の通り。

1

Python標準の構造化テキストで、改行、字下げなどで装飾することによって、可読性が高く且つ(段落、見出し、引用などの)構造が示されたテキストを提供する。HTML(+CSS)やPDF等に容易に変換可能である。

一方、イマイチだと思ったのは以下の点。

と、いうことで以下のようなウェブサイトにしたい、と考えていた。

新しいCMSとしてまず思い浮かんだのは当時Pythonで最も人気のあったフルスタックフレームワークのDjangoベースにすること。同じPythonベースならreStructureTextをサポートしているだろうと思ったから。でも、Djangoベースのブログエンジンはあまり活発に活動していなかったみたいで、機能もイマイチ自分の希望と合わなかった。

じゃあPythonから離れてPHPベースのブログエンジンのWordpressはどうか、ということで検討はしてみた。reStructuredTextを扱うことについてはある程度の目処がついたのだが、ブログと非ブログコンテンツを一元管理する方法については(できることはわかっていたが)どうやってやるのか見当もつかずハマってしまっていた。

そんな時に、桜井通開氏のブログのBottle紹介記事を思い出し、これなら自分にもできるかもしれないと思って着手したのが2014年のことだった。思えば自宅サーバでWebサイトを公開する際にZopeフレームワーク(PloneはZope上に構築されたCMS)を選択したのは桜井氏の記事[archive]を読んだことがきっかけだったし、つくづく桜井氏に縁がある。

このサイトは所詮仕事の片手間にやってる趣味サイトに過ぎず、コンテンツの保守管理に必要以上の手間をかけるわけにはいかない。なんでコンテンツのポータビリティはすごく大事。コンテンツを構成するデータ(reSTなコンテンツそのものやタイトル、日時情報、コメントなど)がどんなもので、どのような形でDBに保管されているのかは、自分が把握できる程度にシンプルであって欲しい。でないとCMSを別なものにしたくなった時にデータの移行に手間がかかる(事実かかった)。そういう意味ではマイクロフレームワークベースにして良かったんじゃないかと思っている、今のところは。

コメント(0)

コメントを投稿する際はここをクリック

Blog category: Ultima | Adventure games | BSD and Linux | FM TOWNS and Japanese home computers | Computers | Bottle | 広島新球場 | 日本プロ野球 | 広島市民球場跡地とサッカースタジアム | その他スポーツ | Other topics
2002 08 09 10 11 12
2003 01 02 03
2004 01 02 03 04 06 08 09 10 11 12
2005 01 02 03 04 05 06 07 08 09 10 11 12
2006 01 02 03 04 05 06 07 08 09 10 11 12
2007 01 02 03 04 05 06 07 08 09 10 11 12
2008 01 02 03 04 05 06 07 08 09 10 11 12
2009 01 02 04 05 06 07 09 10
2010 01 03 04 05 08 11
2011 01 02 03 04 07 11 12
2012 01 02 03 09 10 11
2013 01 02 03 05 06 07 08 09 10 11 12
2014 01 02 03 04 05 06 07 10 11 12
2015 01 02 03 04 05 07 08 11 12
2016 03 04 05 07 08 09 10 11
2017 06
2018 11 12
2019 01 04 10
2020 05 06 07

Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。