将用户从一台服务器导出到另一台服务器 - 使用集成 - Alfresco技术论坛

Alfresco技术论坛



查看: 656|回复: 0

将用户从一台服务器导出到另一台服务器

[复制链接]


40

主题

41

帖子

413

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
413
QQ
发表于 2019-5-27 09:48:56 | 显示全部楼层 |阅读模式
介绍

在Alfresco中导出用户可能是一个问题,有多种解决方案可以使用,例如alfresco 导出工具
但是现在我们只想将用户和一些属性从一个服务器导出到另一个服务器,并且希望它能用于任何露天版本。

解决方案

解决方案相当简单,让我们创建一个脚本,生成我们将在其他服务器上运行的代码,该代码将在新服务器上重新创建用户。
createUsersGenerator.js
  1. var peopleCollection = search.luceneSearch("TYPE:"{http://www.alfresco.org/model/content/1.0}person" ");

  2. var output = "";
  3. for (var i = 0; i < peopleCollection.length; i++) {
  4. var pers = peopleCollection[i];

  5. output += (" if(people.getPerson('" + pers.properties["cm:userName"] + "')==null){\n");
  6. output += (" user = people.createPerson('" + pers.properties["cm:userName"] + "',
  7.               '" + pers.properties["cm:firstName"] + "',
  8.               '" + pers.properties["cm:lastName"] + "',
  9.               '" + pers.properties["cm:email"] + "',
  10.               'password' ,true);\n");


  11. if (pers.properties["cm:organization"] != null)
  12.      output += (" user.properties['cm:organization']='"
  13.                       + pers.properties["cm:organization"] + "';\n");

  14. if (pers.properties["cm:jobtitle"] != null)
  15.      output += (" user.properties['cm:jobtitle']='"
  16.                  + pers.properties["cm:jobtitle"] + "';\n");

  17. if (pers.properties["cm:location"] != null)
  18.      output += (" user.properties['cm:location']='"
  19.         + pers.properties["cm:location"] + "';\n");

  20.      output += (" user.save();\n");
  21.      output += ("}\n");
  22. }


  23. var article = companyhome.createNode("createUsers.js", "cm:content");
  24. article.content = output;
  25. article.save();
复制代码

它创建一个文件createUsers.js,当执行此文件时,alfresco将创建具有属性的用户,例如:名称,电子邮件,组织,岗位和地址。如果您愿意,可以添加其他属性。
让我们看看createUsers.js
  1. if(people.getPerson('prvoslav')==null){
  2.     user = people.createPerson('prvoslav','Prvoslav', 'Savic','prvoslav.savic@alfrescoblog.com',                              'password' ,true);
  3.      user.properties['cm:organization']='AlfrescoBlog';
  4.      user.properties['cm:jobtitle']='Blogger';
  5.      user.properties['cm:location']='Serbia';
  6.      user.save();
  7. }
复制代码

在其他Alfresco上执行createUsers.js脚本,您将获得相同的用户,并且具有相同的属性。


总结

至此,我们在不使用alfresco导出工具的情况下将用户从一台服务器“复制”到另一台服务器。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



QQ|小黑屋| Alfresco技术论坛 ( 闽ICP备15015720号 )

GMT+8, 2020-2-20 05:13 , Processed in 0.102077 second(s), 19 queries .

快速回复 返回顶部 返回列表