Configuration 木兰CMS进出口用户

Configuration 木兰CMS进出口用户,configuration,content-management-system,magnolia,Configuration,Content Management System,Magnolia,目标:我想从一个给定的Magnolia CMS实例中导出用户,然后在另一个实例中导入他们 我试过的 从给定的Magnolia CMS实例导出 打开管理中心 在App启动器中单击Tools>JCR工具 单击导出器选项卡 选择usersworkspace&键入路径/admin 单击Execute 然后在另一个实例中导入 打开管理中心 在App启动器中单击Tools>JCR工具 单击Importer选项卡 为路径选择usersworkspace&type/admin 上传之前导出的文件(参见“从

目标:我想从一个给定的Magnolia CMS实例中导出用户,然后在另一个实例中导入他们


我试过的 从给定的Magnolia CMS实例导出

  • 打开管理中心
  • App启动器中单击
    Tools>JCR工具
  • 单击
    导出器
    选项卡
  • 选择
    users
    workspace&键入路径
    /admin
  • 单击
    Execute
  • 然后在另一个实例中导入

  • 打开管理中心
  • App启动器中单击
    Tools>JCR工具
  • 单击
    Importer
    选项卡
  • 为路径选择
    users
    workspace&type
    /admin
  • 上传之前导出的文件(参见“从给定的Magnolia CMS实例导出”的步骤)
  • 单击
    Execute
  • 但是,我最终在
    用户
    选项卡(在
    安全
    下)中找到了一个
    管理员
    父文件夹


    资源

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

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

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

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

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

  • 编辑导出的文件(在副本上):

    • 1.a.删除行号2,直到包含第一个用户的行
    • 1.b.插入以下内容(根文件夹):

      
      代表:根
      
    • 然后使用以下选项导入文件(工具|导入):

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


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

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

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

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

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

  • 编辑导出的文件(在副本上):

    • 1.a.删除行号2,直到包含第一个用户的行
    • 1.b.插入以下内容(根文件夹):

      
      代表:根
      
    • 然后使用以下选项导入文件(工具|导入):

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


    我会选择第一个(逐个导出/导入),但使用Groovy脚本。感谢Matt对此问题的澄清。我编辑了您的答案,以添加有关其他解决方案的更多信息。希望您可以。我个人喜欢解决方案2,因为它最快(只需再单击几下),如果只有几个用户。第五种可能的解决方案是使用magnolias发布功能()将用户节点从一个magnolia author实例移动到另一个magnolia author实例。但在许多情况下,这可能不需要/不可能。我会选择第一种(逐个导出/导入),但使用Groovy脚本。感谢Matt对此问题的澄清。我编辑了您的答案,以添加有关其他解决方案的更多信息。希望您可以这样做。我个人喜欢解决方案2,因为它最快(只需再单击几下),如果只有几个用户。第五种可能的解决方案是使用magnolias发布功能()将用户节点从一个magnolia author实例移动到另一个magnolia author实例。但在许多情况下,这可能是不需要/不可能的。
        <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>