archive-org.com » ORG » J » JABBERCN.ORG

Total: 303

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • 查看源代码 - Jabber/XMPP中文翻译计划
    pubsub errors error iq source 请求和配置不匹配 如果请求未遵循该节点配置的事件类型 服务可以弹回该请求一个 bad request 错误 它也应该包含一个pubsub特有的错误条件 采用以下规则 如果事件类型是持久化 事件通知或载荷 并且发布者未指定一个ItemID 服务必须生成该ItemID且不能 MUST NOT 弹回发布请求 如果事件类型是持久化 事件通知或载荷 并且发布者未包含一个条目 服务必须弹回发布请求一个 bad request 错误以及一个pubsub特有的错误条件 item required 如果事件类型是载荷 持久化或临时的 并且发布者未包含一个载荷 服务应该弹回发布请求一个 bad request 错误和一个pubsub特有的错误条件 payload required 如果事件类型是 通知 临时的 并且发布者提供了一个条目 服务必须弹回发布请求一个 bad request 错误和一个pubsub特有的错误条件 item forbidden 这些错误的例子如下所示 例子 110 发布者尝试不带条目发布到持久化节点 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas item required xmlns http jabber org protocol pubsub errors error iq source 例子 111 发布者尝试不带载荷发布到载荷节点 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas payload required xmlns http jabber org protocol pubsub errors error iq source 例子 112 发布者尝试带条目发布到临时通知节点 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas item forbidden xmlns http jabber org protocol pubsub errors error iq source 自动创建节点 一个pubsub服务可以在它接收到一个发送到不存在的节点的发布请求的时候自动创建一个节点而不是返回一个 item not found 错误 当这样做的时候 该服务应该应用缺省节点配置 如果一个服务支持这个功能 它必须声明那个事实 在它的 disco info 应答中包含一个特性 http jabber org protocol pubsub auto create 发布选项 一个pubsub服务可以支持为一个发布请求指定选项的能力 如果这样 它必须声明支持 http jabber org protocol pubsub publish options 特性 这是例子 例子 113 带选项发布 source lang xml iq type set from hamlet denmark lit blogbot to pubsub shakespeare lit id pub1 pubsub xmlns http jabber org protocol pubsub publish node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 entry xmlns http www w3 org 2005 Atom title Soliloquy title summary To be or not to be that is the question Whether tis nobler in the mind to suffer The slings and arrows of outrageous fortune Or to take arms against a sea of troubles And by opposing end them summary link rel alternate type text html href http denmark lit 2003 12 13 atom03 id tag denmark lit 2003 entry 32397 id published 2003 12 13T18 30 02Z published updated 2003 12 13T18 30 02Z updated entry item publish publish options x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub publish options value field field var pubsub access model value presence value field x publish options pubsub iq source publish options 元素应该包含一个数据表单 见 XEP 0004 它的 FORM TYPE 应该是 http jabber org protocol pubsub publish options 见 XEP 0068 字段如何被处理取决于该pubsub服务 它在 XEP 0004 的功能语境中是作为一个 表单处理 实体 例如 服务可以把字段视为一个前提条件 在那种情况下服务将做如下处理 如果该节点存在但前提条件不吻合 那么发布将以一个 conflict 错误条件和一个pubsub特有的条件 precondition not met 失败 如果该节点存在且前提条件吻合 那么发布成功 如果该节点不存在且该服务支持 auto create 特性 那么该服务将以除了哪些在前提条件中指定的配置之外的缺省配置自动创建该节点 并且发布成功 如果该节点不存在且该服务不支持 auto create 特性 那么发布将失败 从节点删除条目 一个发布者可能想在它已经发布一个条目到一个支持持久化条目的节点之后删除那个条目 对此特性 delete items 的支持是推荐的 请求 要删除一个条目 发布者发送一个如下例所示的retract请求 retract 元素必须拥有一个 node 属性 可以拥有一个 notify 属性 并且必须包含一个 item 元素 该 item 元素必须是空的并且必须拥有一个 id 属性 例子 114 实体从节点删除一个条目 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id retract1 pubsub xmlns http jabber org protocol pubsub retract node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 retract pubsub iq source 成功场景 如果没发生错误 服务必须删除该条目 例子 115 服务应答成功 source lang xml iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 source 删除并通知 如果没发生错误且 retract 元素包含一个值为 true 或 1 的 notify 属性 XEP 0060 附录G 备注 20 那么服务必须删除该条目并且必须如下所示通知所有的订阅者 语法除了替换了一个 item 元素和事件通知完全一样 这里的 items 元素包含了一个 retract 元素 例子 116 订阅者被通知删除 source lang xml message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event items node princely musings retract id ae890ac52d0df67ed7cfdf51b644e901 items event message message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event items node princely musings retract id ae890ac52d0df67ed7cfdf51b644e901 items event message source 包含订阅ID 如果一个单独的实体多次订阅了某节点 服务应该标记该节点删除 这样实体能确定哪个订阅标识符生成了这个通知 如上 如果这些标记被包含 它们必需使用 Stanza Headers and Internet Metadata SHIM 协议并且应该在通知数据之后被包含 即 作为 message 节的最后的子元素 例子 117 订阅者接收带标记的事件通知 source lang xml message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event items node princely musings retract id ae890ac52d0df67ed7cfdf51b644e901 items event headers xmlns http jabber org protocol shim header name SubID 123 abc header header name SubID 004 yyy header headers message source 错误场景 有很多原因可能导致条目撤销请求失败 发布者没有足够权限删除请求的条目 节点或条目不存在 请求没有指定节点 请求没有包含一个 item 元素或 item 元素未指定一个ItemID 节点不支持持久化条目 服务不支持条目删除 这些错误的完整描述见下面章节 权限不足 如果请求的实体没有足够的权限删除该条目 服务必须返回一个 forbidden 错误 例子 118 请求实体没有足够权限 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq source 节点不存在 如果该节点或条目不存在 服务必须返回一个 item not found 条目 例子 119 不存在的节点或条目 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq source 要求NodeID 如果请求未指定一个节点 服务必须返回一个 bad request 错误 它也应该包含一个pubsub特有的错误条件 nodeid required 例子 120 请求未指定一个节点 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas nodeid required xmlns http jabber org protocol pubsub errors error iq source 要求Item或ItemID 如果请求未包含一个 item 元素或 item 元素未指定一个ItemID 服务必须返回一个 bad request 错误 它也应该包含一个pubsub特有的错误条件 item required 例子 121 请求未指定一个条目 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas item required xmlns http jabber org protocol pubsub errors error iq source 不支持持久化条目 如果该节点不支持持久化条目 例如 因为它是一个集合节点或一个临时节点所以不递送载荷 服务必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 persistent items 例子 122 节点不支持持久化条目 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature persistent items error iq source 不支持条目删除 如果该服务不支持条目删除 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 delete items 例子 123 服务不支持条目删除 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature delete items error iq source 所有者用例 创建节点 常规事项 一个实体可能想创建一个新节点 推荐支持这个特性 create nodes 无论如何 一个服务可以基于请求实体的身份不允许创建一个节点 或可以完全不允许创建节点 例如 为服务器范围的管理员保留这个权限 有两种办法创建一个节点 以缺省配置和指定的节点类型创建一个节点 同时创建并配置一个节点 例子 124 请求创建一个节点 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create1 pubsub xmlns http jabber org protocol pubsub create node princely musings pubsub iq source 这些方法 以及相应的方法特有的错误条件的完整解释在下面章节中 在方法特有的错误条件之外 有很多常规的原因导致节点创建请求失败 服务不支持节点创建 只有在该服务上注册了的实体被允许创建节点 未注册的请求实体不允许 请求实体没有足够权限创建节点 请求的NodeID已存在 请求未包含一个NodeID且不支持 instant nodes 常规错误场景的完整描述如下 如果服务不支持节点创建 它必须应答一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 create nodes 例子 125 服务不支持节点创建 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature create nodes error iq source 如果只有在服务上注册了的实体可以创建节点但是请求实体还没有注册 服务必须应答一个 registration required 错误 例子 126 服务要求注册 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type auth registration required xmlns urn ietf params xml ns xmpp stanzas error iq source 如果请求实体没有足够权限创建节点 服务必须应答一个 forbidden 错误 例子 127 请求实体被禁止创建节点 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq source 如果请求的NodeID已存在 服务必须应答一个 conflict 错误 例子 128 NodeID已存在 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type cancel conflict xmlns urn ietf params xml ns xmpp stanzas error iq source 如果节点创建者未指定一个NodeID但是服务不支持即时节点 服务必须返回一个 not acceptable 错误 指定一个pubsub特有的错误条件 nodeid required 例子 129 服务不支持即时节点 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create2 error type modify not acceptable xmlns urn ietf params xml ns xmpp stanzas nodeid required xmlns http jabber org protocol pubsub errors error iq source 如果节点创建者未指定一个NodeID但是服务支持即时节点 服务应该代表节点创建者生成一个在该服务上下文中唯一的NodeID 例子 130 实体请求一个即时节点 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create2 pubsub xmlns http jabber org protocol pubsub create pubsub iq source 如果没有发生错误 pubsub服务应该创建该节点 生成一个那个服务上下文中唯一的NodeID 并通知该用户成功了 应答中包含该NodeID 例子 131 服务应答成功和生成的NodeID source lang xml iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id create2 pubsub xmlns http jabber org protocol pubsub create node 25e3d37dabbab9541f7523321421edc5bfeb2dae pubsub iq source 注意 当一个服务代表请求实体成功创建一个节点 它必须返回一个 IQ result 根据 XMPP Core 如果该节点创建请求未指定一个NodeID且服务支持创建即时节点 该服务必须在该 IQ result 中指定已创建的NodeID 类似的 如果该节点创建请求指定了一个NodeID但是服务在创建该节点之前修改了该NodeID 该服务必须也在 IQ result 中指定已修改的节点 在所有其他情况下 该服务可以在该 IQ result 中指定NodeID但是节点创建者不能 MUST NOT 依赖从服务接收到它 因为节点创建者能通过跟踪 IQ set 指定的 id 属性来确定哪个节点被创建了 以缺省配置创建一个节点 如上文解释的 每个节点有它自己的缺省配置 通过以缺省配置向服务请求创建一个节点 该节点创建者接受缺省配置 如果服务允许节点配置 所有者可以在创建节点之后重新配置该节点 如本文的 XEP 0060 配置节点 配置节点 所述 另外 一个服务可以允许实体在创建节点之前为一个给定的节点类型决定缺省配置 如本文的 XEP 0060 请求缺省配置 请求缺省配置 所述 为了以缺省配置创建一个节点 节点创建者可以简单的包含一个空的 create 子元素 在以下例子中 节点创建者以一个公开访问模式 假定是该服务的缺省类型 请求一个叶子节点 缺省类型 例子 132 实体以 缺省的 公开访问模式请求叶子节点 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create1 pubsub xmlns http jabber org protocol pubsub create node princely musings pubsub iq source 注意 pubsub node type 配置字段的的缺省设置是 leaf 为了向服务请求一个不同于缺省的访问模式 该节点创建者必须在节点创建请求中包含一个数据表单来为 pubsub access model 字段指定一个非缺省的值 例子 133 实体以非缺省访问模式请求叶子节点 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create2 pubsub xmlns http jabber org protocol pubsub create node princely musings configure x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub access model value whitelist value field x configure pubsub iq source 如果该访问模式是被支持的并且没有发生常规或方法特有的错误 服务应该创建该节点并通知请求实体成功 例子 134 服务通知请求实体成功 source lang xml iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 source 如果服务不支持指定的访问模式 它必须返回一个 not acceptable 错误 指定一个pubsub特有的错误条件 unsupported access model 例子 135 服务不支持指定的访问模式 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create2 error type modify not acceptable xmlns urn ietf params xml ns xmpp stanzas unsupported access model xmlns http jabber org protocol pubsub errors error iq source 对于如果服务不支持指定的节点类型的错误处理 参考 XEP 0248 创建并配置节点 如果一个实现允许节点配置 见本文的 XEP 0060 配置节点 配置节点 它应该允许创建请求在节点创建请求中包含期望的节点配置 注意 configure 元素必须跟随 create 元素且不能 MUST NOT 拥有 node 属性 因为 create 元素的 node 属性的值指定了期望的NodeID 如果这些规则中的任何一个规则被违反了 该服务必须返回一个 bad request 错误 例子 136 实体以非缺省配置请求一个新节点 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create1 pubsub xmlns http jabber org protocol pubsub create node princely musings configure x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title value Princely Musings Atom value field field var pubsub deliver notifications value 1 value field field var pubsub deliver payloads value 1 value field field var pubsub persist items value 1 value field field var pubsub max items value 10 value field field var pubsub item expire value 604800 value field field var pubsub access model value open value field field var pubsub publish model value publishers value field field var pubsub purge offline value 0 value field field var pubsub send last published item value never value field field var pubsub presence based delivery value false value field field var pubsub notification type value headline value field field var pubsub notify config value 0 value field field var pubsub notify delete value 0 value field field var pubsub notify retract value 0 value field field var pubsub notify sub value 0 value field field var pubsub max payload size value 1028 value field field var pubsub type value http www w3 org 2005 Atom value field field var pubsub body xslt value http jabxslt jabberstudio org atom body xslt value field x configure pubsub iq source 例子 137 服务应答成功 source lang xml iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 source 如果一个服务支持这个 create and configure 特性 它必须在对服务查询信息请求的应答中通过返回一个特性 http jabber org protocol pubsub create and configure 来声明那一事实 如果 create and configure 选项不被支持但是请求实体还是发送了这样一个请求 服务应该忽略该请求的配置部分而当成没有包含这些配置一样处理 配置节点 在创建了一个新节点之后 该节点所有者可能想修改该节点的配置 推荐支持这个特性 请求 例子 138 所有者请求配置表单 source lang xml iq type get from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings pubsub iq source 成功场景 如果没有发生错误 服务器必须返回一个配置表单给该节点所有者 它应该包含当前的节点配置作为缺省值 注意 接下来的例子展示了一些可以提供的可能的配置选项 如果一个实现使用 XEP 0004 数据表单 协议实现了这些特性 那个实现必须使用已经注册到XMPP注册处的和 http jabber org protocol pubsub 命名空间相关的字段 那些字段变量的初步表述见下文以及本文的 XEP 0060 pubsub node config FORM TYPE pubsub node config FORM TYPE 但是不能 MUST NOT 被解释为标准 因为XMPP注册处可以晚些时候标准化额外的字段而不用改变本文 一个实现可以选择指定不同的标签 值 以及甚至字段类型 但必须遵循已定义的变量名scheme 例子 139 服务应答配置表单 source lang xml iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id config1 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings x xmlns jabber x data type form field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title type text single label A friendly name for the node field var pubsub deliver notifications type boolean label Whether to deliver event notifications value true value field field var pubsub deliver payloads type boolean label Whether to deliver payloads with event notifications value true value field field var pubsub notify config type boolean label Notify subscribers when the node configuration changes value 0 value field field var pubsub notify delete type boolean label Notify subscribers when the node is deleted value false value field field var pubsub notify retract type boolean label Notify subscribers when items are removed from the node value false value field field var pubsub notify sub type boolean label Notify owners about new subscribers and unsubscribes value 0 value field field var pubsub persist items type boolean label Persist items to storage value 1 value field field var pubsub max items type text single label Max of items to persist value 10 value field field var pubsub item expire type text single label Time after which to automatically purge items value 604800 value field field var pubsub subscribe type boolean label Whether to allow subscriptions value 1 value field field var pubsub access model type list single label Specify the subscriber model option value authorize value option option value open value option option value presence value option option value roster value option option value whitelist value option value open value field field var pubsub roster groups allowed type list multi label Roster groups allowed to subscribe option value friends value option option value courtiers value option option value servants value option option value enemies value option field field var pubsub publish model type list single label Specify the publisher model option value publishers value option option value subscribers value option option value open value option value publishers value field field var pubsub purge offline type boolean label Purge all items when the relevant publisher goes offline value 0 value field field var pubsub max payload size type text single label Max Payload size in bytes value 1028 value field field var pubsub send last published item type list single label When to send the last published item option label Never value never value option option label When a new subscription is processed value on sub value option option label When a new subscription is processed and whenever a subscriber comes online value on sub and presence value option value never value field field var pubsub presence based delivery type boolean label Deliver event notifications only to available users value 0 value field field var pubsub notification type type list single label Specify the delivery style for event notifications option value normal value option option value headline value option value headline value field field var pubsub type type text single label Specify the type of payload data to be provided at this node value http www w3 org 2005 Atom value field field var pubsub dataform xslt type text single label Payload XSLT x configure pubsub iq source 错误场景 有很多原因可能导致节点配置请求失败 服务不支持节点配置 请求实体没有足够权限配置该节点 请求未指定一个节点 节点没有配置选项 指定的节点不存在 这些错误场景的完整描述在下面章节 不支持节点配置 如果服务不支持节点配置 该服务必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 config node 例子 140 服务不支持节点配置 source lang xml iq type error from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature config node error iq source 权限不足 如果请求实体没有足够权限去配置该节点 服务必须应答一个 forbidden 错误 例子 141 请求实体被禁止配置该节点 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id config1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq source 要求NodeID 如果请求未指定一个节点 服务应该返回一个 bad request 错误 有可能不包含一个NodeID是因为请求实体向根节点请求配置 无论如何 如果请求实体不是一个服务器范围的管理员 最好返回 bad request 而不是 forbidden 例子 142 请求未指定一个节点 source lang xml iq type error from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas nodeid required xmlns http jabber org protocol pubsub errors error iq source 无配置选项 如果没有配置选项可用 例如 因为节点配置 被封止了 该服务必须返回一个 not allowed 错误给所有者 例子 143 节点无配置选项 source lang xml iq type error from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 error type cancel not allowed xmlns urn ietf params xml ns xmpp stanzas error iq source 节点不存在 如果节点不存在 服务必须返回一个 item not found 错误 例子 144 节点不存在 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id config1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq source 表单提交 在接收到配置表单之后 所有者应该提交一个完成的配置表单 例子 145 所有者提交节点配置表单 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id config2 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title value Princely Musings Atom value field field var pubsub deliver notifications value 1 value field field var pubsub deliver payloads value 1 value field field var pubsub persist items value 1 value field field var pubsub max items value 10 value field field var pubsub item expire value 604800 value field field var pubsub access model value roster value field field var pubsub roster groups allowed value friends value value servants value value courtiers value field field var pubsub publish model value publishers value field field var pubsub purge offline value 0 value field field var pubsub send last published item value never value field field var pubsub presence based delivery value false value field field var pubsub notification type value headline value field field var pubsub notify config value 0 value field field var pubsub notify delete value 0 value field field var pubsub notify retract value 0 value field field var pubsub notify sub value 0 value field field var pubsub max payload size value 1028 value field field var pubsub type value http www w3 org 2005 Atom value field field var pubsub body xslt value http jabxslt jabberstudio org atom body xslt value field x configure pubsub iq source 替代的 所有者可以取消配置过程 在这种情况下必须应用现有的配置 例子 146 所有者取消配置过程 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id config2 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings x xmlns jabber x data type cancel configure pubsub iq source 表单处理 成功 如果表单能被成功处理 服务必须返回一个 IQ result 例子 147 服务应答成功 source lang xml iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id config2 source 注意 如果该节点类型从叶子改成集合且有条目和该节点相关 服务必须清除节点的所有条目 通知或不通知订阅者 失败 如果请求的节点配置变更不能被处理 例如 因为节点所有者尝试修改配置使得它没有节点所有者 服务必须返回一个 not acceptable 错误给所有者 例子 148 配置变更不能被处理 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id config2 error type modify not acceptable xmlns urn ietf params xml ns xmpp stanzas error iq source 成功并通知 如果 pubsub notify config 选项被设为true 服务必须通知订阅者配置变更 服务应该为叶子节点支持这个选项 必须为集合节点支持这个选项 如 XEP 0248 所述 如果节点配置被设为仅通知 该通知必须包含一个空的 configuration 元素 它的 node 属性被设为该节点的NodeID 如果该节点配置被设为全载荷 configuration 元素必须额外包含该节点配置并通过 数据表单 协议展示它 例子 149 服务发送配置变更通知 仅事件通知 source lang xml message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event configuration node princely musings event message source 例子 150 服务发送配置变更通知 带载荷 source lang xml message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event configuration node princely musings x xmlns jabber x data type result field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title value Princely Musings Atom value field field var pubsub deliver notifications value 1 value field field var pubsub deliver payloads value 1 value field field var pubsub notify config value 0 value field field var pubsub notify delete value 0 value field field var pubsub notify retract value 0 value field field var pubsub notify sub value 0 value field field var pubsub persist items value 1 value field field var pubsub max items value 10 value field field var pubsub item expire value 604800 value field field var pubsub subscribe value 1 value field field var pubsub access model value open value field field var pubsub publish model value publishers value field field var pubsub purge offline value 0 value field field var pubsub max payload size value 9216 value field field var pubsub send last published item value never value field field var pubsub presence based delivery value 0 value field field var pubsub notification type value headline value field field var pubsub type value http www w3 org 2005 Atom value field field var pubsub body xslt value http jabxslt jabberstudio org atom body xslt value field x configuration event message source 请求缺省节点配置选项 一个实体可能希望请求关于缺省节点配置的信息 例如 为了确定是否执行前文所述的 创建并配置 对这个特性的支持是可选的 请求 要获得节点选项 该实体必须不带NodeID发送一个空的 default 元素给服务 在应答中 该服务应该返回缺省节点选项 例子 151 实体请求缺省节点配置选项 source lang xml iq type get from hamlet denmark lit elsinore to pubsub shakespeare lit id def1 pubsub xmlns http jabber org protocol pubsub owner default pubsub iq source 成功场景 如果没有发生错误 服务必须返回缺省节点配置选项 例子 152 服务应答缺省节点配置选项 source lang xml iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id def1 pubsub xmlns http jabber org protocol pubsub owner default x xmlns jabber x data type form field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title type text single label A friendly name for the node field var pubsub deliver notifications type boolean label Deliver event notifications value true value field field var pubsub deliver payloads type boolean label Deliver payloads with event notifications value 1 value field field var pubsub description type text single label A description of the node field var pubsub notify config type boolean label Notify subscribers when the node configuration changes value 0 value field field var pubsub notify delete type boolean label Notify subscribers when the node is deleted value 0 value field field var pubsub notify retract type boolean label Notify subscribers when items are removed from the node value 0 value field field var pubsub notify sub type boolean label Notify owners about new subscribers and unsubscribes value 0 value field field var pubsub persist items type boolean label Persist items to storage value 1 value field field var pubsub max items type text single label Max of items to persist value 10 value field field var pubsub item expire type text single label Time after which to automatically purge items value 604800 value field field var pubsub subscribe type boolean label Whether to allow subscriptions value 1 value field field var pubsub access model type list single label Specify the subscriber model option value authorize value option option value open value option option value presence value option option value roster value option option value whitelist value option value open value field field var pubsub roster groups allowed type list multi label Roster groups allowed to subscribe option value friends value option option value courtiers value option option value servants value option option value enemies value option field field var pubsub publish model type list single label Specify the publisher model option value publishers value option option value subscribers value option option value open value option value publishers value field field var pubsub purge offline type boolean label Purge all items when the relevant publisher goes offline value 0 value field field var pubsub max payload size type text single label Max payload size in bytes value 9216 value field field var pubsub send last published item type list single label When to send the last published item option label Never value never value option option label When a new subscription is processed value on sub value option option label When a new subscription is processed and whenever a subscriber comes online value on sub and presence value option value never value field field var pubsub presence based delivery type boolean label Deliver notifications only to available users value 0 value field field var pubsub notification type type list single label Specify the delivery style for notifications option value normal value option option value headline value option value headline value field x default pubsub iq source 错误场景 有很多原因可能导致缺省节点配置选项请求失败 服务不支持节点配置 服务不支持获取缺省节点配置 这些错误场景的完整描述见下面章节 不支持节点配置 如果服务不支持节点配置 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 config node 例子 153 服务不支持节点配置 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id def1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature config node error iq source 不支持缺省节点配置获取 如果服务不支持获取缺省节点配置选项 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 retrieve default 例子 154 服务不支持获取缺省节点配置选项 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id def1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature retrieve default error iq source 删除节点 如果一个服务支持节点创建 它必须支持节点删除 如果一个实现持久化了条目 它必须在节点被删除之前从持久化存储删除所有条目 请求 为了删除一个节点 一个节点所有者必须发送一个节点删除请求 包含一个 delete 元素 其 node 属性指定要被删除的节点的NodeID 例子 155 所有者删除一个节点 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id delete1 pubsub xmlns http jabber org protocol pubsub owner delete node princely musings pubsub iq source 该删除请求可以包含包含一个替换节点的URI 请求可以被重定向到那 典型的这是一个 XMPP URI 或 IRI 如 XEP 0060 PubSub URIs PubSub URIs 所述 但是它也可以是一个 HTTP URI 或任何其他形式 例子 156 所有者删除一个节点并重定向 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id delete1 pubsub xmlns http jabber org protocol pubsub owner delete node princely musings redirect uri xmpp hamlet denmark lit node blog delete pubsub iq source 对重定向的支持在pubsub服务的部分中是可选的 成功场景 如果没发生错误 服务必须通知所有者成功 例子 157 服务应答成功 source lang xml iq type result from pubsub shakespeare lit id delete1 source 另外 该服务也必须发送节点删除的通知给所有订阅者 它应该包含未决和未配置的订阅 例子 158 订阅者被通知节点删除了 source lang xml message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event delete node princely musings redirect uri xmpp hamlet denmark lit node blog delete event message message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event delete node princely musings redirect uri xmpp hamlet denmark lit node blog delete event message source 错误场景 有很多原因可能导致节点删除失败 请求实体没有足够权限删除该节点 该节点是根集合节点 它不能被删除 见 XEP 0248 指定的节点不存在 这些错误场景的完整描述见下面章节 权限不足 如果请求实体没有足够权限删除该节点 例如 不是一个所有者 该服务必须返回一个 forbidden 错误 例子 159 实体不是一个所有者 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id delete1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq source 节点不存在 如果请求实体尝试删除一个不存在的节点 服务必须返回一个 item not found 错误 例子 160 所有者尝试删除一个不存在的节点 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id delete1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq source 清除所有节点条目 如果一个服务持久化了发布的条目 一个节点所有者可能想清除该节点的所有已发布条目 也就是从持久化存储中移除所有条目 除了最后发布的条目以外 它可以被缓存 实现这个特性对于一个服务是可选的 请求 为了清除一个节点的所有条目 一个节点所有者发送一个节点清除请求 包含一个 purge 元素 它的 node 属性指定要被清理的节点的NodeID 例子 161 所有者从一个节点清除所有条目 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id purge1 pubsub xmlns http jabber org protocol pubsub owner purge node princely musings pubsub iq source 成功场景 如果没发生错误 服务必须清理该节点并通知所有者成功了 例子 162 服务应答成功 source lang xml iq type result from pubsub shakespeare lit id purge1 source 如果该节点或服务已经被配置成通知订阅者条目删除了 一个清除请求不能 MUST NOT 导致发送和删除条目时一样的通知 因为清理一个节点的很多持久化条目可能导致大量的通知 取而代之的是 该节点必须发送一个单独的通知给每个订阅者 包含一个空的 purge 子元素 例子 163 订阅者被通知节点清理了 source lang xml message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event purge node princely musings event message message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event purge node princely musings event message source 错误场景 有很躲原因可能导致节点清理请求失败 该节点或服务不支持节点清理 请求实体没有足够权限清理该节点 该节点未被配置成持久化条目 指定的节点不存在 这些错误的完整描述在下面章节 不支持节点清理 如果该节点或服务不支持节点清理 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 purge nodes 例子 164 服务不支持节点清理 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id purge1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature purge nodes error iq source 权限不足 如果请求实体没有足够权限清理该节点 例如 因为它不是节点所有者 该服务必须返回一个 forbidden 错误 例子 165 实体不是一个所有者 source lang xml iq type error from pubsub shakespeare lit id purge1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq source 节点未持久化条目 如果该服务或节点未持久化条目 例如 因为该节点是一个集合节点 如 XEP 0248 所述 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 persistent items 例子 166 节点未被配置成持久化条目 source lang xml iq type error from pubsub shakespeare lit id purge1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature persistent items error iq source 节点不存在 如果该节点不存在 服务必须返回一个 item not found 错误 例子 167 节点不存在 source lang xml iq type error from pubsub shakespeare lit id purge1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq source 管理订阅请求 任何时候一个服务可以发送订阅批准请求给该节点的所有者 一个订阅批准求情包含一个message节 这个节包含了一个由 http jabber org protocol pubsub subscribe authorization FORM TYPE 限定的数据表单 这个格式必须包含一个布尔值字段 其 var 属性的值为 pubsub allow 这个字段指出是否允许订阅请求 这个表单应该包含字段来指定节点标识符和未决订阅者的JID 该message可以包含一个 body 元素以包含自然语言文本来解释该消息所包含的一个未决订阅表单 例子 168 服务发送授权请求给节点所有者 source lang xml message to hamlet denmark lit from pubsub shakespeare lit id approve1 x xmlns jabber x data type form title PubSub subscriber request title instructions To approve this entity apos s subscription request click the OK button To deny the request click the cancel button instructions field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field var pubsub subid type hidden value 123 abc value field field var pubsub node type text single label Node ID value princely musings value field field var pusub subscriber jid type jid single label Subscriber Address value horatio denmark lit value field field var pubsub allow type boolean label Allow this JID to subscribe to this pubsub node value false value field x message source 为了批准请求 所有者将提交该表单并把 pubsub allow 字段的值设为 1 或 true 为了追踪的目的该message必须反映最初提供的 id 属性 例子 169 所有者批准订阅请求 source lang xml message from hamlet denmark lit elsinore to pubsub shakespeare lit id approve1 x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field var pubsub subid value 123 abc value field field var pubsub node value princely musings value field field var pubsub subscriber jid value horatio denmark lit value field field var pubsub allow value true value field x message source 然后服务应该通知被批准的订阅者 见本文的 XEP 0060 订阅状态变更通知 订阅状态变更通知 例子 170 订阅批准通知 source lang xml message from pubsub shakespeare lit to horatio denmark lit id approvalnotify1 event xmlns http jabber org protocol pubsub event subscription node princely musings jid horatio denmark lit subscription subscribed event message source 为了禁止请求 所有者将提交该表单并把 pubsub allow 字段的值设为 0 或 false 如上 该message必须反映最初提供的 id 例子 171 所有者禁止订阅请求 source lang xml message from hamlet denmark lit elsinore to pubsub shakespeare lit id approve1 x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field var pubsub subid value 123 abc value field field var pubsub node value princely musings value field field var pubsub subscriber jid value horatio denmark lit value field field var pubsub allow value false value field x message source 然后服务应该通知被禁止的订阅者 见本文的 XEP 0060 订阅状态变更通知 订阅状态变更通知 例子 172 订阅 取消 禁止 通知 source lang xml message from pubsub shakespeare lit to horatio denmark lit id unsubnotify1 event xmlns http jabber org protocol pubsub event subscription node princely musings jid horatio denmark lit subscription none event message source 为了取消该表单的提交 所有者将把表单的 type 属性设为 cancel 来应答 例子 173 所有者取消表单提交 source lang xml message from hamlet denmark lit elsinore to pubsub shakespeare lit id approve1 x xmlns jabber x data type cancel field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field x message source 服务必须检查 pubsub allow 字段来看是否订阅应该被允许或禁止 如果所有者取消数据表单 那么该订阅请求必须保持在未决状态 处理未决订阅请求 一个节点所有者可能想在一个服务上获取它们的节点上的所有未决订阅请求 对于一个服务来说实现该特性是可选的 这个特性必须使用 http xmpp org extensions xep 0050 html Ad Hoc Commands XEP 0060 俘虏G 备注 21 协议来实现 这里的命令名称 command元素的 node 属性 的值必须为 http jabber org protocol pubsub get pending 请求 例子 174 所有者请求未决的请求 source lang xml iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id pending1 command xmlns http jabber org protocol commands node http jabber org protocol pubsub get pending action execute iq source 成功场景 如果没发生错误 服务应该为管理的订阅请求返回一个数据表单 它必须包含一个单独的字段 其 var 属性值为 pubsub node 其 option 元素指定请求实体有批准权限的节点们 为了优化 服务可以只指定那些有未决订阅请求的节点们 例子 175 服务以所在的数据表单应答 source lang xml iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 command xmlns http jabber org protocol commands sessionid pubsub get pending 20031021T150901Z 600 node http jabber org protocol pubsub get pending status executing action execute x xmlns jabber x data type form field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field type list single var pubsub node option value princely musings value option option value news from elsinore value option field x command iq source 错误场景 有很多原因可能导致获取未决的订阅批准请求失败 服务不支持 ad hoc commands 协议 服务支持 ad hoc commands 但是不支持 get pending 特性 请求实体没有足够权限批准订阅请求 指定的节点不存在 这些错误场景的完整描述见下面章节 不支持Ad Hoc Commands 如果服务不支持ad hoc commands协议 它必须应答一个 service unavailable 错误 例子 176 服务以未找到节点应答 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel service unavailable xmlns urn ietf params xml ns xmpp stanzas error iq source 不支持Get Pending 如果服务不支持 get pending 特性 它必须应该一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 get pending 例子 177 服务以未找到节点应答 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature get pending error iq source 权限不足 如果请求实体没有足够权限批准订阅请求 服务必须返回一个 forbidden 错误 例子 178 实体没有足够权限批准订阅请求 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel forbidden xmlns urn ietf params xml ns xmpp stanzas error iq source 节点不存在 如果请求的节点不存在 服务必须应答一个 item not found 错误 例子 179 服务以未找到节点应答 source lang xml iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq source 按节点请求 在接收到管理的订阅请求的数据表单之后 接着所有者可以获取给定节点的未决订阅批准请求 例子 180 所有者获取某个节点的所有未决订阅请求 source lang xml iq type set to pubsub shakespeare lit id pending2 command xmlns http jabber org protocol commands sessionid pubsub get pending 20031021T150901Z 600 node http jabber org protocol pubsub get pending action execute x xmlns jabber x data type submit field var pubsub node value princely musings value field x command iq source 如果没发生错误 服务将应答成功 例子 181 服务应答成功 source lang xml iq from pubsub shakespeare lit id pending2 to hamlet denmark lit elsinore type result command xmlns http jabber org protocol commands sessionid pubsub get pending 20031021T150901Z 600 node http jabber org protocol pubsub get pending action completed iq source 服务接着将为每个未决的订阅请求发送一个订阅批准消息 如上文所述的每个单独的未决订阅请求 注意 一个服务应该遵循它的从属关系策略来维护一个未决订阅的列表 特别是 如果某个带有一个未决订阅的实体的从属关系被修改成所有者或发布者 服务应该自动批准该订阅请求并把该实体从未决列表中移除之前的请求 类似的 如果某个带有一个未决订阅的实体的从属关系被修改成被排斥者 服务应该自动拒绝该订阅请求并从未决列表中移除该实体之前的请求 如果一个实体的订阅请求被禁止 服务应该发送一个 message 给该实体 这个message遵循本文的 XEP 0060 订阅状态变更通知 订阅状态变更通知 所述的格式 管理订阅 一个节点所有者可能想编辑和一个给定节点相关的订阅的列表 对这个特性 pubsub manage subscriptions 的支持是可选的 获取订阅列表 首先所有者获取订阅列表 请求 为了请求一个所有订阅的列表 节点所有者必须发送一个订阅请求 包含一个 subscriptions 元素 它的 node 属性指定相关节点的NodeID 例子 182 所有者请求所有订阅 source lang xml iq type get from hamlet denmark lit elsinore to pubsub shakespeare lit id subman1 pubsub xmlns http jabber org protocol pubsub owner subscriptions node princely musings pubsub iq source 成功场景 如果没发生错误 服务必须返回那些订阅状态为 subscribed 或 unconfigured 的实体的订阅列表 它不能 MUST NOT 返回订阅状态为 none 的实体 不应该 SHOULD NOT 返回订阅状态为 pending 的实体 结果可以为同一个实体 JID 指定多个 subscription 元素 但是每个元素必须拥有一个值为唯一的 subid 属性 如下所述 例子 183 服务返回订阅列表 source lang xml iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore

    Original URL path: http://wiki.jabbercn.org/index.php?title=XEP-0060&action=edit (2016-04-25)
    Open archived version from archive

  • “XEP-0060”的版本历史 - Jabber/XMPP中文翻译计划
    23 45 Admin 讨论 贡献 小 244 747字节 临时订阅 当前 先前 2013年8月7日 三 23 24 Admin 讨论 贡献 小 244 855字节 通知触发 当前 先前 2013年8月7日 三 22 08 Admin 讨论 贡献 217 224字节 错误条件 当前 先前 2013年8月7日 三 10 52 Admin 讨论 贡献 小 214 410字节 特性汇总 当前 先前 2013年8月7日 三 10 20 Admin 讨论 贡献 214 350字节 特性汇总 当前 先前 2013年8月7日 三 09 22 Admin 讨论 贡献 209 349字节 过滤通知 当前 先前 2013年8月6日 二 22 31 Admin 讨论 贡献 208 985字节 IM帐号集成 当前 先前 2013年8月6日 二 21 15 Admin 讨论 贡献 200 394字节 通知实体 当前 先前 2013年8月6日 二 18 20 Admin 讨论 贡献 198 348字节 多重修改 当前 先前 2013年8月6日 二 18 05 Admin 讨论 贡献 小 198 436字节 通知订阅者 当前 先前 2013年8月6日 二 12 24 Admin 讨论 贡献 189 228字节 按节点请求 当前 先前 2013年8月5日 一 12 48 Admin 讨论 贡献 181 085字节 管理订阅请求 当前 先前 2013年8月5日 一 12 09 Admin 讨论 贡献 174 912字节 节点不存在 当前 先前 2013年8月4日 日 13 23 Admin 讨论 贡献 169 952字节 节点不存在 当前 先前 2013年8月4日 日 13 04 Admin 讨论 贡献 165 685字节 不支持缺省节点配置获取 当前 先前 2013年8月4日 日 12 50 Admin 讨论 贡献 162 179字节 成功并通知 当前 先前 2013年8月4日 日 00 24 Admin 讨论 贡献 小 155 145字节 成功而不通知 当前 先前 2013年8月4日 日 00 23 Admin 讨论 贡献 155 148字节 节点不存在 当前 先前 2013年8月3日 六 21 55 Admin 讨论 贡献 148 698字节 创建并配置节点 当前 先前 2013年8月3日 六 18 57 Admin 讨论 贡献 139 569字节 以缺省配置创建一个节点 当前 先前 2013年8月3日 六 18 49 Admin 讨论 贡献 136 536字节 常规事项 当前 先前 2013年8月3日 六 12 55 Admin 讨论 贡献 133 551字节 常规事项 当前 先前 2013年8月2日 五 21 53 Admin 讨论 贡献 128 419字节 错误场景 当前 先前 2013年8月2日 五 21 40 Admin 讨论 贡献 125 069字节 从节点删除条目 当前 先前 2013年8月2日 五 14 33 Admin 讨论 贡献 小 121

    Original URL path: http://wiki.jabbercn.org/index.php?title=XEP-0060&action=history (2016-04-25)
    Open archived version from archive

  • 链接至“XEP-0060”的页面 - Jabber/XMPP中文翻译计划
    链接 隐藏 重定向 下列页面链接至 XEP 0060 查看 上50个 下50个 20 50 100 250 500 首页 链入页面 RFC4622 链入页面 XEP 0030 链入页面 XEP 0060 链入页面 模板 最新消息 链入页面 Ejabberd2 安装和操作指南 链入页面 XEP 0084 链入页面 XEP 0048 链入页面 Jabber XMPP中文翻译计划 新闻动态 链入页面 XEP 0147 链入页面 用户讨论 Georgewu 链入页面 查看 上50个 下50个 20 50 100 250 500 来自 http wiki jabbercn org E7 89 B9 E6 AE 8A E9 93 BE E5 85

    Original URL path: http://wiki.jabbercn.org/%E7%89%B9%E6%AE%8A:%E9%93%BE%E5%85%A5%E9%A1%B5%E9%9D%A2/XEP-0060 (2016-04-25)
    Open archived version from archive

  • 对于“XEP-0060”有关的链出更改 - Jabber/XMPP中文翻译计划
    天内最新的 50 100 250 500 次改动 隐藏 小编辑 显示 机器人的编辑 隐藏 匿名用户的编辑 隐藏 登录用户的编辑 隐藏 我的编辑 显示自 2016年4月25日 一 16 58 起的新更改 名字空间 全部 主要 讨论 用户 用户讨论 Jabber XMPP中文翻译计划 Jabber XMPP中文翻译计划讨论 文件 文件讨论 MediaWiki MediaWiki讨论 模板 模板讨论 帮助 帮助讨论 分类 分类讨论 反选 相关名字空间 页面名称 显示链到所给出的页面 在这一段时间中链接的页面并无更改 来自 http wiki jabbercn org E7 89 B9 E6 AE 8A E9 93 BE E5 87 BA E6 9B B4 E6 94 B9

    Original URL path: http://wiki.jabbercn.org/%E7%89%B9%E6%AE%8A:%E9%93%BE%E5%87%BA%E6%9B%B4%E6%94%B9/XEP-0060 (2016-04-25)
    Open archived version from archive

  • XEP-0060 - Jabber/XMPP中文翻译计划
    musings item id ae890ac52d0df67ed7cfdf51b644e901 items event message message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event items node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 items event message message from pubsub shakespeare lit to horatio denmark lit id baz event xmlns http jabber org protocol pubsub event items node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 items event message message from pubsub shakespeare lit to bard shakespeare lit id fez event xmlns http jabber org protocol pubsub event items node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 items event message 条目发布者 如果配置成这样 服务在生成事件通知的时候可以包含该条目的发布者 例子 103 服务通知订阅者 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event items node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 publisher hamlet denmark lit ENTRY item items event message publisher 属性的值必须由服务生成 服务不接受在发布条目中带它 因为允许发布者断言它的JID可能导致欺诈 由服务标记的JID要么是 1 从用来发布该条目的 IQ set 的 from 属性获得的发布者的全JID localpart domain tld resource 要么是 2 在发布者白名单的显式列表中的一个正式的从属关系中衍生出的发布者的纯JID localpart domain tld 包含订阅ID 如果一个单一的实体多次向一个节点订阅 服务应该以符号标记事件通知这样该实体能确定哪个订阅标识符生成了该事件 如果包含了这些符号 它们必须使用 Stanza Headers and Internet Metadata 19 格式并且应该在事件通知信息之后被包含 即 作为 message 节的最后的子元素 例子 104 订阅者接收带标记的事件通知 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event items node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 items event headers xmlns http jabber org protocol shim header name SubID 123 abc header header name SubID 004 yyy header headers message 错误场景 有很多原因可能导致发布请求失败 请求实体没有足够的权限发布 节点不支持条目发布 节点不存在 载荷大小超出服务器定义的限制 条目包含多个载荷元素或根载荷元素的命名空间和为该节点配置的命名空间不匹配 请求和该节点配置不匹配 这写错误场景的完整描述见下面章节 注意 如果一个发布者以一个Item ID发布一个条目并且该ItemID和现有的条目匹配 pubsub服务不能 MUST NOT 让这次发布失败而是必须覆盖现有条目并生成一个新的事件通知 即 重发布等同于修改 权限不足 如果请求实体没有足够的权限发布 服务必须返回一个 forbidden 错误 例子 105 实体没有足够权限发布到节点 iq type error from pubsub shakespeare lit id publish1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 不支持发布条目 如果该节点不支持条目发布 例如 因为它是一个如 XEP 0248 所述的集合节点 服务必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 publish 例子 106 节点不支持条目发布 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature publish error iq 节点不存在 如果请求实体尝试发布条目到一个不存在的节点并且服务不支持 自动创建 特性 见 自动创建节点 该服务必须返回一个 item not found 错误 例子 107 实体尝试发布到不存在的节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 载荷过大 如果载荷的大小超出了服务定义的限制 服务必须返回一个 not acceptable 错误 它也将包含一个pubsub特有的错误条件 payload too big 例子 108 实体尝试发布非常大的载荷 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify not acceptable xmlns urn ietf params xml ns xmpp stanzas payload too big xmlns http jabber org protocol pubsub errors error iq 坏的载荷 如果 item 元素包含多个载荷元素或根载荷元素的命名空间和为该节点配置的命名空间不匹配 服务必须弹回该请求一个 bad request 错误 它也应该包含一个pubsub特有的错误条件 invalid payload 例子 109 实体尝试发布条目时带多个载荷元素或命名空间不匹配 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas invalid payload xmlns http jabber org protocol pubsub errors error iq 请求和配置不匹配 如果请求未遵循该节点配置的事件类型 服务可以弹回该请求一个 bad request 错误 它也应该包含一个pubsub特有的错误条件 采用以下规则 如果事件类型是持久化 事件通知或载荷 并且发布者未指定一个ItemID 服务必须生成该ItemID且不能 MUST NOT 弹回发布请求 如果事件类型是持久化 事件通知或载荷 并且发布者未包含一个条目 服务必须弹回发布请求一个 bad request 错误以及一个pubsub特有的错误条件 item required 如果事件类型是载荷 持久化或临时的 并且发布者未包含一个载荷 服务应该弹回发布请求一个 bad request 错误和一个pubsub特有的错误条件 payload required 如果事件类型是 通知 临时的 并且发布者提供了一个条目 服务必须弹回发布请求一个 bad request 错误和一个pubsub特有的错误条件 item forbidden 这些错误的例子如下所示 例子 110 发布者尝试不带条目发布到持久化节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas item required xmlns http jabber org protocol pubsub errors error iq 例子 111 发布者尝试不带载荷发布到载荷节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas payload required xmlns http jabber org protocol pubsub errors error iq 例子 112 发布者尝试带条目发布到临时通知节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas item forbidden xmlns http jabber org protocol pubsub errors error iq 自动创建节点 一个pubsub服务可以在它接收到一个发送到不存在的节点的发布请求的时候自动创建一个节点而不是返回一个 item not found 错误 当这样做的时候 该服务应该应用缺省节点配置 如果一个服务支持这个功能 它必须声明那个事实 在它的 disco info 应答中包含一个特性 http jabber org protocol pubsub auto create 发布选项 一个pubsub服务可以支持为一个发布请求指定选项的能力 如果这样 它必须声明支持 http jabber org protocol pubsub publish options 特性 这是例子 例子 113 带选项发布 iq type set from hamlet denmark lit blogbot to pubsub shakespeare lit id pub1 pubsub xmlns http jabber org protocol pubsub publish node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 entry xmlns http www w3 org 2005 Atom title Soliloquy title summary To be or not to be that is the question Whether tis nobler in the mind to suffer The slings and arrows of outrageous fortune Or to take arms against a sea of troubles And by opposing end them summary link rel alternate type text html href http denmark lit 2003 12 13 atom03 id tag denmark lit 2003 entry 32397 id published 2003 12 13T18 30 02Z published updated 2003 12 13T18 30 02Z updated entry item publish publish options x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub publish options value field field var pubsub access model value presence value field x publish options pubsub iq publish options 元素应该包含一个数据表单 见 XEP 0004 它的 FORM TYPE 应该是 http jabber org protocol pubsub publish options 见 XEP 0068 字段如何被处理取决于该pubsub服务 它在 XEP 0004 的功能语境中是作为一个 表单处理 实体 例如 服务可以把字段视为一个前提条件 在那种情况下服务将做如下处理 如果该节点存在但前提条件不吻合 那么发布将以一个 conflict 错误条件和一个pubsub特有的条件 precondition not met 失败 如果该节点存在且前提条件吻合 那么发布成功 如果该节点不存在且该服务支持 auto create 特性 那么该服务将以除了哪些在前提条件中指定的配置之外的缺省配置自动创建该节点 并且发布成功 如果该节点不存在且该服务不支持 auto create 特性 那么发布将失败 从节点删除条目 一个发布者可能想在它已经发布一个条目到一个支持持久化条目的节点之后删除那个条目 对此特性 delete items 的支持是推荐的 请求 要删除一个条目 发布者发送一个如下例所示的retract请求 retract 元素必须拥有一个 node 属性 可以拥有一个 notify 属性 并且必须包含一个 item 元素 该 item 元素必须是空的并且必须拥有一个 id 属性 例子 114 实体从节点删除一个条目 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id retract1 pubsub xmlns http jabber org protocol pubsub retract node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 retract pubsub iq 成功场景 如果没发生错误 服务必须删除该条目 例子 115 服务应答成功 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 删除并通知 如果没发生错误且 retract 元素包含一个值为 true 或 1 的 notify 属性 20 那么服务必须删除该条目并且必须如下所示通知所有的订阅者 语法除了替换了一个 item 元素和事件通知完全一样 这里的 items 元素包含了一个 retract 元素 例子 116 订阅者被通知删除 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event items node princely musings retract id ae890ac52d0df67ed7cfdf51b644e901 items event message message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event items node princely musings retract id ae890ac52d0df67ed7cfdf51b644e901 items event message 包含订阅ID 如果一个单独的实体多次订阅了某节点 服务应该标记该节点删除 这样实体能确定哪个订阅标识符生成了这个通知 如上 如果这些标记被包含 它们必需使用 Stanza Headers and Internet Metadata SHIM 协议并且应该在通知数据之后被包含 即 作为 message 节的最后的子元素 例子 117 订阅者接收带标记的事件通知 message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event items node princely musings retract id ae890ac52d0df67ed7cfdf51b644e901 items event headers xmlns http jabber org protocol shim header name SubID 123 abc header header name SubID 004 yyy header headers message 错误场景 有很多原因可能导致条目撤销请求失败 发布者没有足够权限删除请求的条目 节点或条目不存在 请求没有指定节点 请求没有包含一个 item 元素或 item 元素未指定一个ItemID 节点不支持持久化条目 服务不支持条目删除 这些错误的完整描述见下面章节 权限不足 如果请求的实体没有足够的权限删除该条目 服务必须返回一个 forbidden 错误 例子 118 请求实体没有足够权限 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 节点不存在 如果该节点或条目不存在 服务必须返回一个 item not found 条目 例子 119 不存在的节点或条目 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 要求NodeID 如果请求未指定一个节点 服务必须返回一个 bad request 错误 它也应该包含一个pubsub特有的错误条件 nodeid required 例子 120 请求未指定一个节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas nodeid required xmlns http jabber org protocol pubsub errors error iq 要求Item或ItemID 如果请求未包含一个 item 元素或 item 元素未指定一个ItemID 服务必须返回一个 bad request 错误 它也应该包含一个pubsub特有的错误条件 item required 例子 121 请求未指定一个条目 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas item required xmlns http jabber org protocol pubsub errors error iq 不支持持久化条目 如果该节点不支持持久化条目 例如 因为它是一个集合节点或一个临时节点所以不递送载荷 服务必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 persistent items 例子 122 节点不支持持久化条目 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature persistent items error iq 不支持条目删除 如果该服务不支持条目删除 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 delete items 例子 123 服务不支持条目删除 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature delete items error iq 所有者用例 创建节点 常规事项 一个实体可能想创建一个新节点 推荐支持这个特性 create nodes 无论如何 一个服务可以基于请求实体的身份不允许创建一个节点 或可以完全不允许创建节点 例如 为服务器范围的管理员保留这个权限 有两种办法创建一个节点 以缺省配置和指定的节点类型创建一个节点 同时创建并配置一个节点 例子 124 请求创建一个节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create1 pubsub xmlns http jabber org protocol pubsub create node princely musings pubsub iq 这些方法 以及相应的方法特有的错误条件的完整解释在下面章节中 在方法特有的错误条件之外 有很多常规的原因导致节点创建请求失败 服务不支持节点创建 只有在该服务上注册了的实体被允许创建节点 未注册的请求实体不允许 请求实体没有足够权限创建节点 请求的NodeID已存在 请求未包含一个NodeID且不支持 instant nodes 常规错误场景的完整描述如下 如果服务不支持节点创建 它必须应答一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 create nodes 例子 125 服务不支持节点创建 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature create nodes error iq 如果只有在服务上注册了的实体可以创建节点但是请求实体还没有注册 服务必须应答一个 registration required 错误 例子 126 服务要求注册 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type auth registration required xmlns urn ietf params xml ns xmpp stanzas error iq 如果请求实体没有足够权限创建节点 服务必须应答一个 forbidden 错误 例子 127 请求实体被禁止创建节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 如果请求的NodeID已存在 服务必须应答一个 conflict 错误 例子 128 NodeID已存在 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type cancel conflict xmlns urn ietf params xml ns xmpp stanzas error iq 如果节点创建者未指定一个NodeID但是服务不支持即时节点 服务必须返回一个 not acceptable 错误 指定一个pubsub特有的错误条件 nodeid required 例子 129 服务不支持即时节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create2 error type modify not acceptable xmlns urn ietf params xml ns xmpp stanzas nodeid required xmlns http jabber org protocol pubsub errors error iq 如果节点创建者未指定一个NodeID但是服务支持即时节点 服务应该代表节点创建者生成一个在该服务上下文中唯一的NodeID 例子 130 实体请求一个即时节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create2 pubsub xmlns http jabber org protocol pubsub create pubsub iq 如果没有发生错误 pubsub服务应该创建该节点 生成一个那个服务上下文中唯一的NodeID 并通知该用户成功了 应答中包含该NodeID 例子 131 服务应答成功和生成的NodeID iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id create2 pubsub xmlns http jabber org protocol pubsub create node 25e3d37dabbab9541f7523321421edc5bfeb2dae pubsub iq 注意 当一个服务代表请求实体成功创建一个节点 它必须返回一个 IQ result 根据 XMPP Core 如果该节点创建请求未指定一个NodeID且服务支持创建即时节点 该服务必须在该 IQ result 中指定已创建的NodeID 类似的 如果该节点创建请求指定了一个NodeID但是服务在创建该节点之前修改了该NodeID 该服务必须也在 IQ result 中指定已修改的节点 在所有其他情况下 该服务可以在该 IQ result 中指定NodeID但是节点创建者不能 MUST NOT 依赖从服务接收到它 因为节点创建者能通过跟踪 IQ set 指定的 id 属性来确定哪个节点被创建了 以缺省配置创建一个节点 如上文解释的 每个节点有它自己的缺省配置 通过以缺省配置向服务请求创建一个节点 该节点创建者接受缺省配置 如果服务允许节点配置 所有者可以在创建节点之后重新配置该节点 如本文的 配置节点 所述 另外 一个服务可以允许实体在创建节点之前为一个给定的节点类型决定缺省配置 如本文的 请求缺省配置 所述 为了以缺省配置创建一个节点 节点创建者可以简单的包含一个空的 create 子元素 在以下例子中 节点创建者以一个公开访问模式 假定是该服务的缺省类型 请求一个叶子节点 缺省类型 例子 132 实体以 缺省的 公开访问模式请求叶子节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create1 pubsub xmlns http jabber org protocol pubsub create node princely musings pubsub iq 注意 pubsub node type 配置字段的的缺省设置是 leaf 为了向服务请求一个不同于缺省的访问模式 该节点创建者必须在节点创建请求中包含一个数据表单来为 pubsub access model 字段指定一个非缺省的值 例子 133 实体以非缺省访问模式请求叶子节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create2 pubsub xmlns http jabber org protocol pubsub create node princely musings configure x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub access model value whitelist value field x configure pubsub iq 如果该访问模式是被支持的并且没有发生常规或方法特有的错误 服务应该创建该节点并通知请求实体成功 例子 134 服务通知请求实体成功 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 如果服务不支持指定的访问模式 它必须返回一个 not acceptable 错误 指定一个pubsub特有的错误条件 unsupported access model 例子 135 服务不支持指定的访问模式 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create2 error type modify not acceptable xmlns urn ietf params xml ns xmpp stanzas unsupported access model xmlns http jabber org protocol pubsub errors error iq 对于如果服务不支持指定的节点类型的错误处理 参考 XEP 0248 创建并配置节点 如果一个实现允许节点配置 见本文的 配置节点 它应该允许创建请求在节点创建请求中包含期望的节点配置 注意 configure 元素必须跟随 create 元素且不能 MUST NOT 拥有 node 属性 因为 create 元素的 node 属性的值指定了期望的NodeID 如果这些规则中的任何一个规则被违反了 该服务必须返回一个 bad request 错误 例子 136 实体以非缺省配置请求一个新节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create1 pubsub xmlns http jabber org protocol pubsub create node princely musings configure x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title value Princely Musings Atom value field field var pubsub deliver notifications value 1 value field field var pubsub deliver payloads value 1 value field field var pubsub persist items value 1 value field field var pubsub max items value 10 value field field var pubsub item expire value 604800 value field field var pubsub access model value open value field field var pubsub publish model value publishers value field field var pubsub purge offline value 0 value field field var pubsub send last published item value never value field field var pubsub presence based delivery value false value field field var pubsub notification type value headline value field field var pubsub notify config value 0 value field field var pubsub notify delete value 0 value field field var pubsub notify retract value 0 value field field var pubsub notify sub value 0 value field field var pubsub max payload size value 1028 value field field var pubsub type value http www w3 org 2005 Atom value field field var pubsub body xslt value http jabxslt jabberstudio org atom body xslt value field x configure pubsub iq 例子 137 服务应答成功 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 如果一个服务支持这个 create and configure 特性 它必须在对服务查询信息请求的应答中通过返回一个特性 http jabber org protocol pubsub create and configure 来声明那一事实 如果 create and configure 选项不被支持但是请求实体还是发送了这样一个请求 服务应该忽略该请求的配置部分而当成没有包含这些配置一样处理 配置节点 在创建了一个新节点之后 该节点所有者可能想修改该节点的配置 推荐支持这个特性 请求 例子 138 所有者请求配置表单 iq type get from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings pubsub iq 成功场景 如果没有发生错误 服务器必须返回一个配置表单给该节点所有者 它应该包含当前的节点配置作为缺省值 注意 接下来的例子展示了一些可以提供的可能的配置选项 如果一个实现使用 数据表单 协议实现了这些特性 那个实现必须使用已经注册到XMPP注册处的和 http jabber org protocol pubsub 命名空间相关的字段 那些字段变量的初步表述见下文以及本文的 pubsub node config FORM TYPE 但是不能 MUST NOT 被解释为标准 因为XMPP注册处可以晚些时候标准化额外的字段而不用改变本文 一个实现可以选择指定不同的标签 值 以及甚至字段类型 但必须遵循已定义的变量名scheme 例子 139 服务应答配置表单 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id config1 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings x xmlns jabber x data type form field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title type text single label A friendly name for the node field var pubsub deliver notifications type boolean label Whether to deliver event notifications value true value field field var pubsub deliver payloads type boolean label Whether to deliver payloads with event notifications value true value field field var pubsub notify config type boolean label Notify subscribers when the node configuration changes value 0 value field field var pubsub notify delete type boolean label Notify subscribers when the node is deleted value false value field field var pubsub notify retract type boolean label Notify subscribers when items are removed from the node value false value field field var pubsub notify sub type boolean label Notify owners about new subscribers and unsubscribes value 0 value field field var pubsub persist items type boolean label Persist items to storage value 1 value field field var pubsub max items type text single label Max of items to persist value 10 value field field var pubsub item expire type text single label Time after which to automatically purge items value 604800 value field field var pubsub subscribe type boolean label Whether to allow subscriptions value 1 value field field var pubsub access model type list single label Specify the subscriber model option value authorize value option option value open value option option value presence value option option value roster value option option value whitelist value option value open value field field var pubsub roster groups allowed type list multi label Roster groups allowed to subscribe option value friends value option option value courtiers value option option value servants value option option value enemies value option field field var pubsub publish model type list single label Specify the publisher model option value publishers value option option value subscribers value option option value open value option value publishers value field field var pubsub purge offline type boolean label Purge all items when the relevant publisher goes offline value 0 value field field var pubsub max payload size type text single label Max Payload size in bytes value 1028 value field field var pubsub send last published item type list single label When to send the last published item option label Never value never value option option label When a new subscription is processed value on sub value option option label When a new subscription is processed and whenever a subscriber comes online value on sub and presence value option value never value field field var pubsub presence based delivery type boolean label Deliver event notifications only to available users value 0 value field field var pubsub notification type type list single label Specify the delivery style for event notifications option value normal value option option value headline value option value headline value field field var pubsub type type text single label Specify the type of payload data to be provided at this node value http www w3 org 2005 Atom value field field var pubsub dataform xslt type text single label Payload XSLT x configure pubsub iq 错误场景 有很多原因可能导致节点配置请求失败 服务不支持节点配置 请求实体没有足够权限配置该节点 请求未指定一个节点 节点没有配置选项 指定的节点不存在 这些错误场景的完整描述在下面章节 不支持节点配置 如果服务不支持节点配置 该服务必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 config node 例子 140 服务不支持节点配置 iq type error from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature config node error iq 权限不足 如果请求实体没有足够权限去配置该节点 服务必须应答一个 forbidden 错误 例子 141 请求实体被禁止配置该节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id config1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 要求NodeID 如果请求未指定一个节点 服务应该返回一个 bad request 错误 有可能不包含一个NodeID是因为请求实体向根节点请求配置 无论如何 如果请求实体不是一个服务器范围的管理员 最好返回 bad request 而不是 forbidden 例子 142 请求未指定一个节点 iq type error from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas nodeid required xmlns http jabber org protocol pubsub errors error iq 无配置选项 如果没有配置选项可用 例如 因为节点配置 被封止了 该服务必须返回一个 not allowed 错误给所有者 例子 143 节点无配置选项 iq type error from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 error type cancel not allowed xmlns urn ietf params xml ns xmpp stanzas error iq 节点不存在 如果节点不存在 服务必须返回一个 item not found 错误 例子 144 节点不存在 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id config1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 表单提交 在接收到配置表单之后 所有者应该提交一个完成的配置表单 例子 145 所有者提交节点配置表单 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id config2 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title value Princely Musings Atom value field field var pubsub deliver notifications value 1 value field field var pubsub deliver payloads value 1 value field field var pubsub persist items value 1 value field field var pubsub max items value 10 value field field var pubsub item expire value 604800 value field field var pubsub access model value roster value field field var pubsub roster groups allowed value friends value value servants value value courtiers value field field var pubsub publish model value publishers value field field var pubsub purge offline value 0 value field field var pubsub send last published item value never value field field var pubsub presence based delivery value false value field field var pubsub notification type value headline value field field var pubsub notify config value 0 value field field var pubsub notify delete value 0 value field field var pubsub notify retract value 0 value field field var pubsub notify sub value 0 value field field var pubsub max payload size value 1028 value field field var pubsub type value http www w3 org 2005 Atom value field field var pubsub body xslt value http jabxslt jabberstudio org atom body xslt value field x configure pubsub iq 替代的 所有者可以取消配置过程 在这种情况下必须应用现有的配置 例子 146 所有者取消配置过程 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id config2 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings x xmlns jabber x data type cancel configure pubsub iq 表单处理 成功 如果表单能被成功处理 服务必须返回一个 IQ result 例子 147 服务应答成功 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id config2 注意 如果该节点类型从叶子改成集合且有条目和该节点相关 服务必须清除节点的所有条目 通知或不通知订阅者 失败 如果请求的节点配置变更不能被处理 例如 因为节点所有者尝试修改配置使得它没有节点所有者 服务必须返回一个 not acceptable 错误给所有者 例子 148 配置变更不能被处理 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id config2 error type modify not acceptable xmlns urn ietf params xml ns xmpp stanzas error iq 成功并通知 如果 pubsub notify config 选项被设为true 服务必须通知订阅者配置变更 服务应该为叶子节点支持这个选项 必须为集合节点支持这个选项 如 XEP 0248 所述 如果节点配置被设为仅通知 该通知必须包含一个空的 configuration 元素 它的 node 属性被设为该节点的NodeID 如果该节点配置被设为全载荷 configuration 元素必须额外包含该节点配置并通过 数据表单 协议展示它 例子 149 服务发送配置变更通知 仅事件通知 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event configuration node princely musings event message 例子 150 服务发送配置变更通知 带载荷 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event configuration node princely musings x xmlns jabber x data type result field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title value Princely Musings Atom value field field var pubsub deliver notifications value 1 value field field var pubsub deliver payloads value 1 value field field var pubsub notify config value 0 value field field var pubsub notify delete value 0 value field field var pubsub notify retract value 0 value field field var pubsub notify sub value 0 value field field var pubsub persist items value 1 value field field var pubsub max items value 10 value field field var pubsub item expire value 604800 value field field var pubsub subscribe value 1 value field field var pubsub access model value open value field field var pubsub publish model value publishers value field field var pubsub purge offline value 0 value field field var pubsub max payload size value 9216 value field field var pubsub send last published item value never value field field var pubsub presence based delivery value 0 value field field var pubsub notification type value headline value field field var pubsub type value http www w3 org 2005 Atom value field field var pubsub body xslt value http jabxslt jabberstudio org atom body xslt value field x configuration event message 请求缺省节点配置选项 一个实体可能希望请求关于缺省节点配置的信息 例如 为了确定是否执行前文所述的 创建并配置 对这个特性的支持是可选的 请求 要获得节点选项 该实体必须不带NodeID发送一个空的 default 元素给服务 在应答中 该服务应该返回缺省节点选项 例子 151 实体请求缺省节点配置选项 iq type get from hamlet denmark lit elsinore to pubsub shakespeare lit id def1 pubsub xmlns http jabber org protocol pubsub owner default pubsub iq 成功场景 如果没有发生错误 服务必须返回缺省节点配置选项 例子 152 服务应答缺省节点配置选项 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id def1 pubsub xmlns http jabber org protocol pubsub owner default x xmlns jabber x data type form field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title type text single label A friendly name for the node field var pubsub deliver notifications type boolean label Deliver event notifications value true value field field var pubsub deliver payloads type boolean label Deliver payloads with event notifications value 1 value field field var pubsub description type text single label A description of the node field var pubsub notify config type boolean label Notify subscribers when the node configuration changes value 0 value field field var pubsub notify delete type boolean label Notify subscribers when the node is deleted value 0 value field field var pubsub notify retract type boolean label Notify subscribers when items are removed from the node value 0 value field field var pubsub notify sub type boolean label Notify owners about new subscribers and unsubscribes value 0 value field field var pubsub persist items type boolean label Persist items to storage value 1 value field field var pubsub max items type text single label Max of items to persist value 10 value field field var pubsub item expire type text single label Time after which to automatically purge items value 604800 value field field var pubsub subscribe type boolean label Whether to allow subscriptions value 1 value field field var pubsub access model type list single label Specify the subscriber model option value authorize value option option value open value option option value presence value option option value roster value option option value whitelist value option value open value field field var pubsub roster groups allowed type list multi label Roster groups allowed to subscribe option value friends value option option value courtiers value option option value servants value option option value enemies value option field field var pubsub publish model type list single label Specify the publisher model option value publishers value option option value subscribers value option option value open value option value publishers value field field var pubsub purge offline type boolean label Purge all items when the relevant publisher goes offline value 0 value field field var pubsub max payload size type text single label Max payload size in bytes value 9216 value field field var pubsub send last published item type list single label When to send the last published item option label Never value never value option option label When a new subscription is processed value on sub value option option label When a new subscription is processed and whenever a subscriber comes online value on sub and presence value option value never value field field var pubsub presence based delivery type boolean label Deliver notifications only to available users value 0 value field field var pubsub notification type type list single label Specify the delivery style for notifications option value normal value option option value headline value option value headline value field x default pubsub iq 错误场景 有很多原因可能导致缺省节点配置选项请求失败 服务不支持节点配置 服务不支持获取缺省节点配置 这些错误场景的完整描述见下面章节 不支持节点配置 如果服务不支持节点配置 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 config node 例子 153 服务不支持节点配置 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id def1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature config node error iq 不支持缺省节点配置获取 如果服务不支持获取缺省节点配置选项 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 retrieve default 例子 154 服务不支持获取缺省节点配置选项 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id def1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature retrieve default error iq 删除节点 如果一个服务支持节点创建 它必须支持节点删除 如果一个实现持久化了条目 它必须在节点被删除之前从持久化存储删除所有条目 请求 为了删除一个节点 一个节点所有者必须发送一个节点删除请求 包含一个 delete 元素 其 node 属性指定要被删除的节点的NodeID 例子 155 所有者删除一个节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id delete1 pubsub xmlns http jabber org protocol pubsub owner delete node princely musings pubsub iq 该删除请求可以包含包含一个替换节点的URI 请求可以被重定向到那 典型的这是一个 XMPP URI 或 IRI 如 PubSub URIs 所述 但是它也可以是一个 HTTP URI 或任何其他形式 例子 156 所有者删除一个节点并重定向 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id delete1 pubsub xmlns http jabber org protocol pubsub owner delete node princely musings redirect uri xmpp hamlet denmark lit node blog delete pubsub iq 对重定向的支持在pubsub服务的部分中是可选的 成功场景 如果没发生错误 服务必须通知所有者成功 例子 157 服务应答成功 iq type result from pubsub shakespeare lit id delete1 另外 该服务也必须发送节点删除的通知给所有订阅者 它应该包含未决和未配置的订阅 例子 158 订阅者被通知节点删除了 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event delete node princely musings redirect uri xmpp hamlet denmark lit node blog delete event message message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event delete node princely musings redirect uri xmpp hamlet denmark lit node blog delete event message 错误场景 有很多原因可能导致节点删除失败 请求实体没有足够权限删除该节点 该节点是根集合节点 它不能被删除 见 XEP 0248 指定的节点不存在 这些错误场景的完整描述见下面章节 权限不足 如果请求实体没有足够权限删除该节点 例如 不是一个所有者 该服务必须返回一个 forbidden 错误 例子 159 实体不是一个所有者 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id delete1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 节点不存在 如果请求实体尝试删除一个不存在的节点 服务必须返回一个 item not found 错误 例子 160 所有者尝试删除一个不存在的节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id delete1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 清除所有节点条目 如果一个服务持久化了发布的条目 一个节点所有者可能想清除该节点的所有已发布条目 也就是从持久化存储中移除所有条目 除了最后发布的条目以外 它可以被缓存 实现这个特性对于一个服务是可选的 请求 为了清除一个节点的所有条目 一个节点所有者发送一个节点清除请求 包含一个 purge 元素 它的 node 属性指定要被清理的节点的NodeID 例子 161 所有者从一个节点清除所有条目 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id purge1 pubsub xmlns http jabber org protocol pubsub owner purge node princely musings pubsub iq 成功场景 如果没发生错误 服务必须清理该节点并通知所有者成功了 例子 162 服务应答成功 iq type result from pubsub shakespeare lit id purge1 如果该节点或服务已经被配置成通知订阅者条目删除了 一个清除请求不能 MUST NOT 导致发送和删除条目时一样的通知 因为清理一个节点的很多持久化条目可能导致大量的通知 取而代之的是 该节点必须发送一个单独的通知给每个订阅者 包含一个空的 purge 子元素 例子 163 订阅者被通知节点清理了 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event purge node princely musings event message message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event purge node princely musings event message 错误场景 有很躲原因可能导致节点清理请求失败 该节点或服务不支持节点清理 请求实体没有足够权限清理该节点 该节点未被配置成持久化条目 指定的节点不存在 这些错误的完整描述在下面章节 不支持节点清理 如果该节点或服务不支持节点清理 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 purge nodes 例子 164 服务不支持节点清理 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id purge1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature purge nodes error iq 权限不足 如果请求实体没有足够权限清理该节点 例如 因为它不是节点所有者 该服务必须返回一个 forbidden 错误 例子 165 实体不是一个所有者 iq type error from pubsub shakespeare lit id purge1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 节点未持久化条目 如果该服务或节点未持久化条目 例如 因为该节点是一个集合节点 如 XEP 0248 所述 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 persistent items 例子 166 节点未被配置成持久化条目 iq type error from pubsub shakespeare lit id purge1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature persistent items error iq 节点不存在 如果该节点不存在 服务必须返回一个 item not found 错误 例子 167 节点不存在 iq type error from pubsub shakespeare lit id purge1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 管理订阅请求 任何时候一个服务可以发送订阅批准请求给该节点的所有者 一个订阅批准求情包含一个message节 这个节包含了一个由 http jabber org protocol pubsub subscribe authorization FORM TYPE 限定的数据表单 这个格式必须包含一个布尔值字段 其 var 属性的值为 pubsub allow 这个字段指出是否允许订阅请求 这个表单应该包含字段来指定节点标识符和未决订阅者的JID 该message可以包含一个 body 元素以包含自然语言文本来解释该消息所包含的一个未决订阅表单 例子 168 服务发送授权请求给节点所有者 message to hamlet denmark lit from pubsub shakespeare lit id approve1 x xmlns jabber x data type form title PubSub subscriber request title instructions To approve this entity apos s subscription request click the OK button To deny the request click the cancel button instructions field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field var pubsub subid type hidden value 123 abc value field field var pubsub node type text single label Node ID value princely musings value field field var pusub subscriber jid type jid single label Subscriber Address value horatio denmark lit value field field var pubsub allow type boolean label Allow this JID to subscribe to this pubsub node value false value field x message 为了批准请求 所有者将提交该表单并把 pubsub allow 字段的值设为 1 或 true 为了追踪的目的该message必须反映最初提供的 id 属性 例子 169 所有者批准订阅请求 message from hamlet denmark lit elsinore to pubsub shakespeare lit id approve1 x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field var pubsub subid value 123 abc value field field var pubsub node value princely musings value field field var pubsub subscriber jid value horatio denmark lit value field field var pubsub allow value true value field x message 然后服务应该通知被批准的订阅者 见本文的 订阅状态变更通知 例子 170 订阅批准通知 message from pubsub shakespeare lit to horatio denmark lit id approvalnotify1 event xmlns http jabber org protocol pubsub event subscription node princely musings jid horatio denmark lit subscription subscribed event message 为了禁止请求 所有者将提交该表单并把 pubsub allow 字段的值设为 0 或 false 如上 该message必须反映最初提供的 id 例子 171 所有者禁止订阅请求 message from hamlet denmark lit elsinore to pubsub shakespeare lit id approve1 x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field var pubsub subid value 123 abc value field field var pubsub node value princely musings value field field var pubsub subscriber jid value horatio denmark lit value field field var pubsub allow value false value field x message 然后服务应该通知被禁止的订阅者 见本文的 订阅状态变更通知 例子 172 订阅 取消 禁止 通知 message from pubsub shakespeare lit to horatio denmark lit id unsubnotify1 event xmlns http jabber org protocol pubsub event subscription node princely musings jid horatio denmark lit subscription none event message 为了取消该表单的提交 所有者将把表单的 type 属性设为 cancel 来应答 例子 173 所有者取消表单提交 message from hamlet denmark lit elsinore to pubsub shakespeare lit id approve1 x xmlns jabber x data type cancel field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field x message 服务必须检查 pubsub allow 字段来看是否订阅应该被允许或禁止 如果所有者取消数据表单 那么该订阅请求必须保持在未决状态 处理未决订阅请求 一个节点所有者可能想在一个服务上获取它们的节点上的所有未决订阅请求 对于一个服务来说实现该特性是可选的 这个特性必须使用 Ad Hoc Commands 21 协议来实现 这里的命令名称 command元素的 node 属性 的值必须为 http jabber org protocol pubsub get pending 请求 例子 174 所有者请求未决的请求 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id pending1 command xmlns http jabber org protocol commands node http jabber org protocol pubsub get pending action execute iq 成功场景 如果没发生错误 服务应该为管理的订阅请求返回一个数据表单 它必须包含一个单独的字段 其 var 属性值为 pubsub node 其 option 元素指定请求实体有批准权限的节点们 为了优化 服务可以只指定那些有未决订阅请求的节点们 例子 175 服务以所在的数据表单应答 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 command xmlns http jabber org protocol commands sessionid pubsub get pending 20031021T150901Z 600 node http jabber org protocol pubsub get pending status executing action execute x xmlns jabber x data type form field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field type list single var pubsub node option value princely musings value option option value news from elsinore value option field x command iq 错误场景 有很多原因可能导致获取未决的订阅批准请求失败 服务不支持 ad hoc commands 协议 服务支持 ad hoc commands 但是不支持 get pending 特性 请求实体没有足够权限批准订阅请求 指定的节点不存在 这些错误场景的完整描述见下面章节 不支持Ad Hoc Commands 如果服务不支持ad hoc commands协议 它必须应答一个 service unavailable 错误 例子 176 服务以未找到节点应答 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel service unavailable xmlns urn ietf params xml ns xmpp stanzas error iq 不支持Get Pending 如果服务不支持 get pending 特性 它必须应该一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 get pending 例子 177 服务以未找到节点应答 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature get pending error iq 权限不足 如果请求实体没有足够权限批准订阅请求 服务必须返回一个 forbidden 错误 例子 178 实体没有足够权限批准订阅请求 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 节点不存在 如果请求的节点不存在 服务必须应答一个 item not found 错误 例子 179 服务以未找到节点应答 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 按节点请求 在接收到管理的订阅请求的数据表单之后 接着所有者可以获取给定节点的未决订阅批准请求 例子 180 所有者获取某个节点的所有未决订阅请求 iq type set to pubsub shakespeare lit id pending2 command xmlns http jabber org protocol commands sessionid pubsub get pending 20031021T150901Z 600 node http jabber org protocol pubsub get pending action execute x xmlns jabber x data type submit field var pubsub node value princely musings value field x command iq 如果没发生错误 服务将应答成功 例子 181 服务应答成功 iq from pubsub shakespeare lit id pending2 to hamlet denmark lit elsinore

    Original URL path: http://wiki.jabbercn.org/index.php?title=XEP-0060&printable=yes (2016-04-25)
    Open archived version from archive

  • Tigase:用GUI安装包安装 - Jabber/XMPP中文翻译计划
    是文件扩展名 这里我们的GUI安装包程序是 jar 我们推荐你下载该服务器的最新版本 最高的版本号 因为它包含了最新的功能和提升 运行jar文件 在大部分系统中安装了JRE或JDK之后会创建缺省的文件关联以允许运行 jar 文件 通过 点击 双击 它 无论如何如果当你点的时候什么都没发生你可以手工执行它 按顺序执行以下步骤 1 如果你在Windows系统上你可以使用命令行提示方式来使用java命令直接运行安装包 点击 开始 菜单并选择 运行 操作 你也可以使用 Win R 快捷方式 你将看到一个对话框 这里你可以输入一条命令 键入 cmd 或 command 在某些2000之前的老的windows版本中 并提交该窗口 如果你在Linux系统 你可以使用一个终端 在这个平台上它是一个标准工具并且很容易找 找到并运行它 2 命令提示 终端 将出现 你将能检查是否你的Java环境在正常工作 键入以下命令然后回车 java version 如果返回的消息说无法识别该命令那么你的 Java 安装可能是错误的或配置不正确 为了正确设置 JRE JDK 包括设定 JAVA HOME 环境变量 请检查JDK下载网站提供的文档 如果命令成功了请检查列出来的版本号码满足Tigase的要求 当一台机器上装了多个版本的 JDK JRE java 命令将需要使用它所在的全路径来调用 3 当你毫无疑问你能运行正确的java命令 你可以启动该安装包 即被下载到 c download 目录的文件 tigase server 4 1 0 b1315 jar 键入以下命令 java jar c download tigase server 4 1 0 b1315 jar 这个命令应该启动该安装包或列出一个错误消息来解释出现了什么问题 开始安装 请注意本教程只涉及基本的安装模式 一些屏幕被忽略了 因为它们包含在简单安装模式中没有的高级选项 另一方面其他比如文件拷贝过程和总结信息等自解释的过程也没有描述 JDK选择 这个屏幕只在JDK没有被自动选择的时候出现 当你的 JAVA HOME path 正确的设置了 它将被自动探测到以节省你的配置时间 如果你读到这一步而仍然未安装JDK 那么返回 前提条件 那里你能找到一些关于如何为Tigase安装准备你的系统的信息 有时你的系统将被配置成阻止探测JDK路径 这经常发生你在安装了JDK之后再安装JRE的情况下 你将不得不自己去找JDK目录 它的缺省安装位置在你的系统驱动盘的 Program Files Java 目录 安装类型选择 推荐的实践是同时选择安装和配置服务器 因为手动配置服务器比较复杂 耗时且易于出错 介绍服务器 这个屏幕显示一些关于Tigase的信息 帮助你理解它是什么以及如何帮你获得XMPP协议的好处 阅读安装包上出现的所有信息是很重要的 因为它们包含了有价值的建议和大部分最近的信息 选择程序根目录 在这个点你选择你希望你的服务器装到哪 推荐的路径应该不包含空格 因为它可能导致一些未知的路径问题 在Windows的安装场景下它应该被安装到一个短路径 因为路径长度有限制 也要注意在Windows Vista下安装到 Program Files 目录可能会使得服务器的工作发生一些问题 和UAC机制相关的工作 所以最好不要安装到那 如果你拿不定主意想把服务器装到哪 你总是可以留着缺省值 包选择 下一个重要步骤是包选择 一些选择是灰的并且你不能选择它们 因为它们是最基本的 所有其他的包都是可选的 它包括 文档 数据库驱动 服务器源码 和一些附属项 当你选择一个条目 你将看到关于它的内容的简短描述 我们推荐你安装文档 它包含了有价值的资源 非常有助于服务器的管理和常规使用 如果你有一个工作着的数据库平台 你想用它来存储所有重要用户信息 就选择适当的db驱动 如果你没有一个数据库引擎 你可以使用内置的derby 它的驱动也已经内置了 如果你是一个开发者并且你想能检查该服务器如何工作或你想帮助开发 你也可以安装被包含的源码 基本的服务器配置 在这个屏幕你将找到重要的基本配置选项 本指南只涉及非高级的设置 禁止高级配置选项 你可以选择安装哪些组件 对于大部分安装来说缺省的选择是最适合的 你可以展开这个列表来检查是否有任何其他选项更加满足你的需要 对你来说在这正确地输入你的域名是非常重要的 在类 Linux 系统中你可以使用 hostname 命令并从输出结果中提取出域部分 如果你使用 f 参数 那么你将获得完整的合格域名 在 Windows 中使用标准 系统 控制台applet 你将在 电脑名 tab找到你的域名 电脑名 另一方面如果你想使用Tigase的虚拟域支持 你要正确地配置你的 DNS 系统 接着你可以在这里放你的虚拟域列表 就用逗号把它们分开 例如如果你的服务器从外部看是 veloci tigase org mammoth tigase org 和 tigase org 然后你可以如同有三个分开的实例那样使用Tigase实例 实际上它是一台服务器 无论如何 admin veloci tigase org 和 admin tigase org 将是不同的用户 这个特性允许使用一个服务器用于分开的用户群体 例如不同的组织 现在你要把域名填到 域 文本框里 下一个参数是服务器管理员的JID 标准做法是给把它的名字设为 admin 无论如何你可以选择任何你喜欢的名字 例如对于域 tigase org 完整的 admin 名称将是 admin tigase org 把你选择的名称和域名连在一起 使用 符号做分隔符 从这个版本开始你的 XMPP admin 将被自动添加到数据库 所以在安装之后你可以不用手工注册admin就登陆到服务器了 你也应该选择一个数据库用于存储你的用户信息 缺省的是 Derby 数据库 如果你不需要任何特别的东西就保持那个配置 选择一个新密码 因为缺省的密码可能很容易被黑客猜到 重要通知 Tigase安装包不包含实际的数据库 只有允许db访问的驱动 一个例外是Derby数据库 它被包含在JDK中 这是由安装包自动配置的 在使用其他数据库的情况下你将需要自己配置它们 数据库连接检查和执行DB任务 当你切换到这个屏幕的时候将启动一个数据库配置的自动测试 它包括几个顺序执行的步骤 在测试连接和配置schema之后 admin 用户将被添加 如果测试失败该干什么 如果你决定使用你自己的数据库 检查是否你输入了正确的密码和是否你的数据库在运行中 如果你使用内置的 Derby 数据库 那么可能你的问题更加复杂 安装包的一个错误可能指出一个bug 你可以把它汇报给Tigase开发者之一 如果在解决了数据库问题之后你还不能度过这一步 你可以尝试手工安装模式 完成安装 当你执行了所有那些步骤包括选择开始菜单位置以及其他基本动作 你将被通知安装过程已经完成了 现在你可以使用你的Tigase服务器了 可能有一些安装之后的动作你想去做 它们主要如下所示 运行服务器 安装过程的一部分是Tigase根目录的选择 在这里你能找到所有重要的服务器文件 安装包将在 开始 菜单创建一些可配置的快捷方式 你可以在菜单中浏览并使用它来启动服务器 如果要手工运行服务器 在一个 Linux 系统你可以使用Tigase服务器根目录下的 scripts 子目录里的 tigase sh 文件启动服务器 在根服务器目录输入以下命令 scripts tigase sh

    Original URL path: http://wiki.jabbercn.org/index.php?title=Tigase:%E7%94%A8GUI%E5%AE%89%E8%A3%85%E5%8C%85%E5%AE%89%E8%A3%85&oldid=3330 (2016-04-25)
    Open archived version from archive

  • 查看源代码 - Jabber/XMPP中文翻译计划
    安装可能是错误的或配置不正确 为了正确设置 JRE JDK 包括设定 JAVA HOME 环境变量 请检查JDK下载网站提供的文档 如果命令成功了请检查列出来的版本号码满足Tigase的要求 当一台机器上装了多个版本的 JDK JRE java 命令将需要使用它所在的全路径来调用 3 当你毫无疑问你能运行正确的java命令 你可以启动该安装包 即被下载到 c download 目录的文件 tigase server 4 1 0 b1315 jar 键入以下命令 source lang bash java jar c download tigase server 4 1 0 b1315 jar source 这个命令应该启动该安装包或列出一个错误消息来解释出现了什么问题 开始安装 请注意本教程只涉及基本的安装模式 一些屏幕被忽略了 因为它们包含在简单安装模式中没有的高级选项 另一方面其他比如文件拷贝过程和总结信息等自解释的过程也没有描述 JDK选择 http www tigase org files image gui install winInstall2Mini gif 这个屏幕只在JDK没有被自动选择的时候出现 当你的 JAVA HOME path 正确的设置了 它将被自动探测到以节省你的配置时间 如果你读到这一步而仍然未安装JDK 那么返回 Tigase 用安装包安装 前提条件 前提条件 那里你能找到一些关于如何为Tigase安装准备你的系统的信息 有时你的系统将被配置成阻止探测JDK路径 这经常发生你在安装了JDK之后再安装JRE的情况下 你将不得不自己去找JDK目录 它的缺省安装位置在你的系统驱动盘的 Program Files Java 目录 安装类型选择 http www tigase org files image gui install winInstall3Mini gif 推荐的实践是同时选择安装和配置服务器 因为手动配置服务器比较复杂 耗时且易于出错 介绍服务器 http www tigase org files image gui install winInstall4Mini gif 这个屏幕显示一些关于Tigase的信息 帮助你理解它是什么以及如何帮你获得XMPP协议的好处 阅读安装包上出现的所有信息是很重要的 因为它们包含了有价值的建议和大部分最近的信息 选择程序根目录 http www tigase org files image gui install winInstall6Mini gif 在这个点你选择你希望你的服务器装到哪 推荐的路径应该不包含空格 因为它可能导致一些未知的路径问题 在Windows的安装场景下它应该被安装到一个短路径 因为路径长度有限制 也要注意在Windows Vista下安装到 Program Files 目录可能会使得服务器的工作发生一些问题 和UAC机制相关的工作 所以最好不要安装到那 如果你拿不定主意想把服务器装到哪 你总是可以留着缺省值 包选择 http www tigase org files image gui install winInstall7Mini gif 下一个重要步骤是包选择 一些选择是灰的并且你不能选择它们 因为它们是最基本的 所有其他的包都是可选的 它包括 文档 数据库驱动 服务器源码 和一些附属项 当你选择一个条目 你将看到关于它的内容的简短描述 我们推荐你安装文档 它包含了有价值的资源 非常有助于服务器的管理和常规使用 如果你有一个工作着的数据库平台 你想用它来存储所有重要用户信息 就选择适当的db驱动 如果你没有一个数据库引擎 你可以使用内置的derby 它的驱动也已经内置了 如果你是一个开发者并且你想能检查该服务器如何工作或你想帮助开发 你也可以安装被包含的源码 基本的服务器配置 http www tigase org files image gui install winInstall13Mini 3 gif 在这个屏幕你将找到重要的基本配置选项 本指南只涉及非高级的设置 禁止高级配置选项 你可以选择安装哪些组件 对于大部分安装来说缺省的选择是最适合的 你可以展开这个列表来检查是否有任何其他选项更加满足你的需要 对你来说在这正确地输入你的域名是非常重要的 在类 Linux 系统中你可以使用 hostname 命令并从输出结果中提取出域部分 如果你使用 f 参数 那么你将获得完整的合格域名 在 Windows 中使用标准 系统 控制台applet 你将在 电脑名 tab找到你的域名 电脑名 另一方面如果你想使用Tigase的虚拟域支持 你要正确地配置你的 DNS 系统 接着你可以在这里放你的虚拟域列表 就用逗号把它们分开 例如如果你的服务器从外部看是 veloci tigase org mammoth tigase org 和 tigase org 然后你可以如同有三个分开的实例那样使用Tigase实例 实际上它是一台服务器 无论如何 admin veloci tigase org 和 admin tigase org 将是不同的用户 这个特性允许使用一个服务器用于分开的用户群体 例如不同的组织 现在你要把域名填到 域 文本框里 下一个参数是服务器管理员的JID 标准做法是给把它的名字设为 admin 无论如何你可以选择任何你喜欢的名字 例如对于域 tigase org 完整的 admin 名称将是 admin tigase org 把你选择的名称和域名连在一起 使用 符号做分隔符 从这个版本开始你的 XMPP admin 将被自动添加到数据库 所以在安装之后你可以不用手工注册admin就登陆到服务器了 你也应该选择一个数据库用于存储你的用户信息 缺省的是 Derby 数据库 如果你不需要任何特别的东西就保持那个配置 选择一个新密码 因为缺省的密码可能很容易被黑客猜到 重要通知 Tigase安装包不包含实际的数据库 只有允许db访问的驱动 一个例外是Derby数据库 它被包含在JDK中 这是由安装包自动配置的 在使用其他数据库的情况下你将需要自己配置它们 数据库连接检查和执行DB任务 http www tigase org files image gui install winInstall20Mini 1 gif 当你切换到这个屏幕的时候将启动一个数据库配置的自动测试 它包括几个顺序执行的步骤 在测试连接和配置schema之后 admin 用户将被添加 如果测试失败该干什么 如果你决定使用你自己的数据库 检查是否你输入了正确的密码和是否你的数据库在运行中 如果你使用内置的 Derby 数据库 那么可能你的问题更加复杂

    Original URL path: http://wiki.jabbercn.org/index.php?title=Tigase:%E7%94%A8GUI%E5%AE%89%E8%A3%85%E5%8C%85%E5%AE%89%E8%A3%85&action=edit (2016-04-25)
    Open archived version from archive

  • “Tigase:用GUI安装包安装”的版本历史 - Jabber/XMPP中文翻译计划
    用GUI安装包安装 当前 先前 2013年7月31日 三 12 00 Admin 讨论 贡献 小 11 647字节 当前 先前 2013年7月31日 三 12 00 Admin 讨论 贡献 11 647字节 安装成一个服务 当前 先前 2013年7月31日 三 11 59 Admin 讨论 贡献 11 482字节 完成安装 当前 先前 2013年7月31日 三 11 41 Admin 讨论 贡献 9 825字节 基本的服务器配置 当前 先前 2013年7月31日 三 11 32 Admin 讨论 贡献 小 8 799字节 基本的服务器配置 当前 先前 2013年7月31日 三 01 19 Admin 讨论 贡献 小 8 889字节 基本的服务器配置 当前 先前 2013年7月31日 三 00 34 Admin 讨论 贡献 6 531字节 开始安装 当前 先前 2013年7月31日 三 00 33 Admin 讨论 贡献 小 6 534字节 开始安装 当前 先前 2013年7月30日 二 16 32 Admin 讨论 贡献 小 4 647字节 开始安装 当前 先前 2013年7月30日 二 16 16 Admin 讨论 贡献 小 4 692字节 开始安装 当前 先前 2013年7月30日 二 16 14 Admin 讨论 贡献 小 4 431字节 运行jar文件 当前 先前 2013年7月30日 二 16 02 Admin 讨论 贡献 小 3 491字节 运行jar文件 当前 先前 2013年7月30日 二 15 27 Admin 讨论 贡献 小 3 756字节 下载安装包 当前 先前 2013年7月30日 二 15 24 Admin 讨论 贡献 1 712字节 当前 先前 2013年7月30日 二 15 06 Admin 讨论 贡献 154字节 以 Category XMPP服务器文档 Category 翻译中 本文的英文原文来自 http www tigase org content installation using gui

    Original URL path: http://wiki.jabbercn.org/index.php?title=Tigase:%E7%94%A8GUI%E5%AE%89%E8%A3%85%E5%8C%85%E5%AE%89%E8%A3%85&action=history (2016-04-25)
    Open archived version from archive



  •