1

我在服务器上有一个 Foswiki wiki。是否可以在没有 FTP 访问的情况下编写以下脚本(由于各种原因我不能使用它):

  1. 下载主题的wikitext,在本地修改,然后再次上传(覆盖主题)

  2. 将 wikitext 上传到新主题

我一直在手动执行这些任务,但我想将它们自动化。我查看了 Foswiki API 和一些插件,但似乎没有什么能做到这一点。

有办法吗?(任何编程语言)

4

2 回答 2

3

如果您有 Web 访问权限,则可以从脚本远程驱动 bin/view 和 bin/save 脚本。

以我们的 BuildContrib 上传目标为例。它获取一个罢工键并下载原始主题以恢复任何表单数据。然后它上传主题文本,创建一个新版本。它是用 perl 编写的,并使用 LWP。

https://github.com/foswiki/distro/blob/master/BuildContrib/lib/Foswiki/Contrib/BuildContrib/Targets/upload.pm

于 2016-02-28T17:52:41.727 回答
1

以下不是(!)正确的解决方案(肯定存在一个很好的 Foswiki 方法),但如果你知道 perl,你可以用以下方法做任何事情:

  1. 安装火狐
  2. MozRepl插件安装到其中
  3. 安装WWW::Mechanize::Firefox perl 模块

现在,您可以编写任何您可以直接从浏览器执行的操作,例如登录 Foswiki、单击按钮、保存主题等。缺点——这不是一个简单的方法——你需要知道很多细节。

我自己使用这种技术进行测试。

于 2016-02-28T17:48:53.787 回答