提供内容类型,用于在教育机构内创建和组织人员目录。与Plone的用户和组基础设施集成,并支持自定义需求的可扩展性框架。
项目描述
描述
FacultyStaffDirectory是一个人员目录,为委员会提供共享工作空间,跟踪人们专业领域的方式,地板蜡,以及甜点配料。它集成了Plone的用户和组基础设施,并支持可扩展性框架以满足定制需求。
Plone版本兼容性
与Plone 5.0兼容。
较旧的FacultyStaffDirectory版本将与Plone 4.x、3.x兼容。
依赖关系
FacultyStaffDirectory依赖于
Products.membrane
Products.Relations
Products.ATContentTypes
安装
FacultyStaffDirectory 5.0已更新以与Plone 5.0或更高版本兼容。它可能可以与Plone 4.x兼容,但尚未测试。
请将以下内容添加到buildout.cfg
[buildout] eggs = . . .(other eggs). . . Products.FacultyStaffDirectory
重新运行buildout(通常是'bin/buildout')。
重新启动Zope(通常是'bin/instance restart')。
使用站点设置下的Plone插件面板安装FacultyStaffDirectory产品。必要的依赖关系将自动安装。(Membrane保留在'可用'列中,但实际上已安装。)
升级
从FacultyStaffDirectory 1.x升级
要从1.x升级,首先升级到2.x版本,方法如下
使用FacultyStaffDirectory扩展文件夹中的迁移脚本。遵循migrate1dot0to2dot0.py中的说明。要在Plone 3下执行迁移,您需要contentmigration产品。
从FacultyStaffDirectory 2.x升级
要从2.x升级到3.0,请在'插件产品'页面上的'升级'按钮(在Plone 4.0中称为'插件')。
务必检查您的教职员工目录的工作流和发布状态。它可能已更改为'私有'。
如果您的教职员工目录使用自定义工作流,它现在处于与FacultyStaffDirectory 3.0一起提供的新工作流中。在返回之前,您需要将自定义工作流更改为管理“FacultyStaffDirectory: Provides Roles”权限。查看'fsd_directory_workflow'以了解如何操作。
升级到Plone 4的用户注意事项
由于FacultyStaffDirectory 2.x与Plone 4不兼容,您必须首先将FacultyStaffDirectory升级到版本3,然后再升级Plone。
升级到Plone 5
使用FacultyStaffDirectory 5.0与Plone 5一起使用。
使用FacultyStaffDirectory
添加教职员工名录
从Plone的“添加”下拉菜单中选择“教职员工目录”。将创建一个教职员工目录以及内部的一些默认项目
教师(一个分类)
员工(一个分类)
研究生(一个分类)
委员会(一个委员会文件夹,只能包含委员会)
专业(一个只能包含专业的专业文件夹)
根据需要,可以安全地删除这些默认项目中的任何或所有项目。
与您的名录一起工作
教职员工目录提供了创建和组织人员详情的内容类型。它主要开发用于教育机构的员工目录,但也可以用于各种环境。
核心内容类型是人。它有多种字段(电子邮件、电话号码、职位等)。您还可以轻松添加自己的字段。
出厂时,教职员工目录5.0提供分类,可以分配给人员对象:教员、员工和研究生。如果这些分类对您不起作用,您可以添加自己的分类(例如,管理员、技术人员、董事会成员,或您喜欢的内容)。
教职员工目录还提供了一些用于分组人员的内容类型:部门、专业和委员会。如果这些标签在您的组织中没有意义,您可以轻松地重新标记它们。在每种情况下,人员与分组之间的关联(例如,人员-专业关系)都可以给出描述。例如,如果Jane Doe人员属于人工智能专业,您可以给Jane Doe-人工智能关系添加描述(例如,“对机器思维者的文化影响感兴趣”)。
教职员工目录可以被配置为使添加到目录中的人员自动成为您的Plone站点的成员,并且每个人都可以编辑自己的页面。它还添加了一些新角色,以方便人员管理。例如,人事经理角色可以创建新的专业并将人员分配给他们。
会员集成
出厂时,教职员工目录提供了以下与Plone用户和组的集成
- 教员/员工目录本身作为一个组。
在教员/员工目录中创建的所有人员对象自动被视为该组的成员。此组还提供了将全局角色分配给目录中所有人员的选择。此选项应谨慎处理。通常最好仅选择“成员”角色,因为这是最限制性的选项。
- 部门、分类和委员会作为组。
这些内容类型不可用全局角色分配,但它们定义的组可以在Plone站点内授予本地角色。对于复杂的学术单位,这可以节省大量时间,因为人员管理可以紧密地与站点安全管理相结合。
- 人员对象作为用户。
站点设置中的教职员工目录配置组件允许您选择是否为人员对象提供密码进行身份验证。如果您正在使用其他PAS插件进行身份验证,如PloneLDAP、WebServerAuth、PubcookiePAS或CAS4PAS,您可能希望禁用密码提供,以便身份验证可以传递到这些其他系统。
- 人员拥有自己的档案。
由人员对象定义的用户自动被授予本地该对象及其内容的所有者角色。这使用户能够添加和编辑自己的个人简历、联系信息等。他们还控制其对象的共享权限,因此可以允许助手代表他们编辑内容,而无需共享他们的密码或用户首选项。
- 我的文件夹操作。
位于个人工具栏中的“我的文件夹”操作被教职员工目录产品修改,以将人员对象定义的用户直接带到他们那里。通过标准Plone UI定义的用户将被带到常规位置(portal/Members/<userid>)。同样,位于个人工具栏、plone_memberprefs_panel或仪表板中的个人首选项链接将人员用户带到他们的人员对象。
- 对组成员资格的限制。
所有者没有被授予添加或删除其“Person”对象从部门、委员会、分类和专业中的权利,因为这些集合被用作授权组。相反,这项权利仅限于站点管理员和与“人员管理器”角色一起安装的“人员管理器”角色,该角色由“院系/员工目录”产品安装。人员管理器同样没有权限访问ZMI或人员的个人偏好。这允许对管理关注点进行细致的分离。
- 可配置的集成。
人员、部门、分类和委员会对象的成员集成是可配置的。用于开启或关闭此功能的开关位于“站点设置”中的“院系/员工目录”配置面板。例如,在基于LDAP系统的系统中,可能需要禁用人员对象的成员集成。
配置产品
可以通过“站点设置”中的“院系/员工目录”配置面板控制多个全局设置,例如电话号码和用户ID格式。
可扩展性
由于每个组织都有一些独特的要求,因此 FacultyStaffDirectory 支持基于 archetypes.schemaextender 库的扩展机制。使用它,您可以编写插件产品,这些产品可以向或以其他方式修改我们的内容类型。
设计思路与思考
- 为什么一个站点只有一个目录?为什么不在部门中添加人员呢?
背后的主要想法是人们可以成为多个部门的成员(例如,MSIS 和计算机科学学院的约翰·史密斯教授)。那么我们将把“Person”对象放在哪里?我们希望尽可能避免创建两个“Person”,而将部门同时作为容器和引用对象的替代方案可能会非常糟糕。
- 为什么添加膜(membrane)?
我们希望有一个相对简单的方法让成员修改自己的个人资料。使用膜,我们可以直接从盒子里得到这个权利,因为那个个人资料就是成员。我们还得到了“教员”、“化学系”和“一些无用的委员会”等巧妙的小组。
- 如何管理多个 Plone 站点中的人员?
我们希望我们知道。我们怀疑这可能与 LDAP 有关。有什么建议吗?
致谢
此产品最初由宾夕法尼亚州立大学的 WebLion 团队开发和维护。
膜集成由 Cris Ewing 完成。
特别感谢 Andreas Jung 早期的测试和代码贡献。
Plone 5 兼容性更新由气象和大气科学系提供,http://www.met.psu.edu
支持
版本历史
5.0 (2017-01-09)
与 Plone 5.0 兼容 [vangheem, tkimnguyen]
更新为不使用 Products.ATReferenceBrowserWidget [vangheem]
通过仅查找分类_人员关系(例如研究生)来避免在分类查询中找到无关人员,以避免错误并防止进一步的用户枚举 [tkimnguyen]
仅加载 Products.ATContentTypes:base 配置文件。修复 https://github.com/collective/Products.FacultyStaffDirectory/issues/4 [gil-cano]
3.1.3 (2012-11-14)
添加了 MANIFEST.in,以排除示例文件夹被打包进 egg,从而在 Windows 系统上通过 buildout 安装 FSD 时解决 EasyInstall 的 SandboxViolation 问题。 [cah190]
解决膜缺陷,该缺陷导致组属性提供程序被枚举为用户,引发错误并阻止进一步的用户枚举。 [Laurence Rowe]
3.1.2 (2012-04-20)
向可用的编辑器列表中添加了“使用站点默认值”选项。感谢 David Carter 报告此问题和提供补丁。 [cah190]
要求 Products.membrane >= 2.1.4 以获得影响 ext_editor 字段的属性表类型修复。 [cah190]
3.1.1 (2012-03-28)
添加了示例内容配置文件。 [pumazi]
fsd_atoz_view 和 department_textual_view 现在应该可以在站点根目录之外的院系对象上工作。警告:外部部门仅对只有一个院系对象在站点上的情况具有可靠的可靠性。如果有多个院系对象,则外部部门的使用将具有未定义的行为。 [cah190]
修正author.cpt以支持Plone 4.x。感谢Paul Roeland报告此问题并提供补丁。[cah190]
修复了fsd_atoz_view以支持首字母不在A到Z范围内的姓氏。我们现在允许任何有效的unicode字符。感谢Toni Haka-Risku报告此问题并提供了作为此修复起点的补丁。[cah190]
3.1 (2012-03-16)
重新标记为3.1。[cah190]
3.1b1(2011-08-18)
重新设计模板以反映Plone 4.0布局更改。[esteele]
所有FSD内容类型接口现在从IFacultyStaffDirectoryContent继承。问:为什么之前没有这样做?答:我不知道。[esteele]
停止支持4.0以下版本的Plone。[esteele]
移除对documentactions视图小部件的依赖(在Plone 4+中默认不显示)。vCard链接现在出现在person_view中联系信息下方。[esteele]
3.0.1
将FacultyStaffDirectory添加到由FSD工具的activeMembraneStates字段控制的内容类型中。纠正了自定义视图小部件权限检查失败的问题。[esteele, pumazi]
更新了plone和FacultyStaffDirectory域的西班牙语翻译。[macagua (Leonardo J. Caballero G.)]
将zope.i18nmessageid的Python导入移动到__init__.py,并导入FacultyStaffDirectory域的MessageFactory作为FSDMessageFactory。[macagua (Leonardo J. Caballero G.)]
为“default”配置文件通用设置添加了更多i18n支持。[macagua (Leonardo J. Caballero G.)]
3.0
在MobilePhoneExtender中更新person.pt以与FSD的person.pt保持一致(以修复Plone 4兼容性)。[cah190]
为MobilePhoneExtender添加了缺失的适配器注册。[cah190]
fsdtool中的activeMembraneStates现在使用MultiSelectionWidget和工作流状态词汇表。[cah190]
更新了course_view.pt以适应Plone 4。[cah190]
3.0b4
不再支持extenderInstallation安装方法。installExtender和installExtenderGloballyIfLocallyIsNotSupported现在将抛出异常。uninstallExtender将至少保留到3.0版本,以允许轻松清理旧的扩展安装。[cah190]
扩展器开发者应使用IBrowserLayerAwareExtender将扩展器注册到浏览器层,以便能够在Plone站点上激活扩展器。MobilePhoneExtender已作为示例进行更新。[cah190]
删除vCard操作的图标。[esteele]
稍微调整了包布局。[esteele]
停止创建“我的文件夹”操作。这已经在Plone 3中消失。[esteele]
停止使用已弃用的actionicons_tool,并将图标直接放置在操作上。[cah190 (Craig Haynal)]
通过GS注册facultystaffdirectory_tool。[cah190 (Craig Haynal)]
现在通过GS加载目录索引和元数据。[cah190 (Craig Haynal)]
现在通过GS加载集合/智能文件夹索引。[cah190 (Craig Haynal)]
通过GenericSetup注册configlet。[esteele]
通过GenericSetup设置navtree属性。[esteele]
使用导入步骤和GS配置文件设置版本控制和比较。[esteele]
重新安装/刷新不是Plone支持更新机制。请使用portal_setup。移除鼓励这种做法的代码。[esteele]
将kupu资源类型注册移动到GS导入步骤。[esteele]
删除1.0-2.0迁移脚本。我们将不再支持1.0-3.0的直接迁移。[esteele]
将css注册操作移动到GS配置文件,删除了css和js注册安装代码。[cah190 (Craig Haynal)]
通过GS而不是通过Install.py安装依赖项。[cah190 (Craig Haynal)]
现在通过GS进行Factory工具注册。[cah190 (Craig Haynal)]
3.0b3
删除了plone3 GS配置文件,用来自工作FSD Plone实例的版本替换了types/*.xml。[cah190 (Craig Haynal)]
不要调用Products.Archetypes.Extensions.utils助手,它们似乎会使Archetypes在portal_skins列表中移动自己,从而破坏TinyMCE。[cah190 (Craig Haynal)]
安装程序不应安装ATReferenceBrowserWidget。[cah190 (Craig Haynal)]
以现代方式注册我们的皮肤目录(通过ZCML和skins.xml)[cah190 (Craig Haynal)]
将到archetypes.schemaextender < 2.1的引用固定,因为2.1及以上版本使用plone.uuid,这将破坏Products.Relations和旧版本的Archetypes。[cah190 (Craig Haynal)]
修复了schema条件和fsdtool数据,以防止非管理员编辑FSD对象时的授权失败。[cah190 (Craig Haynal)]
更新了facultystaffdirectory_tool的访问和安全功能。[cah190 (Craig Haynal)]
在创建Plone 4站点时,使FSD不可安装(我们的GS配置文件不足以进行功能安装)。[cah190 (Craig Haynal)]
3.0b2
向facultystaffdirectory_tool添加了一个包含活动状态的行字段。[cah190 (Craig Haynal)]
不活动的用户现在将无法认证。[cah190 (Craig Haynal)]
不活动的组现在将显示为空组。[cah190 (Craig Haynal)]
通过添加缺失的全局变量修复了author.cpt以在Plone 4中工作。[cah190 (Craig Haynal)]
将直接页面模板对facultystaffdirectory_tool的引用替换为getToolByName查找,以允许匿名查看列表。[cah190 (Craig Haynal)]
向GS类型信息中添加了缺失的图标引用。[cah190 (Craig Haynal)]
在皮肤模板中定义了全局变量(template_id,normalizeString,member)。[lvb5153 (Luke Brannon)]
从FSD皮肤模板中移除了document_action宏。[lvb5153 (Luke Brannon)]
为FSD类型注册了document_actions视图小部件到abovecontentbody视图管理器(在configure.zcml中,因为没有browser包)。[lvb5153 (Luke Brannon)]
在FSD皮肤模板中将object_title的全局定义替换为context/Title。[lvb5153 (Luke Brannon)]
3.0b1
添加Plone 4.0兼容性。[ems174, cah190, cewing, netropic]
2.1.5
意大利语翻译合并(https://weblion.psu.edu/trac/weblion/ticket/1266)。[cah190 (Craig Haynal)]
根据michael.lindig的建议更新了portal_memberdata图像生成,并相应地更新了测试(https://weblion.psu.edu/trac/weblion/ticket/1204)。[cah190 (Craig Haynal)]
修复了Classification的getPeople以考虑有效/过期,视图权限(https://weblion.psu.edu/trac/weblion/ticket/2036)[par117 (Paul Rentschler)]
添加了一个终止详情字段,并将其与有效/过期日期放入新的就业信息模式中。[par117 (Paul Rentschler)]
更新了person_view.pt文件,隐藏除了人员的姓名和终止详情之外的所有信息,除非查看者有编辑权限。[par117 (Paul Rentschler)]
2.1.4
所有者角色应该能够编辑隐藏状态的人员。[ems174 (Eric Steele)]
葡萄牙语翻译合并。[cah190 (Craig Haynal)]
允许使用archetypes.schemaextender 2.x(现在包括模式缓存)。[cah190 (Craig Haynal)]
2.1.3
修复了过度的用户搜索(https://weblion.psu.edu/trac/weblion/ticket/842)[ems174 (Eric Steele)]
修订了人员的工作流程。现在可以独立控制可见性和会员行为。[cah190 (Craig Haynal)]
修复了umlaut崩溃(https://weblion.psu.edu/trac/weblion/ticket/1212)。[ems174 (Eric Steele)]
修复了在Web服务器后面运行时ReferenceBrowserWidget的一些行为(https://weblion.psu.edu/trac/weblion/ticket/1222)。[cah190 (Craig Haynal)]
添加了土耳其语翻译(https://weblion.psu.edu/trac/weblion/ticket/1252)。[uyar]
使翻译基础设施保持最新(https://weblion.psu.edu/trac/weblion/ticket/1482)。[ewr119 (Erik Rose)]
更正了管理人员的所需权限(https://weblion.psu.edu/trac/weblion/ticket/1464)。[netropic]
描述了个人助理字段(https://weblion.psu.edu/trac/weblion/ticket/1346)的权限实现。[ewr119 (Erik Rose)]
将示例扩展器包装在egg包装中,并更改了名称。[ewr119 (Erik Rose)]
修复了法语翻译中的语法错误。[ewr119 (Erik Rose)]
包括所有翻译的编译(.mo)版本。[ewr119 (Erik Rose)]
修复getClassificationNames索引方法,使其在尝试连接函数和整数时不会抛出错误,并确保该方法在3.2和3.3版本中正常工作 [cqp5087 (claytron)]
删除MANIFEST.in并使用setuptools svn集成 [cqp5087 (claytron)]
2.1.2
修复了在虚拟主机网站上使用时,参考浏览器小部件弹出窗口不显示可用项目的问题。[ems174 (Eric Steele)]
2.1.1.1
修复了2.1.1发行版中缺少文件的问题。[ems174 (Eric Steele)]
2.1.1
修复了person_view.pt中导致匿名用户查看分配了助手的个人时出现错误的问题。[cewing]
修复了阻止个人和委员会版本化的问题。[cewing]
添加了专门的委员会文件夹视图(类似于专业文件夹视图)。[ajung]
专业有一个额外的“概览”架构,其中包含图片和富文本字段。这两个字段都用于speciality_overview视图。[ajung]
为person_view的地址块添加了微格式。[robzonenet]
添加了西班牙语翻译 [Gildardo Bautista]
添加了法语翻译 [Benjamin Klups]
在person_view中列出部门 [Gildardo Bautista]
修复了在查看位于目录对象之外的区域时出现的问题。[ems174 (Eric Steele)]
2.1
修复了与人员图片相关的CSS显示问题。
现在具有人事经理角色的用户可以添加人员对象。
在分类图库视图中添加了一个字段来控制人员图片的宽度
现在可以在同一网站上存在多个FacultyStaffDirectory对象
提高了产品重新安装的性能
添加了一个助手字段,以便将配置文件编辑委托给其他用户
在共享标签中添加了“可以管理人事”字段
为所有字段和模板添加了i18n挂钩
删除了大量未使用的导入
删除了WebLionLibrary依赖
产品已Egg化
Configlet图标现在应在VirtualHostMonstered网站上正常工作
vCard现在应正确处理Unicode字符
vCard图片现在显示
空白传记保持为空
2.0
为目录和部门添加了A到Z列表视图。
在人员编辑器中强制显示上一个/下一个。
错误修复
2.0a1
与Plone用户和组集成。
将可扩展性框架切换到archetypes.schemaextender。现在可以同时使用多个扩展器,并且所有内容类型都是可扩展的。
添加了部门内容类型。
可排序名称现在可用作SmartFolder索引(主要用于排序)。
为部门、分类、委员会、专业和人员添加了SmartFolder字段。
模板更快了。
人员标题中的非ASCII字符现在可以工作。
人员现在有一个中间名称字段。
专业和其他类型的个人组现在可以存在于学院/员工目录之外。
专业现在按合理的顺序列出。
现在可以在部门内添加委员会文件夹。
在站点设置中添加了一个配置小部件,允许自定义电话号码和用户ID验证,以及禁用膜集成的某些方面的能力。
关闭了一些弃用警告。
添加了对Plone 3版本的支持。
重命名内容类型以避免与其他产品冲突。
添加了大量的新测试。
废弃了ArchGenXML,使我们的代码更加整洁。
更多地使用了GenericSetup。
1.0.1 – 次要文档调整
1.0 – 初次发布
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
Products.FacultyStaffDirectory-5.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3efb52c1c49c65617e38d19a7430264d044e136d14d3575c1da67eb247b7f4e5 |
|
MD5 | 2c0a5ea0d27522d848bc22289315dfbe |
|
BLAKE2b-256 | ad96cb2458ab8682379ce4ee46ccaa376fdc26005ba0549a74c88ad94c3d13a8 |