Alfresco 寻找合适的方式定制户外共享

Alfresco 寻找合适的方式定制户外共享,alfresco,alfresco-share,Alfresco,Alfresco Share,我的公司有一个独特的要求,即在alfresco share的特定文件夹中为每个子文件夹设置一个页面。所以基本上会有数百个子文件夹和相应的数百页来表示它。该文件夹的页面应具有指向其子文件夹的链接,甚至可能包含可折叠列表形式的文档,如图所示: Folder 1 -Category 1 Doc 1 Doc 2 -Category 2 -Sub-category 1 doc 3 我想在页面的一侧显示上面的内容,另一侧应该显示与文件夹相关的所有最近活动,如谁添加了文档、进行了哪些

我的公司有一个独特的要求,即在alfresco share的特定文件夹中为每个子文件夹设置一个页面。所以基本上会有数百个子文件夹和相应的数百页来表示它。该文件夹的页面应具有指向其子文件夹的链接,甚至可能包含可折叠列表形式的文档,如图所示:

Folder 1
 -Category 1
  Doc 1
  Doc 2
 -Category 2
  -Sub-category 1
    doc 3

我想在页面的一侧显示上面的内容,另一侧应该显示与文件夹相关的所有最近活动,如谁添加了文档、进行了哪些编辑、是否有任何评论等。我搜索了很多与此相关的内容,但我不确定alfresco是否支持这种定制。我发现了一些关于使用JSON小部件在share中创建自定义页面的非常好的教程,但我认为在这种情况下没有帮助。另一个选项是为创建的每个新文件夹生成一个html页面,并使用javascript填充它。但是这种方法在设计页面方面没有太大的灵活性。有人知道有更好的方法或想法来满足这一需求吗?我非常感谢您的任何想法。

您可以在alfresco share中创建新的文件夹树组件,以满足您的需求

Alfresco共享多个组件的页面制作,这些组件在数据和依赖性方面是自给自足的组件(不包括少数Alfresco公共依赖性)

以下是该方法的大纲

Create one folder tree comopnent in alfresco, which will be nothing
but a webscript which render related webscripts output on page in
which component is included.

Create one Dynamic YUI tree with some dummy data and check weather
you are able to generate or not.(Just to make sure you have all
depenency included).

Create one data webscript on repository side which will fetch folder
structure related data from repository.Make it in such way that if
you pass folder noderef if will return all childrens under
that.There is one similar webscript also avilable out of box  may be
you could reuse that.

Once you have that webscript working properly call that repository
webscript to populate your dynamic tree and remove all dummy data.
我希望这能给你一个好的起点


您肯定会找到每个步骤的文档

您可以在alfresco share中创建新的文件夹树组件,以满足您的需求

Alfresco共享多个组件的页面制作,这些组件在数据和依赖性方面是自给自足的组件(不包括少数Alfresco公共依赖性)

以下是该方法的大纲

Create one folder tree comopnent in alfresco, which will be nothing
but a webscript which render related webscripts output on page in
which component is included.

Create one Dynamic YUI tree with some dummy data and check weather
you are able to generate or not.(Just to make sure you have all
depenency included).

Create one data webscript on repository side which will fetch folder
structure related data from repository.Make it in such way that if
you pass folder noderef if will return all childrens under
that.There is one similar webscript also avilable out of box  may be
you could reuse that.

Once you have that webscript working properly call that repository
webscript to populate your dynamic tree and remove all dummy data.
我希望这能给你一个好的起点


您肯定会找到每个步骤的文档

您可以在alfresco share中创建新的文件夹树组件,以满足您的需求

Alfresco共享多个组件的页面制作,这些组件在数据和依赖性方面是自给自足的组件(不包括少数Alfresco公共依赖性)

以下是该方法的大纲

Create one folder tree comopnent in alfresco, which will be nothing
but a webscript which render related webscripts output on page in
which component is included.

Create one Dynamic YUI tree with some dummy data and check weather
you are able to generate or not.(Just to make sure you have all
depenency included).

Create one data webscript on repository side which will fetch folder
structure related data from repository.Make it in such way that if
you pass folder noderef if will return all childrens under
that.There is one similar webscript also avilable out of box  may be
you could reuse that.

Once you have that webscript working properly call that repository
webscript to populate your dynamic tree and remove all dummy data.
我希望这能给你一个好的起点


您肯定会找到每个步骤的文档

您可以在alfresco share中创建新的文件夹树组件,以满足您的需求

Alfresco共享多个组件的页面制作,这些组件在数据和依赖性方面是自给自足的组件(不包括少数Alfresco公共依赖性)

以下是该方法的大纲

Create one folder tree comopnent in alfresco, which will be nothing
but a webscript which render related webscripts output on page in
which component is included.

Create one Dynamic YUI tree with some dummy data and check weather
you are able to generate or not.(Just to make sure you have all
depenency included).

Create one data webscript on repository side which will fetch folder
structure related data from repository.Make it in such way that if
you pass folder noderef if will return all childrens under
that.There is one similar webscript also avilable out of box  may be
you could reuse that.

Once you have that webscript working properly call that repository
webscript to populate your dynamic tree and remove all dummy data.
我希望这能给你一个好的起点


您肯定会找到每个步骤的文档

我将把它作为一个答案(与我之前的评论相关)。我用这种方式做了类似的事情(使用评论中提供的链接:

  • 创建一个简单的alfresco web脚本,返回您需要的json(在您最近修改的文档中)。我列出了一个文件夹,这是
    mywebscript.get.json.ftl

    {
    "docprop" : [
        <#list companyhome.childByNamePath["MyFolder"].children as child>
        {
        "name" : "${child.properties.name}" ,
    
    "author" : "${child.properties["cm:author"]}",
    
    "CreatedDate" : "${child.properties.created?datetime}"
    }
    <#if child_has_next> , </#if>
    
    </#list>
    ]
    }
    
    <div class="dashlet">
    <div class="title">${msg("header.retrievedocTitle")}</div>
    <div class="body retrievedoc">
        <table>
            <tr>
                <th>Name: </th>
                <thAuthor: </th>
                <th>Created: </th>
            </tr>
            <#list docprop as t>
                <tr>
                    <td>${t.name}</td>
                    <td>${t.author}</td>
                    <td>${t.CreatedDate}</td>
                </tr>
            </#list>
        </table>
    </div>
    
  • 使用
    retrievedoc.get.html.ftl
    创建共享小部件演示模板:

    {
    "docprop" : [
        <#list companyhome.childByNamePath["MyFolder"].children as child>
        {
        "name" : "${child.properties.name}" ,
    
    "author" : "${child.properties["cm:author"]}",
    
    "CreatedDate" : "${child.properties.created?datetime}"
    }
    <#if child_has_next> , </#if>
    
    </#list>
    ]
    }
    
    <div class="dashlet">
    <div class="title">${msg("header.retrievedocTitle")}</div>
    <div class="body retrievedoc">
        <table>
            <tr>
                <th>Name: </th>
                <thAuthor: </th>
                <th>Created: </th>
            </tr>
            <#list docprop as t>
                <tr>
                    <td>${t.name}</td>
                    <td>${t.author}</td>
                    <td>${t.CreatedDate}</td>
                </tr>
            </#list>
        </table>
    </div>
    
    
    ${msg(“header.retrievedocTitle”)}
    姓名:
    
    我将写它作为一个答案(与我之前的评论相关)。我用这种方式做了类似的事情(使用评论中提供的链接:

    • 创建一个简单的alfresco web脚本,返回您需要的json(在您最近修改的文档中)。我列出了一个文件夹,这是
      mywebscript.get.json.ftl

      {
      "docprop" : [
          <#list companyhome.childByNamePath["MyFolder"].children as child>
          {
          "name" : "${child.properties.name}" ,
      
      "author" : "${child.properties["cm:author"]}",
      
      "CreatedDate" : "${child.properties.created?datetime}"
      }
      <#if child_has_next> , </#if>
      
      </#list>
      ]
      }
      
      <div class="dashlet">
      <div class="title">${msg("header.retrievedocTitle")}</div>
      <div class="body retrievedoc">
          <table>
              <tr>
                  <th>Name: </th>
                  <thAuthor: </th>
                  <th>Created: </th>
              </tr>
              <#list docprop as t>
                  <tr>
                      <td>${t.name}</td>
                      <td>${t.author}</td>
                      <td>${t.CreatedDate}</td>
                  </tr>
              </#list>
          </table>
      </div>
      
    • 使用
      retrievedoc.get.html.ftl
      创建共享小部件演示模板:

      {
      "docprop" : [
          <#list companyhome.childByNamePath["MyFolder"].children as child>
          {
          "name" : "${child.properties.name}" ,
      
      "author" : "${child.properties["cm:author"]}",
      
      "CreatedDate" : "${child.properties.created?datetime}"
      }
      <#if child_has_next> , </#if>
      
      </#list>
      ]
      }
      
      <div class="dashlet">
      <div class="title">${msg("header.retrievedocTitle")}</div>
      <div class="body retrievedoc">
          <table>
              <tr>
                  <th>Name: </th>
                  <thAuthor: </th>
                  <th>Created: </th>
              </tr>
              <#list docprop as t>
                  <tr>
                      <td>${t.name}</td>
                      <td>${t.author}</td>
                      <td>${t.CreatedDate}</td>
                  </tr>
              </#list>
          </table>
      </div>
      
      
      ${msg(“header.retrievedocTitle”)}
      姓名:
      
      我将写它作为一个答案(与我之前的评论相关)。我用这种方式做了类似的事情(使用评论中提供的链接:

      • 创建一个简单的alfresco web脚本,返回您需要的json(在您最近修改的文档中)。我列出了一个文件夹,这是
        mywebscript.get.json.ftl

        {
        "docprop" : [
            <#list companyhome.childByNamePath["MyFolder"].children as child>
            {
            "name" : "${child.properties.name}" ,
        
        "author" : "${child.properties["cm:author"]}",
        
        "CreatedDate" : "${child.properties.created?datetime}"
        }
        <#if child_has_next> , </#if>
        
        </#list>
        ]
        }
        
        <div class="dashlet">
        <div class="title">${msg("header.retrievedocTitle")}</div>
        <div class="body retrievedoc">
            <table>
                <tr>
                    <th>Name: </th>
                    <thAuthor: </th>
                    <th>Created: </th>
                </tr>
                <#list docprop as t>
                    <tr>
                        <td>${t.name}</td>
                        <td>${t.author}</td>
                        <td>${t.CreatedDate}</td>
                    </tr>
                </#list>
            </table>
        </div>
        
      • 使用
        retrievedoc.get.html.ftl
        创建共享小部件演示模板:

        {
        "docprop" : [
            <#list companyhome.childByNamePath["MyFolder"].children as child>
            {
            "name" : "${child.properties.name}" ,
        
        "author" : "${child.properties["cm:author"]}",
        
        "CreatedDate" : "${child.properties.created?datetime}"
        }
        <#if child_has_next> , </#if>
        
        </#list>
        ]
        }
        
        <div class="dashlet">
        <div class="title">${msg("header.retrievedocTitle")}</div>
        <div class="body retrievedoc">
            <table>
                <tr>
                    <th>Name: </th>
                    <thAuthor: </th>
                    <th>Created: </th>
                </tr>
                <#list docprop as t>
                    <tr>
                        <td>${t.name}</td>
                        <td>${t.author}</td>
                        <td>${t.CreatedDate}</td>
                    </tr>
                </#list>
            </table>
        </div>
        
        
        ${msg(“header.retrievedocTitle”)}
        姓名:
        
        我将写它作为一个答案(与我之前的评论相关)。我用这种方式做了类似的事情(使用评论中提供的链接:

        • 创建一个简单的alfresco web脚本,返回您需要的json(在您最近修改的文档中)。我列出了一个文件夹,这是
          mywebscript.get.json.ftl

          {
          "docprop" : [
              <#list companyhome.childByNamePath["MyFolder"].children as child>
              {
              "name" : "${child.properties.name}" ,
          
          "author" : "${child.properties["cm:author"]}",
          
          "CreatedDate" : "${child.properties.created?datetime}"
          }
          <#if child_has_next> , </#if>
          
          </#list>
          ]
          }
          
          <div class="dashlet">
          <div class="title">${msg("header.retrievedocTitle")}</div>
          <div class="body retrievedoc">
              <table>
                  <tr>
                      <th>Name: </th>
                      <thAuthor: </th>
                      <th>Created: </th>
                  </tr>
                  <#list docprop as t>
                      <tr>
                          <td>${t.name}</td>
                          <td>${t.author}</td>
                          <td>${t.CreatedDate}</td>
                      </tr>
                  </#list>
              </table>
          </div>
          
        • 使用
          retrievedoc.get.html.ftl
          创建共享小部件演示模板:

          {
          "docprop" : [
              <#list companyhome.childByNamePath["MyFolder"].children as child>
              {
              "name" : "${child.properties.name}" ,
          
          "author" : "${child.properties["cm:author"]}",
          
          "CreatedDate" : "${child.properties.created?datetime}"
          }
          <#if child_has_next> , </#if>
          
          </#list>
          ]
          }
          
          <div class="dashlet">
          <div class="title">${msg("header.retrievedocTitle")}</div>
          <div class="body retrievedoc">
              <table>
                  <tr>
                      <th>Name: </th>
                      <thAuthor: </th>
                      <th>Created: </th>
                  </tr>
                  <#list docprop as t>
                      <tr>
                          <td>${t.name}</td>
                          <td>${t.author}</td>
                          <td>${t.CreatedDate}</td>
                      </tr>
                  </#list>
              </table>
          </div>
          
          
          ${msg(“header.retrievedocTitle”)}
          姓名:
          
          最好的方法是创建自定义小部件以在用户仪表板中使用。然后,您可以将文件夹结构移动到页面的一侧(通过仪表板自定义),并将其他自定义小部件移动到页面的另一侧(Alfresco Share已经提供了该小部件)。有大量的资源可以帮助您:例如hi@Alch3mi5t,感谢您提供的链接。对于“最近的活动”小部件,我只想将其特定于一个文件夹。共享所有最近活动的当前小部件。最好的方法是创建自定义小部件以在用户仪表板中使用。然后您可以移动您的文件夹结构位于页面的一侧(通过仪表板自定义),而其他自定义小部件位于页面的另一侧