2011-04-06 63 views
2

我在想,如何在Jackrabbit中组织“正常”文本内容(即字符串,HTML代码...)。 是否有任何推荐的纯文本内容结构(如文件)? (nt:folder) - > Node(nt:file) - > Node(jcr:带有jcr:data属性的内容)持有二进制)Jackrabbit/JCR组织文本内容数据

还是更要有像 节点(NT:文件夹) - >节点(新台币:非结构化与JCR:其中包含字符串信息属性)

我的第三个想法(nt:文件夹) - >节点(my:带有jcr:message属性的文本,其中包含字符串) 节点(nt:文件夹) - >节点(my: HTML与JCR:消息公关operty其中包含字符串) ...

什么是你最好的解决方案? 这将是很好的讨论这一点。

回答

1

将文本和html内容存储为nt:文件结构通过WebDAV和其他理解这些结构的工具使其可见。取决于您的应用程序,这可能很有用。

如果你不需要这个,你可以将你的文本内容存储为属性。在这种情况下,使用JSR-283规范的标准应用程序节点类型部分中定义的标准属性名称:jcr:title,jcr:description等有助于使事物保持一致。

另请参阅http://wiki.apache.org/jackrabbit/DavidsModel它有一些相关的建议。

1

我会将常规文本存储在字符串属性中,除非它是一个大(多千字节)的文本。这与关系数据库中的VARCHAR类似。

对于不是'文件'的非常大的文本,我会使用二进制属性(流)。这些属性存储在DataStore中,这比字符串属性写入和访问要慢,但不会将整个项目加载到内存中,并且只会存储一次相同的数据。这与关系数据库中的BLOB/CLOB类似。

对于文件,我会使用nt:folder/nt:file。这与文件系统中的文件类似。