在专门研究添加和维护各种门户资源的用户接口前,最好先了解下Liferay组织门户的一些概念。
1.Portal被用户访问。
2.用户可以添加到用户组。
3.用户可以属于组织。
4.组织可以分层,例如总办公室→区域办公室→附属办公室。
5.用户,用户组和组织可以属于有共同关注点的社区。
6.在组织和社区里面,用户可以属于一个在社区和组织里面因为特别原因组合起来的团队(team)。
以上表述最简单的理解就是系统用户可以采用多种方式将其组合到一起。其中,某些组合遵循一个有管理组织的层次,其他的组合可能是用户自己定义的(例如来自多个不同组织的不同用户创立对狗有共同兴趣的爱狗社区)。其他分类管理可能是通过角色来完成的,这种角色是为某些可跨越portal使用的功能设计的(例如一个留言板管理员角色由来自多个社区和组织的用户构成,允许这些用户在门户中管理任何地方的留言板)。
这种组织门户的理念可以用下面的方式来说明:
在下面的说明中,每个箭头可以用“可以是其中一员”来代替,这就意味着组织可以是社区的成员,社区可以是角色的成员,用户可以是任何的成员等等。尽管这看上去似乎非常复杂,但它为门户管理员配置门户资源和安全提供一套健壮的方式和机制。需要提醒的是该图说明的仅仅是用户和他们的集合。权限不能关联分配到所有的这些集合中,它仅能分配给角色。
Team独立存在于组织和社区中,Team只能在被创建的组织和社区中使用,在社区和组织里面创建的Role(角色)只能在社区和组织中使用。这就意味着尽管在门户中的每个组织和社区都有被配置了权限的角色,但在每个社区和组织中角色的资格是不同的。
Users代表系统的物理用户,是人们用来登录系统的用户账号。默认情况下,用户可以获得他们可以管理且具有公共和私有页面的私有社区,管理员可以关闭或者锁定该内容。但该私有空间很重要:让用户可以具有自己的公共blog或者私有的日历,个人文档存储等。
可以通过多种途径归集用户。他们可以是分层组织中的成员,例如Liferay中包含安全→因特网安全。用户可以归属于专门的用户群,例如博客群体,这样用户可以在他们的私人空间创建博客载体。他们也可以是有相同兴趣的社区当中的成员。用户也可以拥有自己的角色来描述他们在系统中的功能,这些角色的作用域可以使门户,组织,或者社区。
用户组是由管理员创建的简单、专属的用户集合。他们可以是社区或者角色中的成员。权限不能分配给用户组。尽管用户组不像其他的一些用户集合(例如社区或者组织)一样有页面集。但是它们具有可以用来定制用户私人页面集的页面模板。这在后面会详尽的描述。
Liferay有以下三种类型角色:
l 门户角色
l 组织角色
l 社区角色
这些叫做角色作用域。角色被用于在它的作用域范围内定义权限:作用于门户,作用于组织或者作用于社区。例如,考虑授权一个角色可以创建一个留言板,一个门户角色(Portal Role)允许在门户范围内访问,不管该留言板(Message Board)在门户的任何地方。一个社区角色仅授权用户对社区内的留言板有访问权限。一个组织角色也仅授权特定组织内的留言板有访问权限。
因为角色是严格用于门户安全的,因此它们不能像社区和组织一样拥有自己的页面。
用户、用户组、社区、组织都可以是角色的成员。
组织是分层的用户集合,它是两类可以有页面的portal资源之一。这里也有一个叫做location的特殊组织,可以用于定义用户所处的特殊位置。
组织能够方便的定义用户在一个特殊层次关系中的位置。例如,如果你为一个大型企业实现了Liferay门户,通过Joe Smith在组织结构图中的位置,它就可以帮助定义Joe Smith用户。假如Joe Smith是位于新泽西州办公室的一个销售工程师,在东北部的销售部工作,那么他可能是以下组织的成员:
l 销售
l 东北部
l 新泽西州
现在,假如在每个用户的homepage上都放置了一个名叫Asset Publisher的静态portlet(通过用户组(User Group)页面模版实现),此时,就可以通过内容管理系统将许多公告信息通知到员工。只要内容标记合适,可以确保Joe Smith获得所有在东北部或者新泽西州和销售有关的公告。
组织可以是社区的成员。
社区是有共同兴趣的用户集合,Liferay的默认页面是以门户名称命名的社区的一部分,因为不管是匿名用户还是门户用户,都有访问站点默认公共页面的需要。有三种不同类型的社区:
l 开放(open)
l 受限(restricted)
l 隐藏(hidden)
开放社区(默认)允许用户在任何时候都可以自由加入或者退出,使用控制面板或者一个社区的 portlet添加到他们可以访问的页面。受限社区中只有社区管理员可以增加用户。用户可以用Control Panel或者Communities portlet申请用户.隐藏社区和受限社区类似,特别之处是他不会在Control Panel或者Communities portlet里面显示。隐藏社区中必须是社区管理员才能增加用户。
Team在每个社区和组织中是独立存在的,Team本质上是在社区里面能够创建的用户集合。它和组织及社区角色不一样,Team仅仅出现在创建它的组织和社区里面。这对需要在一个社区或者组织里面为一些特殊目的创建一组用户但却不需要在门户中的每一个社区和组织中使用的情况非常有用。
Team同时也是某些应用场景中必不可少的,因为它们可以被社区或者组织管理员创建。社区和组织管理员不能创建角色,因此,通过team他们就可以在一定的级别进行权限管理,这是在没有Team之前做不到的。