Files
alfresco-community-repo/config/alfresco/web-scripts-application-context.xml
Kevin Roast 0103b7ca03 Slingshot Change Password page and implementation.
Repository API for change password.
Fixes to webscript framework to ensure that webscript POSTed Content is only read once from the underlying inputstream - it was previously possible for a Java backed WebScript to read content during executeImpl() and the same inputstream content would be further processed again when the template parameters for the output were generated.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10461 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-08-21 10:55:11 +00:00

368 lines
19 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- -->
<!-- Web Script Configuration -->
<!-- -->
<bean id="webscripts.configsource" class="org.alfresco.config.source.UrlConfigSource">
<constructor-arg>
<list>
<value>classpath:alfresco/web-scripts-config.xml</value>
<value>classpath:alfresco/extension/web-api-config-custom.xml</value> <!-- for backwards compatibility -->
<value>classpath:alfresco/extension/web-scripts-config-custom.xml</value>
</list>
</constructor-arg>
</bean>
<bean id="webscripts.config" class="org.alfresco.config.xml.XMLConfigService" init-method="init">
<constructor-arg>
<ref bean="webscripts.configsource" />
</constructor-arg>
</bean>
<!-- -->
<!-- Web Script Storage -->
<!-- -->
<bean id="webscripts.repostore" class="org.alfresco.repo.web.scripts.RepoStore" abstract="true">
<property name="transactionHelper" ref="retryingTransactionHelper" />
<property name="nodeService" ref="nodeService" />
<property name="namespaceService" ref="namespaceService" />
<property name="contentService" ref="contentService" />
<property name="fileFolderService" ref="fileFolderService" />
<property name="searchService" ref="SearchService" />
<property name="permissionService" ref="PermissionService" />
<property name="tenantDeployerService" ref="tenantAdminService" />
</bean>
<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.store.client.extension" parent="webscripts.classpathstore">
<property name="classPath"><value>alfresco/extension/templates/webscripts</value></property>
</bean>
<bean id="webscripts.store.client" parent="webscripts.classpathstore">
<property name="mustExist"><value>true</value></property>
<property name="classPath"><value>alfresco/templates/webscripts</value></property>
</bean>
<bean id="webscripts.searchpath" class="org.alfresco.web.scripts.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" />
</list>
</property>
</bean>
<!-- -->
<!-- Web Script Repository (Server-Tier) Container -->
<!-- -->
<bean id="webscripts.repo.imageresolver" class="org.alfresco.repo.web.scripts.RepositoryImageResolver" />
<bean id="webscripts.repo.templateprocessor" class="org.alfresco.repo.web.scripts.RepositoryTemplateProcessor">
<property name="serviceRegistry" ref="ServiceRegistry" />
<property name="freeMarkerProcessor" ref="freeMarkerProcessor" />
<property name="searchPath" ref="webscripts.searchpath" />
<!-- <property name="defaultEncoding"><value>UTF-8</value></property> -->
</bean>
<bean id="webscripts.repo.scriptprocessor" class="org.alfresco.repo.web.scripts.RepositoryScriptProcessor">
<property name="searchPath" ref="webscripts.searchpath" />
<property name="scriptService" ref="scriptService" />
</bean>
<bean id="webscripts.container" class="org.alfresco.repo.web.scripts.RepositoryContainer" parent="webscripts.abstractcontainer">
<property name="name"><value>Repository</value></property>
<property name="registryFactory">
<bean class="org.springframework.beans.factory.config.ObjectFactoryCreatingFactoryBean">
<property name="targetBeanName"><idref local="webscripts.registry.prototype"/></property>
</bean>
</property>
<property name="transactionHelper" ref="retryingTransactionHelper" />
<property name="permissionService" ref="permissionService" />
<property name="authorityService" ref="authorityService" />
<property name="repository" ref="repositoryHelper" />
<property name="repositoryImageResolver" ref="webscripts.repo.imageresolver" />
<property name="templateProcessor" ref="webscripts.repo.templateprocessor" />
<property name="scriptProcessor" ref="webscripts.repo.scriptprocessor" />
<property name="descriptorService" ref="DescriptorService" />
<property name="tenantDeployerService" ref="tenantAdminService" />
<property name="webScriptsRegistryCache" ref="webScriptsRegistryCache"/>
</bean>
<bean id="webscripts.registry.prototype" parent="webscripts.registry" singleton="false"/>
<!-- -->
<!-- Web Script Authenticators -->
<!-- -->
<!-- HTTP Basic Authenticator (Servlet based) -->
<bean id="webscripts.authenticator.basic" class="org.alfresco.repo.web.scripts.servlet.BasicHttpAuthenticatorFactory">
<property name="authenticationService" ref="AuthenticationService" />
</bean>
<!-- JSR-168 Authenticator (Portal based) -->
<bean id="webscripts.authenticator.jsr168" class="org.alfresco.repo.web.scripts.portlet.JSR168PortletAuthenticatorFactory">
<property name="unprotAuthenticationService" ref="authenticationService" />
<property name="transactionService" ref="TransactionService" />
</bean>
<!-- Facebook Authenticator -->
<bean id="webscripts.authenticator.facebook" class="org.alfresco.repo.web.scripts.facebook.FacebookAuthenticatorFactory" />
<!-- -->
<!-- API Beans -->
<!-- -->
<!-- Javascript APIs -->
<bean id="webscript.org.alfresco.jsdebugger.get" class="org.alfresco.web.scripts.bean.JavascriptDebugger" parent="webscript">
<property name="debugger" ref="rhinoScriptDebugger" />
</bean>
<bean id="webscript.org.alfresco.jsdebugger.post" class="org.alfresco.web.scripts.bean.JavascriptDebuggerPost" parent="webscript">
<property name="debugger" ref="rhinoScriptDebugger" />
</bean>
<!-- Authentication APIs -->
<bean id="webscript.org.alfresco.repository.login.get" class="org.alfresco.repo.web.scripts.bean.Login" parent="webscript">
<property name="authenticationService" ref="authenticationService" />
</bean>
<bean id="webscript.org.alfresco.repository.loginticket.get" class="org.alfresco.repo.web.scripts.bean.LoginTicket" parent="webscript">
<property name="ticketComponent" ref="ticketComponent" />
</bean>
<bean id="webscript.org.alfresco.repository.loginticket.delete" class="org.alfresco.repo.web.scripts.bean.LoginTicketDelete" parent="webscript">
<property name="authenticationService" ref="authenticationService" />
<property name="ticketComponent" ref="ticketComponent" />
</bean>
<!-- List of registered (OpenSearch) search engines -->
<bean id="webscript.org.alfresco.repository.search.searchengines.get" class="org.alfresco.repo.web.scripts.bean.SearchEngines" parent="webscript">
<property name="configService" ref="webscripts.config" />
<property name="searchProxy" ref="webscript.org.alfresco.repository.search.searchproxy.get" />
</bean>
<!-- Alfresco Web Client Keyword Search (OpenSearch) -->
<bean id="webscript.org.alfresco.repository.search.keywordsearch.get" class="org.alfresco.repo.web.scripts.bean.KeywordSearch" parent="webscript">
<property name="searchService" ref="SearchService" />
<property name="serviceRegistry" ref="ServiceRegistry" />
<property name="repositoryImageResolver" ref="webscripts.repo.imageresolver" />
</bean>
<!-- Alfresco Web Client Person Search (OpenSearch) -->
<bean id="webscript.org.alfresco.repository.search.personsearch.get" class="org.alfresco.repo.web.scripts.bean.KeywordSearch" parent="webscript">
<property name="searchService" ref="SearchService" />
<property name="serviceRegistry" ref="ServiceRegistry" />
<property name="repositoryImageResolver" ref="webscripts.repo.imageresolver" />
</bean>
<!-- Alfresco (OpenSearch) Proxy -->
<bean id="webscript.org.alfresco.repository.search.searchproxy.get" class="org.alfresco.repo.web.scripts.bean.SearchProxy" parent="webscript">
<property name="configService" ref="webscripts.config" />
<property name="formatRegistry" ref="webscripts.formatregistry" />
</bean>
<!-- Content Retrieval -->
<bean id="webscript.org.alfresco.repository.store.content.get" class="org.alfresco.repo.web.scripts.content.ContentGet" parent="webscript">
<property name="repository" ref="repositoryHelper" />
<property name="namespaceService" ref="NamespaceService" />
<property name="permissionService" ref="PermissionService" />
<property name="nodeService" ref="NodeService" />
<property name="contentService" ref="ContentService" />
<property name="mimetypeService" ref="MimetypeService" />
</bean>
<bean id="webscript.org.alfresco.repository.content.stream" class="org.alfresco.repo.web.scripts.content.StreamContent" parent="webscript">
<property name="permissionService" ref="PermissionService" />
<property name="nodeService" ref="NodeService" />
<property name="contentService" ref="ContentService" />
<property name="mimetypeService" ref="MimetypeService" />
</bean>
<!-- Remote Store service - AVM -->
<bean id="webscript.org.alfresco.repository.store.remoteavm.get" class="org.alfresco.repo.web.scripts.bean.AVMRemoteStore" parent="webscript">
<property name="mimetypeService" ref="MimetypeService" />
<property name="avmService" ref="AVMService" />
<property name="rootPath"><value>alfresco</value></property>
<property name="store"><value>sitestore</value></property>
</bean>
<bean id="webscript.org.alfresco.repository.store.remoteavm.post" class="org.alfresco.repo.web.scripts.bean.AVMRemoteStore" parent="webscript">
<property name="mimetypeService" ref="MimetypeService" />
<property name="avmService" ref="AVMService" />
<property name="rootPath"><value>alfresco</value></property>
<property name="store"><value>sitestore</value></property>
</bean>
<bean id="webscript.org.alfresco.repository.store.remoteavm.delete" class="org.alfresco.repo.web.scripts.bean.AVMRemoteStore" parent="webscript">
<property name="mimetypeService" ref="MimetypeService" />
<property name="avmService" ref="AVMService" />
<property name="rootPath"><value>alfresco</value></property>
<property name="store"><value>sitestore</value></property>
</bean>
<!-- -->
<!-- Activity Feed Web Scripts -->
<!-- -->
<!-- Activity User Feed - to get activities feed for logged in user -->
<bean id="webscript.org.alfresco.repository.activities.feed.userfeed.get" class="org.alfresco.repo.web.scripts.activities.feed.UserFeedRetrieverWebScript" parent="webscript">
<property name="activityService" ref="activityService"/>
<property name="authorityService" ref="AuthorityService"/>
</bean>
<!-- Activity Admin Feed - to get activities feed for specified user -->
<bean id="webscript.org.alfresco.repository.activities.feed.userfeed-admin.get" class="org.alfresco.repo.web.scripts.activities.feed.UserFeedRetrieverWebScript" parent="webscript">
<property name="activityService" ref="activityService"/>
<property name="authorityService" ref="AuthorityService"/>
</bean>
<!-- Activity Site Feed - to get activities feed for given site, if private site then need to be a member or admin -->
<bean id="webscript.org.alfresco.repository.activities.feed.sitefeed.get" class="org.alfresco.repo.web.scripts.activities.feed.SiteFeedRetrieverWebScript" parent="webscript">
<property name="activityService" ref="activityService"/>
<property name="siteService" ref="siteService"/>
</bean>
<!-- -->
<!-- Activity Templates Storage -->
<!-- -->
<bean id="webscript.org.alfresco.repository.activities.templates.get" class="org.alfresco.repo.web.scripts.activities.TemplatesWebScript" parent="webscript">
<property name="searchPath" ref="activity.template.searchpath"/>
</bean>
<bean id="webscript.org.alfresco.repository.activities.template.get" class="org.alfresco.repo.web.scripts.activities.TemplateWebScript" parent="webscript">
<property name="searchPath" ref="activity.template.searchpath"/>
</bean>
<bean id="templates.classpathstore" class="org.alfresco.web.scripts.ClassPathStore" abstract="true" />
<bean id="activity.template.store.client.extension" parent="templates.classpathstore">
<property name="classPath"><value>alfresco/extension/templates/activities</value></property>
</bean>
<bean id="activity.template.store.client" parent="templates.classpathstore">
<property name="mustExist"><value>true</value></property>
<property name="classPath"><value>alfresco/templates/activities</value></property>
</bean>
<bean id="activity.template.searchpath" class="org.alfresco.web.scripts.SearchPath">
<property name="searchPath">
<list>
<ref bean="activity.template.store.client.extension" />
<ref bean="activity.template.store.client" />
</list>
</property>
</bean>
<!-- -->
<!-- Invite Service REST API -->
<!-- -->
<!-- -->
<!-- Invite Web Script - Invoked by a Site Manager (Inviter) to either invite another person (Invitee) to -->
<!-- join a Site as a Site Collaborator, or to cancel a pending invitation that has already been sent out -->
<!-- -->
<bean id="webscript.org.alfresco.repository.invite.invite.get"
class="org.alfresco.repo.web.scripts.invite.Invite"
parent="webscript">
<property name="workflowService" ref="WorkflowService"/>
<property name="personService" ref="personService"/>
<property name="authenticationService" ref="authenticationService"/>
<property name="mutableAuthenticationDao" ref="authenticationDao"/>
<property name="namespaceService" ref="NamespaceService"/>
<property name="siteService" ref="SiteService"/>
<property name="nodeService" ref="NodeService"/>
<property name="userNameGenerator" ref="userNameGenerator"/>
<property name="passwordGenerator" ref="passwordGenerator"/>
</bean>
<!-- -->
<!-- Invite Response Web Script - invoked by Invitee to either 'accept' an invitation from a -->
<!-- Site Manager (Inviter), or to reject an invitation that has already been sent out -->
<!-- -->
<bean id="webscript.org.alfresco.repository.invite.inviteresponse.get"
class="org.alfresco.repo.web.scripts.invite.InviteResponse"
parent="webscript">
<property name="workflowService" ref="workflowServiceImpl"/>
<property name="mutableAuthenticationDao" ref="authenticationDao"/>
<property name="siteService" ref="siteService"/>
<property name="personService" ref="personService"/>
<property name="namespaceService" ref="namespaceService"/>
</bean>
<!-- -->
<!-- Invites Web Script (pending invites) - returns pending invites matching the given -->
<!-- inviter user name, invitee user name, site short name, or invite ID URL request parameters -->
<!-- (at least one of the above parameters must be provided) -->
<!-- -->
<bean id="webscript.org.alfresco.repository.invite.invites.get"
class="org.alfresco.repo.web.scripts.invite.Invites"
parent="webscript">
<property name="workflowService" ref="WorkflowService"/>
<property name="namespaceService" ref="NamespaceService"/>
<property name="siteService" ref="SiteService"/>
<property name="personService" ref="PersonService"/>
<property name="serviceRegistry" ref="ServiceRegistry"/>
</bean>
<!-- -->
<!-- Person Service REST API -->
<!-- -->
<!-- -->
<!-- person.put Web Script - updates a person with the given person properties -->
<!-- -->
<bean id="webscript.org.alfresco.repository.person.person.put"
class="org.alfresco.repo.web.scripts.person.PersonPut"
parent="webscript">
<property name="serviceRegistry" ref="ServiceRegistry"/>
<property name="authenticationComponent" ref="AuthenticationComponent"/>
</bean>
<!-- -->
<!-- changepassword.post Web Script - updates a user password -->
<!-- -->
<bean id="webscript.org.alfresco.repository.person.changepassword.post"
class="org.alfresco.repo.web.scripts.person.ChangePasswordPost"
parent="webscript">
<property name="authenticationService" ref="AuthenticationService"/>
</bean>
<!-- Switch on debugger by setting log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger to DEBUG -->
<bean id="rhinoScriptDebugger" class="org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger" init-method="start"/>
</beans>