Web内容管理系统 Magnolia 启程-挖掘优良的架构(3)
Author and Public instances
第一个关键观念:instance-实例。每一个项目都必须至少有一个Author实例和至少一个Public实例。下面将告诉你为什么:

基本概念: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
- 打开示例-http://localhost:8080/magnoliaPublic.
- 使用Superuser (superuser /superuser)登录http://localhost:8080/magnoliaAuthor.
- 登出.
- 再用Eric (eric/eric)登录.
- 注意有什么不同.
- 试试编辑Pages的一些内容.预览直接看编辑效果。支持手机平板PC预览。
- 再用Peter(peter/peter)登录,发布编辑的内容.
- 刷新示例http://localhost:8080/magnoliaPublic看到更新后的效果。
Superuser and Eric are different users with different privileges.
Web内容管理系统 Magnolia 启程-挖掘优良的架构(3)的更多相关文章
- Web内容管理系统 Magnolia 介绍-挖掘优良的架构(1)
Magnolia简介: Magnolia CMS是一家瑞士公司自2003年起发布的一个基于Java的开源内容管理系统.它适合且已被使用在以下领域:电子商务(例如:COOP.Migros.Rossman ...
- OSCHina技术导向:web内容管理系统Magnolia
Magnolia简介: Magnolia CMS是一家瑞士公司自2003年起发布的一个基于Java的开源内容管理系统.它适合且已被使用在以下领域:电子商务(例如:COOP.Migros.Rossman ...
- Web内容管理系统 Magnolia 安装使用-挖掘优良的架构(2)
在Windows上安装社区版 tomcat集成版 Magnolia CMS社区版本为免费发行,不需要任何GNU通用公共许可协议(第3版)条款下的授权(这个许可协议允许您在特定条款和条件下,重新分配和 ...
- VM Depot 镜像新增系列II – 学习管理系统,内容管理系统以及平台管理工具
发布于 2014-06-23 作者 刘 天栋 继上周企业管理软件和电子商务镜像的加盟之后,我们看到又有一批内容管理解决方案(CMS),学习管理解决方案(LMS)以及平台管理工具 (如 Open ...
- 【Web探索之旅】第二部分第三课:框架和内容管理系统
内容简介 1.第二部分第三课:框架和内容管理系统 2.第二部分第四课预告:数据库 第二部分第三课:框架和内容管理系统 上一课我们介绍了服务器端的编程语言,有PHP,Java,Python,Ruby ...
- [系统开发] 一个基于Django和PureCSS的内容管理系统
这是我刚开发的一套基于Django和PureCSS的内容管理系统,目标是优雅.简洁.实用,目前功能还在完善中. 系统参考了网上的教程,除了文章管理.搜索.RSS,还增加了类别管理.用户管理,以及评论管 ...
- 30 个很棒的 PHP 开源 CMS 内容管理系统
本文汇集了30个优秀的开源CMS建站系统,采用PHP开发.以下列表不分先后顺序. 1. AdaptCMS AdaptCMS Lite 是一个开源的CMS系统,主要特点是易用,而且可以轻松和其他系统接驳 ...
- 宏观CMS-->功能体系结构内容管理系统
CMS,Content Management System,一个非常普通的站点内容管理系统.本文章旨在从一定的高度把CMS的功能概念做一个分解论述 ,希望读者能够有所感. 1.前台 前台是站点中给 ...
- Orchard是一个了不起CMS(内容管理系统)
在这个系列中,我们将共同经历从头开始构建一个Orchard模块的过程! 虽然Orchard是一个了不起CMS(内容管理系统),有着强大的功能和令人振奋的架构,可以无限的扩展,但它可能需要花费一定时间, ...
随机推荐
- 活动图 Activity Diagram
活动图 可通过一系列操作将业务流程或软件进程以工作流的形式显示出来.这些操作可以由人.软件组件或计算机来执行. 使用活动图可以描述多种类型的流程,如下: 1.用户和您的系统之间的业务流程或工作流. 2 ...
- BitmapSource ConvertTo Bitmap
偶遇需要把 BitmapSource 转成 Bitmap. .. using System; using System.Drawing; using System.Drawing.Imaging; u ...
- Query classification; understanding user intent
http://vervedevelopments.com/Blog/query-classification-understanding-user-intent.html What exactly i ...
- 2124: 等差子序列 - BZOJ
Description 给一个1到N的排列{Ai},询问是否存在1<=p1=3),使得Ap1,Ap2,Ap3,…ApLen是一个等差序列. Input 输入的第一行包含一个整数T,表示组数.下接 ...
- Linq常用
1.左关联查询var lst = from m in db.信息 join d in db.明细信息 on m.单号 equals d.单号 into mi ...
- 【POJ】【3537】Crosses and Crosses
博弈论 相当于放了x的位置,左右4格都不能再放x了,谁无处可放就输. n<=2000 直接枚举后继状态,暴力求SG函数即可. 例: 0000000->x..0000 / .x..000 / ...
- 剑指offer--面试题10--相关
题目一:判断一个整数是不是2的n次幂 实现大概如下: int main() { ; )) == ) //重要!! std::cout<<"YES!"<<st ...
- [转载]C# winform登陆框验证码的实现
验证码技术已愈来愈成熟,从最初的数字.字母.字符.汉字已经到目前的语言,其应用也甚广,之前大多数只有在网站上可以看到,现在在一些客户端软件也经常可见(比如证券相关软件).之前做的一个基于 C# 客户端 ...
- eclipse配置mahout
1.在elcipse上建立一个java project 项目名:mymahout 2.建立libs文件夹,在mahout 0.9的lib文件夹下找到一下java包 其中log4j.properties ...
- Python中Lambda, filter, reduce and map 的区别
Lambda, filter, reduce and map Lambda Operator Some like it, others hate it and many are afraid of t ...