开放源码 CMS 入门,第 3 部分: 构建定制存储
2010-04-16 00:00:00 来源:WEB开发网下面这些文件应该在项目的 slide-sforce/lib 目录中:
axis.jar commons-codec-1.3.jar
commons-collections-2.1.jar
commons-dbcp-1.2.1.jar
commons-discovery.jar
commons-httpclient.jar
commons-pool-1.1.jar
commons-transaction-1.0.jar
ehcache-1.0.jar
ehcache.license.txt
geronimo-jta.jar
jakarta-regexp-1.3.jar
jakarta-slide-webdavlib-2.1.jar
jaxen-core.jar
jaxen-jdom.jar
jaxp.jar
jaxrpc.jar
jdom-1.0.jar
jdom-dev.jar
log4j-1.2.8.jar
lucene-1.4-final.jar
PDFBox-0.6.5.jar
poi-2.5-final-20040428.jar
saaj.jar
saxpath.jar
sforce-api.jar
tm-extractors-0.4.jar
xml-im-exporter.license
xml-im-exporter1.1.jar
您可以下载修改后的完整的 build.xml 文件(os-rcCMSPt3.zip 中有部分源代码)。
覆盖行为
在这一节中,开始添加 salesforce.com Web 服务 API 方法,以上传修改后的文档。
添加 sforce 行为
现在可以修改行为了。您需要测试新的修订版被存储到的路径,以确保不会将所有东西都复制到 salesforce.com。为执行测试,可以编写一个例程,这个例程使用一个 Regular 表达式来得出被保存资源的统一资源标识符(Uniform Resource Identifier,URI),并判断 URI 是否与 ".*/SalesForce/.*" 正则表达式匹配。然后便可以执行 salesforce 集成方法。清单 4 展示了要插入到 SFTxFileContentStore 中的新方法。
清单 4. testSFUri
private boolean testSFUri(Uri uri) {
//match if /SalesForce/ anywhere in Uri
String key = ".*/SalesForce/.*";
RE r = null;
try {
r = new RE(key, RE.MATCH_CASEINDEPENDENT);
} catch (RESyntaxException e) {
//not likely to happen but catch and return false if it does
e.printStackTrace();
return false;
}
return r.match(uri.toString());
}
- ››CmsTop采集图文教程
- ››cmstop如何更换系统默认模板
- ››CmsTop大众版视频教程之:文章采集教程
- ››CMS行业价值和方向在哪里 究竟还剩下些什么?
- ››开放的云让业务更“闪亮”
- ››开放源码 CMS 入门,第 1 部分: 下载、安装和开始...
- ››开放源码 CMS 入门,第 2 部分: 通过 Eclipse 构建...
- ››开放源码 CMS 入门,第 3 部分: 构建定制存储
- ››开放源码 CMS 入门,第 5 部分: 为 Jakarta Slide...
- ››开放源码 CMS 入门,第 6 部分: 为 Jakarta Slide...
- ››CMS阅读功能 for v 7.5
- ››开放标准、开放源码和 Domino 6: 通过 Python 和 ...
更多精彩
赞助商链接