Web内容管理系统 Magnolia 启程-挖掘优良的架构(3)

Author and Public instances

第一个关键观念:instance-实例。每一个项目都必须至少有一个Author实例和至少一个Public实例。下面将告诉你为什么:

Web内容管理系统 Magnolia 启程-挖掘优良的架构(3)

基本概念:JCR

JSR-170定义:是一个高级的信息管理 系统,该系统是对传统的数据仓库的扩展,它提供了诸如版本控制、全文检索,访问控制,内容分类、访问控制、内容事件监视等内容服务。

Java Content Repository  API(JSR-170)试图建立一套标准的API去访问内容仓库。如果你对内容管理系统(CMS)不熟悉的话,你一定会对内容仓库是什么感到疑惑。你可 以这样去理解,把内容仓库理解为一个用来存储文本和二进制数据(图片,word文档,PDF等等)的数据存储应用程序。一个显著的特点是你不用关心你真正 的数据到底存储在什么地方,是关系数据库?是文件系统?还是XML?不仅仅是数据的存储和读取,大多数的内容仓库还提供了更加高级的功能,例如访问控制, 查找,版本控制,锁定内容等等。

Magnolia为什么要使用作者实例和公共实例呢?

一个典型的场景:

某公司的营销团队要做关键内容的更新。

问题:

1.网站每天有二万的点击量。所有的更新都需要经过法律团队和全球营销主管的确认。

2.为了评估对公众的影响,法律和市场营销团队需要看到变化的情况并且沟通任何必要的改变作为变更管理过程的一部分。

解决方案:

1.Magnolia CMS 使用一个作者实例和一个公共实例的设置.所有创作发生在“作者实例”。公共内容是所有编辑过的内容复制到“公共实例”里给公众以查看。

2.Magnolia CMS作者不能直接向公众发布更改的内容到公共实例。必须有发布管理员来做。

3.发布管理员也使用作者实例,但是权限仅限于发布变更的内容从作者实例到公共实例。

结果:

这样做的目的是为了小心保护公司拥有的最宝贵的资产之一——声誉。

What is an instance?

Magnolia CMS分为两个web应用程序:“作者”和“公共”。一个实例就是一个单独的系统副本Magnolia至少需要一个Author实例和至少一个Public实例。我们提供预配置的作者和公共实例包。

公共实例绝对不能有注册的,必须通过作者发布内容到公共。所以公共实例发布到网站上的内容是不怕攻击的。(safety and security advantages

<h2>发布(激活)流程-Activate</h2>

How does an author edit a web page?

创作总是发生在作者实例,Magnolia CMS在页面上使用编辑条(edit bars)来增删改页面元素,所见即所得。

发布网站是如何工作的呢?

  • 社区版. When an author publishes a change on the author instance, that change is visible on the public instance immediately.
  • 企业版. 工作流是默认启用的. Before any changes are made on the public instance, a publisher (this is a particular user role) must first confirm the change through the Pulse notification system. Learn about workflow: C6 Workflow

安装上社区版的程序,准备联系一下。

官方提供的下载链接:http://sourceforge.net/projects/magnolia/files/magnolia/

练习 - Superuser VS Eric VS Peter

  1. 打开示例-http://localhost:8080/magnoliaPublic.
  2. 使用Superuser (superuser /superuser)登录http://localhost:8080/magnoliaAuthor.
  3. 登出.
  4. 再用Eric (eric/eric)登录.
  5. 注意有什么不同.
  6. 试试编辑Pages的一些内容.预览直接看编辑效果。支持手机平板PC预览。
  7. 再用Peter(peter/peter)登录,发布编辑的内容.
  8. 刷新示例http://localhost:8080/magnoliaPublic看到更新后的效果。

Superuser and Eric are different users with different privileges.

上一篇:Kubernetes 系列(三):Kubernetes使用Traefik Ingress暴露服务


下一篇:GridView点击行触发SelectedIndexChanged事件