The BlogEngine.NET integration DIFF Source is now on CodePlex and setup documentation on the Sueetie Wiki. BlogEngine.NET’s flexible configuration options made Sueetie Community integration a simple affair. What was interesting about integrating BlogEngine.NET was that from the beginning I felt it was important to support multiple blogs in Sueetie, as demonstrated at Sueetie.org with a main site blog and a “Sueets” blog. BlogEngine.NET does not support multiple blogs out-of-the-box, but again, with its flexible configuration options this was a snap. The approach I took to support multiple BE.NET blogs while leveraging Sueetie’s ASPNET Membership support was to store user data in SQL Server and blog content in that blog’s /app_data folder in XML format. All blogs share only three SQL tables.
I used to be a data purist in that all data had to reside in one place, in this case everything in SQL. That’s not the case any more. The SQL-for-user, filesystem-for-XML-content configuration is clean and works great. If SQL content data is required in the future for add-on functionality, a simple background task can retrieve the XML data and store it SQL-side as needed.
Also interesting in the BlogEngine.NET integration with Sueetie was taking advantage of BE.NET’s built-in “Administrator” and “Editor” roles with ASPNET Membership. Sueetie uses a “BlogAdministrator” ASPNET role to support global blog administrative functions. (This is part of the BLOG DIFF pack, replacing occurrences of “Administrator” with “BlogAdministrator.”) Each blog would also have an associated ASPNET Blog Editor role assigned to the author or authors of that blog.
One or two BlogEngine.NET tweaks completes the process, one of which is to remove the sidebar Administration widget. All Authenticated users must have a record in be_user to link BE.NET and ASPNET user authentication. This is done with a Linq-to-SQL call in the Sueetie Registration page. Done. But with a known user the administration widget says hello with a single “Change Password” link, something we obviously don’t want or need. Ain’t nothin’. Editors of the blog (designated by ASPNET role) will be shown the Blog Administration link in the page header. And because the smart guys behind BlogEngine.NET already thought the matter through, editors have a sufficient but limited set of blog administrative capabilities. All we have to do in Sueetie is display the link.
We’re getting closer now, with only the packaging and documentation for YetAnotherForum.NET and Gallery Server Pro yet to go!