Djangoの最新バージョンが3.0になったことに伴い、
当サイトで運用している自作CMSについて見直しをしてみようと思います。
そもそも、既にいくつかのCMSのパッケージが用意されており、
それらを使えばCMSの管理は容易になるのではないかと思います。
それでもDjangoによるCMSを自作したのには、
開発を通して、Djangoを学習したかっただけでした。
自作CMSを運用してから、まだ1年も経っていないのだが、
運用中に反省点がいくつか見えてきました。
運用中に気づいた反省点
反省点1:管理サイトを封鎖したこと
Djangoにはデフォルトで管理サイトが用意されており、
そこからアプリの管理を行うのですが、
ログイン処理のカスタマイズ時の事情により使えないようにしました。
本来、管理サイトはアプリの管理ができ、
かつModelクラスに対応して、データ追加とか可能であり、
使い方次第で、有効に利用できることが分かりました。
反省点2:汎用的な仕組みになっていない
Djangoに限ったことではありませんが、
TwitterAPIで使用しているキーや、2段階認証で使用しているキー、
Google Adsense、Analyticsで使用しているキー等、
プログラム上に埋め込んでいる状態です。
これでは、パッケージ化してほかの方に渡すことを考えたときに、
キーをわざわざプログラム上で変更しないといけません。
初心者から見てこれは辛いです。変更に時間もかかってしまいます。
さらにプログラムを作ったことがない方の場合はなおさらです。
大きい反省点はこれぐらいです。
ほかのユーザにもこのパッケージを使ってもらえるようなCMSを目指すために、
これらの反省点を改善するにはどうしたらいいのかを考えました。
・マイクロシステム化という考え
WordPressでは、拡張パッケージを取り入れて、
管理機能を拡張できるようになっています。
こういった仕組みをDjangoの自作CMSでできるようになれば、
初心者でも操作しやすくなると思っています。
そうなると、WordPressを使った方が
いいんじゃないかと思われるかもしれませんが、
PHPで作られており、過去にセキュリティホールが多いとの報告もあって
あまり触りたくないのが本音です。
Djangoの管理サイトでアプリ管理ができるのであれば、
CMSの機能ごとをマイクロシステム化できないかなと思っている所存です。
もちろん、この考え方には課題もあります。
・マイクロシステムをホットデプロイ・アンデプロイする手段
・画面操作だけで、どうやってアプリ管理に繋げるのか
・マイクロシステムのアップデートの仕組みはどうするのか
・DBを利用した仕組み
DBでパッケージを管理するような仕組みでも、
問題を改善できると思います。
このやり方であれば、管理サイトからでなくても、
管理用システムを作成して、そこにインポート機能を設けて
そこにパッケージを指定して拡張させるやり方もできるでしょう。
このやり方の場合、入れたパッケージをどのようにして認識するのか
が課題となってきます。
そうなると、WordPressを使った方が(ry
いずれにしても、現段階ではまだ漠然としているが、
より使いやすいシステムは何かを考え続ける習慣は必要です。
こう考えると、極論WordPressになってしまいがちなので、
WordPressよりも使いやすいと思える仕組みを考えないとなーと思った次第です。
Comment
2023年2月21日1:09 aiqvucsa@orxot.sibicomail.com
管理者がコメントの内容を確認中・・・