#概要
CMSを自作しようと考えています。一応方針は固まりつつありますが、
どんな機能が必要か、どんな機能に需要があるのか。そもそも今の方針は正しいのか。
意見が欲しくてこんな記事を書いてみました。
一応qiitaに質問投稿の場所がありますが、CMS自作の進捗はこの記事に追記するつもりなので多分通常の記事の方がいいかなと思い記事を書きました。
意見のある人はぜひコメントをお願いします。
#現在の方針
php 1ファイル+sqliteで作ろうと思っています。もしファイルが増えても3~4個とかでしょうか。
CMSの種類としては調べた感じヘッドレスCMSが一番近いんじゃないかなと思いました。
誤解の無いように書くと機能をすべてAPIで提供するつもりです。といっても管理画面ぐらいは提供しないとさすがに使いづらくなりそうですが。
APIはREST APIとして提供します。(といっても色々考えているうちに画面含めて実装した方がいいのではと考えが変わっていますが。)
#実装予定の機能
- 記事投稿・削除
- 記事内容取得
- 記事一覧取得
- 下書き機能
- ユーザー管理機能
- バックアップ機能(この機能のためにsqliteを選びました。)
- カテゴリ一覧取得(追記)
#現在の実装状況
とりあえず開発環境としてxamppをインストールしてsqliteを有効にしただけです。
とりあえず上記の機能の実装を目指してその後意見をもとに追加の機能を実装したり、方針を変更したりするつもりです。
#余談
sqliteを選んだのはバックアップ機能を実装したいと思ったのと後gitとの連携を考えてでした。ただphpでgitと連携するいい参考サイトが無かったので現状見送ってます。
#追記
sqliteがファイル一個で構成されてるから複数人からの同時接続できないの忘れてました。どうしましょうか。とりあえず気にせず実装して様子見てみます。
#追記(5月14日)
入出力のフォーマットが一致させられないから編集画面用意しようかと思ったけどよく考えたらどうとでもできますね。
また、前回の追記のsqliteが同時編集できない問題は一応解決策が思いつきました。ちょっと実装が面倒ですけどどうにかなりそうです。
#追記(5月24日)
せっかくなので編集画面の自作に挑戦してたのですが細かいバグが修正できていません。できる限り自作してみようかと思っていましたけど正直自作は難しいかもしれません。(これ以外にも自作するのが難しい所が何か所かありますし)でもそうなると完成したCMSを導入したい人が困ると思うんですよね。まあ一応完成したら公開するつもりではありますけどそもそも導入する人がいないか。ということで同時進行でライブラリとか使いまくっているバージョンを作りたいと思います。ひとまずライブラリ使いまくっているバージョンの開発に挑戦して様子を見てところどころ自作に置き換える方針に切り替えたいと思います。