jvelletti/jve-upgradewizard

更新辅助工具,修复了在数据库中添加 Typoscript 和 TSconfig 包含文件的方式。

安装: 49

依赖: 0

建议者: 0

安全: 0

星星: 0

观察者: 1

分支: 0

开放性问题: 1

类型:typo3-cms-extension

12.4.18 2024-06-16 08:21 UTC

This package is auto-updated.

Last update: 2024-09-16 09:00:12 UTC


README

========================

版本 12.4.18 | 16.6.2024

在 PHP 8.3 下测试了 TYPO3 LTS 12.4.16
在 PHP 8.1 下测试了 TYPO3 LTS 12.4.6
在 PHP 7.4 下测试了 TYPO3 LTS 11.4.31 \

在以下数据库表/字段上工作: \

sys_template -> config and constants
pages -> TSconfig
fe_users -> TSconfig
fe_groups -> TSconfig
be_users -> TSconfig
be_groups -> TSconfig

如果你有更多包含 TSconfig 的数据库表,请随时提交 issue 或 pull request。

同时修复了本地开发机器上指定文件夹中文件的文件名和内容,如果需要则重命名文件的扩展名从

'ts', 'txt', 'text' , 't3' , 't3s' , 'tscript' , 'tsconfig' 

'typoscript' 

重要通知

  1. 你应该有一个数据库副本!

  2. 如果页面或 fe_users 很多,可能会很慢

  3. 仅在本地测试后才可以在生产系统上运行此向导

  4. 你应该熟悉 typo3 控制台命令

  5. 你应该使用任何 vcs 如 git

  6. 为简化测试,请复制你的模板文件夹

  7. 将 -vv 替换为 -vvv 以在以下命令中获得更详细的输出

    ./vendor/bin/typo3 upgrade:run jveUpgradewizard_upgradeTemplates -vv

    ./vendor/bin/typo3 jvelletti:updatefiles --path=/test -vv

在数据库中将文件结束符 .ts .txt 和 .text 等更改为 .typoscript 并发出警告

CONST UNWANTED_EXTENSIONS = ['ts', 'txt', 'text' , 't3' , 't3s' , 'tscript' , 'tsconfig' ] ;

@import 'EXT:jve_template/Configuration/TypoScript/TSConfig/TSConfig.ts'
@import 'EXT:jve_template/Configuration/TypoScript/TSConfig/TSConfig.txt'
@import 'EXT:jve_template/Configuration/TypoScript/TSConfig/TSConfig.text'

修复了错误的 "EXT:" 或缺少 "EXT:" 语法

不是必需的,但有助于使扩展更容易调整结果

@import "FILE:EXT:jve_template/Configuration/TypoScript/TSConfig/TSConfig.typoscript"
@import "/typo3conf/ext/jve_template/Configuration/TypoScript/TSConfig/TSConfig.typoscript"

修复了 "INCLUDE_TYPOSCRIPT src="

<INCLUDE_TYPOSCRIPT src="/typo3conf/ext/jve_template/Configuration/TypoScript/TSConfig/TSConfig.typoscript"> 
<INCLUDE_TYPOSCRIPT src='/typo3conf/ext/jve_template/Configuration/TypoScript/TSConfig/TSConfig.typoscript'>

将双引号 " 字符更改为单引号 '

不是必需的,但有助于使扩展更容易调整结果

 @import "EXT:jve_template/Configuration/TypoScript/TSConfig/TSConfig.typoscript"

所有情况下的结果

@import 'EXT:jve_template/Configuration/TypoScript/TSConfig/TSConfig.typoscript'

修复了以 # 开头的行,但保持了注释状态。

如果文件在 fileadmin 中但不在任何 EXT 文件夹中,则发出警告

 @import "/fileadmin/template/TSConfig/TSConfig.typoscript" 

修复了在本地测试系统上的指定模板文件夹中的文件

./vendor/bin/typo3 jvelletti:updatefiles  -vv

输入你的模板文件夹的路径,例如

/vendor/jvelletti/jve-upgradewizard/Configuration/TypoScript/

此扩展附带了一些测试文件。检查内容以查看一些常见的错误/过时的语法 \

你将被要求确认更改,输入 "yes"

你还可以使用给定的路径启动脚本:但仍然需要输入 "yes"

(计划在经过多次测试确认正确性后添加 --force 参数以跳过确认)

./vendor/bin/typo3 jvelletti:updatefiles --path=/vendor/jvelletti/jve-upgradewizard/Configuration/TypoScript/  -vv

控制台命令搜索所有具有定义的结尾的文件

CONST UNWANTED_EXTENSIONS = ['ts', 'txt', 'text' , 't3' , 't3s' , 'tscript' , 'tsconfig' ] ;

如果需要,将这些文件重命名为 ".typoscript",并以与数据库条目相同的方式修复这些文件的更改
没有 "@import" 和 "INCLUDE_TYPOSCRIPT" 的行保持不变 \

从版本 12.4.18 开始也修复了 typocript 行

page.includeJSFooter.main = /typo3conf/ext/ ... main.js
page.includeCss.application = /typo3conf/ext/ ... application.css
shortcutIcon = /typo3conf/ext/ .. icon.ico
logo = /typo3conf/ext/ .. logo.png ( .gif /  .jpg )

限制

  1. 不修复 "/fileadmin" 文件夹中的条目,如 @import "/fileadmin/tscript.ts"
  2. 不修复 CSS/javascript 文件本身,如果背景图像或字体路径是从扩展的公共文件夹加载的

最佳实践

可能需要 3 个步骤:重命名 文件系统中的文件和在 数据库 中更改导入文件的名称,
最后清除 TYPO§ 缓存,网站将暂时不可用。
如果您需要避免此操作并且没有其他选择,请尝试以下步骤

  1. 为迁移创建一个功能分支,例如:"migration-feature"。

  2. 在文档根目录外创建模板文件的副本文件夹,例如:"backup-migration"。

  3. 在模板文件上运行updateData命令。

    ./vendor/bin/typo3 jvelletti:updatefiles --path=/vendor/your-vendor/your-template-ext/Configuration/TypoScript/ -vv

  4. 脚本命令将重命名带有旧扩展名的文件名。

  5. 将此推送到"migration-feature"分支。

  6. 从结果创建一个"final-feature"分支。

  7. 在本地开发机器上通过CLI手动运行Upgradewizard以更新本地数据库条目并进行所需测试。

    ./vendor/bin/typo3 upgrade:run jveUpgradewizard_upgradeTemplates -vv

    成功后

  8. 切换回"migration-feature"分支。

  9. 从"backup-migration"复制旧文件(带有错误的文件扩展名或旧的IMPORT_TYPOSCRIPT语法)。

  10. 将此推送到"migration-feature"分支(因此存在两种文件版本:所需的新的和通过数据库使用的旧的)。

  11. 将此拉取到Web服务器。

  12. 通过CLI手动运行Upgradewizard。

    ./vendor/bin/typo3 upgrade:run jveUpgradewizard_upgradeTemplates -vv

  13. 与步骤10一样,你有文件的两个版本,升级需要时间不是问题。

  14. 与步骤11一样,现在您的数据库应仅使用新的重命名文件,您可以清理。

  15. 要删除旧模板文件,切换到'final-feature'分支。

给扩展维护者的内部提醒

要更新TER中的此扩展
在Documentation\ in Settings.cfg和Index.rst中将版本号更改为"x.y.z"。
创建标签"x.y.z"。
git push --tags

创建新的ZIP文件。
cd vendor/jvelletti/jve-upgradewizard
git archive -o "jve_upgradewizard_x.y.z.zip" HEAD

例如:
git archive -o "jve_upgradewizard_12.4.11.zip" HEAD

将ZIP文件上传到https://extensions.typo3.org/my-extensions
git push

设置packagist Webhook
https://packagist.org.cn/api/update-package?username=jvelletti

从配置文件获取API令牌
https://packagist.org.cn/profile/

检查
https://intercept.typo3.com/admin/docs/deployments
https://packagist.org.cn/packages/jvelletti/jve_upgradewizard
https://extensions.typo3.org/extension/jve_upgradewizard/