Sense/Net ECM 背后的正式模型是什么?
What is the formal model behind Sense/Net ECM?
首先,我不知道这里是否适合讨论与 Sense/Net SN 演变和学习过程相关的想法!
无论如何,这是我的故事:
我已经尝试并测试了一些 SN 功能,尤其是内容类型定义 CTD;真的很优雅!
Sense/Net wiki 文档给了我们 "Know How" 我们可以写 200 个关于 SN 的 wiki 页面。所有包含的信息都是真实的。但是,我们没有完整的模型,我们可以在其中看到整个系统模型以及所有案例如何从中得出。
我搜索了 SN codeplex.com 页面,但没有找到 SN 如何发展成为成熟的 ECM 平台。
此外,使用以下关键字搜索 google:
- "Document Management System Modeling"
- "Role-based access control (RBAC) model"
- .....
请协作和帮助。
奇怪的是,SenseNet 没有人回答,但我会试一试,尽管我不太了解历史。我在 SenseNet 工作了 4 年多,开发了 pysensenet
扩展,与开发人员交流,熟悉源代码,所以我对框架有所了解。
该框架在过去 15 年多的时间里不断发展,非常出色。以下是一些事实和要点:
- 数据模型的核心是 XML Tree,其中每个树节点都有一个 C# class 的内部表示,并且可以容纳任意数量的 properties/Fields。这称为
Content
,数据库称为 Content Repository
。
- XML 树保存在 SQL 数据库中,并使用 Lucene.NET 进行索引。
- 内容/数据查询是在 Lucene 而不是 SQL 中进行的。
- 曾经数据库是任意的(SQL),然后 MS SQL 服务器中的存储过程将其锁定到 MS SQL,尽管最近(SenseNet 7)支持 blob 存储在 MongoDB.
- 字段可以是 9 built-in 字段类型之一,也可以是您定义的自定义类型。
- XML 树中的一个节点,又名 "Content",可以包含一个字段,该字段引用树中其他地方的另一个节点,就像树中的链表一样!好的,一个双向链表,因为两个节点可以相互引用。很酷
- 没有"external model",或者如SenseNet所说,"Everything is Content"。
- 权限系统是基于节点的,非常精细。例如,您可以定义权限,使一个角色、组或个人只能看到特定节点的内容。它与 Active Directory 集成。
- 所有内容都可以进行版本控制和跟踪。例如,"Contact"(人)的内容类型可以对该人的姓名进行版本控制。这样,如果有人更改了他们的名字,内容存储库将拥有所有名称更改的历史记录。
希望这不会成为 SenseNet 的营销作品——我不为他们工作,如果你购买许可证也不会受益——但可以帮助你将它与其他技术(如 SharePoint)进行比较和 Alfresco。
首先,我不知道这里是否适合讨论与 Sense/Net SN 演变和学习过程相关的想法!
无论如何,这是我的故事:
我已经尝试并测试了一些 SN 功能,尤其是内容类型定义 CTD;真的很优雅!
Sense/Net wiki 文档给了我们 "Know How" 我们可以写 200 个关于 SN 的 wiki 页面。所有包含的信息都是真实的。但是,我们没有完整的模型,我们可以在其中看到整个系统模型以及所有案例如何从中得出。
我搜索了 SN codeplex.com 页面,但没有找到 SN 如何发展成为成熟的 ECM 平台。
此外,使用以下关键字搜索 google:
- "Document Management System Modeling"
- "Role-based access control (RBAC) model"
- .....
请协作和帮助。
奇怪的是,SenseNet 没有人回答,但我会试一试,尽管我不太了解历史。我在 SenseNet 工作了 4 年多,开发了 pysensenet
扩展,与开发人员交流,熟悉源代码,所以我对框架有所了解。
该框架在过去 15 年多的时间里不断发展,非常出色。以下是一些事实和要点:
- 数据模型的核心是 XML Tree,其中每个树节点都有一个 C# class 的内部表示,并且可以容纳任意数量的 properties/Fields。这称为
Content
,数据库称为Content Repository
。 - XML 树保存在 SQL 数据库中,并使用 Lucene.NET 进行索引。
- 内容/数据查询是在 Lucene 而不是 SQL 中进行的。
- 曾经数据库是任意的(SQL),然后 MS SQL 服务器中的存储过程将其锁定到 MS SQL,尽管最近(SenseNet 7)支持 blob 存储在 MongoDB.
- 字段可以是 9 built-in 字段类型之一,也可以是您定义的自定义类型。
- XML 树中的一个节点,又名 "Content",可以包含一个字段,该字段引用树中其他地方的另一个节点,就像树中的链表一样!好的,一个双向链表,因为两个节点可以相互引用。很酷
- 没有"external model",或者如SenseNet所说,"Everything is Content"。
- 权限系统是基于节点的,非常精细。例如,您可以定义权限,使一个角色、组或个人只能看到特定节点的内容。它与 Active Directory 集成。
- 所有内容都可以进行版本控制和跟踪。例如,"Contact"(人)的内容类型可以对该人的姓名进行版本控制。这样,如果有人更改了他们的名字,内容存储库将拥有所有名称更改的历史记录。
希望这不会成为 SenseNet 的营销作品——我不为他们工作,如果你购买许可证也不会受益——但可以帮助你将它与其他技术(如 SharePoint)进行比较和 Alfresco。