【问题标题】:Create site using code in Alfresco All in one project with Eclipse IDE使用 Alfresco 中的代码创建站点 使用 Eclipse IDE 在一个项目中创建站点
【发布时间】:2017-01-06 07:21:28
【问题描述】:

我如何使用 Alfresco 中的代码在一个项目中创建网站。

我正在使用 Eclipse IDE。

我将构建和部署战争文件。

但是在部署战争之后,我希望自动创建一个站点或逻辑分区。意味着我们不需要任何特定用户手动创建它。所有的事情都应该只通过代码来完成。

谁能告诉我这需要什么文件,我需要把它放在 alfresco All in one project 的什么地方?

提前致谢..

【问题讨论】:

  • 你觉得CMIS还是Rest Api怎么样???
  • 最好是Rest API,而不是CMIS
  • 你可以在community.alfresco.com/docs/…找到如何使用它你对答案感兴趣吗???
  • @Yagimi 谢谢,我将通过您提供的链接。但如果你也提供答案会很有帮助。
  • 我会提供答案并等待它,与邮递员一起尝试每个脚本

标签: alfresco alfresco-share


【解决方案1】:
         var site = siteService.createSite("site-dashboard", "gamma-site", "Gamma Site", "A site description", siteService.PUBLIC_SITE, "st:site");

这可能有助于您在存储库级别创建站点。这将返回具有指定参数的已创建站点的站点对象。

【讨论】:

  • 你能告诉我,在存储库级别我必须在哪个文件中编写此代码吗?
  • 您好,这取决于您要如何创建站点。您可以创建 webscript 或 dashlet 以获取所需的参数并允许用户创建站点。
  • 我不想通过用户创建它,我想通过引导创建它,当我们第一次部署war文件或amp文件时。
【解决方案2】:

如果您想使用 CMIS API,请参阅下面的代码

      package com.kayne.cmis.webscript;
      import org.apache.commons.httpclient.HttpClient;
      import org.apache.commons.httpclient.HttpStatus;
      import org.apache.commons.httpclient.UsernamePasswordCredentials;
      import org.apache.commons.httpclient.auth.AuthScope;
      import org.apache.commons.httpclient.methods.PostMethod;
      import org.apache.commons.httpclient.methods.StringRequestEntity;
      import org.json.JSONObject;
      public class CreateSiteTest {   
      public static void main(String[] args){

  HttpClient client = new HttpClient();
  client.getState().setCredentials(                
   new AuthScope("localhost", 8080, "Alfresco"),           
     new UsernamePasswordCredentials("admin", "admin"));   
   String apiurl ="http://localhost:8080/alfresco/service/api/sites";
  PostMethod post = new PostMethod(apiurl);
  try {
     JSONObject site = new JSONObject();
     site.put("shortName", "kaynezhang");
     site.put("visibility", "PUBLIC");
      site.put("sitePreset", "site-dashboard");


     System.out.println(site.toString());
     post.setDoAuthentication(true);
     post.setRequestHeader("Content-Type", "application/json");
     post.setRequestEntity(new StringRequestEntity(site.toString(), "application/json",  "UTF-8"));


     int status = client.executeMethod(post);
         if (status != HttpStatus.SC_OK) {
            System.err.println("Method failed: " + post.getStatusLine());
             } 
     String resultString = post.getResponseBodyAsString();
     System.out.println(resultString);
  } catch (Exception e) {
     e.printStackTrace();
  } finally {
     post.releaseConnection();
  }   } }

您可以在CMIS REST API 中了解有关该主题的更多信息。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 2011-03-07
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多