Skip to content

ARCHIVED

!注意“归档”

This chapter has not been updated for the current version of Orchard, and has been ARCHIVED.

Supported tools

支持的工具

On Windows, the best choice for a blogging tool is Windows Live Writer. On the Mac, MarsEdit and Ecto are fairly popular. Also of note is ScribeFire, which is a FireFox extension that provides blog writing features right from the browser.

在Windows上,博客工具的最佳选择是[Windows Live Writer](http://windowslivewriter.spaces.live.com)。在Mac上,[MarsEdit](http://www.red-sweater.com/marsedit/)和[Ecto](http://illuminex.com/ecto/)相当受欢迎。另外值得注意的是[ScribeFire](http://www.scribefire.com/),这是一个FireFox扩展,可以直接从浏览器提供博客写作功能。

All of these tools support the MetaWeblog API (see below), so supporting MetaWeblog would give us instant support from all those tools.

所有这些工具都支持MetaWeblog API(见下文),因此支持MetaWeblog将为我们提供所有这些工具的即时支持。

Publication protocols

出版协议

There are many blogging APIs, but the most important are:

有许多博客API,但最重要的是:

MetaWeblog

的MetaWeblog

The MetaWeblog API is by far the most common API to get implemented by blogs and publishing software. Supporting it pretty much gives instant and universal support. It is a superset of the Blogger API.

[MetaWeblog API](http://www.xmlrpc.com/metaWeblogApi)是迄今为止最常见的由博客和发布软件实现的API。支持它几乎提供即时和普遍的支持。它是Blogger API的超集。

WordPress

WordPress的

The WordPress API is an extended version of the Movable Type API. The WordPress API is interesting in that it also exposes the concept of page in addition to blog posts.

[WordPress API](http://codex.wordpress.org/XML-RPC_wp)是Movable Type API的扩展版本。 WordPress API很有趣,除了博客文章之外,它还公开了页面的概念。

Movable Type

可动类型

The Movable Type is a fairly minimal and limited API. WordPress uses an extended version of that API.

[Movable Type](http://www.sixapart.com/developers/xmlrpc/movable_type_api/)是一个相当小且有限的API。 WordPress使用该API的扩展版本。

Blogger

博客

The Blogger API is Google's blogging API. MetaWeblog is a superset of the Blogger API.

[Blogger API](http://code.google.com/apis/blogger/docs/2.0/developers_guide_protocol.html)是Google的博客API。 MetaWeblog是Blogger API的超集。

Atom Publishing Protocol

Atom发布协议

The Atom Publishing Protocol is what comes closest to an "official" standard. It does go well beyond simply blogging and is closer to the needs of a general purpose protocol to publish contents.

[Atom Publishing Protocol](http://www.atomenabled.org/developers/protocol/atom-protocol-spec.php)是最接近“官方”标准的。它确实远远超出了博客的范围,更接近于发布内容的通用协议的需求。

Recommendation

建议

If we had to support only one format, MetaWeblog looks like the most universally supported one. On the other hand, it is rather poor in terms of features when compared with the WordPress API. For example, it doesn't have page support and is quite specialized to handle blog posts, which means that in order to use it as a more general publishing protocol, we might need to use some custom meta-data. The WordPress API might be a better choice because of the larger scope of the application. In addition to WordPress or MetaWeblog, Atom seems like a good investment for the future, and it does offer more CMS-friendly features than the others but client tool support is lacking. It might be a way in the future to achieve the universality that MetaWeblog or WordPress will make more difficult.

如果我们只需要支持一种格式,那么MetaWeblog看起来就像是最普遍支持的格式。另一方面,与WordPress API相比,它在功能方面相当差。例如,它没有页面支持,并且非常专业地处理博客帖子,这意味着为了将其用作更通用的发布协议,我们可能需要使用一些自定义元数据。 WordPress API可能是更好的选择,因为应用程序的范围更大。除了WordPress或MetaWeblog之外,Atom似乎是对未来的良好投资,它确实提供了比其他更多CMS友好的功能,但缺乏客户端工具支持。它可能是未来实现MetaWeblog或WordPress将变得更加困难的普遍性的一种方式。

Discoverability

可发现

To enable tools to discover what API the application supports, we should implement Really Simple Discovery and the Live Writer Manifest.

为了使工具能够发现应用程序支持的API,我们应该实现[Really Simple Discovery](http://tales.phrasewise.com/rfc/rsd)和[Live Writer Manifest](http://msdn.microsoft。 COM / EN-US /库/ bb463260.aspx)。

Supported API capability

支持的API功能

The Live Writer manifest enables a very granular implementation of the various APIs. The following table shows what set of APIs Orchard would support at first.

Live Writer清单可以非常精细地实现各种API。下表显示了Orchard最初支持的API集合。

Those capabilities are being provided by modules (blog, pages, tags), not by the core application. For that reason, we will eventually enable modules to participate in the creation of the manifest. As a first step though, we will implement the manifest as a static list of capabilities (see the LiveWriter Manifest documentation).

这些功能由模块(博客,页面,标签)提供,而不是由核心应用程序提供。出于这个原因,我们最终将使模块参与清单的创建。作为第一步,我们将清单实现为静态功能列表(请参阅[LiveWriter Manifest文档](http://msdn.microsoft.com/en-us/library/bb463260.aspx))。

API Capability | Orchard support | Expected behavior

API能力|果园支持|预期的行为

------------------------------ | --------------- | -----------------------------------------------------------------------------

  • | --------------- | -------------------------------------------------- ---------------------------

supportsPostAsDraft | ? | Respects the publish flag on metaWeblog.newPost and metaWeblog.editPost calls

supportsPostAsDraft | ? |尊重metaWeblog.newPost和metaWeblog.editPost调用上的发布标志

supportsFileUpload | ? | Supports metaWeblog.newMediaObject

supportsFileUpload | ? |支持metaWeblog.newMediaObject

supportsExtendedEntries | - | Supports mt_text_more field of post struct

supportsExtendedEntries | - |支持post struct的mt_text_more字段

supportsCustomDate | ? | Supports explicit specification of dateCreated field of post struct

supportsCustomDate | ? |支持post结构的dateCreated字段的显式指定

supportsCategories | ? | Supports categorization of posts using either a category array within the post struct or mt.setPostCategories

supportsCategories | ? |支持使用post结构中的类别数组或mt.setPostCategories对帖子进行分类

supportsCategoriesInline | ? | Supports categories field of post struct

supportsCategoriesInline | ? |支持post struct的category字段

supportsMultipleCategories | ? | Allows specification of more than one category per post

supportsMultipleCategories | ? |允许为每个帖子指定多个类别

supportsHierarchicalCategories | - | Supports wp.getCategories and wp.addCategory

supportsHierarchicalCategories | - |支持wp.getCategories和wp.addCategory

supportsNewCategories | - | Supports the addition of new categories from the client via either inline specification (see below) or via the wp.addCategory method

支持NewCategories | - |支持通过内联规范(见下文)或通过wp.addCategory方法从客户端添加新类别

supportsNewCategoriesInline | ? | Previously unused categories included within the categories field are automatically added

supportsNewCategoriesInline | ? |包含在类别字段中的以前未使用的类别会自动添加

supportsKeywords | - | Supports mt_keywords field of post struct

supportsKeywords | - |支持post struct的mt_keywords字段

supportsCommentPolicy | ? | Supports mt_allow_comments field of post struct

supportsCommentPolicy | ? |支持post struct的mt_allow_comments字段

supportsPingPolicy | - | Supports mt_allow_pings field of post struct

supportsPingPolicy | - |支持post struct的mt_allow_pings字段

supportsAuthor | ? | Supports wp_author field of post struct

supportsAuthor | ? |支持post struct的wp_author字段

supportsSlug | ? | Supports either wp_slug or mt_basname field of post struct

supportsSlug | ? |支持post struct的wp_slug或mt_basname字段

supportsPassword | - | Supports wp_password field of post struct

supportsPassword | - |支持post struct的wp_password字段

supportsExcerpt | ? | Supports mt_excerpt field of post struct

supportsExcerpt | ? |支持post结构的mt_excerpt字段

supportsTrackbacks | - | Supports mt_tb_ping_urls field of post struct

supportsTrackbacks | - |支持post结构的mt_tb_ping_urls字段

supportsPages | ? | Supports WordPress page editing API: wp.newPage, wp.editPage, wp.getPage, wp.getPages, wp.getPageList, andwp.deletePage

supportsPages | ? |支持WordPress页面编辑API:wp.newPage,wp.editPage,wp.getPage,wp.getPages,wp.getPageList和wp.deletePage

supportsPageParent | - | Supports wp_page_parent_id field of page struct

supportsPageParent | - |支持页面结构的wp_page_parent_id字段

supportsPageOrder | - | Supports wp_page_order field of page struct

supportsPageOrder | - |支持页面结构的wp_page_order字段

supportsEmptyTitles | - | Allows empty string as a valid value for the title field of the post struct

supportsEmptyTitles | - |允许空字符串作为post结构的title字段的有效值

requiresHtmlTitles | - | Title field is interpreted as HTML content rather than plain text

requiresHtmlTitles | - |标题字段被解释为HTML内容而不是纯文本

requiresXHTML | - | Generate XHTML style markup by default

requiresXHTML | - |默认情况下生成XHTML样式标记

supportsScripts | ? | Allows embedded script within post content

supportsScripts | ? |允许在帖子内容中嵌入脚本

supportsEmbeds | ? | Allows object embeds within post content

supportsEmbeds | ? |允许在帖子内容中嵌入对象

Categories in the Live Writer manifest correspond to tags in Orchard.

Live Writer清单中的类别对应于Orchard中的标签。

Supporting custom date will mean for Orchard that that date gets translated into scheduled publication if the date is in the future, and to modifying the publication date on the post or page otherwise.

支持自定义日期对于Orchard而言意味着如果日期是将来该日期将被转换为计划发布,并且在其他情况下修改发布日期。

Permissions

权限

Default permissions:

默认权限:

Permission | Anon. | Authentic. | Owner | Admin. | Author | Editor

许可|匿名。 |真实。 |所有者|管理员。 |作者|编辑

----------------------------------------------- | ----- | ---------- | ----- | ------ | ------ | ------

  • | ----- | ---------- | ----- | ------ | ------ | ------

Create and manage contents through XML-RPC APIs | No | No | Yes | Yes | Yes | Yes

通过XML-RPC API创建和管理内容没有|没有|是的|是的|是的|是

Note

!注意

The specific rights for each content type and operation are also checked in addition to this right.

If this right is not granted, none of the operations work.