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.