从模板文件夹创建用户主文件夹

时间:2016-11-01 11:38:30

标签: php rest alfresco

我在"0000"的目录 A 中有一个模型文件夹alfresco,无论何时创建新用户,我都必须为他创建一个具有相同文件夹的文件夹作为模型文件夹的结构,我通过rest api找到了,我可以用这个来做到这一点:

{"alf_destination": "workspace://SpacesStore/35818681-274f-4d61-8fe7-5cff238513e5",
"prop_cm_name": "0000",
"prop_cm_title": "",
"prop_cm_description": "",
"sourceNodeRef": "workspace://SpacesStore/aeeaca0a-89bf-4294-8506-315ecd7d18f2",
"parentNodeRef": "workspace://SpacesStore/35818681-274f-4d61-8fe7-5cff238513e5" 
}

但是如何在php中获取那个spacestore /{id}
我已经通过ftp_mkdir创建了目标文件夹,因为我不知道如何使用 alfresco 我不知道什么是{container}和网站的名称是) 这是模型的路径:/Alfresco/Dictionnaire de données/Modèles d'espace/0000

此处将创建新文件夹:/Alfresco/Data/users 请原谅我的英文,谢谢你

1 个答案:

答案 0 :(得分:1)

userHomesHomeFolderProvider允许您注入Home Folder Template。您可以在此库中找到它的定义:tomcat/webapps/alfresco/WEB-INF/lib/alfresco-repository-{ver}.jar/alfresco/authentication-services-context.xml

<bean name="userHomesHomeFolderProvider" parent="usernameHomeFolderProvider">
    <property name="rootPath">       
       <value>/${spaces.company_home.childname}/${spaces.user_homes.childname}</value>
    </property>
    <property name="storeUrl">
        <value>${spaces.store}</value>
    </property>
</bean>

您可以按如下方式自定义此bean:

  1. 创建模板文件夹及其内容(文件,子文件夹,..),例如:Repository> Data Dictionary> user_homes_templates> custom_home_root

  2. 覆盖userHomesHomeFolderProvider bean定义并注入指向模板文件夹的新属性templatePath。 使用新的bean定义创建文件tomcat/shared/classes/alfresco/extension/user-homes-custom-context.xml

    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
    <beans>
        <bean name="userHomesHomeFolderProvider" parent="usernameHomeFolderProvider">
            <property name="rootPath">
                <value>/${spaces.company_home.childname}/${spaces.user_homes.childname}</value>
            </property>
            <property name="storeUrl">
                <value>${spaces.store}</value>
            </property>
            <property name="templatePath">
                <value>/app:company_home/app:dictionary/cm:user_homes_templates/cm:custom_home_root</value>
            </property>
        </bean>
    </beans>
    
  3. 现在重启Alfresco并创建新用户,模板内容将被复制到新用户主文件夹(Repository> User Homes> {user-name})。

    ...如果你真的必须使用PHP,请尝试Apache Chemistry CMIS PHP ClientREST API