问题标签 [activity-streams]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
109 浏览

logging - 为自定义工作流插件自定义 HippoCms ActivityStream 消息

我为 Hippo CMS 创建了一个自定义插件(Hippo v7.9.3,CMS v2.26.07),它向图片库元素的工具栏添加了一个按钮。该按钮会打开一个弹出窗口,该弹出窗口(在文件上传后)会替换网站上的一些图像。

该插件是根据本教程大量开发的: http ://www.onehippo.org/labs/adding-a-workflow-to-hippo-cms-editor-toolbar.html 但就我而言,我不存储额外的数据,我只是使用节点现有内容。

图像替换工作正常,工作流交互符合预期。但每次成功执行后,Hippo 都会在 Activity Stream 上记录以下行:

为前端插件的 i18n 定义的属性正在正确加载,因为单击按钮时我的自定义消息出现在前端弹出窗口中。而且我的插件不使用自定义属性,因为它需要的唯一输入是从弹出窗口加载的文件(正在工作)。

由于正在加载存储库中的 JCR 节点(使用 hippolog:interaction 与值image-replacement-workflow:image-replacement-workflow:replaceImages),我开始假设 Hippo 采用该节点并尝试找到一个人可读的名称...某处,并且该查找是当前失败的。

那么,我在哪里以及如何定义该消息以避免将其视为失败而不是成功?或者,如果无法自定义,我如何完全删除插件的该消息?

我设法将此事件跟踪到org.hippoecm.repository.impl.WorkflowLogger,但在那里丢失了踪迹。

0 投票
0 回答
494 浏览

spring-boot - 带有 Spring Boot 和 Kafka 的活动流

我开始讨论https://disqus.com之类的 Spring Boot 应用程序。

  • 用户可以创建圈子(社区/组)
  • 用户可以订阅/取消订阅/取消订阅一个圈子。
  • 用户可以将文档/图像/视频发布到圈子或个人用户
  • 每个用户都有一个收件箱提要

专为具有高可扩展性要求的高用户活动而设计,我正在关闭以 Kafka 为骨干的 Activity Streams (W3C Activity Stream 2.0)。

我已经使用 Angular 2.0 前端设置了分布式云原生微服务架构(Spring 配置服务器、API 网关、Eureka Discovery)。

我正在研究 Kafka,并希望您对我应该如何进行架构和设计来满足我的要求的看法。

再具体一点:

  1. Kafka producer 负责将通过 HTTP 发送的 Activity 转换为基于 Activity 2.0 规范的 POJO 并发布到 Kafka。我应该如何设计发布者来处理,比如每秒一百万条消息。

  2. 消费者是不同的服务,如圈子服务、推荐服务、用户服务等。我幼稚的想法是让这些服务订阅一个主题并只提取他们感兴趣的那些消息。例如,如果一个用户在一个圈子上发帖,圈子服务将使用它来复制并分发给该圈子的所有用户圆圈。这里的另一个问题。如果一个圈子包含 1000 个用户,那么制作副本的最佳方法是什么?

提前致谢。

0 投票
2 回答
674 浏览

compatibility - OStatus、pump.io 和 ActivityPub 是什么关系?

我的理解是:

  • OStatus是一个分散的社交网络协议,由其他几个协议(Atom feed、Activity Streams、PubSubHubbub、Salmon 和 WebFinger)组成
    • GNU SocialMastodon是两个实现 OStatus 的服务器软件应用程序
  • pump.io API是 pump.io 服务器软件(活动流、OAuth、Web 主机元数据)的接口
    • identi.ca是一个 pump.io 实例(目前无法访问),GNU MediaGoblin是一个服务器应用程序,目前使用类似于 pump 的 API
  • ActivityPub是一个提议的去中心化社交网络协议
    • GNU MediaGoblin是一个可能会实现 ActivityPub 的服务器应用程序

这些协议如何互操作?ActivityPub 是完全取代 OStatus,还是仅取代 Activity Streams 组件?

0 投票
2 回答
546 浏览

javascript - 将 JSON 从 API 转换为活动流

我正在做一个有趣的项目,其中一个要求是来自我选择的 API 的 JSON 数据,并使用 angularjs 将其转换为活动流。

我用谷歌搜索并阅读了活动流是什么,我相信我对它有基本的了解。它本质上是使用关键字“actor”、“verb”、“object”和“target”将动作转换为特定的 JSON 格式。

当我查看示例时,我理解了为什么将特定的 JSON 字符串视为活动流。

例子:

}

但我对如何将我的 JSON 数据转换为活动流感到困惑。

我的 JSON 没有“演员”,也没有“动词”。如果有人可以请解释或提供一个将不胜感激的解决方案。谢谢!

天气 API

0 投票
1 回答
566 浏览

java - 使用 Java 的活动流

我正在冒险向我的应用程序添加活动流/新闻提要。我的技术栈主要基于 Java(Spring Boot)。是否有任何基于 Java 的开源库可以帮助我入门(最好是使用 Activity Stream 2.0 规范的东西)。

0 投票
1 回答
86 浏览

json-ld - ActivityStreams 在活动上的“to”字段与“audience”字段有何不同?

ActivityStreams 规范在5.1 节to中解释了、ccbto和之间的区别。但是还有一个属性,定义为:bccaudience

一个或多个实体,它们代表可以认为对象相关的实体的总人口。

这与“to”和“cc”有什么不同?特别是,对ActivityPub 交付有什么不同的影响?

0 投票
1 回答
17 浏览

node.js - 从 Pump.io 服务器获取消费者密钥和签名

如何从服务器(OAuth1)获取消费者密钥、签名和消费者秘密(动态)。所以,我可以在 Headers->Authorization 中传递它以在 Postman 中执行我的路由(注册)。

0 投票
0 回答
41 浏览

activity-streams - ActivityPub 发件箱交付的收件箱分辨率

任何有 ActivityPub 协议经验的人可以为我澄清一些事情吗?对于服务器-服务器联合 (S2S),当某些东西被发送到远程关注者集合时,正确的交付逻辑是什么?

ActivityPub 规范的 7.1 说:

收件箱是通过首先检索目标参与者的 JSON-LD 表示,然后查找收件箱属性来确定的。如果收件人是 Collection 或 OrderedCollection,则服务器必须取消引用集合(使用用户的凭据)并发现集合中每个项目的收件箱

但这似乎会对远程服务器产生大量的 GET 请求:一个是为了获取 Collection 的 JSON-LD,然后一个是针对集合中的每个项目以检索JSON-LD。如果远程集合被分页,那就更糟了。

规范的 7.1.1 说(强调我的):

当在发件箱中接收到对象时(对于同时支持客户端到服务器交互和服务器到服务器交互的服务器),服务器必须定位并传递到: to、bto、cc、bcc 或受众字段,如果它们的值是个人或集合由演员拥有

这似乎与 7.1 相矛盾,因为它说服务器必须取消引用所有内容。

谁能解释我错过了什么?

0 投票
1 回答
268 浏览

node.js - 访问 ms 团队活动源

有什么方法可以通过任何 api 将外部应用程序中发生的活动发送到 ms 团队活动源。现在我设计了一个博客,其他用户可以在其中评论并关注我在博客中的帖子。所以我想获取所有活动这发生在我的博客给 ms 团队。

0 投票
0 回答
44 浏览

rust - 使用 activitystreams crate 获取 Mastodon 配置文件的发件箱

我有一个 Mastodon URL,看起来像https://mastodon_domain/web/accounts/123. 我能够从该 URL 中检索 JSON,使用纯 JSON 功能在 Python 中对其进行解析,并使用它做了一些有用的事情。现在我想用 Rust 和activitystreams crate 做同样的事情:

解析成功,但Person对象没有output属性。根据文档,它似乎隐藏在ApActorProperties扩展中。但我不知道如何访问它。看起来我的 Rust 还不够好,所以如果有人能告诉我如何outbox从成功解析的Person实例中获取信息,我将不胜感激。