Personal tools
You are here: Home Lights on Zope Fullcalendar JSONサーバとSqlite3との関係は?
« November 2014 »
Su Mo Tu We Th Fr Sa
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
Comentários recentes
Re:サーバー落ちてた Papasan 2014-10-22
Re:サーバー落ちてた owa 2014-10-22
Re:サーバー落ちてた owa 2014-10-14
Re:サーバー落ちてた Papasan 2014-10-10
Re:サーバー落ちてた owa 2014-10-10
Re:サーバー落ちてた Reiko 2014-09-28
Re:サーバー落ちてた Papasan 2014-09-27
Re:サーバー落ちてた Reiko 2014-09-27
Re:サーバー落ちてた seko 2014-09-24
Re:サーバー落ちてた Papasan 2014-09-23
Re:サーバー落ちてた seko 2014-09-21
Re:サーバー落ちてた Reiko 2014-09-21
taruhanbolaterbesar asia 2014-09-01
Re:Ingressのために購入したアイテム owa 2014-08-19
Trackbacks recentes
http://www.kokueksperts.lv/wp-post.php http://mepa.my/wp-post.php Loyola Admissions 2014-11-27
北京套现 [图文]宇宙最冷之地布莫让星云 绝对零度_0 2014-11-27
南京套现 丁珮曾拍三级片还原李小龙之死秘密:二人几番云雨 2014-11-27
まんが 哲学入門 天竺堂の本棚 2014-02-24
史上最強の哲学入門 東洋の哲人たち 天竺堂の本棚 2014-02-19
「本屋さんで待ち合わせ」三浦しをん 粋な提案 2013-10-01
PythonでCPUの数を調べる。 ヲドリテヒヅル 2012-12-03
ぼくはお金を使わずに生きることにした 紹介 感想 わかめになりたい 2011-12-02
au の HTC EVO がなかなか良かった話 tdtshのブログ 2011-05-25
逆転経済の反響 世界一のバイヤーになってみろ!!坂口孝則の本棚と雑文 2010-12-27
Who Moved My Cheese? 大学生の気ままな書評 おすすめ和書・洋書! 2010-10-30
sekoさんちからPOSTがあったけど・・・ PapaBlog 2010-09-12
Squid(キャッシュサーバーモード)を試してみる PapaBlog 2010-08-25
Apache 2.2のキャッシュ機能を使ってみる PapaBlog 2010-08-08
 
Document Actions

Fullcalendar JSONサーバとSqlite3との関係は?

by seko publicado em 2011-05-25 21:51 last modified 2011-05-25 21:51

マカロニさんからFullcalendarへのプレッシャーが強まってきました。

リレーショナルデータベースにあるデータをSQLで読み取って、カレンダーに表示させることはできそうです。

しかし、カレンダー上に書き込んだり、移動したりしたデータをどうやってデータを保存するのか分かりません。 単純にリレーショナルデータベースに書き込むのではなさそうです。

Papasanは、JSONサーバ とSqlite3を使っているようです。

いろいろ分からないので、責められています。

Papasan内緒で助けてください!

  • JSONサーバとSqliteの関係は? Sqliteは検索のためだけに使っている?
  • そもそもJSONサーバって何?
  • JSONサーバっていうのもSQLで操作するの?
  • JSONサーバからデータを読むときはすべてのデータを読む?
  • JSONサーバはどうやって作るの?
  • JSONサーバとZopeのData.fsとの関係は?
  • JSONサーバーからクライアントにデータを返す例(Extensions)は、SqliteのデータからJSONデータを作り出しているということ?
O URL para efectuar trackback desta entrada é:
http://lightson.dip.jp/blog/seko/2488/tbping

Re:Fullcalendar JSONサーバとSqlite3との関係は?

Posted by Papasan at 2011-05-25 22:59
こっそりですよ!!

Q1. JSONサーバとSqliteの関係は? Sqliteは検索のためだけに使っている?
A1. JSONサーバー(Zope)でJavaScriptの要求を受付け、Pythonの外部スクリプト(Extensionsフォルダ内)を呼び出します。外部メソッドからPythonのsqlite3モジュールをインポートしてSqlite3データベースにSQLでアクセスしています。

Q2. そもそもJSONサーバって何?
A2. ブラウザのJavaScriptと直にデータをやりとりするためのサーバーです。(と思う)

Q3. JSONサーバっていうのもSQLで操作するの?
A3. JSONサーバーはHTTPサーバーの一種(?)ですのでGET、POSTなどのメソッドを使用します。データーベースサーバーではありませんのでSQLでは操作しません。

Q4. JSONサーバからデータを読むときはすべてのデータを読む?
A4. FullCalendarがイベントデータを要求するときに自動でクエリーパラメータを付与して要求します。このパラメーターは、表示しようとするカレンダーの開始日時と終了日時のエポックタイムです。
    なので、JSONサーバー側はこの開始日時と終了日時の範囲にあるイベントデータを返します。

Q5. JSONサーバはどうやって作るの?
A5. Zopeの外部スクリプト(Extensionsフォルダ内)で、import sqlite3 とやればできます。

Q6. JSONサーバとZopeのData.fsとの関係は?
A6. 基本的には無関係です。

Q7. JSONサーバーからクライアントにデータを返す例(Extensions)は、SqliteのデータからJSONデータを作り出しているということ?
A7. まさに、その通りです。

Tip: FirefoxのFirebugでJSONサーバーとJavaScriptがやりとりしているデータ(JSONデータ)そのものを見ることができます。

Re:Fullcalendar JSONサーバとSqlite3との関係は?

Posted by Papasan at 2011-05-25 23:05
訂正:
Q5. JSONサーバはどうやって作るの?
A5. Zopeの外部スクリプト(Extensionsフォルダ内)で、import json とやればできます。

Re:Fullcalendar JSONサーバとSqlite3との関係は?

Posted by Papasan at 2011-05-25 23:44
補足:
Q0. カレンダー上に書き込んだり、移動したりしたデータをどうやってデータを保存するのか分かりません。
A0. FullCalendarには色々なコールバック関数が用意されています。

例えば、カレンダー上に書き込んだときは次のようになります。

select: function(startDate, endDate, allDay, jsEvent, view) {
[...]
$.ajax({url: "/jsonserver/papacalendar/post_event", // JSONサーバーに要求を送信
type: 'post',
dataType: 'json',
data: {
"id": eventId,
"title": dialogTitle,
"start": eventStartDate.getTime(),
"end": eventEndDate.getTime(),
"reminder": eventReminder.getTime(),
"allDay": dialogAllDay,
"className": dialogTag,
"desc": dialogDesc,
"owner": owner
},
success: function() { // JSONサーバーにて登録OK
$('#calendar').fullCalendar('renderEvent',
{
id: eventId,
title: dialogTitle,
start: dialogStartDate,
end: dialogEndDate,
reminder: dialogReminder,
allDay: dialogAllDay,
className: dialogTag,
desc: dialogDesc,
owner: owner
},
false // サーバからはページ表示時のみイベント表示する。
);
$("#dialog-form").dialog("close");
},
error: function() { // JSONサーバーからエラーの応答が返ってきたとき。
updateTips("!!登録に失敗しました、中止ボタンをクリックして下さい。");
}
});
calendar.fullCalendar('unselect'); // select状態を解除する。
},


移動したときは次のようになります。

// イベントの移動
eventDrop: function(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) {
// 権限確認
if (event.owner && event.owner != owner) {
if (!managerRole) {
revertFunc();
return;
};
};

var eventStartDate = event.start.getTime() / 1000;
if (event.end) {
var eventEndDate = event.end.getTime() / 1000;
};

if (event.reminder) {
var eventReminder = (event.reminder.getTime() / 1000) + (dayDelta * 86400) + (minuteDelta * 60);
} else {
var eventReminder = eventStartDate;
};

$.ajax({url: "/jsonserver/papacalendar//change_event",
type: 'post',
dataType: 'json',
data: {
"id": event.id,
"title": event.title,
"start": eventStartDate,
"end": eventEndDate,
"reminder": eventReminder,
"allDay": allDay,
"className": event.className,
"desc": event.desc,
"owner": event.owner
},
success: function() {
},
error: function() {
alert("!!移動に失敗しました。");
revertFunc();
}
});
},

Re:Fullcalendar JSONサーバとSqlite3との関係は?

Posted by seko at 2011-05-26 18:57
ありがとうございます。これで何とか師匠の面子を保てるかもしれません。

以前、素のZope DBを使ってJSONみたいな記事があったという記憶があり、JSONサーバというのはJSONデータを保管するサーバなのかなと思っていました。
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)


Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: