2

Ok I have a group of three web applications.

My existing web application doesn't have any customization whatsoever, it just used the basic membership providers.

YAF.NET uses custom providers, the one that posed a problem was the custom profile provider:

<profile enabled="true" defaultProvider="YafProfileProvider" inherits="YAF.Utils.YafUserProfile">
    <providers>
        <clear/>
        <add connectionStringName="yafnet" applicationName="YetAnotherForum" name="YafProfileProvider" type="YAF.Providers.Profile.YafProfileProvider"/>
    </providers>
</profile>

So I integrated this with my main site, by just adding the reference to YAF.Utils and the inherits="YAF.Utils.YafUserProfile" attribute to my profile provider on the main site.

But now I'm trying to also integrate BugNET into the mix. BugNET has the following customization of their membership implementation:

<membership defaultProvider="ExtendedSqlMembershipProvider">
    <providers>
        <clear />
        <add name="ExtendedSqlMembershipProvider" type="BugNET.Providers.MembershipProviders.ExtendedSqlMembershipProvider, BugNET.Providers.MembershipProviders.ExtendedSqlMembershipProvider" connectionStringName="BugNET" description="Extended Membership API" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="BugNET" requiresUniqueEmail="false" passwordFormat="Encrypted" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
    </providers>
</membership>
<profile enabled="true" automaticSaveEnabled="false" defaultProvider="MyProfileProvider">
    <providers>
        <clear />
        <add name="MyProfileProvider" type="Altairis.Web.Providers.SimpleSqlProfileProvider, Altairis.Web.Providers" connectionStringName="BugNET" tableName="BugNet_UserProfiles" keyColumnName="UserName" lastUpdateColumnName="LastUpdate" />
    </providers>
    <properties>
        <add name="FirstName" type="String" customProviderData="FirstName;nvarchar;100" />
        <add name="LastName" type="String" customProviderData="LastName;nvarchar;100" />
        <add name="DisplayName" type="String" customProviderData="DisplayName;nvarchar;150" />
        <add name="IssuesPageSize" type="Int32" defaultValue="10" customProviderData="IssuesPageSize;int" />
        <add name="NotificationTypes" type="String" defaultValue="Email" customProviderData="NotificationTypes;nvarchar;255" />
        <add name="PreferredLocale" type="String" defaultValue="en-US" customProviderData="PreferredLocale;nvarchar;50" />
  <add name="SelectedIssueColumns" type="String" defaultValue="" customProviderData="SelectedIssueColumns;nvarchar;50" />
    </properties>
</profile>

In what way should I merge all three web.configs?

My goal is to have the following application structure:

  • www.website.com [Main site]
  • forum.website.com YAF.NET
  • tracker.website.com BugNET

And all three integrated under the same ASP.NET Membership model.

In order to accomplish this I obviously need to

  1. Use the same machine key in all web config files, or so I've read?
  2. I think there was something about telling all three applications what the "web root" was? As in, setting it to "www.website.com"
  3. Merge the membership profiles, how would I achieve this, I've read somewhere that YAF's implementation of inheriting from their custom profile provider overrides whatever is put into the properties node of the profile section. I have no problem editting their implementation, or source code. Should I perhaps edit into YAF.Utils.YafUserProfile the custom properties that are in BugNET's implementation, and maybe also rename it as something more adequate, and perhaps put it in my main website solution?
  4. What about the "extended membership provider" BugNET seems to be using? should I just test this out as-is and find out if they are compatible? Using different implementations in different solutions, is that compatible?
  5. Is there anything else I might be missing?

On an additional note I should mention that I'm intending on having a special folder called App_Shared, which will in the main website project, and an svn-external to both YAF.NET and BugNET. There, I intend to place a Base master page all three applications should inherit from, so I can share some very basic details like a header, a footer, and a SiteMap.

All help is welcome, thanks!

bevacqua
  • 47,502
  • 56
  • 171
  • 285

1 Answers1

0

Not a direct answer, But Dave Burk has done it perfectly in Sueetie. It doesn't contain Bug.Net but It contains YAF, BlogEngine.Net, Screwturn Wiki and Gallery Server Pro. The source is free. download it and use it as a template.

Kamyar
  • 18,639
  • 9
  • 97
  • 171