Magnolia CMS 导出导入用户

Magnolia CMS export import users

目标:我想从给定的 Magnolia CMS 实例导出用户,然后将其导入另一个实例。


我试过的

从给定的 Magnolia CMS 实例导出

  1. 打开admin central
  2. 点击 App Launcher 中的 Tools > JCR Tools
  3. 单击 Exporter 选项卡
  4. Select users 工作区 & 输入 /admin 作为路径
  5. 点击Execute

然后在另一个实例中导入

  1. 打开admin central
  2. 单击 App Launcher
  3. 中的 Tools > JCR Tools
  4. 单击 Importer 选项卡
  5. Select users 工作区并为路径键入 /admin
  6. 上传之前导出的文件(参见“从给定的 Magnolia CMS 实例导出”的步骤
  7. 点击Execute

但是,我最终在 Users 选项卡(在 Security 下)中得到了一个 admin 父文件夹。


资源

Importing and exporting JCR data

您解释的行为绝对有道理。当您导出 JCR 结构时,导出的节点是 admin,当您在路径 /admin 下导入它时,您将拥有 JCR 结构 /admin/admin.

如果您在 / 导入,您将面临一个问题,即名为 admin 的文件夹已经存在,因此导入的文件夹将重命名为 /admin[2](因此在安全应用程序中不可见。

可能的(不完美的)解决方案:

  1. 逐个导出和导入用户节点
  2. /admin 导出。然后在 /admin 中导入。导入后:使用 JCR 应用程序将用户向上移动一个文件夹(在安全应用程序中似乎不可能)
  3. /admin 导出。然后使用文本(或 XML)编辑器删除 /admin。在 /admin.
  4. 中导入
  5. 在导入之前,删除admin-文件夹(在JCR App中),以防你的用户都是一样的

解决方案 3 解释

此解决方案具有简单的巨大优势:您只需要一个文本编辑器。

  1. 编辑导出的文件(副本):

    • 1.a。删除第 2 行,直到包含第一个用户的行

  • 1.b。而是插入以下内容(根文件夹):

        <sv:node sv:name="jcr:root" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <sv:property sv:name="jcr:primaryType" sv:type="Name">
           <sv:value>rep:root</sv:value>
        </sv:property>
    
    1. 然后使用以下选项导入文件(工具|导入):

      存储库:用户 基本路径:/admin 保留版本:未勾选 File : 选择相应的文件 UUID :删除具有相同 ID 的现有节点 (您可能想要更改此)