切换CMS的工具和技巧

Jim*_*mmy 5 django joomla drupal content-management-system

我在一所大学工作,在过去的一年里,我们终于脱离了数千页的静态HTML网站,转移到Drupal网站.这显然需要大量的数据输入.

如果您已经使用CMS并转换到更适合您需求的另一个CMS,该怎么办?在如此巨大的变化中,您如何最大限度地减少数据输入?是否有为此构建的工具,或者应遵循的一些最佳实践?

Mat*_* V. 7

Drupal 的Migrate模块将提供很大的帮助.该Economist.com数据迁移到Drupal的会给你的过程的概述.

来自移民视频:不仅仅是 Drupalcon DC 2009上的鸟类演示可能有些过时,但也提供了很好的介绍.


J-P*_*J-P 5

  • 无论发生什么,都必须手动预处理和后处理您的数据.尽早接受您的数据可能处于比您想象的更糟糕的状态:字段将被滥用; 记录到记录的引用(外键)可能无法正确实现,或者根本没有实现; 内容可能需要除草,偶尔也可能是坏的或不正确的.

  • 检查数据库编码.较旧的数据库不会采用Unicode编码,如果必须导出数据转储并将其导入其他地方,则会变得脾气暴躁.即便如此,假设你的数据中会有一些古怪的非打印字符:像Word这样的程序似乎以某种方式将它们注入到各处,我看到......代码点......你们不会相信.在为这些字符启动(甚至扫描数据库转储)之前,请考虑扫描数据.在例如Word"智能"标点字符的情况下,决定是否将它们垃圾或尝试转换它们.

  • 从隐含的数据结构创建显式数据结构非常困难.如果您的传入数据具有单独的日期字段,则可以将其映射到日期字段; 如果它有一个日期作为大块HTML的一部分,即使该日期在具有id属性的标记中,简单脚本也不起作用.您可以使用BeautifulSoup的离线脚本或(如果您的HTML更好一点)更快的lxml来预处理您的数据集,提取这些隐式字段,并将它们保存为隐式格式.考虑创建一个中间数据库来进行这些修订.

  • Migrate模块非常出色,但要获得非常好的数据保真度并发挥更巧妙的技巧,您可能需要了解其钩子系统(Drupal的术语,用于遵循特定命名方案的函数)以及编写模块以将这些钩子放入的基础知识(模块大致只是一个PHP文件,其中所有函数都以相同的文本开头,即模块文件的名称.)

  • 所有导入的内容都应标记为至少粗略检查.您可以通过导入status = 0即unublished来执行此操作,然后使用Views模块创建一个视图以浏览内容并在其他选项卡中打开它以进行检查.视图批量操作允许您在视图项旁边有一组复选框,因此您可以同时批准多个节点.

  • 期望运行并重新运行并重新运行导入,每次都修复新事物.尽早检查十个或二十个项目.如果有任何问题,请检查十或二十个.修复并重复导入.

  • 衡量单次导入运行可能需要多长时间.悲观:当我们引入完整的数据集时,我们有一个导入,我们预计需要十个小时才会遇到指数减速; 直到我们最终修复了一些缓慢的查询,预计需要两周时间.

  • 如果有疑问,或者如果您认为上述技术方面只需要比工作本身花费更多时间,那么只需雇用临时工来做数据.但是,在工作期间,您仍然需要尽可能早的质量控制.Drupal开发人员也可以租用:尝试您所在国家/地区的相关IRC频道,或在相关groups.drupal.org组中发布说明.他们比临时工更贵,但他们通常会写出更好的PHP ......!考虑雇用一个代理机构:这是一个无耻的插件,因为我为一个工作,但有时最好让专家为这些特定的工作.

  • 真正好的进口总是很难,比你想象的要难.不要让它让你失望!