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(内容管理系统),有着强大的功能和令人振奋的架构,可以无限的扩展,但它可能需要花费一定时间, ...
随机推荐
- Encog
http://www.heatonresearch.com/encog/ https://www.mql5.com/zh/articles/252
- JSP:useBean,setProperty的使用
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- 将Xml字符串转换成(DataTable || DataSet || XML)对象
今天用到一个功能:就是把从数据库读出来的内容转换成XML字符串流格式,并输出给一个功能函数.在写的过程,为方便以后的使用,我对这一功能进行分装.该类的具体格式如下:XmlConvert类命名空间:Ni ...
- Module模式 - 深入了解Javascript
/* Modelu模式 优点:效率高,代码少,加载速度快,松耦合允许并行加载,提升下载速度 缺点:初始化时间久一点 */ //一.基础用法 var calculate = function (eq) ...
- 数据库SQLiteDatabase
package com.baclock.entity; import android.provider.BaseColumns; /** * Created by Jack on 5/4/2016. ...
- JSON-JObject
http://james.newtonking.com/json/help/index.html http://www.cnblogs.com/usharei/archive/2012/04/24/2 ...
- Smarty插件简单开发
smarty的插件相当简单,你的网站经常会用到一些特定的Url或Controller或Action的路由地址的动态生成,通过smarty插件方式可以很轻松的实现. 在smarty/plugins目录下 ...
- 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
// test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...
- 【BZOJ】【2154】Crash的数字表格
莫比乌斯反演 PoPoQQQ讲义第4题 题解:http://www.cnblogs.com/jianglangcaijin/archive/2013/11/27/3446169.html 感觉两次sq ...
- [错误]试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
错误原因: dll文件是在64位机下编译的,而服务器是32位机,所以无法调用 或者dll文件是在64位开发环境下下编译的,而现在的调用程序是的32位,所以无法调用 注意项目属性: