There is currently no framework manager API for Blogs so using the legacy APIs is appropriate. Here are some code samples for working with the Blogs API.
Add Blog:
Ektron.Cms.API.Content.Blog bapi = new Ektron.Cms.API.Content.Blog(); long folderid = 0; //where to add the blog bool allowcomments = true; bool moderatecomments = false; bool requireauth = false; Ektron.Cms.BlogRoll rolllinks = new Ektron.Cms.BlogRoll(); long blogid = bapi.AddBlog(folderid, "Blog Name", "Blog Title", "blog description", Ektron.Cms.Common.EkEnumeration.BlogVisibility.Public, allowcomments, moderatecomments, requireauth, categories, rolllinks);
Add Blog Post:
Ektron.Cms.ContentData postdata = new Ektron.Cms.ContentData();
string[] categories = { "test", "test1" };
long postid = bapi.AddPost(blogid, postdata, categories, false, "Tags, Tags2", "");
Add Blog Comment:
Ektron.Cms.API.User.User uapi = new Ektron.Cms.API.User.User(); Ektron.Cms.UserData ud = uapi.GetUser(uapi.UserId, false, false); Ektron.Cms.BlogComment bc = new Ektron.Cms.BlogComment(); bc.DateCreated = DateTime.Now; bc.DisplayName = ud.DisplayName; bc.Email = ud.Email; bc.Message = "Test Message"; bc.Title = "Title"; bc.UserID = ud.Id; bc.PostID = postid; bool result = bapi.AddCommentForPost(bc); //success = falseGet Blog Comments:
Ektron.Cms.Framework.Settings.TaskManager tmgr = new Ektron.Cms.Framework.Settings.TaskManager();
Ektron.Cms.TaskCriteria criteria = new Ektron.Cms.TaskCriteria();
criteria.AddFilter(Ektron.Cms.Common.TaskProperty.ContentId, Ektron.Cms.Common.CriteriaFilterOperator.EqualTo, 427);
criteria.PagingInfo = new Ektron.Cms.PagingInfo(1000);
var tData = tmgr.GetList(criteria);
foreach (var item in tData)
{
Response.Write(item.Description);
}
Other Blog Functions:
bapi.DeleteBlog(blogid);
bapi.DeleteBlogPostComment(postcommentid);
int maxentries = 5; //max number of results to return
int languageid = 1033;
Ektron.Cms.BlogData bdata = bapi.GetBlog(blogid, "Start Date", maxentries, languageid);
bdata = bapi.GetBlogData(blogid);
bdata = bapi.GetBlogDataForPost(postid);
Ektron.Cms.BlogPostData bpd = bapi.GetBlogPostData(postid);
bapi.GetBlogRoll(blogid); //get the blog roll
postdata = bapi.GetPost(postid, ref bpd); //get a post with info
bpd = bapi.GetPostbyID(postid); //get a blog post
bapi.GetUserBlog(ud.Id); //get the blog for a user id
bapi.UpdateBlogProperties(bdata); //change properties in blog data and resave
Please sign in to leave a comment.