CDBTプラグインの次回バージョンアップまでの課題

最近時間が取れなくてプラグイン改修がとんと進んでいないのだが、前回のリリースからちょっと時間が経ってしまって課題がぼやけてきたので、自分用にリマインドしておこうと思う。

v1.1.13 1.1.14

まず、直近リリースを考えているバージョンでやろうとしている課題。

  • [{primary:add}] INSERTとUPDATEクエリを発行できるサブミットボタン用のショートコード[cdbt-submit]の追加(ショートコード内に処理したいSQLをネストさせて実処理をAjaxで呼ぶ形を想定)
  • [{info:modify}] [cdbt-extract]の属性値に存在しないカラムを指定しても処理をスキップしてエラーにしない
  • [{info:change}] CRUDのupdate_data()メソッドにWHERE句が使えるようにする
  • [{primary:add}] CRUDのメソッドにSQLをダイレクトに実行できるrun_query()を追加する(当面、[cdbt-submit] で必要となる)
  • [{info:change}] [cdbt-edit]のentry_page属性を廃止して、自動でエントリーページのショートコードが埋め込まれているページを探して来て取得するように変更する
  • [{warning:fix}] テーブルクリエータでデフォルト値に「NULL」を指定すると、文字列として'NULL'が定義されてしまう不具合
  • [{danger:hotfix}] [cdbt-extract]でのバイナリプレビュー用のモーダルがレンダリングされない不具合

結構あるなぁ…他にもテーブルデータの一覧表示時に格納されているバイナリデータが画像だった場合は、そのまま直接表示できるようにして欲しいという要望など色々あるんだよねぇ…。
──とはいえ、これぐらいのボリュームなら、開発する時間をひねり出して一気にやってしまいたいもんだな。

v2.0.0

さて、こっちはけっこうリリースまではロングスパンになる想定なんだが、メジャーバージョンアップ版として実装したいなぁ…と思っている機能だ。

  • [{primary:change}] JavaScriptおよびCSSのソースをgulp管理に移行する(JavaScriptはCoffeeScriptで機能ごとに細分化、CSSはLESSを採用)
  • [{primary:change}] コアクラスCustomDatabaseTablesのリファクタリング(CRUD部、API部は分離して子クラス化して保守・開発し易くする)
  • [{primary:upgrade}] UI/UXの見直し:(下記のように系図考えてみたが、まだちょっとしっくりこない…)
    • 管理コンソールの大メニューは「ダッシュボード(Dashboard)」「指定テーブル操作(CurrentTable)」「資産管理(Assets)」「設定(General)」
    • ダッシュボード: 「お知らせ」「テーブル一覧」「テーブル作成」
    • テーブル管理: 「データ登録」「データ閲覧」「データ編集」「テーブル編集」
    • 資産管理: 「ショートコード管理」「API管理」
    • 設定: 「各種プラグイン設定」
    • FuelUXを導入して、UXをさらに強化する
  • [{primary:add}] テーブルの複製機能(テーブルスキーマのみコピーした空テーブル作成 & データもすべてコピーする)の追加( 参考URL
  • [{primary:add}] テーブル毎にバックアップ設定ができるようにする(SQLダンプファイルを定期出力して、ネットワークストレージ等へ転送アップロードする仕様 & リアルタイムダウンロード)
  • [{primary:add}] WordPressのコアテーブル群の「データ登録」「データ閲覧」「データ編集」ができる機能
  • [{primary:add}] データインポート/エクスポートの処理をJSON/XML形式ファイルに対応させる(XMLはいらないかもなぁ…。.YAMLとか.sqlの方が便利か?)
  • [{info:add}] オリジナル「データ登録」ページの作成機能(別途開発中の anything-setupプラグインのクラスを組み込む)
  • [{info:add}] 英語版ドキュメンテーションの提供

下の二つが難関だ。まず、昨年末から開発が止まってる「anything-setup」プラグインを仕上げないといかんのよね。あとは、英語版ドキュメンテーションかぁ…こっちやってる余裕なさそうなんで、クラウドソーシングで翻訳の依頼出そうかなぁ(笑

Leave a Reply

Your email address will not be published.