閲覧最近の編集etherpads注新etherpad'タグのオープンコetherpadコード!)
-
24-09-2019 - |
質問
運営:驚異の etherpad 最開達した.ここからダウンロードできる: http://code.google.com/p/etherpad.このようなもんのStackOverflowのetherpadます。んの一部のetherpadオープンソースコミュニティするためには購読 のRSSフィードのための質問tagged'etherpad' う場合にはこの捕!
私の質問を前提としていetherpadに設置ご自分のサーバー:
第一に、このクエリーの眺望最近では編集中のパッド:
SELECT id,lastWriteTime,creationTime,headRev
FROM PAD_SQLMETA ORDER BY lastWriteTime, headRev;
または、スケジュールを設定しますから、unix迅速:
mysql -u root -pPASSWD etherpad -e "select id,lastWriteTime,creationTime,headRev
from PAD_SQLMETA order by lastWriteTime, headRev"
ことになるお手軽に、しかし lastWriteTime
実際れてしまった時にいくとの見解を示すパッドをブラウザです。もう少しうるパッドによる入った時の実際の最終編集します。りょう派手なSQLクエリーを含む参加が他のテーブルとして提供される最終編集す。なんだろうけど、日本人に何がですか?また、お客様がスクリプトの注意事項headRev変化がないよう最大について教えてください。
解決
私はかなり私の元の質問への答えを考え出したていないが、私は似たようなを実現するスクリプトを書きました。 これの主な目的は、すべての私のパッドのプレーンテキストバージョンをエクスポートして、私のラップトップ上でそれらを格納することです。 副作用として、それはパッドが変更されていた私を示し、私は最後にエクスポートしたバージョン以降の差分を見ることができます。 また、このものは、新しく作成された番組ます。
まず、次のスクリプトを作成し、padlist.pl
、あなたのEtherPadではインスタンスをホストするサーバー上:
#!/usr/bin/env perl
$list = `mysql -u root -pPASSWD etherpad -e
"select id from PAD_SQLMETA order by lastWriteTime DESC, headRev DESC"`;
$list =~ s/^id\s*\n//s; # get rid of the column header mysql adds.
print $list;
次に、ローカルマシン上で、fetchall.pl
を次のスクリプトを実行します。
それはすべてあなたのパッドのスナップショットを下に吸う、どれが変更されているとされ、新たに登場していることを教えてくれます。
#!/usr/bin/env perl
use LWP::Simple qw(get);
$| = 1; # autoflush.
$server = "server.com"; # the server that hosts your etherpad instance.
$pads = `ssh $server etherpad/padlist.pl`;
@padlist = split(/\s+/, $pads);
$neednewline = 0; # printing "." for each pad where nothing to be done.
for(@padlist) {
$ep = $_;
$localfile = "$ep.txt";
if(-e $localfile) {
$localexists = 1;
$localcontent = do {local (@ARGV,$/) = $localfile; <>};
} else { $localexists = 0; }
$livecontent = get("http://$server/ep/pad/export/$ep/latest?format=txt");
if($livecontent ne $localcontent) {
if($neednewline) { print "\n"; $neednewline = 0; }
if($localexists) {
print "CHANGED: $ep\n";
open(F, ">prev/$localfile") or die "Probably need to create 'prev' dir.";
print F $localcontent;
close(F);
} else { print "NEW: $ep\n"; }
open(F, ">$localfile") or die;
print F $livecontent;
close(F);
} else {
print ".";
$neednewline = 1;
} }
私はそれをフェッチ前回パッドfooの差分を表示するには:
diff prev/foo.txt foo.txt