WaffleDB

説明

WaffleDB は、WordPress 用のノーコードデータベース管理プラグインです。管理画面から自由なカラム構成でカスタムテーブルを定義し、組み込みの Web インターフェースまたは REST API 経由でレコードの作成・参照・更新・削除 (CRUD) を行うことができます。

機能

  • 柔軟なカラム構成でカスタムテーブルを作成
  • Web インターフェースを通じた CRUD 操作 (作成、参照、更新、削除)
  • ロールベースのアクセス制御 (テーブルごとに読み取り、作成、更新、削除を設定可能)
  • 26種類の列タイプ: テキスト、テキストエリア、整数、浮動小数点数、メールアドレス、日付、日時、時刻、URL、画像 URL、画像アップロード、ファイルアップロード、YouTube、HTML テキスト、Markdown、JSON、UUID、リレーション、ラジオボタン、セレクト (ドロップダウン)、チェックボックス、位置情報、パスワード、範囲スライダー、カラー、住所 (Google マップリンク付き)
  • フォームセット機能: カラム定義を再利用可能なテンプレートとしてまとめ、ワンクリックでテーブルに適用可能
  • テーブルと行の複製
  • CSV エクスポート
  • 正しい HTTP ステータスコードに対応した WP REST API (/wp-json/waffledb/v1/records/) に加え、従来型の admin-ajax API も利用可能。いずれも API トークン認証に対応
  • ブロックエディター対応: テーブル選択機能を備えた「WaffleDB テーブル」ブロックと「WaffleDB レコード」ブロックを追加
  • ショートコード対応: [waffledb table_id="X"] および [waffledb_item table_id="X" item_id="Y"]
  • 大規模データセット向けの DataTables 連携 (1,000件以上のレコードで AJAX 表示に自動切替)

制限事項

  • 1サイトあたり最大6テーブル
  • 1テーブルあたり最大15カラム

ブロック

このプラグインは2個のブロックを提供します。

  • WaffleDB Record Display a single WaffleDB record.
  • WaffleDB Table Display a WaffleDB table with data management UI.

インストール

  1. waffledb フォルダを /wp-content/plugins/ ディレクトリにアップロードするか、WordPress のプラグイン画面から直接インストールしてください。
  2. WordPress のプラグイン画面からプラグインを有効化してください。
  3. 管理メニューの WaffleDB から、最初のテーブルを作成してください。
  4. データ構造を定義するカラムを追加し、レコードの入力を始めましょう。

評価

このプラグインにはレビューがありません。

貢献者と開発者

WaffleDB はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“WaffleDB” は1ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“WaffleDB” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

1.10

  • 正しい HTTP ステータスコードに対応した WP REST API (/wp-json/waffledb/v1/records/{table_id}) を追加。既存の admin-ajax API と併存し、いずれも API トークン認証に対応
  • 範囲スライダー、カラー、住所 (Google マップリンク付き) の列タイプを追加
  • 列の一意制約と最小値、最大値のバリデーションルールを追加
  • データ一覧の上に詳細検索フォームを追加。列ごとの検索条件 (テーブルごとにオプトイン) と、ブロックごとの表示モード切り替え (DataTables、プレーン HTML) に対応
  • テーブルに列が定義されていない場合、レコード追加画面にメッセージを表示するよう追加
  • テーブル・列の管理一覧における名前と表示名の表示順を修正
  • WaffleDB についてのマニュアルページを、現在の全機能に対応する内容に更新

1.9

  • フォームセット機能を追加: カラム定義 (選択肢タイプやアップロードタイプを含む) を再利用可能なテンプレートとしてまとめ、ワンクリックでテーブルに適用可能。初回インストール時にサンプルとして「商品」「配送先住所」セットを自動登録
  • 位置情報型カラムタイプを追加: 緯度、経度を別々のカラムに保存し、Google マップへのリンクとして表示
  • パスワード型カラムタイプを追加: 入力、表示時にマスク処理 (保存は平文)
  • JSON 型および UUID 型のカラムタイプを追加
  • テーブルの複製 (カラム・選択肢・権限を含む) およびレコードの複製機能を追加
  • カラムごとに「一覧に表示」設定を追加し、一覧表示から特定のカラムを非表示にできるように
  • テーブル設定に「すべてのデータを削除」(truncate) 機能を追加
  • WaffleDB についてのマニュアルページを、現在の全機能に対応する内容に更新
  • テーブルの複製やフォームセット適用時に発生していた「headers already sent」警告を修正

1.8

  • チェックボックス型カラムタイプを追加 (設定可能な選択肢リストからの複数選択、ラジオボタン、セレクトとストレージ、UI を共有)
  • カラムタイプ選択リストの並び順を変更: テキスト、テキストエリア、HTML テキスト、Markdown、リレーションを、セレクト、ラジオボタンより前に表示するよう調整

1.7

  • メール型カラム追加時の致命的エラーを修正 (validate_data () メソッドの欠落)
  • マイグレーション時の admin_init における致命的エラーを修正 (waffle_migrate から waffledb_migrate)

1.6

  • HTML テキスト型カラムタイプを追加 (許可タグ: a、 font、 b、strong、i、em、span、p、br、ul、ol、li)
  • カラムタイプの許可リストに mediumtext を追加し、ALTER TABLE が無言で失敗する不具合を修正
  • バリデーションがレコード書き込み前に実行されるよう、カラムメタデータの挿入順序を修正

1.5

  • セキュリティ強化: ショートコード・コールバックの戻り値をエスケープ処理 (WordPress が描画する WP_List_Table のカラムコールバックを含む)
  • セキュリティ強化: フロントエンドの詳細画面において、レコード削除前に削除権限のチェックを追加
  • セキュリティ強化: 管理画面の AJAX ハンドラーおよびフォームコントローラー全体で nonce および権限チェックを強化
  • セキュリティ強化: 動的 SQL 識別子を %i プレースホルダーに変更し、識別子、型に対する厳格な許可リスト検証を追加。また、値についても prepare () によるパラメータ化を実施
  • メール型カラムタイプを追加
  • 有効化・マイグレーション処理内の SHOW TABLES クエリの不備 (閉じ引用符の欠落) を修正

1.2

  • 浮動小数点 (double) 型カラムタイプを追加
  • CSV ダウンロードが空の内容を返す不具合を修正
  • CSV ダウンロードのエンコーディングを UTF-8 に修正
  • API の構文エラーを修正
  • コンポーネントタイプの表示名を改善
  • 非推奨の load_plugin_textdomain() 呼び出しを削除 (WordPress 4.6 以降は自動読み込みのため)
  • コードおよびディレクトリ構造のリファクタリング

1.1

  • レビュー後の修正

1.0

リリース日: 2024年3月30日

  • 初回リリース