跳转到主要内容

Plone的社会网络集成。

项目描述

生命、宇宙和一切

此软件包提供了与以下社交网络在Plone中的集成

  • Facebook

  • Google+

  • LinkedIn

  • Pinterest

  • Telegram

  • Twitter

  • WhatsApp(仅限移动设备)

集成是通过Open Graph 协议基本元数据和包含所有启用社交网络的分享小部件来完成的。

大多无害

http://img.shields.io/pypi/v/sc.social.like.svg https://img.shields.io/travis/collective/sc.social.like/master.svg https://img.shields.io/coveralls/collective/sc.social.like/master.svg

有想法?发现了一个错误?通过打开支持票据告诉我们。

不要慌张

Plone 版本兼容性

此软件包与Plone 4.3和5.0兼容。

安装

要在基于buildout的安装中启用此产品

  1. 编辑您的buildout.cfg并将sc.social.like添加到要安装的egg列表中

    [buildout]
    ...
    eggs =
        sc.social.like

更新配置后,您需要运行“bin/buildout”,这将负责更新您的系统。

转到Plone站点的“站点设置”页面,并单击“附加组件”链接。

Social: Like Actions旁边的框中勾选,然后单击“激活”按钮。

配置

转到Plone界面的“站点设置”页面,并单击“附加组件配置”下的“社交 Like”链接。

https://github.com/collective/sc.social.like/raw/master/docs/control-panel.png

控制面板配置集。

在那里您可以配置Social: Like Actions的行为,哪些操作将被显示以及针对哪些内容类型。

Open Graph 协议支持

以下基本元数据包含在启用了社交媒体行为的内容类型中

  • og:title:项目的标题

  • og:description:项目的描述

  • og:type:默认为“website”在门户网站根目录,其他地方为“article”

  • og:url:项目的规范 URL,即项目首次发布时使用的URL

  • og:image:项目主要图像的“large”尺寸,如果有;您可以在控制面板配置集中定义一个用于缺少主要图像的内容的备用图像

验证社交网络分享的最佳实践

每次发布项目或编辑处于“已发布”状态的项目时,都会执行内容验证过程。此过程包括检查标题和描述字段的最大长度以及如果有,则检查主要图像字段的格式、大小和尺寸。如果内容不符合最佳实践,将向用户显示警告消息。

分享最佳实践主要来自Twitter和Facebook的建议。有关更多信息,请参阅

您可以通过控制面板配置集中的选项禁用内容验证。

Facebook 预加载

当内容首次分享时,Facebook爬虫会从分享的URL中抓取并缓存元数据。爬虫必须至少看到一次图片,然后才能渲染。预加载允许Facebook在有人分享之前下载内容。

根据Facebook文档,预加载对于在慢速或差的网络连接上使用Facebook的人来说特别有益。预加载还能更快地加载移动站点内容,从而提高Android和iPhone设备上的Facebook应用体验。

您可以通过控制面板配置选项启用Facebook预加载。

每当发布新内容或编辑发布的内容时,都会自动生成对Graph API端点的调用。这将确保Facebook上的元数据始终是最新的。

规范 URL 和迁移到 HTTPS

某人首次分享链接时,Facebook爬虫会抓取该URL的HTML代码,以收集、缓存并在Facebook上显示有关内容的详细信息。Facebook使用HTML代码中包含的og:url标签,在同一个URL上聚合点赞和分享,而不是分散在多个页面的版本中。如果您移动内容或从HTTP迁移网站架构到HTTPS,这些计数器将归零。

为了解决这个问题,此包包括一个机制,在发布时存储内容的URL,即使在重命名或迁移架构后,也可以用作规范URL。要启用此功能,您必须将社交媒体行为应用于您的内容类型,并在控制面板配置选项中提供要在网站上使用的规范域名(例如http://www.example.org)。

如果您后来将网站迁移到HTTPS,只需更改规范域名的值(例如https://www.example.org)。在更改之前创建的所有内容仍将反映其规范URL中的旧架构,符合预期。

此包还包括一个辅助视图,用于填充2.10版本之前创建的内容。您可以通过在浏览器中指向/@@canonical-url-updater来访问此视图。

隐私和cookies

社交媒体小部件通常会跟踪用户操作并添加第三方cookie。

如果您必须关注隐私(例如,如果您需要遵守欧洲Cookie法),sc.social.like提供了一个“不要跟踪用户”选项。当启用时,社交媒体小部件将以简单的HTML链接的形式渲染,这将以功能和用户体验为代价。

此产品还尊重Do Not Track用户的浏览器首选项。如果用户配置浏览器为不被跟踪,社交媒体将渲染为似乎启用了“严重隐私”设置。

社交媒体和Plone 5

Plone 5包括一些配置字段,这些字段已经在此包的新社交媒体配置选项中可用。每当您更改Twitter用户名、Facebook应用ID或Facebook用户名时,无论是使用新的社交媒体配置选项还是社交媒体喜欢配置选项,都会在幕后同步这些冗余字段的值。

https://github.com/collective/sc.social.like/raw/master/docs/social-media-configlet.png

Plone 5中的社交媒体配置选项。

屏幕截图

https://github.com/collective/sc.social.like/raw/master/docs/screenshot1.png https://github.com/collective/sc.social.like/raw/master/docs/screenshot2.png

瓷砖

如果安装了collective.cover,将提供两个新的瓷砖:Facebook和Twitter。

Facebook拼图嵌入了一个Facebook页面。您可以设置宽度和高度,并且可以控制小部件的其他一些方面。为了使用此拼图,必须在社交点赞配置中定义一个Facebook应用程序ID。获取Facebook应用程序ID的说明可以在Facebook开发者网站找到。

Twitter拼图嵌入了一个Twitter时间线。时间线是一种在网站中以紧凑的单列视图嵌入多个推文的简单方法。您可以设置宽度、高度和推文限制,并且可以使用小部件ID。为了使用此拼图,必须在社交点赞配置中定义一个Twitter用户名。

https://github.com/collective/sc.social.like/raw/master/docs/tiles.png

Twitter和Facebook拼图。

待办事项

  • [ ] Facebook:返回要渲染的分隔逗号的标签字符串

  • [ ] Twitter:允许移除时间线的显示组件(浏览器)

  • [ ] Twitter:编辑后刷新拼图

  • [ ] 为两个拼图编写RobotFramework测试

  • [ ] 与Plone 5.1兼容性

分享和享受

sc.social.like的开发离不开以下人员的贡献

  • Cleber J. Santos(想法和实现)

  • André Nogueira

  • Héctor Velarde

  • Erico Andrei

  • Mikel Larreategi

  • Rodrigo Ferreira de Souza

  • Luciano Camargo Cruz

  • Thomas Desvenain

  • Font Awesome(图标)

由以下机构赞助开发

变更日志

有一个家伙真的知道他的毛巾在哪里。

2.13 (2020-01-02)

  • 添加选项以在文件夹模板中显示社交网络,即使未选中显示社交网络的文件夹类型(关闭#174)。[idgserpro]

  • 删除未使用的视图social_likes_view。[idgserpro]

  • 显式删除文件夹内容视图的视图小部件(关闭#261)。[rodfersou]

  • 代码重构以提高与Python 3的兼容性;添加对six的依赖。[hvelarde]

  • 当没有plone.app.tiles记录时,修复升级步骤。[erral]

2.13b3 (2018-01-11)

  • 当根据NamedImage而不是NamedBlobImage访问图像字段时,避免AttributeError。[hvelarde]

2.13b2 (2017-10-30)

  • 当将包设置迁移到Plone注册表时,避免AttributeError。[hvelarde]

  • 完成巴斯克语翻译。[erral]

2.13b1 (2017-09-28)

  • 更新i18n,以及巴西葡萄牙语和西班牙语翻译。[hvelarde, rafahela]

  • 实现Facebook预加载。有关如何使用此新功能的信息,请参阅包文档(关闭#129)。[claytonc, hvelarde]

  • 为缺少主图像的内容添加Open Graph回退图像;图像应在控制面板配置中上传,并必须符合最佳实践;规范域名字段也已移动到配置中的新Open Graph字段集。[claytonc, hvelarde]

  • 避免在分享最佳实践验证没有关联工作流的内容(如图像和文件)时发生WorkflowException(修复#142)。[hvelarde]

  • 更新巴斯克语翻译。[erral]

2.12b1 (2017-09-15)

  • 更新巴西葡萄牙语和西班牙语翻译。[hvelarde]

  • 实现一个验证器来检查内容是否遵循社交网络分享的最佳实践(关闭#128)。[claytonc, hvelarde]

2.11b2 (2017-09-11)

  • 在从先前版本升级包时避免KeyError。[hvelarde]

2.11b1 (2017-09-08)

  • 代码清理和重构。[hvelarde]

  • 将Open Graph属性从Facebook插件中移出,因为它们由其他插件使用。[hvelarde]

  • Twitter小部件现在尊重用户的隐私。[hvelarde]

  • 更新了Google+、LinkedIn、Pinterest和Twitter小部件的代码。[hvelarde]

  • 删除冗余元数据,因为Twitter可以使用Open Graph属性作为回退(关闭#112)。[hvelarde]

  • 在请求中移除无用的缩放缓存,因为它似乎引发了副作用(关闭 #109)。[rodfersou]

2.10.1 (2017-08-02)

  • 修复 Facebook 插件中的 data-href 属性,使其指向规范 URL;这应该最终修复小部件上的计数器。[rodfersou]

  • 修复规范 URL 更新器表单;提供新的升级步骤来更新 objects_provides 目录索引(修复 #115)。[hvelarde]

  • 在升级时将 canonical_domain 字段记录添加到注册表中;这修复了升级步骤到配置文件版本 3045 的问题(修复 #114)。[hvelarde]

2.10 (2017-07-17)

  • 修复对基于 Dexterity 的内容类型的 Facebook 开放图规范 URL 的支持;之前错误地使用当前 URL 作为项目的规范 URL,导致在移动内容或更改模式以访问站点(HTTP 到 HTTPS)时计数器为零。请检查包文档以获取有关如何使用此新功能的信息(修复 #104)。[hvelarde]

  • 停止对 Plone 4.2 的支持。[rodfersou]

  • 在 Plone 5 中,同步新社交媒体配置中发现的冗余字段。对 facebook_app_idfacebook_usernametwitter_username 字段所做的更改将反映在两个配置中(修复 #100)。[hvelarde]

2.9 (2017-03-09)

  • 添加 Facebook 控制面板设置以显示/隐藏喜欢数量。默认情况下,Facebook 插件仍然显示喜欢数量。[fredvd]

2.8b1 (2017-02-03)

  • 更新巴西葡萄牙语和西班牙语翻译。[hvelarde]

  • 添加通过电子邮件分享内容的功能(关闭 #91)。[rodfersou, hvelarde]

2.7b1 (2017-01-09)

  • 添加缺少的升级步骤以烹饪 CSS 资源。[hvelarde]

  • 如果标题包含非 ASCII 字符,Twitter 插件不会失败。[csenger, hvelarde]

  • 添加 Twitter 卡片的元数据(关闭 #65)。[rodfersou]

2.6b1 (2016-12-21)

  • 代码清理;删除了与加载 BMP 图像相关的测试,因为这些测试没有意义。[hvelarde]

  • 对于未发布的内容,不显示社交喜欢视图组件(关闭 #83)。[rodfersou]

  • 修复包依赖关系。[maurits, hvelarde]

2.6a1 (2016-09-23)

  • 为 collective.cover 添加 Facebook 和 Twitter 瓦片。Facebook 瓦片嵌入一个 Facebook 页面。Twitter 瓦片嵌入一个 Twitter 时间线。[hvelarde]

  • 为 Telegram 和 WhatsApp 分享链接添加 title 属性。[hvelarde]

  • enabled_portal_types 字段强制执行约束,以避免在运行升级步骤到 v3040 时出现 WrongType 错误。[hvelarde]

  • 在运行升级步骤到 v3010 时,不要在添加 Facebook 的“喜欢”按钮时失败。[fredvd, hvelarde]

2.5 (2016-07-26)

  • 添加 Telegram 插件(关闭 #52)。[rodfersou]

  • 使用 Plone 的注册表而不是 portal_properties 工具来存储包配置(关闭 #1)。[hvelarde]

2.4.1 (2015-12-10)

  • 更新包分类器;错误地将 Plone 5 包含在支持的版本列表中。[hvelarde]

  • 使用“application/javascript”媒体类型而不是过时的“text/javascript”。[hvelarde]

2.4 (2015-09-17)

  • 停止对 Plone 4.1 和 Python 2.6 的显式支持;包应该可以工作,但我们不再测试这些版本,因此不保证兼容性。[hvelarde]

  • 通过将移动检测客户端移动到客户端来修复 WhatsApp 按钮的缓存问题(关闭 #56)。[rodfersou]

  • 添加荷兰翻译。[fredvd]

  • 修复卸载错误。[bsuttor]

2.3 (2015-07-14)

  • 添加“不要跟踪用户”配置选项,以防止社交网络向站点访客发送 Cookie。这将以简单链接替换社交徽章。[keul]

  • 添加德语翻译。[tohafi]

2.2 (2015-05-04)

  • 添加 WhatsApp 插件(关闭 #39)。[rodfersou]

2.1 (2015-03-02)

  • 更新巴西葡萄牙语和西班牙语的翻译。[hvelarde]

  • 删除已弃用的 portal_actionicons 注册。[keul]

  • 翻译修复:一些标签未翻译[keul]

  • 现在提供Facebook“分享”按钮。见#15。[keul]

  • 添加了刷新CSS注册表的缺失迁移步骤[keul]

2.0.2 (2015-02-23)

  • 删除了旧的特定于Facebook的CSS规则,该规则截断新Facebook小工具。这解决了#38。[keul]

2.0.1 (2015-02-23)

  • 没有变化(棕色袋发布)。

2.0 (2015-02-10)

  • 不要在非规范视图中加载社交媒体内容(如编辑表单或类似)。这解决了#36。[keul]

  • 添加了意大利语翻译。[keul]

  • 所有社交插件的加载行为已更改为异步。[keul]

  • 修复了新闻中加载的图像问题。如果图像不是JPG,则get_content_image方法无法获取图像大小并返回空值。这避免了某些奇怪的事情,如Pillow的MemoryError。[cekk]

  • 如果名为“图像”的字段不是ImageField,则不要破坏视图小部件。[cekk]

  • 为get_content_image方法添加了对TypeError的异常处理。[cekk]

  • 修复了用于内部页面的og:type元数据,使用值为‘article’。[fdelia]

2.0rc1 (2014-10-14)

  • 使用safe_unicode处理内容标题中的重音字符。[ericof]

2.0b4 (2014-08-08)

  • 修复了操作按钮的样式。现在它们并排显示[agnogueira]

  • 修复了Twitter插件中的UnicodeDecodeError(由Programa Interlegis报告)[ericof]

2.0b3 (2014-06-06)

  • 修复了在创建AT图像时发生的除以零问题(在portal_factory时)[ericof]

2.0b2 (2014-06-02)

  • Facebook现在推荐1200 x 630的图像[ericof]

2.0b1 (2014-02-07)

  • 在视图小部件上使用查看权限,以避免匿名用户尝试显示网站的非公开部分时的安全失败。[thomasdesvenain]

  • 修复了包依赖项。[hvelarde]

2.0a2 (2013-11-04)

2.0a1 (2013-07-23)

以前的条目可以在HISTORY.rst文件中找到。

项目详情


下载文件

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

源分发

sc.social.like-2.13.tar.gz (611.8 kB 查看散列值)

上传时间

由支持