NEW and IMPROVED! Sub-portals, Mini domains, or whatever you want to call the ability to use common HTML for unlimited number of CUSTOMERS. Maintain one PORTAL for many customers and domain names.

This module allows you to have many domains pointing to one portal and share skin, artwork and most of the content.

This Custom Module is useful for:

Shopping carts, and any content to many different users how sell similar products and services.

Hoisting for users with limited skills for editing and changing content on there website.

Here is how it works: only 2 modules to setup

SAMPLE1

 SAMPLE2


1) NEW Automatically add all of the users to one DNN portal that you want to share similar content.  

2) NEW Automated sign up process allows user to immediately adding content to there new website (using the UPS module).

3) Place the subPortalsAdmin (administration module) on a tab that only registered users and administrators can view.

  4) Create users and in the administration module assign a domain to the user login. 

   5) NEW Subportal clients can use "username.YourSubportalDomainName.com" until or in place of using a domain name.  

I would suggest using the Ezcam UPS User registration module for this.

   7) Place the subPortalHTML module on one tab and select “show on all tabs” You will now have unique HTML content on every tab for every different domain.

7) You must manually add the users domain to the DNS for the server. (can use username.domainName until resolved)

8) NEW Users can choose a unique skin for their subportal.

9) NEW Subportal Banner module.

  These values can be used as variables and also as HTML

  Code sample:

<%@ Register TagPrefix="dnn" TagName="SubPortalObject" src="~/DesktopModules/SubPortalsAdmin/SubPortalSkin.ascx"%>
<%@ Import Namespace="SubPortal" %>

<%

Dim _portalSettings As PortalSettings = CType(HttpContext.Current.Items("PortalSettings"), PortalSettings)

 

Dim currentSubDomain As String=Request.ServerVariables("HTTP_HOST")

Dim skinName as string = SubPortalName

Dim SkinColor as string = SubPortalColor

'Dim skinImage as string = SubPortalImage

Dim skinSlogan as string = SubPortalSlogan

Dim skinWelcome as string = SubPortalWelcome

Dim skinAddress as string = SubPortalAddress

Dim skinPhone as string = SubPortalPhone

Dim skinEmail as string = SubPortalText1   ‘ use these fields for what ever you want.

Dim skinDealerName as string = SubPortalText2

Dim skinStyle as string = SubPortalText3

%>

  You can then write the variables to the skin by inserting, say: <% = skinText3 %> where you want the text to appear in the HTML section of the skin.

Or

You can insert :

<dnn:SubPortalObject ObjectType=”slogan” runat=”server” id=”skcolor” />

So it is pretty simple to setup and use and comes with a sample skin.

Technical documentation

Administration Modules

            The Sub Portal Administration module - consist of two modules.  
           
They are as follows:

1.)  Sub Portal Creation and Maintenance interface.

2.)  HTML Control - Simple one that USERS can use to maintain there own content. VIEW SAMPLE

3.) Sub Portal Contact - Customers can send email to all sub portal users. VIEW SAMPLE

4.) Sub Portal TTT photo gallery - Free to you.  

5.) Sub Portal Feedback - VIEW SAMPLE

6.) Sub Portal Announcements - Each site can have different announcements.  VIEW SAMPLE

7.) Sub Portal image - place this on a tab and the image for each different domain will be displayed. Users can upload images via the admin module.

8) Sub Portal Banners !

 

To install these controls, simply upload into the DotNetNuke 2.1.2 portal the file, SubPortals.Zip.  This file contains both modules.  Once the upload is completed, two new modules will be available.  One module will allow the creation of a Sub Portal, the other is used for display any HTML complaint data on any page.

 

Administration Module

 After adding the Administration module, called SubPortals, you will see link choices.  These choices are Edit Sub Portals, and Edit My Fields. 

To add a new Sub Portal, you must first have created the Administrator user for the sub-portal.  Click on the link called Edit Sub Portals.  On the next screen, you will have several fields to fill in.  Each one is described below:

Sub Portal URL - This is drop down selection of all the current sub portals you have defined.  There is also a choice for New Sub Portal.  This is selection you make if you want to create a new sub portal.

Domain Name - This entry will accept the name(s), comma separated, of the domains you want associated with this sub portal.

Administrator - This is name of the user id within the portal that will have the ability to modify these settings after it is created.  They will also have the ability to modify the Sub Portal HTML modules.

Color - This is a list of available colors for the sub portal.  This list can be edited by adding colors the Colors.xml available in the ~/DesktopModules/SubPortals directory

Skin - This allows subportal users to choose a particular skin for there subportal ! 

 

The rest of the fields are used in the Skin object which is described later.

  The sub portal is created or modified by clicking on Update.  Cancel will discard all changes.

Sub Portal HTML Module

            This module can be placed anywhere, on any tab within the sub portal.  Each time it is placed, it has its own ability to have unique HTML information associated with it.  The HTML can be entered using the Free Text Box, which makes HTML entry extremely easy to do.

Skin Module

            The Skin module is contained in the zip file entitled SubPortalSkin.Zip.  This must be uploaded after the Sub Portal Admin modules.  This skin object can be placed several times on the same skin.  Each time, it can have a unique object type, which makes it display different information. 

How to Add the Skin Object

            One line of code is required at the top of the ascx or html file for the skin.  This line is:

<%@ Register TagPrefix=”dnn” TagName=”SubPortalObject” src=”~/DesktopModules/SubPortalsAdmin/SubPortalSkin”%>

 

In order to use the object, the following code must be added where you want it to be used:

<dnn:SubPortalObject ObjectType=”xxxxx” runat=”server” id=”yyyyy” />

 

xxxxx - This is the type of information you want to display.  The following values are valid:

a.)  Color

b.)  Name

c.)  Slogan

d.)  Welcome

e.)  Address

f.)   Phone

g.)  Text1 ->Text7

yyyyy - Only needs to be a unique ID

You can also provide a Css Class option that will assist in the presentation of the skin information.

Global Variables Available

            The following Global Variables are available also:

a.)   SubPortalColor

b.)   SubPortalName

c.)   SubPortalSlogan

d.)   SubPortalWelcome

e.)   SubPortalAddress

f.)     SubPortalPhone

g.)   SubPortalText1 - SubPortalText7

h.)      SubPortalImage

  All are returned as String data types.

 

Sample Skin with splash page built in:

///////////////////
<%@ Control language="vb" CodeBehind="~/admin/Skins/skin.vb" AutoEventWireup="false" Explicit="True" Inherits="DotNetNuke.Skin" %>

<%@ Register TagPrefix="dnn" TagName="Menu" Src="~/admin/Skins/Menu.ascx"%>

<%@ Register TagPrefix="dnn" TagName="Login" Src="~/admin/Skins/Login.ascx"%>

<%@ Register TagPrefix="dnn" TagName="Logo" Src="~/admin/Skins/Logo.ascx"%>

<%@ Register TagPrefix="dnn" TagName="BreadCrumb" Src="~/admin/Skins/BreadCrumb.ascx"%>

<%@ Register TagPrefix="dnn" TagName="Copyright" Src="~/admin/Skins/Copyright.ascx"%>

<%@ Register TagPrefix="dnn" TagName="DotNetNuke" Src="~/admin/Skins/DotNetNuke.ascx"%>

<%@ Register TagPrefix="dnn" TagName="Privacy" Src="~/admin/Skins/Privacy.ascx"%>

<%@ Register TagPrefix="dnn" TagName="Terms" Src="~/admin/Skins/terms.ascx"%>

<%@ Register TagPrefix="dnn" TagName="HOSTNAME" Src="~/Admin/Skins/HostName.ascx" %>

<%@ Register TagPrefix="dnn" TagName="SubPortalObject" src="~/DesktopModules/SubPortalsAdmin/SubPortalSkin.ascx"%>

<%@ Import Namespace="DotNetNuke" %>

<%@ Import Namespace="System.IO" %>

<%@ Import Namespace="SubPortal" %>

 

<%

Dim _portalSettings As PortalSettings = CType(HttpContext.Current.Items("PortalSettings"), PortalSettings)

 

Dim currentSubDomain As String=Request.ServerVariables("HTTP_HOST")

Dim skinName as string = SubPortalName

Dim SkinColor as string = SubPortalColor

'Dim skinImage as string = SubPortalImage

Dim skinSlogan as string = SubPortalSlogan

Dim skinWelcome as string = SubPortalWelcome

Dim skinAddress as string = SubPortalAddress

Dim skinPhone as string = SubPortalPhone

Dim skinText1 as string = SubPortalText1

Dim skinText2 as string = SubPortalText2

Dim skinText3 as string = SubPortalText3

if request.querystring("color") <> "" then

SkinColor = request.querystring("color")

end if

 

'HERE IS THE SPLASH PAGE

                IF (_portalSettings.ActiveTab.TabName = "Home" or _portalSettings.ActiveTab.TabName = "null") then

               

                'If Cache("skincontents") Is Nothing Then

                Dim skinFNAME as String = Server.MapPath("/Portals/_default/Skins/Real/intro.htm")

                                Dim objStreamReader as StreamReader

                objStreamReader = File.OpenText(skinFNAME)

                                Dim skincontents as String = objStreamReader.ReadToEnd()

                                skincontents = skincontents.Replace("images", SkinColor)

                                skincontents = skincontents.Replace("#DOMAIN#", currentSubDomain)

                                skincontents = skincontents.Replace("#NAME#", skinName)

                                skincontents = skincontents.Replace("#COLOR#", skinText2)

                                skincontents = skincontents.Replace("#WELCOME#", skinWelcome)

                                skincontents = skincontents.Replace("#SLOGAN#", skinSlogan)

                                objStreamReader.Close()

                                Dim depends As New System.Web.Caching.CacheDependency _

          (Server.MapPath("/Portals/_default/Skins/Real/intro.htm"))

         

                'Cache.Insert("skincontents", skincontents, depends, _

                '       DateTime.MaxValue, _

                '      TimeSpan.FromMinutes(60))

                'End If

                'Response.Write(CType(Cache("skincontents"), String))

               

Response.Write(skincontents)

 

ELSE

  'HERE IS NORMAL PAGE LOAD

Dim leftimage as String = "/Portals/_default/Skins/Real/homes.jpg"

if  (_portalSettings.ActiveTab.TabName <> "null") then

                if  (_portalSettings.ActiveTab.TabName <> "Home") then

                                 Dim str as String = _portalSettings.ActiveTab.TabName

                                 str = str.Remove(0, 4)

                                leftimage = "/Portals/_default/Skins/Real/" & str & ".jpg"

                                'if ( _portalSettings.ActiveTab.TabName = "About Me") then

                                                                '// this is where subportal ID.jpg goes" & vbCrLf)

                                'else

                                                                leftimage = "/Portals/_default/Skins/Real/" & str & ".jpg"

                                'end if                     

                End if

               

End if

if ( leftimage = "/Portals/_default/Skins/Real/N SUBS.jpg" ) then

leftimage = "/Portals/_default/Skins/Real/homes.jpg"

end if

%>

<html>

<head>

<link href="Portals/_default/Skins/Real/<%= SkinColor %>/text.css" rel="stylesheet" type="text/css">

</head>

                <body id="Body">

                                <div align="center">

                                                <table width="800" height="100%" border="0" cellpadding="0" cellspacing="0" background="Portals/_default/Skins/Real/<%= SkinColor %>/bk-page.jpg"

                                                                ID="Table1">

                                                                <!--DWLayoutTable-->

                                                                <tr>

                                                                                <td width="12" height="7" valign="top"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/colt1.gif" width="12" height="7"></td>

                                                                                <td colspan="4" valign="top" background="Portals/_default/Skins/Real/<%= SkinColor %>/sw-sus.gif"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/sw-sus.gif" width="10" height="7"></td>

                                                                                <td width="13" valign="top"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/colt2.gif" width="13" height="7"></td>

                                                                </tr>

                                                                <tr>

                                                                                <td rowspan="9" valign="top" background="Portals/_default/Skins/Real/<%= SkinColor %>/sw-s.gif"><!--DWLayoutEmptyCell-->

                                                                                                &nbsp;</td>

                                                                                <td height="10" colspan="4" valign="top" bgcolor="#ffffff"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/alb.gif" width="9" height="10"></td>

                                                                                <td rowspan="9" valign="top" background="Portals/_default/Skins/Real/<%= SkinColor %>/sw-d.gif"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/sw-d.gif" width="13" height="4"></td>

                                                                </tr>

                                                                <tr>

                                                                                <td width="9" rowspan="7" valign="top" bgcolor="#ffffff"><!--DWLayoutEmptyCell-->

                                                                                                &nbsp;</td>

                                                                                <td height="98" colspan="2" valign="top"><table width="823" border="0" cellpadding="0" cellspacing="0" background="Portals/_default/Skins/Real/<%= SkinColor %>/bk-menu.jpg"

                                                                                                                ID="Table2">

                                                                                                                <!--DWLayoutTable-->

                                                                                                                <tr>

                                                                                                                                <td width="137" height="6"></td>

                                                                                                                                <td width="137"></td>

                                                                                                                                <td width="137"></td>

                                                                                                                                <td width="137"></td>

                                                                                                                                <td width="273" colspan="2" align="right"></td>

                                                                                                                </tr>

                                                                                                                <tr>

                                                                                                                                <td height="6" colspan="6" valign="top" width="821"><div align="right"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/dot-line-top.jpg" width="394" height="6"></div>

                                                                                                                                </td>

                                                                                                                </tr>

                                                                                                                <tr>

                                                                                                                                <td height="3" width="137"></td>

                                                                                                                                <td width="137"></td>

                                                                                                                                <td width="137"></td>

                                                                                                                                <td width="137"></td>

                                                                                                                                <td width="137"></td>

                                                                                                                                <td width="138">&nbsp;</td>

                                                                                                                </tr>

                                                                                                                <!--DWLayoutTable-->

                                                                                                                <tr>

                                                                                                                                <td height="8" valign="top" colspan="6" width="821"><dnn:menu id="dnnMenu" runat="server" /></td>

                                                                                                                </tr>

                                                                                                                <tr>

                                                                                                                                <td id="TopPane" runat="server" vAlign="top" align="center" colSpan="6"  width="100%" background="Portals/_default/Skins/Real/<%= SkinColor %>/bk-page.jpg">&nbsp;</td>

  

                                                                                                                </tr>

                                                                                                </table>

                                                                                </td>

                                                                                <td width="9" rowspan="7" valign="top" bgcolor="#ffffff"><!--DWLayoutEmptyCell-->

                                                                                                &nbsp;</td>

                                                                </tr>

                                                                <tr>

                                                                                <td height="6" colspan="2" valign="top"><div align="right"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/dot-line-jos.gif" width="394" height="6"></div>

                                                                                </td>

                                                                </tr>

                                                                <tr>

 

<TD vAlign=top width="100%" colSpan=2 height=46>

<OBJECT id=flash-text codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0 height=46 width="100%" classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>

<PARAM NAME="FlashVars" VALUE="textField= &nbsp;&nbsp;<%= skinName %>&slogan=<%= skinSlogan %>&color=<%= skinText2 %>">

<PARAM NAME="Movie" VALUE="/Portals/_default/Skins/real/<%= SkinColor %>/flash-text.swf">

<PARAM NAME="Src" VALUE="/Portals/_default/Skins/real/<%= SkinColor %>/flash-text.swf">

<PARAM NAME="WMode" VALUE="Window">

<PARAM NAME="Play" VALUE="1">

<PARAM NAME="Loop" VALUE="1">

<PARAM NAME="Quality" VALUE="High">

<PARAM NAME="AllowScriptAccess" VALUE="always">

<PARAM NAME="Scale" VALUE="100%">

<PARAM NAME="BGColor" VALUE="">

<embed src="/Portals/_default/Skins/real/<%= SkinColor %>/flash-text.swf" quality="high" bgcolor="#A38877" WIDTH="790" HEIGHT="46" NAME="flash-text" ALIGN="left" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">

</OBJECT></TD>

                                                                </tr><tr>

                                                                                <td height="19" colspan="2" valign="middle"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/dot-line-jos.gif" width="394" height="6"></td>

                                                                </tr><tr>

                                                                                <td width="205" rowspan="3" valign="top"><table width="213" border="0" cellpadding="0" cellspacing="0" ID="Table3">

                                                                <tr>

<td id="LeftPane" vAlign="bottom" align="right" height="100%" width="213">

<TABLE height="100%" cellSpacing=0 cellPadding=0 width=171 border=0>

 

<TR>

<TD vAlign=top width=205 height=10><IMG height=10 src="Portals/_default/Skins/Real/<%= SkinColor %>/img-line-top.gif" width=204></TD></TR>

<TR>

<TD vAlign=top width=205 height=100%><IMG height=218 src='<%=leftimage %>' width=199 name=leftimage></TD></TR>

<TR>

<TD vAlign=top width=205 height="50%"><IMG height=14 src="Portals/_default/Skins/Real/<%= SkinColor %>/img-line-bot.gif" width=205 align=middle>&nbsp; <A href="/Default.aspx?tabid=451">&nbsp;&nbsp;My Listings &gt;&gt;</A><BR></TD></TR>

<TR>

<TD id="LeftPaneBot" runat="server" vAlign=bottom width=205 height="100%"></TD></TR>

<TR>

<TD vAlign=bottom width=205 height="100%"><FONT face="Verdana, Arial, Helvetica, sans-serif" color=#cccccc size=1>&nbsp;&nbsp;2004 © <dnn:SubPortalObject Objecttype="Name" runat="server" id="SubPortalName1" /><BR>&nbsp;&nbsp;Phone: <dnn:SubPortalObject Objecttype="Phone" runat="server" id="SubPortalPhone1" /><BR></FONT>&nbsp;<IMG height=95 src="/Portals/_default/Skins/Real/copac-intreg.gif" width=139>

<dnn:login id="dnnLogin" runat="server" CssClass="text" />

</TD>

</TR>

</TABLE>

</td>

</tr>

</table>

</td>

<td id="ContentPane" runat="server" vAlign="top" align="left"  width="595">                                                      

</td>

     

                                                                </tr>

                                                                <tr>

                                                                                <td height="22" valign="bottom">

                                                                                                <div align="right"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/dot-line-jos.gif" width="394" height="6"></div>

                                                                                </td>

                                                                </tr>

                                                                <tr>

                                                                                <td height="23" valign="top"><div align="right" class="text-block">

                                                                                <font color="#ffffff" size="2"><dnn:SubPortalObject Objecttype="Address" runat="server" id="SubPortalAddress1" /></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

                                                                                <a href='http://<%= currentSubDomain %>'><font color="#ffffff" size="2">home</font></a>&nbsp;&nbsp;

                                                                                                </div>

                                                                                </td>

                                                                </tr>

                                                                <tr>

                                                                                <td height="10" colspan="4" valign="top" bgcolor="#ffffff"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/alb.gif" width="9" height="10"></td>

                                                                </tr><tr>

                                                                                <td height="10" valign="top"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/colt4.gif" width="12" height="10"></td>

                                                                                <td colspan="4" valign="top" background="Portals/_default/Skins/Real/<%= SkinColor %>/sw-j.gif"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/sw-j.gif" width="4" height="10"></td>

                                                                                <td valign="top"><img src="Portals/_default/Skins/Real/<%= SkinColor %>/colt3.gif" width="13" height="10"></td>

                                                                </tr>

                                                </table>

                                </div>

                </body>

</html>

 

<%IF _portalSettings.ActiveTab.TabName = "<br>Finance" then %>

<SCRIPT language="JScript">

function something(number)

{

BLA<BLA<BLA

}

}</SCRIPT>

<% end if

end if%>

///////////////////