从版本 6 升级到版本 7
From LimeSurvey Manual
LimeSurvey 7 主要版本
本页概述了 LimeSurvey 7 引入的主要变更,并提供相关文档页面的链接。
LimeSurvey 7 的主要变更
修改后的答复表和字段名结构
LimeSurvey 7 对答复表和字段名的生成方式进行了结构性清理。此变更提高了一致性,使平台更易于维护和扩展。
更多详细信息请见:字段名和答复表重构 - LimeSurvey 7
新的问题编辑器
LimeSurvey 7 还引入了新的问题编辑器,具有更新的用户界面,并改进了创建和管理问题的工作流程。
更多详细信息请见:LimeSurvey 7 中的新问题编辑器
RemoteControl API 变更
RemoteControl 2 API 的返回结果已得到改进,除错误文本外还会返回错误代码。有关这些变更,请查阅 RemoteControl 2 API 文档。根据您处理返回值的方式,这一变更应该是向后兼容的,但在您的实现中可能无法被正确处理。
更多详细信息请见:RemoteControl 2 API
时区变更
在版本 6 及更早版本中,记录的时间戳没有确定的时区,取决于服务器的日期/时间。迁移到版本 7 时,旧的“时差”设置会在可能的情况下被迁移,此后所有时间戳均以 UTC 时间戳记录。旧的时间戳不会被迁移。 您可以在全局设置中设置默认的全局时区,也可以为每个用户单独设置时区。这些设置仅影响数据的显示。导出和 RemoteControl API 只接受/提供原始时间戳。
自定义调查主题
所有与 LS6 兼容的调查主题在升级后将保持启用。如果调查主题与 LS6 不兼容,则会被卸载,并且全局设置、分组设置和调查设置中的主题选项将重置为新的默认值。
升级策略:
- 从旧应用程序中导出调查主题
- 在将其导入新应用程序之前,请确保兼容性标签设置正确:https://manual.limesurvey.org/Extension_compatibility#Survey_themes
- 将其导入新应用程序
- 检查您为调查主题自定义的代码,并根据您要使用的新版本应用程序进行更新。
- 从新应用程序中导出更新后的自定义调查主题
- 升级后,与 LS6 兼容的调查主题将保持启用,而较旧的主题将被卸载。
- 如果您选择更新某个调查主题,现在可以导入它。在确认其已正确更新后,您可以选择删除旧的主题。
自定义管理员主题
默认的管理员主题将默认启用。 自定义主题将保持不变,但除非更新,否则无法重新启用。
自托管应用程序:
- 在将管理员主题复制到新应用程序之前,请确保兼容性标签设置正确:https://manual.limesurvey.org/Extension_compatibility#Admin_themes
- 将现有的管理员主题从旧应用程序复制到新应用程序 https://manual.limesurvey.org/Custom_Admin_Themes
- 检查您为管理员主题自定义的代码,并根据您要使用的新版本应用程序进行更新。
- 升级旧应用程序后,默认会显示我们的新管理员主题。要更新您之前安装的管理员主题,请选择以下任一方式:
- 手动更新当前被标记为不兼容的管理员主题的代码
- 删除旧的管理员主题,并安装您之前在测试环境中更新好的新主题。
Cloud 用户:
请联系我们的支持团队。
自定义问题主题
与当前版本不匹配的自定义问题主题无法安装,但在升级后仍将保持启用。 有关问题主题的更多信息,请见此处:问题主题。插入到调查主题或调查中任何问题里的自定义 JavaScript 也很可能无法继续正常工作。
升级您的自定义问题主题:
- 从网站下载问题主题,或导出当前的问题主题
- 在上传之前,请确保您的自定义问题主题的兼容性设置正确
- 尝试将您的问题主题上传到新应用程序。
- 如果是您自己创建的问题主题,请进行必要的调整
- 上传成功后,请检查该问题主题是否正常显示并按预期工作。
升级不属于您的主题:
请查看提供该主题的网站或开发者是否有可用的更新
自定义插件
与当前版本不匹配的自定义插件将在升级过程中被停用。
自托管应用程序:
- 检查该插件是否可以安装在新版本上。
- 更新插件,或联系插件作者更新插件。
- 在您的应用程序中用新文件手动覆盖插件(这将保留设置),或者卸载旧版本并重新安装新版本(这种情况下需要重新输入所有设置)。
Cloud 用户:
- LimeSAML 将保持启用
- 检查该插件是否可以安装在新版本上。
- 更新插件代码,或联系插件作者更新插件。
- 安装选项:
- 卸载旧版本并重新安装新版本(所有设置都将丢失,需要重新应用)
- 联系支持团队对插件进行更新,而不丢失配置数据
要求
| LimeSurvey 6 | LimeSurvey 7 | |
|---|---|---|
| PHP | 7.4 或更高版本 | 8.1 或更高版本(推荐 8.3) |
| MySQL | 8.0 或更高版本 | 8.0 或更高版本 |
| MariaDB | 10.3.38 或更高版本 | 10.3.38 或更高版本 |
| PostgreSQL | 12 或更高版本 | 14 或更高版本 |
| MSSQL | 2016 或更高版本 | 2019 或更高版本 |
| URL 格式 | get 或 path |
path,新编辑器必需
|
您无需安装 Node.js 或 npm。新编辑器已包含在 LimeSurvey 安装包中,可直接使用。
开始之前,请先对您的文件和数据库进行完整备份,并先在安装副本上测试升级。升级一旦运行,除了恢复该备份外,没有其他方法可以回退。
请规划一个维护时段。在数据库升级期间,LimeSurvey 会将站点切换到维护模式;对于包含大量反馈数据的安装,这可能需要一段时间。
推荐:使用我们的 ComfortUpdate 服务
最简单、最安全的升级方式是使用我们的 ComfortUpdate 服务。 它会为您下载并安装新版本,因此您无需手动替换任何文件。
如果您更愿意手动升级,请按照以下步骤操作。
手动升级
- 备份您的文件和数据库,并将站点切换到维护模式。
- 保留旧安装中的以下文件和文件夹:
application/config/config.phpapplication/config/security.phpapplication/config/allowed_hosts.phpupload/文件夹,其中存放您上传的文件、用户佈景主題和用户插件plugins/文件夹(如果您手动将插件安装到了该文件夹中)
- 下载 LimeSurvey 7 安装包,并使用以下方法之一更新安装:
- 先删除旧文件。 将上面列出的文件移动到其他位置,删除 LimeSurvey 目录中的其余所有内容,将新安装包解压到该目录,然后将保留的文件放回原处。
- 或者用新文件覆盖旧文件。 将新安装包解压到现有安装之上,让其覆盖已有文件,同时不要改动上面列出的文件。
- 无论选择哪种方式,都请使用安装包中新的
.htaccess,因为 6.x 版本的该文件无法用于新编辑器。之后请清空tmp/runtime/,以免残留版本 6 的缓存数据。 - 在
application/config/config.php中将 URL 格式设置为path。 - 请确保您的 Web 服务器直接提供
/editor/文件夹,并将Authorization标题传递给 PHP。更多详细信息:LimeSurvey 7 中的新问题编辑器 - 运行数据库升级。LimeSurvey 会检测到较旧的数据库版本并提示升级。请确认,并让其完整运行完毕,不要中途中断。
- 完成后,关闭维护模式,并逐项完成下面的检查清单。
升级之后
- 检查管理页面页脚中的版本号。
- 逐个重新激活您需要的插件。
- 打开一个调查,确认新编辑器能够正常加载。
- 对每个已激活的调查运行一次完整的测试反馈,涵盖条件、配额、电子邮件和结束URL。
故障排除
出现有关 URL 格式的“需要操作”消息。 URL 格式仍为 get。请将其更改为 path 并清空 tmp/runtime/。
编辑器已加载但内容为空。 Authorization 标题未传递到 PHP。
/editor/ 显示 LimeSurvey 页面或“未发现”错误。 请检查您的 Web 服务器配置,确保 /editor/ 文件夹被直接提供,而不是通过 LimeSurvey 路由。
“您无法在新的问题编辑器中使用此佈景主題”。 该调查使用的佈景主題并非基于 fruity_twentythree。请切换佈景主題,或继续使用经典编辑器。
插件在重新激活后导致错误。 该插件与 LimeSurvey 7 不兼容。请将其停用,并向其维护者咨询。
备注
每项重大变更都记录在各自独立的页面中。这有助于使文档保持重点突出,也便于您查找与您的配置相关的信息。