在现有Web门户上实现VCS

时间:2015-02-21 13:53:00

标签: git web version-control portal

我的大学有一个web portal。许多不同的人维护着许多不同类型的页面。我想在其上实现一种VCS系统,以便管理员可以看到页面被更改,删除或添加。问题是,作为一名学生,我很可能无法访问服务器和文件系统。即使我这样做,用户也不会发现任何差异(或者界面对非专业人士非常友好)非常重要。

我看到解决方案的方法是制作一个小型网络抓取工具,它将遍历每个内部链接并记下它看到的所有内容。然后在数据库上实现一个git,例如。

好吧,我们对此有任何想法。

1 个答案:

答案 0 :(得分:1)

在从技术角度说话之前,我想你应该问问自己:你是谁在解决问题?

  • 这只是因为实施这种解决方案听起来很有趣吗?
  • 它只影响少数学生吗?
  • 它还能帮助你的大学员工吗?

我的猜测是你的大学不想要一个糟糕的门户网站。所以他们不想要一个难以使用的工具(并且容易搞砸)。所以他们可能想帮助你改进它。

因此,即使您是学生,也可以尝试与您的大学教职员/系统管理员携手合作。

首先,它可能比您自己实施的爬虫更复杂。因为你会依赖于其他人(他们可能没有相同的观点)。而且因为有时人们会抵制变革。

但是,如果您可以与系统管理员携手合作,则可以使用合适的工具并避免重新发明轮子。 (我想现在每个体面的CMS都拥有你想要的所有功能:保持历史性,通知观察者,对非技术人员直观,......)。

我的建议是:开始做一些最先进的研究。找到有前景的工具从你的角度和大学工作人员的角度来衡量专业人士(拥有相关工具)和缺点(例如:迁移是否有成本)。然后转到您的系统管理员与他们讨论这个问题。


现在让我们考虑一下你必须处理一个网站的情况,你绝对不能与管理员取得联系。然后,唯一的解决方案似乎就是您的建议:使用网络爬虫。

从技术角度来看,你可以举例:

  • 使用wget抓取网站(它拥有您可以梦想的所有选项,可以关注网址,检索图片和文档,如果您需要进行身份验证,则可以处理Cookie,...)
  • 在git仓库中复制此本地副本,并在每次抓取网站时进行新的提交
  • 创建cron以定期进行备份

无论您是使用它的实现还是修改版本,我能想到的缺点至少是:

  • 您的系统管理员可能不太热衷于让某人定期下载整个网站
  • 无论如何都不容易恢复备份,因为我们一直在考虑您无法访问门户后端或数据库
  • 拥有您想要的其他功能会更加出色(例如:让用户观看更改)
  • 这个工具会有维护成本,因为它最终会因为我们今天无法预见的原因而中断,并且需要修复。即使您愿意自己支付这笔费用,您离开大学的那天会发生什么?