6/2/2011 10:17:41 AM
7207
Reputation
956
Total posts
Hi Parminder,
DotNetBlogEngine and similar third-party products that use the standard provider-based infrastructure (eg. use Membership and Role providers). We had a few older posts on this forum describing how to do it. All you have to do is to put a blog application in MonoX virtual folder, modify its web.config to point Membership and Role providers to MonoX instances, and to remove instances of HTTP handlers and modules that are not needed in the third party app.
As for opening a new blog for each user, below is the sample code you can put in your custom registration Web part. It overrides the MonoX MembershipEditor part and assumes that each new user can choose wheter he wants a blog when registering (there is a checkbox in the front end saying "Open my blog" or something like that):
...
using
MonoSoftware.Core;
using
MonoSoftware.MonoX.Caching;
using
MonoSoftware.MonoX.Utilities;
using
System.Net.Mail;
using
MonoSoftware.MonoX.Mail;
using
MonoSoftware.Web;
using
MonoSoftware.Web.Caching;
using
MonoSoftware.Core.Mail;
...
namespace
MyProjectName.WebParts
{
public
partial
class
MembershipEditor : MonoSoftware.MonoX.ModuleGallery.MembershipEditor
{
...
public
override
void
CreateAccount(MembershipUser membershipUser)
{
...
PostAccountCreationActions(membershipUser);
}
protected
virtual
void
PostAccountCreationActions(MembershipUser membershipUser)
{
if
(chBlog.Checked)
{
BlogEntity blog =
new
BlogEntity(GuidExtension.NewSequentialGuid());
blog.Name = membershipUser.UserName;
blog.Slug = UrlSeoOptimizer.GetOptimizedString(blog.Name);
blog.DateCreated = DateTime.Now;
blog.UserId =
new
Guid(membershipUser.ProviderUserKey.ToString());
blog.ApplicationId = MembershipRepository.GetInstance().GetApplicationId();
blog.LanguageId = LocalizationUtility.GetCurrentLanguageId();
BlogRepository repository = BlogRepository.GetInstance();
repository.SaveBlog(blog,
string
.Empty);
}
}
...
}
}
Rating history (Content is rated 0.00 of 0 vote(s).)
Shows who have rated the content, and the rating score.