Home arrow About arrow Plugins

7月
03
2008

プラグインだけを使った投稿可能なエクステンションを考えてみた

diggに追加!

メールで相談があったので考えてみた。
(たまにそういった相談があったりする。もちろんはじめての方ばかりです。)

Joomla!のエクステンションでできることをまず整理してみた。

  • コンポーネント
    • コンポーネントだけができること
      • 独自のコンポーネントのURLを作ることができる。
        というかつくられる。
      • データベースをインストールできる。
    • 他でもできること
      • データを表示する。
  • モジュール
    • モジュールだけができること
      • ページ内で表示する領域をモジュールポジションで決められる。
        これくらいか・・・。
    • 他でもできること
      • データを表示する。
  • プラグイン
    • プラグインだけができること
      • プラグインが呼び出されるタイミングに合わせてそのデータに対して処理をする。
        これくらい?
    • 他でもできること
      • データを表示する。

さて、書いてみると作成するのに一番面倒そうなのは、コンポーネントですね。次はモジュールでもプラグインでも同じくらいっぽいです。内容によってはといった感じでしょうか。

今回の相談ではまず、

  • 投稿機能
  • 内容をデータに反映(表示)

の2点が大きな目的です。単純に考えるとコンポーネントを作成するしか無いのですが、もしデータベースなりで(データベースでなくてもファイルベースでも構わないならそれでもOK)、とにかくデータを管理することさえできれば、モジュールでもプラグインでもコンポーネント並のことができるのではないかと考えました。

・・・いやいや、もっと簡単なのを思いつきました。

よく考えてみれば、Joomla!のコンテンツのデータベーステーブル(jos_content)には、現在使われていないフィールドが存在します。それを使いましょう。「parentid」です。これを使えば記事のひもづけができる。それなら、記事をデータベース(データを保存するもの)として使えるからデータの保存方法を考えなくても良さそうだ。

そこで、こんな方法は(流れ)どうでしょう。

  • イベント記事を作成する。(コンテンツアイテム)
    プラグインなので何か母体がないと表示されません。なのでイベントがあれば先に告知などをするでしょうから、先にそれを作成する。
  • 記事で表示されるプラグインを作成する。
  • ログインしたら、元のイベント記事IDをparentidとした記事が無ければ、フォームをプラグインで表示する。あれば何もしないか、元のイベント記事IDをparentidとしている記事を表示するか、その記事へのリンクを表示(これが良いでしょうね)する。
    • フォームからの投稿は、表示される記事に向けてPOSTする。(これがミソですか。)
    • POSTされたそのプラグイン用のデータがあれば、そのプラグイン自身でその元記事をparentidとする新規記事に投稿されたデータを処理して記事として格納する。

プラグインに必要な条件処理(パラメータ)

  • イベントカテゴリーまたは、セクションでのみ動作させる。
    やたらめったらフォームが表示されても困る。ログインしないと表示されないけど。
  • 投稿権限レベルの設定(登録ユーザー、編集者など。一般は駄目でなるべく上の方が良い)
    このレベル設定によって投稿したデータ(記事になる)が自動で表示されるのか、管理者が許可しないと表示されないのかを決定するように記事を登録する。具体的には、Authorなら自分の記事だけだし、Editor以下は管理者の許可がいる。Publisherで初めて自分の投稿がそのまま表示されるといった具合です。

できた!!

なんとなくできそうですね。コンポーネントを作成しようと思うとたくさん書かないと駄目ですが、プラグインなら楽そうです。

ここまで書いたらプラグインを作成できる方なら可能ではないかと・・・。

有料ならいくらで作ってくれるかって?
そうですねぇ・・・有料で私が配布しても良くて且つうちのリンク広告付きで5,000円、駄目なら5万円くらいでしょうか(かな~り大雑把)

・・・なんて野郎だ、相談に来ているのにふんだくるのか・・・いや、でも仕事だも~ん。でも、儲けようと思ってたらここまで書かないでしょ・・・。

 

Related Articles

オンラインで3Dのパッケージイメージを作る
Photoshopのアクションであったり、Win用のソフトで3Dのパッケージ風の画像を作成するものは見たことがあったのですが、WEB上で作成できるサイトがありました。 右のような画像をオンラインで作成...
管理画面で便利な QuickLink Previewモジュール
Joomla!1.5では、管理画面上部にPreviewボタンがありますが、Joomla!1.0.xではありません。管理画面に絶えず表示されていて欲しい物のひとつですよね。Joomla! Fr...
SQLインジェクション解析 iLogScanner : IPAから無償ツール
ITproの記事でIPAからSQLインジェクション攻撃をログから検出してくれる無償ツールが公開されたとあったので早速試してみた。 はじめはそのソフトがダウンロードできるものかと思っていたが、ブラウザ...
Updated to 1.0.6 : MovableType XML-RPC Plugin for Joomla!1.5
MovableType XML-RPC プラグインをアップデートしました。  内容 support full MT API MTのAPIでエラーを返さないようにしました。...
Joomler!.netについて
管理者 Joomler!.netはJoomla! CMS 用のエクステンションやWEB制作を業としているフリーランサーが運営しています。 目的 Joomla!...
Joomla! 1.5のアップデート方法:おさらい
1.5.0から1.5.xへの基本的な方法をおさらいしておきます。 英語の苦手な私ですが、Joomla!1.5のアップデート方法は、Joomla!.orgに説明があるので毎回確認された方が良いと...
1.5 Demo を作成しました
Joomla! 1.5RC2のDemoを作成しました。 http://demo.joomler.net/  今後、1.5と1.0.xの両方のバージョンで動作確認をしな...
Windows Live Writerのナイスなプラグイン
Polaroid とこんな風に画像に影をつけ、傾けて貼り付けることができます。 地図の挿入 地図だってこの通り簡単に貼り付けられます。 a smiley! と A Spaces Emoti...
他のサイトへの通過点になっていませんか?
Joomler! GreyBox Showプラグインは、ビジターを逃がしません!?       ...
Updated to 1.0.4 : Frontpage Auto Update for 1.0.x
Please update to 1.0.4 for Frontpage Auto Update. How to update 1. overwrite or reinstall たぶん使ってないと...
このままいくとWEB上ですべて・・・?#02
Joomla! 1.0.13 Demo
Joomla! 1.5 Stableがリリースされました
エクステンションのパラメータでサポートされているタイプ : Joomla!1.5
Javascriptの出力順:Joomla!1.5
Ajax RSS Translation Reader Update!!
自分で作ったエクステンションを使っていない
Joomla!のバックエンドをPrismで開く
DS-Syndicate コンポーネント
SQLインジェクション解析 その後:iLogScanner IPA

C_square_trans.png Components
Joomla! Extensions
M_square_trans.png Modules
Joomla! Extensions
P_square_trans.png Plugins
Joomla! Extensions
Templates
Joomla! Extensions
a_delphi.gif Delphi for PHP
Delphi for PHP related

for Mobile