- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
处方:惊人的etherpad最近开源了。在这里获取:http://code.google.com/p/etherpad .这是我在 StackOverflow 上了解到的关于 etherpad 代码的第一个问题。如果您是 etherpad 开源社区的一员,您可能想要订阅 the RSS feed for questions 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
实际上会在每次有人在浏览器中查看 pad 时更新。我宁愿按实际上次编辑的时间对垫进行排序。可能有一个奇特的 SQL 查询涉及与另一个表的连接,该表将显示实际的上次编辑时间。有谁知道那是什么?或者,您可以使用一个脚本来通知 headRev 何时更改,但这似乎不是最干净的方法。
最佳答案
我还没有完全弄清楚我原来问题的答案,但我写了一个实现类似功能的脚本。它的主要目的是导出我所有垫的纯文本版本并将它们存储在我的笔记本电脑上。作为副作用,它向我显示了哪些打击垫发生了变化,并让我看到自上次导出版本以来的差异。它还会显示哪些是新创建的。
首先,在托管您的 etherpad 实例的服务器上创建以下脚本 padlist.pl
:
#!/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
。它会吸取你所有 pad 的快照,并告诉你哪些已经改变,哪些是新出现的。
#!/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;
} }
要查看自上次获取 pad foo 以来的差异:
diff prev/foo.txt foo.txt
关于sql - 查看最近编辑的 etherpads,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2569194/
这个问题出现在 etherpad-open-source-discuss 邮件列表中,我认为把它放在这里会很有用。 最佳答案 只需像这样构造一个 URL 并获取它: http://dtherpad.c
是否有用于 etherpad 的批量导出器? 我们可能需要一个以可发布的形式记录一系列 etherpads 最好包括评论栏, 我的来源:Peter Murray-Rust 的问题和 Friedrich
我正在寻找一个允许我在多个用户之间实时同步文本的库(例如 Google 文档)。 我偶然发现了运营转型,它似乎符合我的需求。话虽如此,我了解 OT 的要点,但不了解 OT 的数学或实现。 因此,我想知
是否可以?如何?我只能创建或编辑创建。我正在使用自己的服务器。 我想管理或至少删除一些键盘。 最佳答案 如果您仍然希望得到答案:通过提供的api。 您需要api key (例如/var/etherpa
我觉得这可能是一个非常愚蠢的问题,但我完全迷失了。我已经看到(并尝试过)大约十种在我的系统上安装 EtherPad 的不同方法,但对如何将它实际合并到我的网页中一无所知。一页似乎告诉我在我的浏览器中打
如何更改etherpad lite中文本的大小?我在 css 文件中找不到任何信息。 最佳答案 我很确定您可以通过编辑 custom static files 来实现这一点。 . 关于Etherpad
我想了解 Etherpad 的时间线功能如何工作。 如果您不知道 etherpad 软件,这里是它的一个实现 - http://piratepad.net/ 进行一些编辑,写一些东西,加粗,使用编辑器
处方:惊人的etherpad最近开源了。在这里获取:http://code.google.com/p/etherpad .这是我在 StackOverflow 上了解到的关于 etherpad 代码的
有人有 EtherPad 数据库架构吗?我用谷歌搜索,看到大量请求,但似乎找不到一个。 我有兴趣去看看。我也很好奇 EtherPad 处理程序的修订/时间表。他们是否为主垫表中的每次保存创建新记录?
如何在 Etherpad 中模拟闪烁的插入符号? (在 ietherpad.com 上查看实时版本)我会这样做的方式是创建一个 div 并将其绝对定位在插入符号应该出现的位置。然后,定期显示和删除它。
我更改了/etherpad/trunk/infrastruction/ace/www/ace2_inner.js 等文件,然后运行 /etherpad/trunk/etherpad/rebuild
我正在尝试将基于 Nutch + Solr 的搜索引擎实现到我的 Etherpad 安装中。我遇到的主要问题是 Nutch 不支持 POST 身份验证。 Etherpad 和 Nutch 安装在同一台
我想在前五个级别分别使用十进制、大写字母、小写字母、大写罗马字母和小写罗马字母。我尝试通过在 pad.css 中编写 CSS 来做到这一点 .list-number1 li:before { co
我正在开发一个 etherpad 插件,它在文本编辑期间提供特殊的自动完成功能。为此,我需要知道用户的插入符在哪里。但是,我不知道用户是否通过单击鼠标来移动插入符号,因为我找不到合适的 Hook 。
尝试执行 etherpad/bin/run-local.sh 时收到以下消息: 线程“main”java.lang.NoClassDefFoundError中出现异常:net/appjet/oui/m
我正在为 etherpad 制作一个插件,用于检查用户是否经过身份验证。如果不是,则显示只读。我到目前为止: var eejs = require('ep_etherpad-lite/node/eej
我设法使用 this Etherpad installation instruction 启动并运行 Etherpad . 它在我的服务器上运行在 http://localhost:9000/ 并通过
我发现了这个:https://github.com/ether/etherpad-lite/wiki/How-to-list-all-pads 但我真的不知道如何使用它。我是否必须修改我的模板/ind
我们如何防止etherpad lite pads被公众访问。有什么办法可以防止对etherpads的未经授权的访问。只有拥有用户名和密码的用户才能访问键盘。 我在 Windows 上使用 etherp
研究 Meteor 来创建一个协作文档编辑应用程序,因为 Meteor 默认在多个客户端之间同步数据非常棒。 但是当使用文本区域时,就像在 Sameer Kalburgi 的例子中一样 http://
我是一名优秀的程序员,十分优秀!