トップ 新規 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

FrontPage

CardForm:カード型データベースのためのプラグイン群

CardFormプラグイン全般について

 内容

FreeStyle Wikiでカード型データベースを実現するプラグイン群です。

入力
プラグインにより(wiki書式の範囲で)自由なレイアウトのフォームを作ることができます。
保存
フォームにより入力されたデータは雛型となるページを元に1件毎に、バグトラックのようなbasename/数字というページとして保存されます。
利用
basename/数字形式のページ群をカード型データベースとみなして表を作ったり合計したりできます。

 beta版を公開しました

色々手を加えようと思っていましたが実質beta状態でしたので、今更ですがbeta版と位置付けます。

 インストール

以下のファイルを取得してプラグインディレクトリに展開してください。

 使用方法1:簡単な例

まず、データ入力用のフォームが必要です。

form*プラグインによるフォームの記述

フォームの記述はformで始まるフォーム記述用のプラグインによって行ないます。

*名前: {{formtext name}}
*年代: {{formselect age,10代,20代,30代,40代,50代}}
*好きな物: {{formtext favor,size=30}}
{{formsubmit 投票}}{{formreset リセット}}

これをFavoriteというページに保存します。え?フォームが表示されない?それで正常です。慌てずに。

cardformプラグインによるフォームの表示

次にフォームを表示したい所に以下のように書きます。

{{cardform Favorite}}

これで、フォームを表示するためのプラグインcardformにより、先ほどのフォームを記述したページをインクルードしフォームとして表示します。

データの入力

  • 名前:
  • 年代:
  • 好きな物:

先ほどのフォームに値を記入して投票ボタンを押してください。 そうするとFavorite/1というページができ、先ほど入力した値が保存されていると思います。

 使用方法2:保存用レイアウトを別にする

先ほどのように入力用フォームを配置したページを作ります。

入力用フォーム配置ページ

以下のような内容をBugTrackFormというページに保存します。

,,
,投稿者,{{formtext user}}
,サマリ,"{{formtext subject,size=60}}"
,カテゴリ,"{{formselect category,本体,プラグイン,ドキュメント}}"
,優先度,"{{formselect rate,緊急,重要,普通,低}}"
,状態,"{{formselect stat,提案,着手,完了,リリース済,保留,却下}}"
,内容,"{{formtextarea msg,rows=10,cols=60}}"
{{formsubmit 投稿}}{{formreset リセット}}

入力データレイアウトページ

次に、入力データを保存するページをレイアウトします。

!!!%subject%
*投稿者: %user%
*カテゴリ: %category%
*優先度: %rate%
*状態: %stat%
*日時: %time%
{{bugstate}}
!!内容
%msg%
!!コメント
{{comment}}

これをBugTrack-testとして保存します。

フォームの使用

それではフォームを使用してみましょう。

{{cardform BugTrackForm,BugTrack-test}}

投稿者
サマリ
カテゴリ
優先度
状態
内容

 使用方法3:入力データを利用する

入力されたデータの利用方法です。

入力データの一覧表示

利用方法1のフォームから入力した値を一覧表示するには次のように書きます。

{{cardlist Favorite,名前:*名前: ,年代:*年代: ,好きな物:*好きな物: ,}}
名前 年代 好きな物
strawberry 10代
ドラえもん 10代 どら焼き
1 10代 1
ts 40代 そば
ららら 20代 うたた
10代
30代
10代
てて 10代 てて
みきちゃん 40代 カルボナーラ
10代
50代
50代 リンゴ
U 10代 休日
10代
10代
10代
10代
hoge 10代 みかん
10代
speck movie 48
love rhymes with hideous car wreck video 49
metrowealth movie production 57
charles anderson 44
life goes on video rimes 44
charles louisiana mauer 15
lil flip game over music video 19
ac 130 gunship video clips 48
links 49
new star wars movie release 16
charles winston jewellery 26
natural blue fox fur 22
marvel vs capcom 2 xbox torrent 22
make a fake driver license 35
administration bureaucracy 58
imtoo dvd ripper serial key 37
mathtype serial 5.2a 38
bath tub jacuzzi corner 41
www.valottery.com 19
elberta off trade 44
cellphone ringtones and wallpaper 17
deep cover 17
ai roboform 6.1.9 crack 28
licensing new product 62
scott wills break dance video 47
intouch lock 2.5 serial 53
stress management training 38
aparato respiratorio 30
false prophets 53
medical freezers 55
zfarbegfu 29
fasaquabasete 44
neapoola 20
chifevbocnab 24
covizletomex 44
alcloaleltboc 37
fokvihmletobo 53
reltpricrochi 56
pvarloplb 31
fokpylazt 56
chiricacr 19
etricacel 44
tqcololkotroc 59
varriczbugral 40
qgetfial 39
etnblimsi 31
fudelwbos 38
penfrbegpu 42
fapvmena 24
etaacelacchic 50
rackodel 62
varcdartrde 24
bugtabonozar 64
monacztrocq 53
pasqloracs 39
pvarloplb 39
aflbosnea 34
golcropa 54
sarolnoacel 22
sitsitfaerle 34
begaltnovapo 54
plpesaltbosol 64
cenfokwua 41
chihmrracv 26
xzqalabre 41
defipespum 28
ppihutpol 51
hmzergetdar 63
dronerncpasd 28
texazevtroari 51
fatrpvajen 38
golnezeltrica 18
nrbocmonz 23
qasbaspasac 43
quarelcak 57
sitpllolpfo 23
vareltelt 28
getriczeltndo 29
pygolfizfarpm 50
zlolvaretou 32
epofrxcaf 26
fiensaal 62
darbocbrracq 33
dintexzaxp 30
pubosxdere 31
varbocox 48
menchifaou 36
10代
keystone automotive catalog 34
australia student loans 64
northon antivirus update 43
cabcorp australia 25
asian american business 32
auto industry reports 63
general motor automobile part 60
asia dvds 35
http 16
avg antivirus 7.1 385 48
hertz autovermietung 23
online clothing store australia 38
medical textbooks australia 24
asian beautiful in ladyboy most world 17
africa distributor in required south 57
asian meat sale street 54
roceasia 29
taubman paints australia 40
scouts+australia 34
top 54
asia boat cruise small 31
download norton antivirus definitions update 56
symantec antivirus auto protect is disabled 62
ibc asia.com 16
how to call south africa from canada 53
appriver virus asia 33
south africa apartment 32
miss south africa 1997 32
accessory automotive hokies 19
aphasia association national 49
g 10代
aaaa 10代
acer 3300u driver 48
top 45
national high school federation basketball rules 29
security alarm upgrade 38
site 41
driver conflicts 32
breathless victorias secret 26
king leopolds ghost review 47
russia money 60
rippin rocket roller coaster 22
license for security professions in singapore 25
canon imagerunner 8500 printer driver 20
crossing mall rivertown 29
homeland security job fair 27
bishop verot high school florida 21
spring break destination reviews 56
ministry of foreign affair russia 15
domain 37
page 52
victorias secret thong pics 33
central middle school west melbourne 27
rockiroads.commembers 34
russian cuisine recipes 18
poudre valley school district colorado 62
houston in job officer security 58
officers candidate school navy 44
site 29
paul oakley kiss the river 18
essential resources for schools and libraries 58
rocks and mineral dealer 61
bargain coupon secret victoria 19
birthplace crockett davy 23
riverplate music 63
webmap 33
saddlerock ranch 50
ols school 56
salmon river central school district 58
nokia 6210 review 24
school district 200 woodstock illinois 40
russian composers the five 26
the decorators secret 19
bellwood il school district 88 32
guillemot isis drivers 37
border picture shamrock 16
rippin rocket roller coaster 52
page 26
links 56
casablanca morocco school 62
b camera camera color security security w 42
club machine mc motorcycle rock 40
high his kobe school sweetheart 34
nyu film summer school 53
dance school san francisco 47
sample resume for school administrator 60
nokia prepaid phone card russia 59
russian orthodox cross necklace 64
page 39
napoleon murphy brock 55
russian boys name 47
russian river valley wine 20
secret smiles virus 24
csg security inc. 46
preschool letters and numbers 51
sandals ocho rios review 64
york house school bc 41
high missouri rogersville school 55
prostatic secretion 27
kidrock concert 23
watonka high school 47
2007 conference information lncs security 62
samsung 1080p hdtv 10代
Wordpress Blog Hosting 10代
healthy article 10代
banital weight loss 10代
earthquake emergency 10代
haws eye wash station 10代
LawCrossing 10代
AQUOS LC-70LE632U 10代
daily deals 10代
pepper sprays 10代
elite wordpress 10代
naked 10代
samsung 1080p hdtv 10代
samsung 1080p hdtv 10代
bon iver lyrics 10代
buy k2 wholesale 10代
monitors 10代
cash for gold 10代
click here 10代
bumper scuff repairs Perth 10代
car insurance 10代
corporativa 10代
Vw for sale 10代
Ayam Kampung 10代
scarfs 10代
samsung 1080p hdtv 10代
buy viagra 10代
cctv-systems-los-angeles-los-angeles 10代
Unprotected Sex Results In Unwanted Babies - The Girl Is Always Totally Responsible - teen sex in... 10代
backpacking food ideas 10代
maryland limo services 10代
readymade curtains 10代
phentermine 10代
10代
toyota dealers knoxville tn 10代
10代
dallas home renovation 10代
Wholesale wedding dress 10代
Protoss Tutorial 10代
2 Simple Rules To Get More Dates - how to flirt with girls online 10代
internet tv software 10代
renters insurance texas 10代
Stair runners 10代
Business Grants 10代
job centre online 10代
more details 10代
sinus infection remedies 10代
guillermo valls campos 10代
premium wp themes 10代
itunes codes 10代
clear skin max 10代
group skiing 10代
Weight Loss Pills 10代
Los Angeles Personal Injury Attorney 10代
10代
hard porn 10代
philips norelco 3d shaver 10代
sodastream coupon 10代
Email Deliverability 10代
resume search for employers 10代
here 10代
samsung 1080p hdtv 10代
MARRIED LOOKING 10代
samsung 1080p hdtv 10代
where can i buy twitter followers 10代
fishing canada 10代
Belden 1585A 10代
escorte montreal vip 10代
escorte montreal 10代
Bronx moving company 10代
discount 10代
und 10代
zahnarzt 10代
credit card machines 10代
Best Android Phones 10代
ikea standing desk 10代
blog 10代
online growshop 10代
free gift card for survey 10代
keratin hair treatment 10代
spjeana 10代
jbpimports 10代
10代
graco nautilus 3 in 1 car seat 10代
beat traffic ticket doral 10代
business in catering 10代
my website 10代
gym workouts 10代
homeowners property insurance 10代
gewicht abnehmen 10代
chauffage piscine 10代
video game tester 10代
Blitz Media Marketing 10代
self cleaning litter box 10代
blog 10代
View website 10代
Jess Colabella 10代
bingo foxy 10代
burnout 10代
samsung 1080p hdtv 10代
smoking fetish videos 10代
samsung 1080p hdtv 10代
Blitz Media Marketing 10代
stairlifts india 10代
cars for sale 10代
more info 10代
Nice Laptop Bags For Women 10代
betting 10代
Ephedrin Coffein Aspirin 10代
samsung 1080p hdtv 10代
unlocking htc sensation 4g 10代
samsung 1080p hdtv 10代
dealerbid.co.uk 10代
scam 10代
chicken health 10代
enterrement 10代
Performance 10代
Commission 10代
kratom gebrauch 10代
new jersey personal injury lawyer 10代
orange county cosmetic surgery 10代
the catering business 10代
www 10代
Buy Condoms 10代
Wall Clocks 10代
Saint Thomas Boat Rentals 10代
aluminum dash trim kit 10代
best portable hard drive 10代
Chief projector mount 10代
Online Poker 10代
buy air compressor 10代
Make Money Flipping Websites 10代
Window Repair NYC 10代
Amateur Porno 10代
web hosting 10代
Humanenergetiker 10代
Best Fake Tan 10代
free coupons 10代
insurance tips 10代
welder jobs 10代
Don Hakala 10代
kyle reid shady 10代
10代
Vw cars 10代
puppies 10代
bet online 10代
samsung 1080p hdtv 10代
email marketing 10代
Tripodslik Universal 212af 10代
Connecticut DWI Lawyer 10代
wine clubs directory 10代
site 10代
sustentabilidade 10代
Lunettes de soleil Ray Ban 10代
samsung 1080p hdtv 10代
curso energia solar termica 10代
good website 10代
software development firm san francisco 10代
Car Rental Israel 10代
account options 10代
genetics 10代
weightlifting for women training diet weight loss 10代
Arden Fields 10代
10代
beyonce videos de musica 10代
Singapore Loan 10代
Tenant Background Screening 10代
thermal printers 10代
robot piscine 10代
samsung 1080p hdtv 10代
samsung 1080p hdtv 10代
samsung 1080p hdtv 10代
latest news 10代
samsung 1080p hdtv 10代
samsung 1080p hdtv 10代
supplement distributor 10代
Miami Beach web developer 10代
Trampoline 10代
10代
samsung 1080p hdtv 10代
samsung 1080p hdtv 10代
samsung 1080p hdtv 10代
samsung 1080p hdtv 10代
Goxobecycrery 10代
Test 10代
Goxobecycrery 10代
xasgugct 30代
xmbuon 30代
jonn1 30Âå
ocbjwn 30Âå
pandora 10代
irrmkdah 30代
Eryclicky 10代
undighimimi 10代
undighimimif 10代
kuangpfv 10代
テスト 10代
uzhnmxabzgi 30Âå FLXDhsrrtgH
name 30代 rbCUeVRLqm
cyqnwuzcg 20代 wQNUUVOEcRiGtfQP
Casino employees rigging slot machines 30代 RHYXNQiCYawzdbfkPi
Free multi line online slots 20代 gZUITuSJA
Play free online animated slots 40代 RuatROFBtzLJEWTdoj
Free video and slot games 40代 nuyWVTGu
Nickel slot machine games free 30代 nZflPWCNDzNbbJB
Online slot casinos no deposit 30代 fjPwBelzOIipz
Fun free flash no downloads slots 40代 lSmMRqbjdgKuLJz
Casino free game online slot 30代 WcQEyPrPSXyP
Play slots online with stacked wilds 40代 hNfZChHGQdMsj
no deposit casino chip 20代 aVeaFDMSHhpCUrOX
no cash deposit casino 30代 qmelMRgS
usa no deposit casino bonuses 40代 JiNSdEMp
everest casino 40代 GYLThOYIGFQoC
rival casino no deposit 20代 HlDJcNrZ
free casino no deposit required 30代 sbhciLVy
V@〜・{}{ {#$ 40代 sssssssssssssssssssssssssssssssssssssssssssssssssssss
V@〜・ 40代 sssssssssssssssssssssssssssssssssssssssssssssssssssss
V@〜・{}{ {#$ 40代 sssssssssssssssssssssssssssssssssssssssssssssssssssss
V@〜・{}{ {#$ 40代 V@〜・{}{ {#$  ◎⊂ θadvice
V@〜・{}{ {#$ 40代 V@〜・{}{ {  ◎⊂ θadvice
V@〜・{}{ {#$ 40代 V@〜・{}{ {  ◎⊂ θadvice{ {access 5,v} }
V@〜・{}{ {#$ 40代 V@〜・{ {access 5,v} }
V@〜・{google} 40代 V@〜・{ {access 5,v} }
V@〜・{ {google} } 40代 V@〜・{ {access 5,v} }

20代のデータのみ、名前順に表示したい場合は次のように書きます。

{{cardlist Favorite,*年代: ==20代,%sortby_alphabet%:*名前: ,名前:*名前: ,年代:*年代: ,好きな物:*好きな物: ,}}
名前 年代 好きな物
Free multi line online slots 20代 gZUITuSJA
cyqnwuzcg 20代 wQNUUVOEcRiGtfQP
no deposit casino chip 20代 aVeaFDMSHhpCUrOX
rival casino no deposit 20代 HlDJcNrZ
ららら 20代 うたた

わかりにくいですね。実はこの方法は推奨できません。入力データを扱う場合は利用方法2の保存レイアウトを別にする方法を用いた方がわかりやすくなります。利用方法2の場合、次のようになります。

{{cardlist BugTrack-test,%sortby_alphabet%:stat,ページ:%cardlist_pagename%,カテゴリ:category,優先度:rate,状態:stat,投稿者:user,サマリ:subject}}
ページ カテゴリ 優先度 状態 投稿者 サマリ
BugTrack-test/2 本体
BugTrack-test/3 本体

最初の「BugTrack-test」はBugTrack-test/数字ページが対象で、そのフォーマットはページBugTrack-testが元になっている事を示しています。

次の「%sortby_alphabet%:stat」はstatをアルファベット順(正確には文字コード順)にソートするという事です。

次の「ページ:%cardlist_pagename%」からは実際の表示内容です。この時、%cardlist_pagename%はページ名を表します。

入力件数の表示

利用方法1で「20代の件数/全体の件数」という表示をしてみましょう。

{{cardcount Favorite,*年代: ==20代}}/{{cardcount Favorite}}

5/435

利用方法2の場合、次のようになります。

現在全提案{{cardcount BugTrack-test}}件中
{{cardcount BugTrack-test,stat==提案}}が提案状態で、
そのうち優先度が緊急は{{cardcount BugTrack-test,stat==提案,rate==緊急}}件、
重要は{{cardcount BugTrack-test,stat==提案,rate==重要}}件、
普通は{{cardcount BugTrack-test,stat==提案,rate==普通}}件、
低は{{cardcount BugTrack-test,stat==提案,rate==低}}件です

現在全2件中0件が提案状態で、そのうち優先度が緊急は0件、重要は0件、普通は0件、低は0件です。

 サンプル

http://typer.sakura.ne.jp/wiki/wiki.cgi/cardform?page=FrontPageにて、ここに上げた例を書いています。おいおい、他の例なども書く予定です。

 ライセンス

GPLとします。

 更新履歴

var.3からvar.4alpha1までの主な変更点

  • cardlist,cardcount,cardsum各プラグインで対象データの条件指定をできるようにした。
  • cardlistプラグインでソート指定できるようにした。
  • mod_perl時キャッシュ内容が残り、更新されないバグを修正した。
  • その他幾つかバグフィックスしたけど省略

var.4alpha1からvar.4alpha2までの主な変更点

  • 初期値取得機能の追加
    • cardformのヘルプに初期値取得に関する説明を追加
    • cardformに初期値取得先の判定と登録を行なう部分を追加
    • ラベル値取得正規表現キャッシュを保存するハッシュ変数のキーを変更
    • CardFuncBaseに初期値取得用情報を保存するハッシュ変数を追加
    • CardFuncBase::do_page_cacheの引数numに"init"を渡すと登録した初期値取得先から値をキャッシュするように変更
    • CardFuncBaseにset_initpage,is_set_initpage,unset_initpage,get_initdataを追加
    • FormFuncBaseがCardFuncBaseを継承
    • 前のパラメータを優先するようにFormFuncBase::get_paramを変更
    • form*プラグインに初期値取得と設定を行なう部分を追加
  • 複数行も取得できるようラベル値取得正規表現を変更
    • 正規表現マッチにsオプション追加
    • 必ず値取得部分の前後に文字を入れる
  • cardlistにセルの最大文字数指定機能を追加
  • 幾つかインデントを修正
  • cardformプラグインのヘルプにあった誤記2件を修正

var.4alpha2からvar.4alpha3までの主な変更点

  • サンプル設置サイトのアドレス変更
  • cardlistのセル内最大文字数指定機能において末尾の文字列処理厳格化と3バイト文字への対応
  • 値取得時の生成正規表現をすこし改良

var.4alpha3からvar.4alpha4までの主な変更点

  • 日付入力フォームの設置・処理をやりやすくするformdatepickerプラグインの追加
  • formselectプラグインで初期値(selected)が設定できなかったバグの修正

var.4alpha4からvar.4alpha5までの主な変更点

  • 修正フォーム時にもformdatepickerプラグインの初期値が現在日時とないっていたバグの修正

var.4alpha5からvar.4alpha6までの主な変更点

  • 修正フォーム時にformdatepickerプラグインの初期値取得がうまくいっていなかったバグの修正

var.4alpha6からvar.4beta1までの主な変更点

  • 今更ですがβ版とした
  • fromcheckbox、formradioプラグインにaccesskey設定オプションを追加した
  • 扱うページに対し権限がない場合はエラーとするようにした
    • cardformにおいてフォームページが存在するが参照権限を持たない場合はエラーメッセージを表示しフォームを出力しない
    • cardformにおいて以下の場合にはエラーメッセージを表示しフォームの送信ボタンを無効にする
      • ベースページが存在するが参照権限を持たない
      • 保存ページ指定時にページ名に使用できない文字が含まれる
      • 保存ページが存在するが参照権限を持たない
      • 保存ページの編集権限または新規ページ作成権限を持たない
    • データ送信時にベースページが存在するが参照権限を持たない場合はエラーメッセージを表示し処理を中断する
    • ページ更新または新規作成時に以下の場合はエラーメッセージと送信データのプレビュー表示のみ行ない、ページの保存は行なわない
      • ページ名に使用できない文字が含まれる
      • 保存ページが存在するが参照権限を持たない
      • 保存ページの編集権限または新規ページ作成権限を持たない
    • cardcount、cardsumにおいてベースページが存在するが参照権限を持たない場合はエラー扱いとして文字を返さない
  • 新規にページを作成した場合、ベースページが存在していれば、その参照権限、編集権限を継承するようにした
  • ベースページ等の各ページを読んでパースするループ部分を改良した

ページが存在しません。

最終更新時間:2006年10月03日 23時18分42秒