Personal tools
You are here: Home Lights on Zope Fullcalendar JSONサーバとSqlite3との関係は?
« December 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 31      
Comentários recentes
Re:サーバー落ちてた owa 2014-11-29
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
Re:Ingressのために購入したアイテム owa 2014-08-19
 
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: