PSML
是
Portal Structure Markup Language
的缩写。它的目的是为了
Jetspeed
中内容结构的建设和提取。
Jetspeed
中支持两种形式的
PSML
管理:文件系统和数据库管理。
何时需要使用数据库存储 PSML 文件:
1 用户数量巨大;
2 提高性能和可分布性;
3 把 Jetspeed 的安全性和已有的数据库结合起来;
4 使用一个统一、安全的数据库来巩固所有的门户信息。
使用数据库存储 PSML 文件的缺点:
1 Jetspeed 的运行必须依赖于数据库的运行;
2 速度不快的数据库将会影响 Jetspeed 的性能;
3 增加了复杂性;
4 你必须使用 Jetspeed 的 PSML 定制器来修改 PSML 文件,或者需要将 PSML 文件进行导入导出来进行修改,或者使用 sql 语句来操作复杂的 PSML 文件修改。
具体操作步骤:
1 在数据库中建立 PSML 所需要的 3 张表。 Jetspeed 中自带的 Hypersonic 数据库已经预先建好了这几张表。
2 Jetspeed 使用 Torque 来进行数据-值对象的操作、维护 .
首先编辑配置文件 build/torque/dbpsml.properties ;
再修改数据库 schema 文件 build/torque/schema/dbpsml-schema.xml ;
用 ant 进行编译处理,生成 java 类和 sql 文件,并执行 sql 文件。
3 配置 Jetspeed 使用 PSML 数据库
将数据库驱动类的 jar 包放到特定目录下: webapp/WEB-INF/lib
修改配置文件 webapp/WEB-INF/conf/Torque.properties
torque.database.default.adapter=mysql
torque.dsfactory.default.connection.driver = org.gjt.mm.mysql.Driver
torque.dsfactory.default.connection.url = jdbc:mysql://localhost:3306/jetspeed
torque.dsfactory.default.connection.user =root
torque.dsfactory.default.connection.password =
4 将 PSML 文件从文件系统导入到数据库
在配置文件 JetspeedResources.properties 中更改 PSML Manager 属性值:
services.PsmlManager.classname=
org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService
services.PsmlImportManager.classname=
org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService
使用 ant 进行导入:
ant import
5 将 PSML 文件从数据库中导出到文件系统
在配置文件 JetspeedResources.properties 中更改 PSML Manager 属性值:
services.PsmlManager.classname=
org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService
services.PsmlImportManager.classname=
org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService
services.PsmlManager.root=/tmp/psml7
使用 ant 进行导出:
ant import
何时需要使用数据库存储 PSML 文件:
1 用户数量巨大;
2 提高性能和可分布性;
3 把 Jetspeed 的安全性和已有的数据库结合起来;
4 使用一个统一、安全的数据库来巩固所有的门户信息。
使用数据库存储 PSML 文件的缺点:
1 Jetspeed 的运行必须依赖于数据库的运行;
2 速度不快的数据库将会影响 Jetspeed 的性能;
3 增加了复杂性;
4 你必须使用 Jetspeed 的 PSML 定制器来修改 PSML 文件,或者需要将 PSML 文件进行导入导出来进行修改,或者使用 sql 语句来操作复杂的 PSML 文件修改。
具体操作步骤:
1 在数据库中建立 PSML 所需要的 3 张表。 Jetspeed 中自带的 Hypersonic 数据库已经预先建好了这几张表。
2 Jetspeed 使用 Torque 来进行数据-值对象的操作、维护 .
首先编辑配置文件 build/torque/dbpsml.properties ;
再修改数据库 schema 文件 build/torque/schema/dbpsml-schema.xml ;
用 ant 进行编译处理,生成 java 类和 sql 文件,并执行 sql 文件。
3 配置 Jetspeed 使用 PSML 数据库
将数据库驱动类的 jar 包放到特定目录下: webapp/WEB-INF/lib
修改配置文件 webapp/WEB-INF/conf/Torque.properties
torque.database.default.adapter=mysql
torque.dsfactory.default.connection.driver = org.gjt.mm.mysql.Driver
torque.dsfactory.default.connection.url = jdbc:mysql://localhost:3306/jetspeed
torque.dsfactory.default.connection.user =root
torque.dsfactory.default.connection.password =
4 将 PSML 文件从文件系统导入到数据库
在配置文件 JetspeedResources.properties 中更改 PSML Manager 属性值:
services.PsmlManager.classname=
org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService
services.PsmlImportManager.classname=
org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService
使用 ant 进行导入:
ant import
5 将 PSML 文件从数据库中导出到文件系统
在配置文件 JetspeedResources.properties 中更改 PSML Manager 属性值:
services.PsmlManager.classname=
org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService
services.PsmlImportManager.classname=
org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService
services.PsmlManager.root=/tmp/psml7
使用 ant 进行导出:
ant import