org.alfresco.service.cmr.blog
Interface BlogService

All Known Implementing Classes:
BlogServiceImpl

public interface BlogService

The Blog Service handles the management (CRUD) of Alfresco blog data, namely the blog posts which are exposed in the Share UI under the "Blog" heading. The BlogIntegrationService, a separate service, is concerned with the integration of Alfresco blog content with external Blog-hosting sites.

Please note that this service is a work in progress and currently exists primarily to support the blogs REST API.

Since:
4.0

Nested Class Summary
static class BlogService.BlogPostInfo
          A simple data object for storage of blog-related data.
static class BlogService.RangedDateProperty
          A simple data object for expressing a date range search parameter.
 
Method Summary
 BlogService.BlogPostInfo createBlogPost(org.alfresco.service.cmr.repository.NodeRef blogContainerNode, java.lang.String blogTitle, java.lang.String blogContent, boolean isDraft)
          Creates a new blog post within the specified container node.
 org.alfresco.query.PagingResults findBlogPosts(org.alfresco.service.cmr.repository.NodeRef blogContainerNode, BlogService.RangedDateProperty dateRange, java.lang.String tag, org.alfresco.query.PagingRequest pagingReq)
          Finds blog posts by the specified user tagged with the given tag string.
 org.alfresco.query.PagingResults getDrafts(org.alfresco.service.cmr.repository.NodeRef blogContainerNode, java.lang.String username, org.alfresco.query.PagingRequest pagingReq)
          Gets the draft blog posts created by the specified user.
 org.alfresco.query.PagingResults getMyDraftsAndAllPublished(org.alfresco.service.cmr.repository.NodeRef blogContainerNode, java.util.Date fromDate, java.util.Date toDate, org.alfresco.query.PagingRequest pagingReq)
          Deprecated. This method is a domain-specific query used by the Blog REST API and is not considered suitable for general use.
 org.alfresco.query.PagingResults getPublished(org.alfresco.service.cmr.repository.NodeRef blogContainerNode, java.util.Date fromDate, java.util.Date toDate, java.lang.String byUser, org.alfresco.query.PagingRequest pagingReq)
          Gets the (internally, Alfresco-) published blog posts.
 org.alfresco.query.PagingResults getPublishedExternally(org.alfresco.service.cmr.repository.NodeRef blogContainerNode, org.alfresco.query.PagingRequest pagingReq)
          Gets blog posts published externally (i.e.
 boolean isDraftBlogPost(org.alfresco.service.cmr.repository.NodeRef blogPostNode)
          Returns true if the specified blog-post node is a 'draft' blog post.
 

Method Detail

createBlogPost

BlogService.BlogPostInfo createBlogPost(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                        java.lang.String blogTitle,
                                        java.lang.String blogContent,
                                        boolean isDraft)
Creates a new blog post within the specified container node.

Parameters:
blogContainerNode - the container node for blog posts (under the site).
blogTitle - the title of the blog post.
blogContent - text/html content of the blog post.
isDraft - true if the blog post is a draft post, else false.
Returns:
The BlogService.BlogPostInfo of the newly created blog post.
See Also:
to retrieve the blogContainerNode

getDrafts

org.alfresco.query.PagingResults getDrafts(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                           java.lang.String username,
                                           org.alfresco.query.PagingRequest pagingReq)
Gets the draft blog posts created by the specified user.

Parameters:
blogContainerNode - the container node for blog posts (under the site).
username - to limit results to blogs with this cm:creator. null means all users.
pagingReq - an object defining the paging parameters for the result set.
Returns:
a PagingResults object containing some or all of the results (subject to paging).
See Also:
to retrieve the blogContainerNode

getPublished

org.alfresco.query.PagingResults getPublished(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                              java.util.Date fromDate,
                                              java.util.Date toDate,
                                              java.lang.String byUser,
                                              org.alfresco.query.PagingRequest pagingReq)
Gets the (internally, Alfresco-) published blog posts.

Parameters:
blogContainerNode - the container node for blog posts (under the site).
fromDate - an inclusive date limit for the results (more recent than).
toDate - an inclusive date limit for the results (before).
byUser - if not null limits results to posts by the specified user. if null results will be by all users.
pagingReq - an object defining the paging parameters for the result set.
Returns:
a PagingResults object containing some or all of the results (subject to paging).
See Also:
to retrieve the blogContainerNode

getPublishedExternally

org.alfresco.query.PagingResults getPublishedExternally(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                                        org.alfresco.query.PagingRequest pagingReq)
Gets blog posts published externally (i.e. to an external blog hosting site).

Parameters:
blogContainerNode - the container node for blog posts (under the site).
pagingReq - an object defining the paging parameters for the result set.
Returns:
a PagingResults object containing some or all of the results (subject to paging).
See Also:
to retrieve the blogContainerNode

getMyDraftsAndAllPublished

org.alfresco.query.PagingResults getMyDraftsAndAllPublished(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                                            java.util.Date fromDate,
                                                            java.util.Date toDate,
                                                            org.alfresco.query.PagingRequest pagingReq)
Deprecated. This method is a domain-specific query used by the Blog REST API and is not considered suitable for general use.

Gets draft blog posts by the currently authenticated user along with all published posts.

Parameters:
blogContainerNode - the container node for blog posts (under the site).
fromDate - an inclusive date limit for the results (more recent than).
toDate - an inclusive date limit for the results (before).
pagingReq - an object defining the paging parameters for the result set.
Returns:
a PagingResults object containing some or all of the results (subject to paging).
See Also:
to retrieve the blogContainerNode

findBlogPosts

org.alfresco.query.PagingResults findBlogPosts(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                               BlogService.RangedDateProperty dateRange,
                                               java.lang.String tag,
                                               org.alfresco.query.PagingRequest pagingReq)
Finds blog posts by the specified user tagged with the given tag string. This method allows date ranges to be applied to any valid DataTypeDefinition.DATE or DataTypeDefinition.DATETIME property. Examples include ContentModel.PROP_CREATED or ContentModel.PROP_PUBLISHED.

Parameters:
blogContainerNode - the container node for blog posts (under the site).
dateRange - a BlogService.RangedDateProperty parameter object. Can be null.
tag - tag string.
pagingReq - an object defining the paging parameters for the result set.
Returns:
a PagingResults object containing some or all of the results (subject to paging).
See Also:
to retrieve the blogContainerNode

isDraftBlogPost

boolean isDraftBlogPost(org.alfresco.service.cmr.repository.NodeRef blogPostNode)
Returns true if the specified blog-post node is a 'draft' blog post.

Parameters:
blogPostNode - a NodeRef representing a blog-post.
Returns:
true if it is a draft post, else false.


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.