`

Alfresco 2.0 解读

    博客分类:
  • Java
阅读更多

Alfresco 2.0 解读

一、介绍:
http://www.alfresco.com
Alfresco is the Open Source Alternative for Enterprise Content Management (ECM), providing Document Management, Collaboration, Records Management, Knowledge Management, Web Content Management and Imaging.

采用的技术
Java
Spring  Aspect-Oriented Framework
ACEGI – Aspect-Oriented Security Framework
MyFaces  JSF Implementation
Hibernate  ORM Persistence
Lucene  Text Search Engine
JLAN
POI File Format Conversion
PDFBox – PDF Conversion
OpenOffice
jBPM
Rhino JavaScript engine
支持的接口
CIFS/SMB Microsoft File Share Protocol
JSR-168 Portlet Specification
JSR-127 Java Server Faces
FTP
WebDAV
Web Services
REST
更多的技术规范详见: http://www.alfresco.com/products/ecm/specifications/

二、配置解读
1、从web.xml开始入手
其它的略过,在 web.xml 中可以看到加载了如下 Spring 配置文件
<context-param></context-param>

xml 代码

 

  1. <context-param>  
  2.    <param-name>contextConfigLocation</param-name>  
  3.    <param-value>  
  4.       classpath:alfresco/web-client-application-context.xml   
  5.       classpath:web-services-application-context.xml   
  6.       classpath:alfresco/web-api-application-context.xml   
  7.       classpath:alfresco/application-context.xml    
  8.    </param-value>  
  9.    <description>Spring config file locations</description>  
  10. </context-param>  

web client 层
alfresco/web-client-application-context.xml
打开它可以看到它引入了所有的 alfresco/web-client*.xml & alfresco/extension/web-client*.xml & jar:*!/META-INF/web-client*.xml

web api 层
alfresco/web-api-application-context.xml
打开它可以看到它引入了 alfresco/web-api-config.xml & alfresco/extension/web-api-config-custom.xml

web service 层
web-services-application-context.xml
刚开始找这个文件时,居然没有找到,怪事!not exist???why?
于是后来才发现这个文件是在 remote-api.jar 包里,晕,不是很好的做法啊。

...................... 


在这里编辑太慢了而且比较乱,索性还是自己做成PDF上传了

分享到:
评论
4 楼 YuLimin 2007-08-28  
alfresco application on WebLogic的BUG解决的方法很简单

1、把相关的JMX删除或者进行某种方式的变通;
2、修改模板文件的引入方式后可以了。

WebLogic也真的是弄巧成拙啊。把Web的其它相关的文件打成jar,导致访问出错,呵呵,比较有意思,而且发现在Windows与Solaris下都不一样。

先点着位,有事。。。完整的待续。

不好意思,现在才整理好了,放上来,内容如下:
WebLogic生成的_wl_cls_gen.jar只是把Web应用程序里的classes目录下的内容都进去成一个jar包,为了读取二进制文件更加快速?
你可以在%DOMAIN_HOME%/servers/AdminServer/tmp/_WL_user 目录下相应的Web应用程序里的/war/WEB-INF/lib/目录中找到它,打开它来看就知道里面的内容了。

正由于这样,而导致了ClassLoader.gtResource("...")之类的取不到值了。
ClassLoader loader = Thread.currentThread().getContextClassLoader(); 
loader.getResource("xxx").toURI().getPath(); // 这里的取值就为null了。 

我跟踪到SUN的JDK里,里面的RMI实现是:
FileInputStream fin = new FileInputStream(fname); 

于是产生了异常:
java.io.FileNotFoundException: class path resource [alfresco/templates/api] cannot be resolved to absolute file path because it does not reside in the file system: zip:C:/BEA92/user_projects/domains/sdpf_cms_test/./servers/AdminServer/tmp/_WL_user/_appsdir_alfresco2.0.0_war/kvnyug/war/WEB-INF/lib/_wl_cls_gen.jar!/alfresco/templates/api/

这样造成是从_wl_cls_gen.jar!/alfresco/templates/api/里面去找文件,哪里找得到?
但是,如果是目录部署的话,就可以找到。

所以你可以去修改JDK里的RMI实现去。。。,哈哈哈,不可能的吧:)为了这个。
private static Properties propertiesFromFile(String fname) throws IOException
{
	FileInputStream fin = new FileInputStream(fname);
	Properties p = new Properties();
	p.load(fin);
	fin.close();
	return p;
}

这是JDK里面的实现com.sun.jmx.remote.security.MBeanServerFileAccessController.java的实现

权宜之计有两步骤要做:
一、模板文件加载的问题
 1、org.alfresco.web.api.TemplateClassPathSet.java 中 afterPropertiesSet() 方法注释掉所有的代码
 2、org.alfresco.web.api.APITemplateProcessor.java 中 initConfig() 方法,在
 config.setCacheStorage(new MruCacheStorage(20, 100));

 下增加如下代码
 config.setClassForTemplateLoading(this.getClass(),"../../../../alfresco/templates");

二、JMX的问题
 1、org.alfresco.util.RuntimeSystemPropertiesSetter.java 中 postProcessBeanFactory()
  修改它的实现,先把文件InputStream出来,存到一个临时的物理文件,再将这个路径传回给它。
  要不然,默认的JMX实现是根据绝对路径来取的,就产生了错误。
 2、直接在配置文件里去掉JMX相关的服务,就没有问题了。

重新编译打包部署即可。
3 楼 cy2047 2007-08-28  
你好  能不能请教一些问题? 我刚学用Alfresco   很多不了解
2 楼 YuLimin 2007-07-20  
I have found a bug when I deployed alfresco application on WebLogic, maybe this is a alfresco's BUG about installation on WebLogic.

so, we should run < jar xvf alfresco.war > to alfresco directory first, then deploy it. Don't deploy alfresco.war directly.

After that, start WebLogic server, will be work smoothly.

FYI.

Resource:
http://wiki.alfresco.com/wiki/Install_BEA_Weblogic
1 楼 liferay 2007-05-15  
不错,谢谢!

相关推荐

    alfresco-maven-sdk2-test:测试新的 Alfresco Maven SDK 2.0

    **Alfresco Maven SDK 2.0 测试详解** Alfresco Maven SDK 2.0 是一个用于构建、集成和测试 Alfresco 扩展的强大工具,尤其针对Java开发者。这个测试项目是为了解释如何利用这个SDK来创建、配置和执行针对Alfresco ...

    alfresco-jlan-4.0.zip_Alfresco JLAN_CIFS_Jlan.jar_alfresco-jlan_

    《Alfresco JLAN:Java实现的CIFS服务器服务》 Alfresco JLAN是一款基于Java语言实现的CIFS(Common Internet File System)服务器服务,它与Alfresco企业内容管理系统紧密集成,提供了强大的文件共享和协作功能。...

    Alfresco cookbook Alfresco share

    《Alfresco cookbook Alfresco share》是一本专为Alfresco企业内容管理平台用户和管理员设计的实用指南。这本书深入探讨了如何有效地使用Alfresco Share,这是一个基于Web的协作平台,提供了文档管理、工作流、协作...

    Alfresco安装说明.docx

    Alfresco 安装说明 Alfresco 是一个流行的开源企业内容管理系统(ECM),可以帮助用户创建、管理和共享文件、文档和其他内容。本文档旨在指导用户安装和配置 Alfresco 服务器。 安装准备 在开始安装之前,需要...

    Alfresco社区版+windows2008+oracle 11g详细部署文档

    《Alfresco社区版在Windows 2008上与Oracle 11g数据库的详细部署指南》 Alfresco是一款强大的开源企业内容管理系统,它提供了文档管理、协作工具以及工作流程等功能。然而,Alfresco社区版并不支持Oracle数据库的...

    Alfresco.3.Business.Solutions

    3. **工作流解决方案**:Alfresco内置了Activiti工作流引擎,支持BPMN 2.0标准,允许企业设计和执行复杂的业务流程。这有助于自动化审批流程,减少人为错误,提高效率。 4. **协作与共享**:Alfresco支持多种协作...

    Alfresco与AD集成部署

    Alfresco是一个开源的企业内容管理系统(ECM),它提供了文档管理、协作、网站管理等多种功能。集成Active Directory(AD)或 Lightweight Directory Access Protocol(LDAP)可以让Alfresco使用企业现有的用户身份...

    Alfresco Workflow Guide.pdf

    《Alfresco工作流指南》深入解读:创建与定制工作流 在当今数字化转型的时代,企业对于高效、灵活的工作流程管理需求日益增长。Alfresco,作为一款领先的内容管理系统(CMS),不仅提供强大的文档管理和协作功能,...

    Alfresco5.1图文说明安装

    ### Alfresco 5.1 图文安装指南 #### 一、概述 Alfresco是一款开源的企业内容管理系统(ECM),用于管理和存储各种类型的企业文档。本文档将详细介绍如何安装Alfresco 5.1版本,并提供相关的图文说明,帮助用户...

    Linux系统安装Alfresco Community

    Linux系统安装Alfresco Community 在 Linux 系统中安装 Alfresco Community 需要遵循一定的步骤,以下是详细的安装步骤和知识点: 1. 下载 Alfresco 社区版本:首先需要下载 Alfresco 社区版本的安装包,可以从...

    Alfresco安装后启动异常处理

    在安装Alfresco内容管理系统后,启动过程中遇到异常情况是很常见的。这些异常可能涉及到各种问题,包括数据库连接、配置错误、环境兼容性等。本文将深入解析Alfresco启动异常处理的一些关键点。 首先,一个常见的...

    alfresco讲义

    ### Alfresco 讲义知识点详解 #### 一、Alfresco 概述 - **Alfresco** 是一款开源的企业内容管理系统(ECM),能够帮助组织管理文档、图像和其他文件,支持工作流程处理以及协作功能。 - **Alfresco 的核心组件** ...

    alfresco4.0部署及分离solr

    在IT领域,Alfresco是一款开源的企业内容管理系统(ECM),它提供文档管理、协作工具以及内容服务等功能。Solr,则是Apache软件基金会的一个开源搜索引擎项目,常用于全文检索、分布式搜索和分析。在Alfresco中集成...

    linux下部署alfresco

    Linux 下部署 Alfresco 在 Linux 环境中部署 Alfresco 需要安装 Java Development Kit(JDK)和 MySQL 数据库,以满足 Alfresco 的运行要求。下面是详细的部署步骤: 安装 JDK 首先,需要下载 64 位 JDK1.6 ...

    rms2.0就差验证

    1. 添加依赖:在Java项目中,首先需要引入RMS2.0的相关库,这可能涉及到Microsoft RMS SDK或者第三方库,如Alfresco RMS Integration等。 2. 配置连接:配置RMS服务器的URL、端口和认证信息,以便客户端能正确地与...

    Alfresco部署

    在IT领域,企业内容管理系统(ECM)是管理和组织企业内部和外部信息的关键工具,而Alfresco就是一款广受欢迎的开源ECM解决方案。本文将详细介绍如何在RHEL5.1操作系统上部署Alfresco,主要包括Java环境的配置以及...

    alfresco webservice 文档上传

    Alfresco是一款开源的企业内容管理(ECM)系统,它提供了强大的文档管理、协作和工作流程功能。在Alfresco中,Web Services是一种常见的API接口,允许开发者通过HTTP协议与Alfresco服务器进行交互,包括文件的上传...

Global site tag (gtag.js) - Google Analytics