fishawack / triton
Neptune 的 JSON 导出
Requires
- craftcms/cms: ^3.0.0-RC1
README
由于我们的产品名为 Neptune,因此我们的插件也命名为 Triton,因为 Triton 是 Neptune 最大的卫星!
要求
- Docker
安装到 Craft 实例
要安装插件,请按照以下说明操作。
先决条件 - 确保Craft中的composer文件有加载craft文件夹以上所有内容的仓库
-
通过运行以下命令来要求我们的插件
composer require /triton
-
在控制面板中,转到设置→插件,然后点击 Triton 的“安装”按钮。
导入
必须知道!
- 所有产品和部分至少需要一个条目,对于 Bayer,您会看到每个产品都有一个占位符条目
- 请确保您从 Journals.csv 中删除空行
配置 Triton
在 variablesService 中有一些配置数组可用 - 例如,您可以在 getDisregard() 方法中添加更多的忽略状态,您基本上不需要触摸这些。
通过 XLSX 导入
使用新的 XLSX 导入方法,您不再需要担心文本量词,请让作者知道如何从 iEvension 导出,选择正确的产品并导入即可。
使用 Triton (从 datavision 的旧 CSV 导入)
确保您从 Datavision 导出 CSV 时没有文本量词,并使用 ` 作为分隔符
Triton 路线图
一些要完成的事情以及潜在功能的想法
- 在导入之前导出数据库
- 删除比特定时间或限制文件数量的 SQL 文件
- 添加“产品” - 完成!
- 自动检查研究/期刊/会议 - 完成!
- 自动完成应用前端模板 - 完成!
- 设置路由以显示出版物、会议、期刊、研究和标签的 JSON - 完成!
- 创建缓存文件以加快加载速度 - 完成!
- 发布它 - 完成!
由 GeeHim Siu 提供
Neptune
由于Neptune现在可以通过composer安装而无需几乎任何配置,我们不会将README托管在仓库中。这个README现在将在这里:)
工作流程(全新的)
- 创建本地版本的基Neptune
- 设置所有配置
- 上传研究、期刊、会议和出版物(出版物必须最后导入)
- 每次导入后,将导入日志复制到 Excel 表格并发送给作者
- 一旦检查无误,导出数据库
- 在内部服务器上设置版本,确保IT已设置URL
- 导入数据库并检查一切
- 完成!
从 SEED 构建
- 设置 Triton
git clone git@bitbucket.org:fishawackdigital/neptune-triton.git triton
- 使用 composer 创建新项目
composer create-project craftcms/craft <Path>
注意:Triton 必须与 Neptune 项目位于同一目录级别
- 通过将以下内容添加到 composer.json 中将 Redactor 和 Triton 添加到项目中
- 在 'require' 下
"fishawack/triton": "^1.0",
"craftcms/redactor": "^1.0.1"
- 添加新的 'repositories' 对象
"repositories": [
{
"type": "path",
"url": "../triton"
}
]
-
运行
composer install
-
导入 Neptune SEED 数据库 -
-
转到设置 > 字段 > 产品,并添加 Neptune 将拥有的任何产品
-
转到设置 > 资产编辑导入插件,确保文件系统路径指向您的目录结构。(确保 ./storage/import 存在并可写)
-
确保所有插件都处于活动状态,并且每个部分都有一个占位符条目
-
您的Neptune已准备好导入DV数据
从DataVision中提取数据
- 获取DV的登录权限
- 您需要设置记录以导出正确的信息,这些模板已经导出,可以在我们的自动内容文件夹中找到(https://fishawack.egnyte.com/fl/sQKFkrYDe0)。
- 通过转到“报告”选项卡并单击“导入报告”(删除按钮附近的小图标)来导入插件
- 点击每个报告的预览
- 点击导出
- 在左侧面板选择CSV
- 设置列分隔符为`
- 清除文本量词,使其为空
- 勾选“仅导出报告数据”
- 取消勾选“带有列名”
- 选择保存位置
- 点击确定
- 您应该已经导出了期刊、国会、研究、出版物等CSV文件
- 将这些文件上传到Egnyte的“自动内容/Neptune/CMS/您的Neptune”下
将数据导入Craft
请确保在本地而不是服务器上完成导入,那里资源不足!
- 通过导航到web/并运行来运行您的本地安装
php -S localhost:8000
-
转到localhost:8000/admin/triton
-
导入您的csv文件,出版物应该是绝对最后的,并且奇怪的是,您需要对出版物进行两次导入,以确保期刊和国会都包含在内。
-
确保您保留报告以发送给相应的作者
- 新:不存在的记录
- 忽略:数据没有变化
- 更改:有些东西发生了变化,报告将通知您发生了什么
- 删除:这些是在DV导入中不存在的记录,但实际上它们没有被删除,而是被禁用了
-
通过按钮(/admin/triton)创建CSV的导出,这是一个将整个数据集合并在一起的csv文件
-
导出SQL数据以导入到内部版本
测试
这个工具确实应该有一些测试(PHPUnit),然而当我们最初采用Craft3时,它没有实施测试,尽管如此!我创建了一个CheckerController,您可以在其中编写一些人们通常请求的项目。我已经开始编写关于重复数据的测试,您可以在以下链接中看到:http://UrlGoeshere/triton/checker/duplicates?section=publications&status=true
请随时实施更多测试,以便我们可以进行测试,以确保数据的完整性!