`

利用Organic groups实现群组功能

阅读更多

Organic groups是一个类似views,ubercart之类的模块集合,可以实现用Drupal搭建复杂的群组功能,再辅以一些附加的周边小模块,即可实现群组下对用户的权限控制,以及相关内容的显隐的功能。
在搭建群组之前,首选大家要明确一个概念,就是何为群组?群组的最基本要素要那些?
群组可以理解为一个特定用户群下特定内容的集合,是著名的六度空间理论的重要实现方式。
用户可以选择加入,或者退出某个群组。
每个群组也应该有一个独立的主页,以显示群组内的话题,资源等。
群组是可以被特定用户创建的同样如果在权限许可的情况下群主可以Cancel掉自己的群组。
群组和用户之间的关系是多重的,一个用户可以同时加入好几个群组,而且在每个群组里的角色可能不同。比如可以是一个用户可以是一个群组的管理员同时又可以是另一个群组的普通用户



好了,现在开始进入正题,正式开始搭建群组。
Drupal实现群组功能,首选要开启以下模块:
1.Organic groups
2.Views
3.Entity API
4.Groups create permissions

开启后出现rebuild permissions按钮,点击后完成升级drupal核心的权限设置。

用Organic groups 建立群组,是以数据类型(content type)为基础的。我们需要建立两种新的数据类型,一种数据类型用于展现群组的主页,另一种用于显示群组的内容。

打开后台中结构选项,建立新数据类型,类型名为group-page,并在页面下端的group标签里点选radio按钮“group type”和“not a group content type"
这样一个展示群组主页的数据类型就建立了。
接着,我们在后台选择配置(configuration)选项,在group标签下选择”Group field settings“,对群组主页的字段进行设置
具体设置方法:
在”Group field settings“页面中
点选“bundles”下拉菜单中的“Group”
点选“fields”下拉菜单中的“group visbilty”
然后点击“add field”按钮。这样我们为刚刚建立的群组类型“group-page”增加了一个群组可见性的选择的字段,用来设置群组的公有和私有性。
下面我们为数据类型“group-page”创建一个实体
点添加内容,数据类型选择“group-page”,title项写为"test group" 。因为我们刚刚为“group-page”绑定了一个新的字段,所以我们这时能在body输入框下方看到多出了一个group visbilty项,在此项下我们根据自己具体需求选择"public“ 或是 private。即选择新建的群组是公有群组还是私有群组。那这两者有何区别呢?大家马上就可以看到效果。首选选择公有群组pubilc,并在最下方的标签中设置此内容推送到首页,然后点击完成。返回首页就能我们能看到一个”test group”标签。点击此标签就进入了”test group”的内容页,这个页面其实就是群组”test group”的首页。和我们熟悉的facebook或是linkedin,qq等某个特定群组首页一样,它可以呈现”test group”里群组成员提交的话题,动态,成员列表,最新加入等等与此群组相关的内容,当然这是后话。现在只呈现了一个基础页面(如图)。如果我们创建是选择私有private的话,也就是说,群组只对组成员可见。创建私有群组后,当我们以游客身份或非本组成员账户访问网站时,我们将看不到这个私有的”test group”。

接着我们创建群组数据类型,为了简化流程,我们直接在已有数据类型下"Article"下创建。打开数据类型,选择“article”,选择编辑,在编辑页面下端的“group”标签中选择“not a group type”和“ a group content type".现在aticle可以用于呈现群组的内容了。这时添加新内容,内容类型选择“article”,title项写为“test article”,在 ”group audience“选项里选择我们刚刚创建的群组"test group" 。选择保存,即创建了一个新node,标题为“test article”。刷新页面后我们发现了问题,我们的目标是要创建内容,尽在相关选定群组里显示,而在组外不显示,可我们现在创建的“test article”仅仅是一个公有的文章,群组"test group" 的主页上也显示不了。因此我们需要进一步的配置,使之符合我们的要求。趁热打铁,我们现在马上开始。
第一步:设置文章“test article”为组”test group”的私有内容
首先选择配置,在group标签下选择”Group field settings“。
在”Group field settings“页面中
点选“bundles”下拉菜单中的“article”
点选“fields”下拉菜单中的“group content visbilty”
然后返回编辑文章“test article”,在编辑内容页中“group content visbilty”里选择“private---accessable only to group members” 这样就是设置了此篇内容仅对test group的组内成员显示。保存后,我们以游客身份或非test group组内成员账户访问网站时,文章“test article”将不可见。
第二步:我们已经控制了文章“test article”特定群组的私有性。但是如何把它呈现在”test group”的主页上呢?我们现在开始重复再次选择配置,在group标签下选择”Group field settings“。
在”Group field settings“页面中
点选“bundles”下拉菜单中的“group”
点选“fields”下拉菜单中的“group views”
然后返回设置内容类型,选择编辑数据类型”group-page",这时能发现这此数据类型下多了个字段"group views“,点击管理字段,选择"group views“项的编辑,进入编辑页面后选择"default value"为”og_nodes(default)“,点击保存。然后在”manage display“中选择"group views“对应的格式为"group views“。点击保存。
然和再编辑刚才创建的群组”test group“页,"group views“的选项选择为”og_nodes(default)".
经过稍显复杂的操作后,全部数据类型方面的设置全部完成。现在保存后,我们以游客身份或非test group组内成员账户和组成员账号访问网站时将看到效果,内容“test article”针对”test group“私有,并且呈现在”test group“的页面上。游客和组外部成员无法看到”test group“下的任何内容。
先到这里,在下面,我们来探讨一下Organic groups的用户群组控制,即权限问题。


分享到:
评论

相关推荐

    drupal 7.15 group设置(13) new.doc

    在这个场景中,我们关注的是 Organic Groups 模块的使用,该模块在 Drupal 中提供了一种实现社区和群组功能的方式。Organic Groups (OG) 允许用户创建和管理自己的群组,包含自己的内容和成员。 首先,我们需要配置...

    0.96OLED实现数字、汉字、字符串、图片及上下按键功能切换显示

    本文将详细讨论如何在0.96OLED屏幕上实现这些功能,并通过上下按键进行功能切换。 首先,OLED显示屏的工作原理基于有机发光二极管(Organic Light Emitting Diode),每个像素由多个OLED单元组成,能够自发光,无需...

    drupal6搭建sns网站(Drupal_6_Social_Networking)

    5. ** Organic Groups**:实现群组功能,用户可以创建并管理自己的小组,分享内容和进行讨论。 6. **Activity Stream**:展示用户的活动历史,如发表文章、加入小组、添加新朋友等,增加网站的动态感。 7. **...

    Advanced Organic Chemistry

    《Advanced Organic Chemistry》是一本关于高等有机化学的电子书,属于最新版本的学术著作。这本书籍适用于工学、理学等多个学科领域,提供了有机化学反应、机理以及结构方面的深入探讨。它是由Michael B. Smith和...

    STM32F407核心板+OLED显示+MPU6050显示X轴角度+蓝牙通信 实现计步功能

    6. **软件开发**: 开发过程中可能使用了STM32CubeIDE或Keil uVision等IDE,利用STM32CubeMX配置MCU外设,编写C代码实现功能。此外,可能还需要编写针对OLED显示和MPU6050传感器的驱动程序,以及处理蓝牙通信的协议栈...

    Organic水果蔬菜商城

    准备资料: 前端静态页面图片等 1.根据前端页面进行数据库分析设计 ...3.1Controller层(利用springMVC技术进行参数传递和任务处理转发) 3.2Service层(对于增删改进行事务处理) 3.3Dao层(包括MyBatis映射文件)

    行业资料-电子功用-具侧向光利用功能的有机电激发光装置及侧向光利用方法的说明分析.rar

    本资料深入探讨了一种具有侧向光利用功能的有机电激发光装置及其应用方法,旨在为电子行业提供更高效、节能的解决方案。 首先,我们需要理解OLED的基本工作原理。OLED是由有机半导体材料制成的发光二极管,当电流...

    Clayden J. et al. - Organic chemistry

    - **核磁共振**: 利用核磁共振技术可以确定分子中氢原子的位置和环境。 - **亲核取代在羰基**: 羰基化合物可以通过亲核取代反应转化为其他类型的化合物。 - **平衡、速率和机理**: 这部分探讨了化学反应的动态平衡、...

    Drupal6SocialNetworking-英文原版.zip

    例如,书会涉及一些常用的社交网络模块,如 Organic Groups(用于创建群组)、Flag(用于标记或收藏内容)、Views(用于展示数据)和 Pathauto(自动生成友好的URL)。 7. **主题设计**:Drupal 6 支持自定义主题,...

    Metal–Organic Frameworks Opportunities for Catalysis.pdf

    - **设计**:本文特别关注MOF的设计,包括如何通过设计实现所需的催化功能。 - **结构-活性关系**:探讨MOF结构与其催化活性之间的关系。 - **优势与局限**:分析MOF在催化领域的优势和局限性。 - **活性MOF材料**:...

    Organic Light Emitting Devices

    Organic Light Emitting Devices - Synthesis, Properties And Applications This high-class book reflects a decade of intense research, culminating in excellent successes over the last few years. The ...

    Wordpress Organic模板

    在使用WordPress Organic模板时,你可以充分利用其丰富的功能和自定义选项来打造个性化的网站。以下是一些关键知识点: 1. **响应式设计**:该模板采用响应式布局,确保无论是在桌面、平板还是手机上,都能提供优秀...

    Wordpress Organic Clean模板

    Wordpress Organic Clean模板是一款专为创建生态友好、有机产品或服务相关的网站而设计的网页模板。这款模板以其简洁、清新的设计风格,旨在为用户提供一个易于定制和优化的平台,以便展示他们的环保理念或者有机...

    Organic LlamaBot是一款基于Llama 2开源模型的人工智能聊天机器人

    Organic LlamaBot是一款创新的人工智能聊天机器人,它利用了Llama 2开源模型的强大功能,为用户提供了一种直观且用户友好的交互体验。Llama 2模型是自然语言处理领域的一个重要成果,它在理解和生成人类语言方面具有...

    BLOB_A Probabilistic Model for Recommendation that Combines Organic and Bandit S

    KDD2020论文BLOB_A Probabilistic Model for Recommendation that Combines Organic and Bandit Signals | 推荐 | 强化学习

    html+css+bootstrap实现电商,有机食品商城 Organic Store.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    Wade Organic Chemistry Solutions

    7. 生物分子,如氨基酸、蛋白质、核酸、多糖以及它们的生物化学功能。 对于学习《Wade有机化学解决方案》的学生而言,理解上述知识点,并能够将解决方案中的练习题与这些知识点相结合,是掌握有机化学的基础。由于...

    电子政务-具侧向光利用功能的有机电激发光装置.zip

    在这个领域,技术的应用是关键,而“具侧向光利用功能的有机电激发光装置”则是一种可能用于电子政务显示设备的技术。 有机电激发光(Organic Electro-Luminescent,OEL)器件是基于有机半导体材料的发光二极管,...

    organic electronics

    此外,还可以通过另外一种方法来实现可拉伸的显示屏,即通过构建所有构成材料都是弹性的内在可拉伸OLED。这类OLED采用了一对透明的碳纳米管(CNTs)-聚合物复合电极。这种弹性聚合物发光器件的研究和开发,为智能...

Global site tag (gtag.js) - Google Analytics