fishawack/triton

Neptune 的 JSON 导出

安装: 45

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:craft-plugin

1.1.5 2022-02-28 13:23 UTC

This package is auto-updated.

Last update: 2024-09-28 19:26:02 UTC


README

由于我们的产品名为 Neptune,因此我们的插件也命名为 Triton,因为 Triton 是 Neptune 最大的卫星!

要求

  • Docker

安装到 Craft 实例

要安装插件,请按照以下说明操作。

先决条件 - 确保Craft中的composer文件有加载craft文件夹以上所有内容的仓库

  1. 通过运行以下命令来要求我们的插件

     composer require /triton
    
  2. 在控制面板中,转到设置→插件,然后点击 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 构建

  1. 设置 Triton
git clone git@bitbucket.org:fishawackdigital/neptune-triton.git triton
  1. 使用 composer 创建新项目
composer create-project craftcms/craft <Path>

注意:Triton 必须与 Neptune 项目位于同一目录级别

  1. 通过将以下内容添加到 composer.json 中将 Redactor 和 Triton 添加到项目中
  • 在 'require' 下
    "fishawack/triton": "^1.0",
    "craftcms/redactor": "^1.0.1"
  • 添加新的 'repositories' 对象
"repositories": [
      {
         "type": "path",
         "url": "../triton"
      }
  ]
  1. 运行 composer install

  2. 导入 Neptune SEED 数据库 -

  3. 转到设置 > 字段 > 产品,并添加 Neptune 将拥有的任何产品

  4. 转到设置 > 资产编辑导入插件,确保文件系统路径指向您的目录结构。(确保 ./storage/import 存在并可写)

  5. 确保所有插件都处于活动状态,并且每个部分都有一个占位符条目

  6. 您的Neptune已准备好导入DV数据

从DataVision中提取数据

  1. 获取DV的登录权限
  2. 您需要设置记录以导出正确的信息,这些模板已经导出,可以在我们的自动内容文件夹中找到(https://fishawack.egnyte.com/fl/sQKFkrYDe0)。
  3. 通过转到“报告”选项卡并单击“导入报告”(删除按钮附近的小图标)来导入插件
  4. 点击每个报告的预览
    • 点击导出
    • 在左侧面板选择CSV
    • 设置列分隔符为`
    • 清除文本量词,使其为空
    • 勾选“仅导出报告数据”
    • 取消勾选“带有列名”
    • 选择保存位置
    • 点击确定
  5. 您应该已经导出了期刊、国会、研究、出版物等CSV文件
  6. 将这些文件上传到Egnyte的“自动内容/Neptune/CMS/您的Neptune”下

将数据导入Craft

请确保在本地而不是服务器上完成导入,那里资源不足!

  1. 通过导航到web/并运行来运行您的本地安装
php -S localhost:8000
  1. 转到localhost:8000/admin/triton

  2. 导入您的csv文件,出版物应该是绝对最后的,并且奇怪的是,您需要对出版物进行两次导入,以确保期刊和国会都包含在内。

  3. 确保您保留报告以发送给相应的作者

  • 新:不存在的记录
  • 忽略:数据没有变化
  • 更改:有些东西发生了变化,报告将通知您发生了什么
  • 删除:这些是在DV导入中不存在的记录,但实际上它们没有被删除,而是被禁用了
  1. 通过按钮(/admin/triton)创建CSV的导出,这是一个将整个数据集合并在一起的csv文件

  2. 导出SQL数据以导入到内部版本

测试

这个工具确实应该有一些测试(PHPUnit),然而当我们最初采用Craft3时,它没有实施测试,尽管如此!我创建了一个CheckerController,您可以在其中编写一些人们通常请求的项目。我已经开始编写关于重复数据的测试,您可以在以下链接中看到:http://UrlGoeshere/triton/checker/duplicates?section=publications&status=true

请随时实施更多测试,以便我们可以进行测试,以确保数据的完整性!