Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Alfresco:当有Web脚本扩展文件夹时,为什么没有脚本扩展文件夹?_Alfresco - Fatal编程技术网

Alfresco:当有Web脚本扩展文件夹时,为什么没有脚本扩展文件夹?

Alfresco:当有Web脚本扩展文件夹时,为什么没有脚本扩展文件夹?,alfresco,Alfresco,当我了解到web脚本时,教程说不要使用web脚本文件夹,而是将我的web脚本添加到web脚本扩展文件夹。我的理解是,这是为了使我不污染Alfresco的开箱即用的web脚本,升级将更容易 为什么脚本文件夹没有等效的扩展文件夹 或者我对Web脚本vsWeb脚本扩展文件夹的原因的理解有误吗?扩展文件夹提供了一种覆盖默认行为的方法。如果愿意,可以将代码放在那里,但这样做会使重写代码更加困难。我将以存储库为例。类似的逻辑适用于共享 查看alfresco/WEB-INF/classes/alfresco/

当我了解到web脚本时,教程说不要使用
web脚本
文件夹,而是将我的web脚本添加到
web脚本扩展
文件夹。我的理解是,这是为了使我不污染Alfresco的开箱即用的web脚本,升级将更容易

为什么
脚本
文件夹没有等效的扩展文件夹


或者我对
Web脚本
vs
Web脚本扩展
文件夹的原因的理解有误吗?

扩展文件夹提供了一种覆盖默认行为的方法。如果愿意,可以将代码放在那里,但这样做会使重写代码更加困难。我将以存储库为例。类似的逻辑适用于共享

查看
alfresco/WEB-INF/classes/alfresco/WEB脚本应用程序上下文.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>

workspace://SpacesStore
/${spaces.company_home.childname}/${spaces.dictionary.childname}/cm:extensionwebscripts
真的
workspace://SpacesStore
/${spaces.company_home.childname}/${spaces.dictionary.childname}/cm:webscripts
假的
网络脚本
假的
露天/网络脚本
真的
露天/模板/Web脚本
露天/扩展/模板/Web脚本
webscripts.searchPath
searchPath
属性显示搜索顺序。搜索一有匹配项就终止。正如您所看到的,只要路径是唯一的,就可以将自定义代码放在非扩展位置


我个人只将覆盖WebScript放在扩展位置。

您可以在名为扩展的脚本下创建一个文件夹,并将所有脚本放在该文件夹中。或者只是为每个功能或项目在脚本下创建不同的文件夹,这并不重要。它们被露天捡到。

请详细说明一下好吗?我已经尝试添加更多信息。