2014-11-21 92 views
0

當我瞭解到web腳本時,教程說離開Web Scripts文件夾,而是將我的web腳本添加到Web Scripts Extensions文件夾。我的理解是,這樣我就不會污染Alfresco的開箱即用的網頁腳本,升級會更容易。Alfresco:當存在Web腳本擴展文件夾時,爲什麼沒有腳本擴展文件夾?

爲什麼擴展名文件夾爲Scripts文件夾?

或者是我的理解Web Scripts vs Web Scripts Extensions文件夾錯誤的原因?

+0

你能否詳細說明一下? – 2014-11-21 14:21:23

+0

我試着添加更多信息。 – vegemite4me 2014-11-21 14:47:29

回答

1

擴展文件夾提供了一種覆蓋默認行爲的方法。如果你喜歡,你可以把你的代碼放在那裏,但這樣做會使它更難覆蓋它。我將以存儲庫爲例。熟悉的邏輯適用於共享。

看看alfresco/WEB-INF/classes/alfresco/web-scripts-application-context.xml。它讀取:

<bean name="webscripts.store.repo.extension" parent="webscripts.repostore"> 
     <property name="store"><value>workspace://SpacesStore</value></property> 
     <property name="path"><value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/cm:extensionwebscripts</value></property> 
    </bean> 

    <bean name="webscripts.store.repo" parent="webscripts.repostore"> 
     <property name="mustExist"><value>true</value></property> 
     <property name="store"><value>workspace://SpacesStore</value></property> 
     <property name="path"><value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/cm:webscripts</value></property> 
    </bean> 

    <bean id="webscripts.repoclasspathstore" class="org.alfresco.repo.web.scripts.RepoClassPathStore" abstract="true" /> 

    <bean id="webscripts.store" parent="webscripts.repoclasspathstore"> 
     <property name="mustExist"><value>false</value></property> 
     <property name="classPath"><value>webscripts</value></property> 
    </bean> 

    <bean id="webscripts.store.alfresco" parent="webscripts.repoclasspathstore"> 
     <property name="mustExist"><value>false</value></property> 
     <property name="classPath"><value>alfresco/webscripts</value></property> 
    </bean> 

    <bean id="webscripts.store.client" parent="webscripts.repoclasspathstore"> 
     <property name="mustExist"><value>true</value></property> 
     <property name="classPath"><value>alfresco/templates/webscripts</value></property> 
    </bean> 

    <bean id="webscripts.store.client.extension" parent="webscripts.classpathstore"> 
     <property name="classPath"><value>alfresco/extension/templates/webscripts</value></property> 
    </bean> 
    <bean id="webscripts.searchpath" class="org.springframework.extensions.webscripts.SearchPath"> 
     <property name="searchPath"> 
      <list> 
      <ref bean="webscripts.store.repo.extension" /> 
      <ref bean="webscripts.store.repo" /> 
      <ref bean="webscripts.store.client.extension" /> 
      <ref bean="webscripts.store.client" /> 
      <ref bean="webscripts.store.alfresco" /> 
      <ref bean="webscripts.store" /> 
      </list> 
     </property> 
    </bean> 

webscripts.searchpathsearchPath屬性顯示在搜索順序。只要匹配,搜索就會終止。如您所見,只要路徑是唯一的,將自定義代碼放入非擴展位置就沒有問題。

我個人只把覆蓋webscripts在擴展位置。

0

您可以在腳本下創建一個名爲分機的文件夾,並將所有腳本放入該文件夾中。或者爲每個功能或項目在腳本下創建不同的文件夾,這並不重要。他們會被Alfresco接走。