跳转到主要内容

PloneMeeting的Web服务

项目描述

https://coveralls.io/repos/github/IMIO/imio.pm.ws/badge.svg?branch=HEAD

简介

Products.PloneMeeting的SOAP Web服务。

2.x版本适用于Products.PloneMeeting 4.1,而3.x版本适用于Products.PloneMeeting 4.2。

WS4PM文件

这些文件是通过静态WSDL文件生成的。

必须在对文件soap/ws4pmwsdl.pt进行适配后,通过调用 http://portal_url/@@ws4pm.wsdl?dump_wsdl:boolean=True 生成静态WSDL文件dumpedWSDL.txt。

之后,使用以下语法调用ZSI wsdl2py脚本: /path_to_ZSI_package/bin/wsdl2py dumpedWSDL.txt -o . -b

变更日志

3.9 (2023-12-11)

  • 将代码适配为Products.PloneMeeting.utils.add_wf_history_action,并移至imio.history.utils.add_event_to_wf_history,同时移除ToolPloneMeeting.getUserName,改用imio.helpers.content.get_user_fullname。[gbastien]

3.8 (2023-10-19)

  • 确保createItemRequest返回响应状态为200,或者抛出SOAPException(即使项目已创建?!)。[gbastien]

  • 修复了在计算preferred_meeting_date时出现的SOAPView._getItemInfos问题,因为它总是返回None,因为使用了uid_catalog且会议是一个DX内容类型。[gbastien]

3.7 (2023-03-06)

  • 修复了关于PloneMeeting测试配置文件import_data中默认联系人性别更改的test_ws_getItemInfosWithShowAssembly问题。[gbastien]

  • 完成了test_ws_meetingAcceptingItems,以检查在使用inTheNameOf时它是否正常工作(实际上在< cite>Products.PloneMeeting==4.2rc30之前并没有正常工作)。[gbastien]

  • 适配了移除MeetingConfig.useGroupsAsCategories的代码。[gbastien]

3.6 (2022-03-10)

  • 每当触发一个ZSI.Fault错误时,手动在日志中显示消息,因为< cite>z3c.soap不会显示错误字符串,只会显示跟踪信息…[gbastien]

3.5 (2022-01-14)

  • 修复了在_createItem中的错误,可能会发生用户使用inTheNameOf时缓存了_listAllowedRolesAndUsers,导致仪表板上显示的内容过多或不足。访问不应显示的项目将导致未授权。现在,所有使用inTheName的方法都使用< cite>setup_user_in_the_name_of/teardown_user_in_the_name_of来正确处理。[gbastien]

3.4 (2022-01-07)

  • 修复了调用tool.isManager和处理utils.get_current_user_id的问题。[gbastien]

3.3 (2022-01-04)

  • 修复了SOAPView._mayAccessAdvancedFunctionnalities,以调用带有< cite>ToolPloneMeeting实例作为第一个参数的ToolPloneMeeting.isManager,现在这是由于缓存原因所必需的。[gbastien]

3.2 (2021-11-26)

  • 在相关的情况下,使用the_objects=True/False调用< cite>ToolPloneMeeting.get_orgs_for_user,因为默认值在< cite>Products.PloneMeeting中已更改。[gbastien]

3.1 (2021-11-10)

  • _meetingsAcceptingItems中,仅在Zope日志中记录一次,以避免给人留下方法被多次调用的印象。[gbastien]

3.0 (2021-07-16)

  • 修复了test_ws_getItemInfosRequest,现在观察者可能从WF初始状态访问项目,确保我们使用一个完全无权访问项目的成员,并修复了< cite>test_ws_getConfigInfosItemPositiveDecidedStates,字段< cite>MeetingConfig.itemPositiveDecidedStates已被移除,现在由< cite>MeetingConfig.getItemPositiveDecidedStates方法管理。[gbastien]

  • 修复了在无结果和< cite>showEmptyValues=0时破坏的< cite>getItemInfosRequest/getSingleItemInfosRequest。[gbastien]

  • 针对会议已从AT移至DX的事实,对测试和代码进行了适配(< cite>linkedMeetingUID索引已重命名为< cite>meeting_uid,< cite>Meeting.date属性现在包含一个< cite>datetime而不是< cite>DateTime,与< cite>attendees相关的函数在< cite>Meeting和< cite>MeetingItem上均使用snake_case代替camelCase,Meeting上的每个方法都使用snake_case)。[gbastien]

  • 现在,< cite>MeetingItem.getCategory只返回实际类别,而不是在未使用类别的情况下返回< cite>proposingGroup。[gbastien]

2.16 (2020-06-11)

  • 当将< cite>wf_transition_triggered_by_application注释添加到< cite>workflow_history时,不要使用< cite>zope.i18nmessageid.message.Message,否则它将以这种方式存储在工作流程历史记录中,使用简单字符串并由< cite>imio.history进行翻译。[gbastien]

2.15 (2020-05-28)

  • 修复了由于< cite>PloneMeeting测试配置文件中的默认值更改而导致测试持有位置具有< cite>&字符(非XHTML字符)的< cite>test_ws_getItemInfosWithShowAssembly。[gbastien]

  • 当库< cite>chardet可用时,它会错误地检测传递给< cite>BeautifulSoup的utf-8字符串为< cite>iso-8859-1,导致特殊字符错误。因为< cite>chardet是< cite>collective.zamqp的依赖项,所以现在可用。因此,将< cite>unicode字符串传递给< cite>BeautifulSoup以避免这种情况。[gbastien]

2.14 (2020-03-17)

  • 添加了返回单个项目信息的方法 getSingleItemInfos,而不是返回 ItemInfo 实例的列表。结果和参数与 getItemInfos 完全相同。[gbastien]

  • 使 getItemInfos 返回的数据尽可能为空。[gbastien]

  • 将默认参数 showEmptyValues=1 添加到 getItemInfos 中,使得可以从返回结果中删除空值。[gbastien]

2.13 (2020-02-18)

  • 在创建新项目时管理 toDiscuss 字段。[gbastien]

  • 更改了在 createItem 中管理 wfTransitions 的方式:如果一个转换不可用,则忽略它并尝试下一个转换,这样更容易管理项目验证工作流对于提议组不同的情况。[gbastien]

2.12 (2019-10-14)

  • 如果 POD 模板正在使用另一个 POD 模板的 odt_file,则不要在 'getItemInfos' 中失败。[gbastien]

2.11 (2019-10-01)

  • 通过在项目工作流历史记录中添加特定行,使检测是否使用 createItem SOAP WS 创建项目变得更容易,就像从项目模板或从重复项目创建项目时的情况一样。[gbastien]

2.10 (2019-09-30)

  • ‘getItemInfos’ 返回包含任何会议 UID 的 'meeting'。[gbastien]

  • ‘searchItems’ 现在接受一个额外的搜索参数 'linkedMeetingUID'。[gbastien]

2.9 (2019-09-24)

  • 在 'getItemInfos' 中,当 'showAssembly=True' 时,将组件成员列表之间的分隔符从 ‘|’ 更改为 ‘n’,这样更容易解析,因为 ‘|’ 已经是与会者类型(与会者、缺席、豁免等)之间的分隔符。[gbastien]

2.8 (2019-09-23)

  • 在 createItem 中,添加了将 associatedGroups 和 groupsInCharge 定义为组织 UID 列表的可能性。[gbastien]

  • 添加了参数 ‘wfTransitions’ 到 createItem,使其能够在新创建的项目上触发指定的 WF 转换。[gbastien]

  • 在 createItem 中,添加了定义 optionalAdvisers 的可能性。[gbastien]

  • 在 getItemInfos 中强制使用 ‘sort_on=created’ 对目录查询进行排序。[gbastien]

  • 在 getItemInfos 中,添加了 'showAssembly=False' 参数,使得在项目处于会议中时,可以在 _item_assembly 属性中接收项目组件。[gbastien]

  • 删除了对 currentWSDL.txt 的手动处理。现在通过调用 ‘http://portal_url/@@ws4pm.wsdl?dump_wsdl:boolean=True’ 生成 dumpedWSDL.txt。[gbastien]

  • 将参数 ‘allowed_annexes_types’ 和 ‘include_annex_binary’ 添加到 getItemInfos() 方法中。[sdelcourt]

  • 将属性 ‘id’ 添加到 AnnexInfo 数据类型。[sdelcourt]

2.7 (2019-05-16)

  • 覆盖 plone.transformchain 转换器以不在 SOAP 请求上应用。[gbastien]

  • Jenkinsfile for CI [odelaere]

  • 删除了对 unittest2 的依赖。[gbastien]

2.6 (2018-12-04)

  • 根据 collective.contact 的集成,对 Products.PloneMeeting 进行了适应性调整。[gbastien]

  • 使用 MeetingItem.getCategory(theObject=True) 管理类别标题 ‘category_title’。[gbastien]

2.5 (2018-01-15)

  • 为数据 ‘ConfigInfo.itemPositiveDecidedStates’ 使用简单类型 ‘List’,以避免使用 soapUI 无法正确识别的 ‘xsd:Array’ 类型。[gbastien]

2.4 (2017-10-24)

  • testConnection.version 现在返回分发版本(2.4),而不是仅当需要升级步骤时才更改的通用设置版本(2000)。[gbastien]

2.3 (2017-10-13)

  • 在 ItemInfos 上添加 preferred_meeting_date 属性。[sdelcourt]

2.2 (2017-08-04)

  • 修复了关于 annex.content_category 使用的新格式的测试。[gbastien]

2.1 (2017-03-27)

  • 现在 ToolPloneMeeting.userIsAmong 接收一个后缀列表而不是一个单独的后缀。[gbastien]

  • 在 createItem 方法中添加了参数 ‘cleanHtml’,默认为 True,它将启用或禁用创建项目时的 Html 清理。[gbastien]

  • getConfigInfos 现在也返回 MeetingConfig.itemPositiveDecidedStates 作为数组。[gbastien]

  • 重构了 getConfigInfos 以使用 GroupInfo 复杂类型而不是 ConfigInfo 复杂类型来管理组。[gbastien]

2.0 (2017-01-25)

  • 针对将 imio.annex 集成到 Products.PloneMeeting 进行了适应性调整。

1.8 (2016-08-17)

  • 确保在更改创建注释时修补历史记录时保存历史记录。

  • 在检查类别有效性之前不要创建项目,这可能导致项目不可删除(例如,在创建时已验证)的问题。

1.7 (2016-08-03)

  • 在创建项目时增加了传递任意额外属性的可能性,目前它必须对应一个现有的RichText字段

1.6 (2016-05-13)

  • 根据Products.PloneMeeting 4的更改调整了代码

1.5 (2015-04-01)

  • 如果没有提供“首选会议”来创建项目,则使用“随意”或创建的项目不一致

1.4 (2015-03-06)

  • 现在调用getItemInfos将返回“详细描述”,因为它在创建项目时可以使用

  • 向CreationData和ItemInfo添加了参数“attribute”,因此我们可以在创建项目时指定首选会议,并在使用getItemInfos时获取首选会议

1.3 (2015-03-05)

  • 在ItemInfo中添加了项目创建日期和修改日期(getItemInfo和searchItems)

  • 在testConnection调用中添加了包版本

  • 添加了用于获取MeetingsAcceptingItems的SOAP调用

1.2 (2015-02-27)

  • 与Products.PloneMeeting 3.3+一起使用

  • 调整了测试以使用IAnnexable.getAnnexesInOrder,因为IAnnexable.getAnnexes已被删除

1.1 (2014-02-12)

  • 与Products.PloneMeeting 3.2+一起使用

  • 处理libmagic无法正确确定附件MIME类型的情况(并添加了测试)

1.0 (2014-01-07)

  • 将包从communesplone.ws4plonemeeting重命名为imio.pm.ws

  • 迁移到Plone 4.3

  • 使用ZSI 2.1a1

  • 避免在创建的项目没有描述或决定(空HTML字段)时出错

0.1 (2012-10-15)

  • 初始版本

  • 为“getItemInfos”,“createItem”,“getConfigInfos”,“searchItems”添加了方法

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

imio.pm.ws-3.9.tar.gz (282.3 kB 查看哈希)

上传时间

由以下机构支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF 赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面