Hi Ulu, In mojoPortal, inheriting from SiteModuleControl (which "is a" UserControl) provides functionality for tracking instance specific properties. So for a Blog, if you put a Blog on one page and then put a Blog on another page, they are 2 different blogs. Thats the main purpose of this base class. However, your point is well taken because maybe sometimes you don't need different instances of your feature and it lowers the development entry point barriers if you could just use a plain old UserControl. So, I made a very small change to accomodate this and now it is possible to use a plain old UserControl if you want to, though you lose the benefits that would be provided by SiteModuleControl. This change is in my svn sandbox now and will be in trunk within a few days. For your comment about not liking to see fields like "TotalForumPosts", there are often cases in the real world where things need to be de-normalized for performance. We show a page of posts with user information about the poster and we don't need to be sub querying to get the count of posts. When you get a million rows this sub query gets too expensive. Cheers, Joe
Joe Audette
· 1 year ago
Also want to mention that you can install the UserControl or SiteModuleControl right from the web UI if you don't want to create installation config files. Just look under Adminstration Menu > Advanced Tools > Feature Installation Best, Joe
ulu
· 1 year ago
Hey Joe,
First of all, I should say that I've been always fascinated how you can keep up with your project, fix bugs, and respond to forum messages so quickly. Now I see that you respond to messages in other blogs as well!! Seriously, I judge software not as much by the number of bugs (although that certainly matters), but by how responsive the support is, and yours is one of the best I've seen. (You can quote me)
I should say that I've never tried to develop a custom Mojo module, since what I needed was static html pages, a blog, and a forum (well, I need a bug tracker as well, but I use the forum for that). In fact, I do have two blogs, as in your example. I guess my experience with DotNetNuke was too bad.
Your fix for using plain UserControl came as a big surprise. It is always tempting (for CMS developers) to depend heavily on the base module class functionality. I your case, the change was so easy that it demonstrates how good the design is.
Don't take my point about the TotalForumPosts too seriously. I understand that sometimes agile-oriented decisions are less performant, and performance can be a big issue for a CMS. I understand that it is perfectly sensible to put it here, it just doesn't *feel* good.
In mojoPortal, inheriting from SiteModuleControl (which "is a" UserControl) provides functionality for tracking instance specific properties. So for a Blog, if you put a Blog on one page and then put a Blog on another page, they are 2 different blogs. Thats the main purpose of this base class. However, your point is well taken because maybe sometimes you don't need different instances of your feature and it lowers the development entry point barriers if you could just use a plain old UserControl. So, I made a very small change to accomodate this and now it is possible to use a plain old UserControl if you want to, though you lose the benefits that would be provided by SiteModuleControl. This change is in my svn sandbox now and will be in trunk within a few days.
For your comment about not liking to see fields like "TotalForumPosts", there are often cases in the real world where things need to be de-normalized for performance. We show a page of posts with user information about the poster and we don't need to be sub querying to get the count of posts. When you get a million rows this sub query gets too expensive.
Cheers,
Joe
Best,
Joe
First of all, I should say that I've been always fascinated how you can keep up with your project, fix bugs, and respond to forum messages so quickly. Now I see that you respond to messages in other blogs as well!! Seriously, I judge software not as much by the number of bugs (although that certainly matters), but by how responsive the support is, and yours is one of the best I've seen. (You can quote me)
I should say that I've never tried to develop a custom Mojo module, since what I needed was static html pages, a blog, and a forum (well, I need a bug tracker as well, but I use the forum for that). In fact, I do have two blogs, as in your example. I guess my experience with DotNetNuke was too bad.
Your fix for using plain UserControl came as a big surprise. It is always tempting (for CMS developers) to depend heavily on the base module class functionality. I your case, the change was so easy that it demonstrates how good the design is.
Don't take my point about the TotalForumPosts too seriously. I understand that sometimes agile-oriented decisions are less performant, and performance can be a big issue for a CMS. I understand that it is perfectly sensible to put it here, it just doesn't *feel* good.
Artem