代码之家  ›  专栏  ›  技术社区  ›  surajz

在jcr存储库中组织文件的正确方法

jcr
  •  1
  • surajz  · 技术社区  · 14 年前

    在使用JCR的wcm中组织文件的正确方法是什么。假设总文件数为100000+个文件,总文件大小约为50-70GB。 是否最好按五种类型组织文件(并创建子目录以按某些类别对文件进行进一步分组)

    有什么好处。在使用查询api、维护或其他什么的时候会有什么不同吗。

    Proposal 1:
    --shared
    ------images
    ------pdf
    ------movies
    --location1
    ------images
    ------pdf
    ------movies
    --location2
    ------images
    ------pdf
    ------movies
    
    Proposal 2: 
    --pdf
    -------shared
    -------location1
    -------location2
    --images
    --------shared
    --------location1
    --------location2
    .. etc
    
    2 回复  |  直到 14 年前
        1
  •  2
  •   notdang    14 年前

    avid's Model: A guide for content modeling

    一些亮点:

    • 驱动内容层次结构,不要让它发生。
    • 小心同名兄弟姐妹。
    • 被认为有害的参考文献。
    • 文件就是文件就是文件。
        2
  •  1
  •   Simon    14 年前

    就像在任何(真实的)文件系统中一样,当您要列出一个包含大量文件/子文件夹的文件夹时,可能需要一些时间。 默认情况下,jackrabbit2.x现在将散列用户空间。

    /users/s/sa/sandra
    /users/s/si/simong
    ...
    

    我个人会赞成你的第一个建议,因为它更有意义。 我们有一个webapp,所有用户都可以在JCR中上传/删除/修改他们的文件,并且是这样做的:

    /_users/s/si/simon/public
    /_users/s/si/simon/public/My Pictures
    /_users/s/si/simon/public/My Pictures/2010/06/Trip to the US
    /_users/s/si/simon/public/My Pictures/2010/06/Trip to the US/DC1001.jpg
    /_users/s/si/simon/private/account_details.txt
    ...
    

    我们大致遵循在类UNIX系统中完成主文件夹的方式。 我们尽量把我们(合理地)能做的事情都搞清楚。例如用户空间(/s/si/simong),但也包括消息:

    /_users/s/si/simong/messages/2009/12/25/ab34ed87dee
    /_users/s/si/simong/messages/2010/03/12/e4f1de3cd48
    ...
    

    但是,一个给定文件夹中的子文件不能超过1000个,这取决于单个用户(不过我们会警告他们) ie:在~/private下的所有内容都只能由当前用户读写,~/public是每个人都可以读的。