<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Wilson WebPortal Forums : General Support</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=rss&amp;id=14&amp;key=9nLlkLD0o6IMg3IUbu%2fhlg%3d%3d</link><description>Wilson WebPortal Forums : General Support</description><item><title>Simple HelloWorld module.</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2396&amp;key=vWyHG4I5OtpvS55%2f4VtqEQ%3d%3d&amp;post=7275</link><pubDate>Thu, 09 Nov 2006 18:06:58 GMT</pubDate><description>&lt;P&gt;Hi Paul&lt;BR&gt;I am looking for steps to build a simple HelloWorldModule.&lt;BR&gt;I tried these steps but it doesn't seem to be working.&lt;BR&gt;1: Added a HelloWorldUserControl.ascx in the Module folder of WebRoot project.&lt;BR&gt;2: Changed the inheritance of HelloWorldUserControl.ascx to ModuleBase from UserControl.&lt;BR&gt;3: From Host-&amp;gt;Moduls-&amp;gt;Add Module, added the HelloWorldUserControl.ascx and set the path correctly.&lt;BR&gt;4: Add a TestPage.&lt;BR&gt;5: Add a NewPart and selected -&amp;gt; HelloWorld.&lt;BR&gt;6. When the part gets displayed it appears like it shows us the EditModule and not the View of HelloWorldUserControl.ascx .&lt;BR&gt;These fields are displayed on the module:&lt;BR&gt;*********************&lt;BR&gt;Group Id:&lt;BR&gt;Group Name:&lt;BR&gt;Super Role:&lt;BR&gt;Auto Approve:&lt;BR&gt;PwdMinLen:&lt;BR&gt;...&lt;BR&gt;...&lt;/P&gt;
&lt;P&gt;Save and Cancel buttons.&lt;BR&gt;*********************&lt;BR&gt;Please let me know if i missed anything.&lt;BR&gt;Thanks&lt;/P&gt;</description></item><item><title>Password</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2258&amp;key=smPEudg1kOyNDs0meSDMtw%3d%3d&amp;post=6969</link><pubDate>Tue, 01 Aug 2006 21:16:56 GMT</pubDate><description>Hi Sean:&lt;br&gt;&lt;br&gt;You cannot retrieve a password, you can only reset it -- it is hashed, not encrypted, which is the standard password management best practice.&amp;nbsp; How do you reset it?&amp;nbsp; You can do it in the admin interface in the web app, but I also like to work directly in the database, so I created a shortcut.&amp;nbsp; All you need to do is set the PwdHash field to the desired password and also set the PwdSalt field to "*" -- the next time that particular user is touched it will be automatically hashed for you, so please encourage the user affected to login, as well as change their password.&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Password</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2258&amp;key=smPEudg1kOyNDs0meSDMtw%3d%3d&amp;post=6968</link><pubDate>Tue, 01 Aug 2006 20:34:07 GMT</pubDate><description>&lt;P&gt;Hi Paul,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Just wondering if there's a way to access the password field of in the DB. I can access the database itself, so I just need to unencrypt the password. What algorithm did you use to write the pwd to the database (either Access or SQL Server).&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Sean&lt;/P&gt;</description></item><item><title>Where does WebPortal Framework fit?</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2243&amp;key=exz5GYh0SSH15pbV%2bhjmtw%3d%3d&amp;post=6941</link><pubDate>Tue, 25 Jul 2006 19:33:59 GMT</pubDate><description>Hi Shadi:&lt;br&gt;&lt;br&gt;That's a tricky one.&amp;nbsp; Many people will tell you that you can use Sharepoint or DNN for any web app, and if you believe that then you can probably make the same claim for my WebPortal.&amp;nbsp; On the other hand, if you don't believe that, then you probably shouldn't for mine either.&amp;nbsp; As a web app developer myself, I personally feel that my WebPortal will work effectively for many cases, but you have to weigh each individual case of course.&amp;nbsp; The WebPortal allows you to get right to work on just create very simple ASP.NET v2.0 modules, while still enjoying the great features that ASP.NET v2.0 brings to the table, but of course it also does add the overhead of a database for everything, although hopefully you'll find the caching very effective.&amp;nbsp; There certainly are some obvious limitations also though, due to the simplistic approach that I like -- there isn't built-in support for other membership and/or role providers, nor the personalization features of web-parts, and my search engine is crude at best at the moment.&amp;nbsp; In other words, I'm certainly not trying to build yet another generic CMS system, but I truly am trying to build a web app framework that is developer friendly -- and in many cases its already good enough, while in others its a work in progress (localization for instance).&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Where does WebPortal Framework fit?</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2243&amp;key=exz5GYh0SSH15pbV%2bhjmtw%3d%3d&amp;post=6938</link><pubDate>Tue, 25 Jul 2006 19:23:49 GMT</pubDate><description>&lt;P&gt;Dear Paul,&lt;/P&gt;
&lt;P&gt;I'm still not sure where the web portal framework can fit? is it only to be used for web portals much like Sharepoint and DotNetNuke or it can be used as a foundation for every web application?&lt;/P&gt;
&lt;P&gt;If its a foundation for all web apps then does this mean i should match use cases with modules on the portal?&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;Shadi Mari&lt;/P&gt;</description></item><item><title>Existing non-portal pages</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2227&amp;key=8FhK17%2fN4gH8UmCHtKjMbw%3d%3d&amp;post=6896</link><pubDate>Tue, 11 Jul 2006 14:22:36 GMT</pubDate><description>Hi Sean:&lt;br&gt;&lt;br&gt;You should be able to mark the "oldASPXstuff" folder as a separate IIS application (or have your hoster do that if they don't provide you that capability) and that should do it.&amp;nbsp; And while you may not be able to move your existing sites, I'd highly recommend getting a host that does allow you more functionality (like WebHost4Life).&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Existing non-portal pages</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2227&amp;key=8FhK17%2fN4gH8UmCHtKjMbw%3d%3d&amp;post=6895</link><pubDate>Tue, 11 Jul 2006 13:00:59 GMT</pubDate><description>&lt;P&gt;Hi Paul,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; I have an existing webapplication (ASP.NET) that I would like to leave on my site. However, the URL for them is &lt;A href="http://mysite.com/oldASPXstuff/default.aspx"&gt;http://mysite.com/oldASPXstuff/default.aspx&lt;/A&gt;. This gets processed by the WebPortal, as I have it as my root application. (My hosters dont provide a means to specify &lt;A href="http://www.mysite.com"&gt;http://www.mysite.com&lt;/A&gt; to point to &lt;A href="http://mysite.com/APortal"&gt;http://mysite.com/APortal&lt;/A&gt;). &lt;/P&gt;
&lt;P&gt;&amp;nbsp; Is there anything I can do in the configuration to bypass processing for this site, or what else can I do?&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Sean&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Permissions</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2189&amp;key=g2YMpbnFYRaLnuLE%2bSb7Cw%3d%3d&amp;post=6793</link><pubDate>Sun, 18 Jun 2006 13:07:37 GMT</pubDate><description>There's really not much to edit on the page-level, and when you do edit those page-level things (page name, title, icon, description, keywords, menu page/order, etc.) you aren't actually using that page itself.&amp;nbsp; Instead when you edit page-level settings, you are actually using the Part for editting Pages, which is on the Pages Page.&amp;nbsp; So you can change both who can view the Pages Page and Page Part on it, as well as who has the Rights to Edit or Delete Pages on the Page Part.&amp;nbsp; That does mean that you can't enable some people to edit some page-level settings and some to edit other page-level settings -- it is an all or nothing thing.&amp;nbsp; But that typically makes the most sense (although I'm sure there are exceptions) because editting page-level settings is really best described as site management, while editting the Parts on a Page is more traditional content management.&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Permissions</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2189&amp;key=g2YMpbnFYRaLnuLE%2bSb7Cw%3d%3d&amp;post=6791</link><pubDate>Sun, 18 Jun 2006 04:48:17 GMT</pubDate><description>&lt;P&gt;Thanks Paul.&lt;/P&gt;
&lt;P&gt;Just for one further clarification.&amp;nbsp; Are you saying that pages cannot be set to be read/write separately?&lt;/P&gt;
&lt;P&gt;For example, I can't at this time, give a person(s) permission to edit (add parts) to a page, but that page only?&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;John&lt;/P&gt;</description></item><item><title>Permissions</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2189&amp;key=g2YMpbnFYRaLnuLE%2bSb7Cw%3d%3d&amp;post=6788</link><pubDate>Sat, 17 Jun 2006 13:45:07 GMT</pubDate><description>Hi John:&lt;br&gt;&lt;br&gt;Each Page has an "Edit Page" link at the top-right (at least in the included masters) that allows you to specify both if its publicly viewable by everyone and if not then you can assign specific roles (or none to make it all logged in users).&amp;nbsp; You can also get to "Edit Page" from the Portal &amp;gt; Pages menu, so you don't actually have to visit the page in question if you do not want to do so.&amp;nbsp; Next, each Part on your Page has an "Edit" link at the top-right of its frame (again in the included frames) that allows you to specify the same public and/or role options for visibility.&amp;nbsp; Finally, on the Parts that have configured Actions, you will also see the ability to specify Rights for each Action to be public and/or role-based.&amp;nbsp; Note that "read" permissions are the default "view" settings, while the other permissions are Part specific Actions that typically include things like "edit" and "delete", but there may be other Actions also.&lt;br&gt;&lt;br&gt;Now as to Groups and Roles (and Users), the best way to think of it is that if you are the only one using your installation than you will probably just create one Group and never think about Groups again -- you'll simply be managing Roles and Users in that one Group.&amp;nbsp; On the other hand, if your installation is going to have Portals used by other "companies" or "communities" (not just for yours) than you should think of each of those "companies" or "communities" being its own Group that has its own separate Roles and Users.&amp;nbsp; The rationale behind this is that I might be a User in one "company" but not in another "company", or maybe I am a User in both "companies" but my Roles vary between those "companies".&amp;nbsp; I&amp;nbsp; believe most other web portals force you to have different users and roles for each portal, but that isn't always what you want since you may very well have multiple portals for the same "company" that should have the exact same Users and Roles -- although even then you might have some roles allowed to view and do more things in one portal and less in another.&lt;br&gt;&lt;br&gt;Finally, you're right on about the "Inactive or Suppressed or NotInRole" text when you login as an admin -- those particular Parts aren't applicable but there must be a way for you to edit their settings and thus I show them to admins anyhow.&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson</description></item><item><title>Permissions</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2189&amp;key=g2YMpbnFYRaLnuLE%2bSb7Cw%3d%3d&amp;post=6786</link><pubDate>Fri, 16 Jun 2006 16:33:12 GMT</pubDate><description>Hi Paul,&lt;br&gt;&lt;br&gt;How do you assign edit permissions, and read permissions to a web part and/or page separately?&lt;br&gt;&lt;br&gt;Also, so far the groups, and roles don't seem well separated in my mind, perhaps you could explain the significance, and how to properly assign read/edit permissions separately?&lt;br&gt;&lt;br&gt;Lastly, I noticed as the admin user, after login, I get a message in the login part at the bottom which says it's inactive, or NotIsInRole or something like that.&amp;nbsp; I'm guessing since you are already logged in, the part isn't applicable.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;John&lt;br&gt;</description></item><item><title>Login URL</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2144&amp;key=8fSAHVzSBHsonnk3wFRCiA%3d%3d&amp;post=6658</link><pubDate>Wed, 10 May 2006 14:21:29 GMT</pubDate><description>&lt;P&gt;Paul,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; I've found the setting in the Portal menu.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Sean&lt;/P&gt;</description></item><item><title>Login URL</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2144&amp;key=8fSAHVzSBHsonnk3wFRCiA%3d%3d&amp;post=6657</link><pubDate>Wed, 10 May 2006 14:11:51 GMT</pubDate><description>&lt;P&gt;Hi Paul,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Just wondering if there's a quick way to change the login link on the main page? Something like this portal, in fact. The default link is to Default.aspx. I want to move it to it's own page, or another page (like Forums).&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Sean&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Group Role User</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2117&amp;key=%2b9l2xchf161b41lhrRrMFg%3d%3d&amp;post=6585</link><pubDate>Fri, 28 Apr 2006 21:09:05 GMT</pubDate><description>A group is a set of users and roles that can be shared among multiple portals.&amp;nbsp; It may be that it is a functionality that you will never need, but it is one that I use and I have heard others complain that some other popular portals lack.&amp;nbsp; So if you need to share users and roles across portals then you will assign all those particular portals to the same group, and if you don't need that then you just create a new group before creating a new portal.&lt;br&gt;&lt;br&gt;Is it similar to aspnet_Application?&amp;nbsp; I honestly haven't spent enough time looking at MS's default schema, so it may be possible that its similar in purpose, but I'm really not sure.&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Group Role User</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2117&amp;key=%2b9l2xchf161b41lhrRrMFg%3d%3d&amp;post=6582</link><pubDate>Fri, 28 Apr 2006 19:12:53 GMT</pubDate><description>Is Group similar to aspnet_Applications ?&lt;br&gt;</description></item><item><title>Group Role User</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2117&amp;key=%2b9l2xchf161b41lhrRrMFg%3d%3d&amp;post=6581</link><pubDate>Fri, 28 Apr 2006 18:10:58 GMT</pubDate><description>Hi Paul,&lt;br&gt;&lt;br&gt;I've relatively basic question . What was the significance Group and Role ? you could have just Role. What scenario it would be helpful ? &lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;N&lt;br&gt;</description></item><item><title>Manager</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2073&amp;key=lE6H26Rvf4kNVrlItXJR0Q%3d%3d&amp;post=6458</link><pubDate>Mon, 10 Apr 2006 00:56:24 GMT</pubDate><description>Ah, I see now (duh, I should've thought of this one) -- one of your dll's is not a .NET dll, it is a native code dll that is being called into, and of course the .NET loader therefore is going to throw an exception.&amp;nbsp; I'll see what I can do to clean this up soon -- it was always an ugly hack that was a late addition when it became clear that without something else I was sometimes, but not often, having problems with the load order of things.&amp;nbsp; Sorry about the trouble.&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Manager</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2073&amp;key=lE6H26Rvf4kNVrlItXJR0Q%3d%3d&amp;post=6457</link><pubDate>Sun, 09 Apr 2006 23:30:33 GMT</pubDate><description>&lt;P&gt;This is odd in one of my project (class library) i've added third party payment processor DLL as a reference, so after building a solution the websites have those dlls in bin folder as well and every time i start a debug i get's error message ,if i remove statement Types.LoadAssemblies from manager class it work just fine&amp;nbsp;or&amp;nbsp;without removing the statment if i delete the third party DLL from the bin it would work fine.&amp;nbsp;I am also going to send you those DLL by email.&lt;/P&gt;
&lt;P&gt;Thanks&lt;BR&gt;N&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Manager</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2073&amp;key=lE6H26Rvf4kNVrlItXJR0Q%3d%3d&amp;post=6447</link><pubDate>Sat, 08 Apr 2006 13:59:09 GMT</pubDate><description>What do you mean by an external DLL?&amp;nbsp; As for it working fine without it, yes it will in some cases, but I also know it doesn't in others -- the load order is basically something that cannot be assumed to be correct.&amp;nbsp; Anyhow, let me know more about your "external DLL" that is having an exception since I'm not sure what you mean, and I'll see about what it takes to fix it.&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Manager</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2073&amp;key=lE6H26Rvf4kNVrlItXJR0Q%3d%3d&amp;post=6446</link><pubDate>Sat, 08 Apr 2006 03:50:37 GMT</pubDate><description>&lt;P&gt;few things i noticed if you have any external DLL in BIN,&amp;nbsp;Types.LoadAssemblies throw exception&amp;nbsp; Another things is even if you remove the Types.LoadAssemblies&amp;nbsp;in Manager class application just work fine .&lt;/P&gt;
&lt;P&gt;Any thoughts ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Manager</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2073&amp;key=lE6H26Rvf4kNVrlItXJR0Q%3d%3d&amp;post=6444</link><pubDate>Sat, 08 Apr 2006 00:21:32 GMT</pubDate><description>Very good question.&amp;nbsp; Its a relic of the simplicity of the ORMapper and the new ASP.NET model.&amp;nbsp; The ORMapper doesn't expect you to specify the assembly name in the entity type definition (which will be optionally allowed soon) to make things easier to configure, so the ORMapper expects entity types to be found in referenced or loaded assemblies.&amp;nbsp; But then the new ASP.NET model doesn't really have referenced assemblies, so I need to make sure the proper assemblies are loaded, and my assumption is that if I load the dlls in the bin then that will suffice.&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Manager</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2073&amp;key=lE6H26Rvf4kNVrlItXJR0Q%3d%3d&amp;post=6443</link><pubDate>Fri, 07 Apr 2006 22:45:02 GMT</pubDate><description>Hi Paul,&lt;br&gt;&lt;br&gt;I've just a quick question what is the logic for loading assemblies(Types.LoadAssemblies()) in Manager Class ?&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;N&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Cache</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2054&amp;key=YJSCyABvRrtn6ufgggdFIw%3d%3d&amp;post=6390</link><pubDate>Thu, 30 Mar 2006 02:33:04 GMT</pubDate><description>That is correct.&amp;nbsp; Keep in mind however that my Cache object is definitely intended for my Core objects.&amp;nbsp; It may be able to be used elsewhere just fine also, but that wasn't my goal.&amp;nbsp; On the other hand, the Timer can and is used elsewhere.&amp;nbsp; I also cache content, but with mostly custom code (still very simple in my opinion), and I use the Timer to clear it periodically also.&amp;nbsp; Finally, I use the Timer to ping my site to keep it alive, although even that can't be guaranteed forever due to the way IIS and ASP.NET work.&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Cache</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2054&amp;key=YJSCyABvRrtn6ufgggdFIw%3d%3d&amp;post=6389</link><pubDate>Thu, 30 Mar 2006 02:25:39 GMT</pubDate><description>&lt;P&gt;Appreciate your reply. I&amp;nbsp;am actually trying to get a complete understanding of &amp;nbsp;Webportal&amp;nbsp;&amp;nbsp;. I first started by looking into Cache and Timer, my understanding&amp;nbsp;is&amp;nbsp;timer is firing every 15 min and&amp;nbsp;cache is handling those events by clearing&amp;nbsp;all the objects in dictionary cache. So in order to cache&amp;nbsp;object it need to be register in static constructor&amp;nbsp;either all the records or&amp;nbsp;by where clause. Initially i thought when timer fires it only clear&amp;nbsp;the object in dictionary which has elapsed but then looking into code it is actually clearing the entire dictionary.Please correct me if i am wrong.&lt;/P&gt;
&lt;P&gt;I've previously used DotNetNuke but i find&amp;nbsp;Webportal&amp;nbsp;to be much better solution with just fraction of the code&amp;nbsp;and&amp;nbsp;make good use&amp;nbsp;most of new features in .net 2, common design patterns and more import ORMapper which is amazing.&lt;/P&gt;
&lt;P&gt;Regards&lt;BR&gt;N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Cache</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2054&amp;key=YJSCyABvRrtn6ufgggdFIw%3d%3d&amp;post=6387</link><pubDate>Wed, 29 Mar 2006 01:44:40 GMT</pubDate><description>The whole point is that the core objects typically do not change and therefore they do not expire until the timer fires.&amp;nbsp; I believe you're thinking of the ASP.NET cache which does have the ability to set expirations, but that is not what I have used.&amp;nbsp; And my rationale for not using that is because the ASP.NET cache makes no guarantees -- i.e. I can specify for items to expire in 15 minutes, but they may expire much sooner, and probably will on a shared host which is not the behavior that I want for my core objects.&amp;nbsp; I think this explains why some other popular portal frameworks are typically poor performers since they end up hitting the database for far too much far too often, even though they have used a cache.&amp;nbsp; As for the 15 minutes, I'll probably make that more configurable in the future as I see how things go and how others feel about it, but its a great start for now.&amp;nbsp; One last thing, a lot of content may make sense to be cached using the ASP.NET cache, but I think you again need to decide if its content that is frequently accessed or not, since any that is accessed all the time is again probably better off in a cache like mine.&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Cache</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2054&amp;key=YJSCyABvRrtn6ufgggdFIw%3d%3d&amp;post=6386</link><pubDate>Tue, 28 Mar 2006 23:43:48 GMT</pubDate><description>&lt;P&gt;Thanks Paul,&lt;/P&gt;
&lt;P&gt;I&amp;nbsp;saw timer interval is set to be&amp;nbsp;15 min, does that mean every 15 min&amp;nbsp;entire cache object would be cleared or only those entries in cache which have expired would be cleared ?&amp;nbsp;&lt;/P&gt;</description></item><item><title>Cache</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2055&amp;key=S8Bp44HgDri8Rpi1RnvJBQ%3d%3d&amp;post=6380</link><pubDate>Tue, 28 Mar 2006 13:55:28 GMT</pubDate><description>Answered in your &lt;a href="/Forums/Default.aspx?part=75&amp;amp;action=thread&amp;amp;id=2054&amp;amp;key=YJSCyABvRrtn6ufgggdFIw%3d%3d"&gt;other post&lt;/a&gt;.&lt;br&gt;</description></item><item><title>Cache</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2054&amp;key=YJSCyABvRrtn6ufgggdFIw%3d%3d&amp;post=6379</link><pubDate>Tue, 28 Mar 2006 13:53:53 GMT</pubDate><description>The Cache class is used for most of the Core objects so that once those
basic objects are loaded they don't have to be re-loaded from the
database for subsequent page hits.&amp;nbsp; That means that the current Portal,
its Group, and all of its Pages, along with supporting objects like
Themes, Skins, Frames, and Modules (not an inclusive list) is already
in memory in most cases.&amp;nbsp; That still means that your actual content may
come from the database, but most of my standard modules try to cache
content also to minimize database activity.&amp;nbsp; The Cache class also makes
sure that things are kept in sync on those rare occasions when a site
administrator is actually editting Core objects.&amp;nbsp; There is also a
global timer to occasionally clear everything in Cache, which means
that the next hit will see things reloaded, which is a good thing to
make sure things are really reflecting what is in the database and that
no more than is necessary is actually being cached.&amp;nbsp; As the comments in the code try to indicate, I create my own Cache using static fields and a timer since the built-in ASP.NET Cache is basically uncontrollable -- i.e. there is no guarantee that items you put in that Cache will remain any length of time, especially on a shared host.&amp;nbsp; Finally, note that I really do probably need to make the timer configurable, but I've started with it not being configurable for simplicity, and I'll see where the future takes us.&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Cache</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2054&amp;key=YJSCyABvRrtn6ufgggdFIw%3d%3d&amp;post=6377</link><pubDate>Tue, 28 Mar 2006 13:40:22 GMT</pubDate><description>Hi Paul,&lt;br&gt;&lt;br&gt;Could you please provide some overview of Generic class Cache where and when it is recommended ?&lt;br&gt;&lt;br&gt;Regards&lt;br&gt;N&lt;br&gt;</description></item><item><title>Cache</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2055&amp;key=S8Bp44HgDri8Rpi1RnvJBQ%3d%3d&amp;post=6378</link><pubDate>Tue, 28 Mar 2006 01:30:13 GMT</pubDate><description>Hello Paul,&lt;br&gt;&lt;br&gt;Could you please provide an overview of generic class Cache and when it is recommended ?&lt;br&gt;&lt;br&gt;Regards&lt;br&gt;N &lt;br&gt;</description></item><item><title>LocalDataStoreSlot</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2040&amp;key=jafHvgCXuaz61u622q3HVw%3d%3d&amp;post=6332</link><pubDate>Tue, 21 Mar 2006 00:30:57 GMT</pubDate><description>A LocalDataStoreSlot is basically a named variable allocated to a specific thread, typically called a thread-local variable -- very much like HttpContext.Items except it doesn't require a web context.&amp;nbsp; The purpose of the code in question in this case is to setup a name-value that the Demo version of the ORMapper knows about so that it will run unrestricted for the WebPortal.&amp;nbsp; Putting it in a LocalDataStoreSlot before initializing the ORMapper means that the ORMapper will be able to test for this name-value when it is being initialized since that will occur on that same thread.&amp;nbsp; If you're running the subscriber version of the ORMapper then the ORMapper won't care, and either way setting and retrieving the thread-local variable one-time on initialization doesn't impose enough overhead to matter.&amp;nbsp; On the other hand, if you try to run the Demo version of the ORMapper without the WebPortal (or without the VS Debugger), then you will get a license exception.&amp;nbsp; It really serves no other point, and it does look very odd, but its just a simple way to get the Demo version to work unrestricted with the WebPortal without introducing other components or complexity or loss of performance.&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>LocalDataStoreSlot</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2040&amp;key=jafHvgCXuaz61u622q3HVw%3d%3d&amp;post=6331</link><pubDate>Mon, 20 Mar 2006 23:22:39 GMT</pubDate><description>Hello Paul,&lt;br&gt;&lt;br&gt;I noticed in Manager class you have used LocalDataStoreSlot. Could you please explain what is the significance of this class.&lt;br&gt;&lt;br&gt;Regards&lt;br&gt;N</description></item><item><title>Geting Started</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2030&amp;key=oQbQknzc7atcPJbWTpqNrA%3d%3d&amp;post=6297</link><pubDate>Wed, 15 Mar 2006 10:47:06 GMT</pubDate><description>Hi Hurricane:&lt;br&gt;&lt;br&gt;I will be making more documentation as I get time, but of course initially I don't have any that you don't see here.&amp;nbsp; But even though I do plan to put more together over time, its also intentionally designed to be pretty simple.&amp;nbsp; If you just need to deploy the WebPortal, then its mostly a very straight-forward thing already described in the readme.&amp;nbsp; If the existing modules are sufficient then there isn't too much that you need to learn there either, although the more complex ones certainly may require a little help.&amp;nbsp; If you want to create your own modules, then that of course takes more work, but it really is nearly as simple as creating any ASP.NET v2.0 controls, although you'll typically want to inherit from my base module class.&amp;nbsp; As for the general concept of portals, there are of course quite a few other ones out there, and some of them have tons of docs, although they are also considerably more complex and require those docs.&amp;nbsp; :)&lt;br&gt;&lt;br&gt;Thanks, Paul Wilson&lt;br&gt;</description></item><item><title>Geting Started</title><link>http://wilsonwebportal.com/Forums/Default.aspx?part=75&amp;action=thread&amp;id=2030&amp;key=oQbQknzc7atcPJbWTpqNrA%3d%3d&amp;post=6293</link><pubDate>Wed, 15 Mar 2006 10:40:12 GMT</pubDate><description>&lt;font face="Arial" size="2"&gt;Hi Paul&lt;br&gt;&lt;br&gt;Ive been using your ormapper for about a year now and I think it is &lt;b&gt;&lt;i&gt;marvelous!&lt;/i&gt;&lt;/b&gt; so great work there. I have looked at you webportal and from what i understand it could be very usefull for some freebie community sites i want to do. I have not used any web portals before and Im wondering if you could point me to any documentation to help me get started.&lt;br&gt;&lt;br&gt;Many thanks&lt;br&gt;&lt;br&gt;Hurricane&lt;/font&gt;&lt;br&gt;</description></item></channel></rss>