DotNetNuke Hosting with ASPHostPortal.com

BLOG about DotNetNuke CMS, latest technology and Special DotNetNuke Hosting Package with ASPHostPortal.com

DotNetNuke Hosting with ASPHostPortal.com :: Security Actions to Safeguard Your DotNetNuke CMS

clock Desember 18, 2014 05:46 by author Ben

DNN Security Out Of the Box
DNN (DotNetNuke) is currently the premier CMS of the US Government as a result of it's robust security and integration with current safety functions. Nevertheless even DNN is not totally excellent out of the box, and there are numerous additional safety attributes that can be put in location depending on your particular DNN eCommerce requirements. These security suggestions variety from easy to complex and cover many various aspects of possible security risks. No guide can accurately assess your particular safety requirements. In the event you would prefer to adequately secure your DNN web site, contact Clarity these days.

Improve Password Complexity and Use Specifications

Increasing password complexity is among the easiest and most successful methods to significantly boost security. Probably the most common and successful requirements are length and complexity. eight or much more characters along with a minimum of a single capital letter, one lowercase letter and 1 number is a good begin. You are able to contemplate requiring a non-alphanumeric character as well as putting restrictions on how lengthy a password may be used. Even with powerful password needs, you might be only preventing against brute force attacks.

Modify 'Host' and 'Admin' Passwords and Limit Their Use

Altering the Host and Admin password to incredibly complicated passwords is the single most successful step for safety, as each accounts are recognized to exist and are the most vulnerable to brute force attacks as a result of that. Make sure that any password you set for these accounts exceeds the password recommendations listed above. You should also think about limiting access to these accounts, as they may be essentially the most powerful accounts and would leave your site essentially the most vulnerable if they have been compromised.

Hash Password Storage

By default DotNetNuke utilizes encryption of user passwords. This provides a good degree of protection, and enables you to retrieve your password as encryption is a reversible operation. Nonetheless, should you usually do not want to help password retrieval, or want to make certain maximum protection, you may select to utilize Hashing as an alternative. Hashing is really a non-reversible operation, so even if your database is accessed or stolen, a hacker can't reverse engineer your password.

 



DotNetNuke 7.3 Hosting with ASPHostPortal.com :: Set Cache in DNN application/ site

clock Desember 9, 2014 07:44 by author Ben

How to set Cache in DNN application/ site

Today I will show you how to set cache in DNN application/site. It is very important to set cache timing for your applications. In DNN application/ site you can set cache in host setting page. To do that you need to login with the application/ site with host login and go to “Host Settings” page. Hit the “Advance Settings” tree and then click on “Performance Settings” link. Then you can find a dropdown where all the cache types are listed, name as below,

  • No Caching: 0
  • Light Caching: 1
  • Moderate Caching: 3
  • Heavy Caching: 6

I will mention later on about the number associated with the cache name, its importance  and where you need to choose a cache type, later in this tip.
This is the screenshot of the “Performance Settings” panel.

Below is the code I have picked from hostsetting.aspx file (admin\host\hostsettings.ascx).. To set the cache time of your site you need to set the value with the cache name which will render in the host settings page under performance settings panel.

<asp:dropdownlist runat="server" Width="150">
<asp:listitem resourcekey="NoCaching" value="0">No Caching</asp:listitem>
<asp:listitem resourcekey="LightCaching" value="1">Light Caching</asp:listitem>
<asp:listitem resourcekey="ModerateCaching" value="3">Moderate aching</asp:listitem>
<asp:listitem resourcekey="HeavyCaching" value="6">Heavy Caching</asp:listitem>
</asp:dropdownlist>

The value in dropdown ranges from 0 to 6. The code above takes the value set in the dropdown and multiplies it by 20 to determine the cache duration



DotNetNuke 7.3 Hosting - ASPHostPortal.com :: How To Fixing PortalSettings issue on multilingual Websites in DNN 7.3.2

clock Desember 5, 2014 08:33 by author Ben

How To Fixing PortalSettings issue on multilingual Websites in DNN 7.3.2

Today I will share about How to fixing issue on multilingual website in DNN 7.3.2.
DNN 7.3.2 enhanced the stored procedure for saving Site Settings to add multilanguage support, unfortunately it missed to include proper handling of language specific settings within the business layer and some other aspects. As effect, DNN 7.3.2 fails to load site settings for multilingual sites and renders an error message.
I created a full solution to add localization support for website settings, which is scheduled to be included with DNN 7.4.0, meanwhile you may run the script below from Host > SQL, in order to fix this issue.

"NOTE: DO NOT APPLY TO DNN 7.4.0 OR LATER"

This fix is also included in TurboDNN 0.9.3 ff. - the solution to improve database performance of DNN, which might be downloaded for free from here. (Please take the time to read instructions enclosed.)

-- ensure, last modified is not Null (should not exist)
UPDATE {databaseOwner}[{objectQualifier}PortalSettings]
 SET   LastModifiedOnDate = '2000-01-01'
 WHERE LastModifiedOnDate is Null
GO
IF OBJECT_ID(N'{databaseOwner}[{objectQualifier}GetPortalSetting]', N'P') IS NOT NULL
    DROP PROCEDURE {databaseOwner}[{objectQualifier}GetPortalSetting]
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}GetPortalSetting]
    @PortalID    Int,     -- Not Null
    @SettingName nVarChar(50), -- Not Null
    @CultureCode nVarChar(50) -- not Null
AS
BEGIN
 SELECT TOP (1)
 SettingName,
 CASE WHEN Lower(SettingValue) Like 'fileid=%'
 THEN {databaseOwner}[{objectQualifier}FilePath](SettingValue)
 ELSE SettingValue
 END   AS SettingValue,
 CreatedByUserID,
 CreatedOnDate,
 LastModifiedByUserID,
 LastModifiedOnDate,
 CultureCode
 FROM  {databaseOwner}[{objectQualifier}PortalSettings]
 WHERE PortalID    = @PortalID
   AND SettingName = @SettingName
 ORDER BY LastModifiedOnDate DESC
END
GO
IF OBJECT_ID(N'{databaseOwner}[{objectQualifier}GetPortalSettings]', N'P') IS NOT NULL
    DROP PROCEDURE {databaseOwner}[{objectQualifier}GetPortalSettings]
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}GetPortalSettings]
    @PortalId    Int,            -- not Null!
    @CultureCode nVarChar(20)    -- not Null!
AS
BEGIN
 SELECT
 SettingName,
 CASE WHEN Lower(SettingValue) Like 'fileid=%'
 THEN {databaseOwner}[{objectQualifier}FilePath](SettingValue)
 ELSE SettingValue
 END   AS SettingValue,
 CreatedByUserID,
 CreatedOnDate,
 LastModifiedByUserID,
 LastModifiedOnDate,
 CultureCode
 FROM  {databaseOwner}[{objectQualifier}PortalSettings] P
 JOIN  (SELECT PortalID, SettingName SN, Max(LastModifiedOnDate) MD
        FROM {databaseOwner}[{objectQualifier}PortalSettings]
 WHERE PortalID = @PortalId
 GROUP BY PortalID, SettingName) S
   ON P.PortalID = S.PortalID AND P.SettingName = S.SN AND P.LastModifiedOnDate = S.MD;
END
GO

UPDATE: this fix has been included with DNN 7.3.4, you shouldn't need it, if you upgraded to 7.3.4 and don't apply it to DNN 7.4.0 or later.



ASPHostPortal.com to Launch New Data Center in Hong Kong

clock November 25, 2014 08:07 by author Ben

ASPHostPortal.com to Start New Data Center in Hong Kong on November 2014

ASPHostPortal is known for credible and loyal hosting solutions. Apart from the reliability in the ASPHostPortal Uptime, which features 99.9 per cent common uptime, ASPHostPortal also provides outstanding data center which displays ASPHostPortal large speed and large overall performance web hosting package deal. Lately, ASPHostPortal.com launch its new Data Center in Hons Kong on November 2014 with space for more than 10.000 physical servers, and allowing customers’ to satisfy their  data residency needs.



The brand new facility will provide consumers and their finish customers with ASPHostPortal.com providers that meet up with in-country info residency needs. It will also complement the existing ASPHostPortal.com Asia (Singapore) Data Center. The Hong Kong Data Center will offer the full variety of ASPHostPortal.com website hosting infrastructure services, which includes bare steel servers, virtual servers, storage and networking.

ASPHostPortal offers the perfect mixture of affordability and dependability. They have an excellent uptime history with numerous months this 12 months boasting a lot more than 99.9% typical uptime. Their hosting bundle displays velocity and efficiency. Their information heart might take significantly from the credit rating for such superb providers. The brand new data center will allow clients to copy or integrate data between Asia Data Center with higher transfer speeds and unmetered bandwidth (at no charge) in between amenities.

“With ASPHostPortal, picking the Data Center area is really a totally free function and alternative to all consumers. The shopper just chooses US, Europe, Asia or Australia. It is straightforward, intuitive and convenient. The choice is totally free, and there will never be any other cost to the person related with this choice,” said Dean Thomas, Manager at ASPHostPortal.com.

Customers that have any questions on the feature and also the choice which is most suitable for his or her functions ought to truly feel totally free to get in touch with ASPHostPortal via their 24/7/365 customer assistance crew. ASPHostPortal may help you select the right choice that will best fit your needs.

To find out more about new data center in Hong Kong, please visit http://asphostportal.com/Hosting-Data-Center-HongKong.

About ASPHostPortal.com
:

ASPHostPortal.com
is a hosting business that greatest support in Windows and ASP.NET-based hosting. Solutions consist of shared web hosting, reseller hosting, and SharePoint hosting, with specialty in ASP.NET, SQL Server, and architecting very scalable solutions. Like a top little to mid-sized company web hosting provider, ASPHostPortal.com attempt to supply essentially the most technologically advanced hosting options obtainable to all customers across the world. Security, reliability, and efficiency are in the core of web hosting operations to make certain every site and/or software hosted is extremely secured and performs at ideal stage.

 



DotNetNuke 7.3 Hosting with ASPHostPortal.com :: Developing a Webservice in DotNetNuke 7.3

clock November 21, 2014 05:30 by author Ben

I have recently been assigned to built a DotNetNuke web service to permit a windows application (or any sort of net client for instance) the flexibility to control DotNetNuke person accounts (create, change roles, delete, retrieve e mail address, and so forth.).

 


Since I had a tough time locating an accurate code sample or documentation that really applies to DotNetNuke 7.3 and accessing it without having being earlier logged in to DotNetNuke, it absolutely was difficult to constructed anything at all. I ultimately found out how to do it properly so I hard I would put my attempts to some use and write a blog publish explaining how you can get it done step by stage.

That said, let's begin by the fundamentals and just create a publicly available web services that permits anybody to ping the net service and acquire a pong again. For that we are going to use the new DotNetNuke 7 Providers Framework which makes it fairly simple should you know how to utilize it.

In order to create a net support that will work within DotNetNuke 7, you will need to fireplace up Visual Studio and create a class Library project (c# or VB but all illustrations listed here will be in c#).

That done, we will then reference some needed DotNetNuke 7 required libraries (making use of the Add Reference dialog box), here's the list:

DotNetNuke.dll
DotNetNuke.Web.dll
System.Net.Http.dll
System.Net.Http.Formatting.dll
System.Web.Http.dll

Then we also need to reference the System.Web class from the .NET tab of the same dialog box.

Finally, we neet to set the output path of the project to the DotNetNuke bin directory and we are ready to code.

Here is the code, the explanations follow:

using System.Net;
using System.Net.Http;
using System.Web.Http;
using DotNetNuke.Web.Api;
 
namespace MyService
{
    public class PingController : DnnApiController
    {
        [AllowAnonymous]
        [HttpGet]
        public HttpResponseMessage PublicPing()
        {
            return Request.CreateResponse(HttpStatusCode.OK, "Pong!");
        }
    }
 
    public class RouteMapper : IServiceRouteMapper
    {
        public void RegisterRoutes(IMapRoute mapRouteManager)
        {
            mapRouteManager.MapHttpRoute("MyService", "default", "{controller}/{action}", new[]{"MyService"});
        }
    }
}

  1. We merely start with some using statements for our needs as demonstrated previously mentioned
  2. We develop a namespace for our service and no matter what name we use listed here will be part of the url. I utilized MyService just for this instance but use any name which makes perception for your services.
  3. Now we create a public class for our controller. You'll be able to create numerous controllers if you want to and the controller is just a bunch of related actions that make feeling to group with each other. In my genuine project I have a PingController for testing functions, a UsersController for almost any steps that relate to user accounts and so forth. Just utilize a identify that makes feeling because it will even present up in the url. Two things for being careful right here:

    • The identify of one's controller should end using the term Controller but only what will come just before it will show inside the url, so for PingController, only Ping will show in the url route.
    • It should inherit DnnApiController so it'll use the DotNetNuke Providers Framework.
  4. Then we create the actual motion, inside our case, PublicPing. It's just a straightforward technique which return an HttpResponseMessage and may have a handful of characteristics. By default the brand new providers framework will respond only to host consumers and you also must explicitly enable other access rights if necessary, in this case the [AllowAnonymous] helps make this technique (or action if you prefer) obtainable to anyone with out credentials. The next attribute, [HttpGet] can make this action reply to HTTP GET verb, which can be usually used when requesting some date in the web server.
  5. Finally in that action, you insert whatever code you action needs to do, in this case just return the string "Pong!", just remember that you should return an HttpResponseMessage rather than a string or int or other item.

Ok so our controller and motion is done, now we just need to map that to an actual URL and that exactly what the final portion of the earlier code does. In essence this code tells DotNetNuke to map a specific url pattern for the techniques outlined in your course. You can use that code as is simply replacing MyService by no matter what your support title is.

Testing:
That is all there is certainly to it, your services is prepared! To test it, first compile it, then just navigate to http://yourdomain/DesktopModules/MyService/API/Ping/PublicPing and you should see "Pong!" inside your browser like a response.

Passing parameters

Ok, so the basic code above is working but it doesn't do anything useful. Lets add something more useful by creating an action that will give us the email address for a specific user id.

Again, here's the code and the explanations will follow (place the code inside the same namespace as the previous one):

public class UsersController : DnnApiController
    {
        [RequireHost]
        [HttpGet]
        public HttpResponseMessage GetEmail(int userid)
        {
            DotNetNuke.Entities.Users.UserInfo ui;
            ui = DotNetNuke.Entities.Users.UserController.GetUserById(PortalSettings.PortalId, userid);
            return Request.CreateResponse(HttpStatusCode.OK, ui.Email);
        }
    }


Initial we build a UsersController course which will hold all actions related to person accounts, it isn't completely required, you'll be able to have numerous steps within the same controller, nonetheless because this motion is not in any respect connected to our PingController, let'a create a new one more descriptive.

We then create a GetEmail motion (method) which will accept a userid parameter. The [RequireHost] parameter listed here will make it accessible only to host customers, we are going to see afterwards other authentication options.

The code inside the approach alone is fairly significantly self explanatory. The only interesting factor to notice listed here is the fact that because our course inherits DnnApiController, we already have a PortalSettings item obtainable. That is the big benefit of producing use of the DotNetNuke Solutions Framework. You'll have a ModuleInfo object to represent your module (if there is 1 using the identical identify as your support, which can be not essential such on this scenario), a PortalSettings object that signifies the portal at the domain title utilized to accessibility the support (portal alias) and at last a UserInfo item symbolizing the person that accessed the web services.

Testing:
If we now navigate to http://yourdomain/MyService/API/Users/GetEmail?userid=2 you need to receive the email tackle back again from the server unless of course obviously that userid does not exist, ensure that you check having a userid that truly exists for that portal. Should you exactly where not formerly linked having a host account, you then will probably be requested for qualifications.

Limiting access to particular roles

Alright, that actually works however, you need to give host qualifications to anyone needing to make use of your webservice. To avoid which you can change [RequireHost] by [DnnAuthorize(StaticRoles="Administrators")] which can limit access to administrators. Much better however, you nevertheless must provide them with an admin account. So the easy method to give only constrained entry would be to create a brand new role in DotNetNuke only for your internet services and substitute Administrators by that specific function title within the authentication parameter.

Utilizing HttpPost : (reply to a comment down bellow)

To answer Massod comment bellow, it's nearly exactly the same thing however, you have to develop an object to contain the posted information.

Let's make a easy ping that makes use of Submit, very first we need to create an object which will contain the posted info this sort of as:

public class FormMessage
    {
        public string Message { get; set; }
    }

Then we create the service method something like this:


public class PingController : DnnApiController
   {
       [AllowAnonymous]
       [HttpPost]
       public HttpResponseMessage PostPing(FormMessage formMessage)
       {
           return Request.CreateResponse(HttpStatusCode.OK, "Pong from POST: message was '" + formMessage.Message + "'.");
       }
   }

note that normally, a post would only return ok and no message, I am just doing this so we can test here.

Now since this is a POST verb, we can't test it by only using url parameters, we need to make an html file with a form to test it out. It would be someting like this:

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Pagetitle>
head>
<body>
    <form action="http://dnndev/DesktopModules/MyService/API/Ping/PostPing" method="POST">
        <label for="message">Message: label><input type="text" name="Message"/>
        <input type="submit" value="Submit"/>
    form>
body>
html>

The crucial thing to not right here is you can not just develop your Publish technique taking a string even when this can be only what you require, you do must create an object which will get your parameters.

Also never overlook that this is only for tests, you usually do not need to make this publicly accessible, you'd probably usually use yet another parameter than [AllowAnonymous] such as [DnnModuleAuthorize(AccessLevel = SecurityAccessLevel.View)] and [ValidateAntiForgeryToken] unless you truly want that for being public.

 



DotNetNuke 7.3 Hosting with ASPHostPortal.com :: Allow Non-Admins to do Web Page Management

clock November 19, 2014 07:14 by author Ben

In DotNetNuke 7.3 the artificial distinctions between Normal and Admin webpages was taken out. All Modules confirmed inside the Admin-Menu can now even be placed on any custom webpage and fundamentally everyone could use them. This informative article gives you directions how you can permit Non-Admins to access the DNN Web page Management and workaround some restrictions.

 


Erik Van Ballegoij presently wrote regarding how to offer non admins accessibility to any admin web page. You can just insert the module like any other into a preferred Page. It’s important to give the desired user(s) Edit Permission on that Web page (not only on that module) otherwise they get an “Access Denied” warning.

Essentially which is it. Users can now edit Page options for Web pages they have edit Permissions to but for no other Pages. There are just two limitations:

  1. Drag and fall to reorder Pages only functions for Directors
  2. Incorporate Webpage(s) only operates for Directors


To get these functionality to operate for Non-Administrators adapt the file at ~/DesktopModules/Admin/Tabs/Tabs.ascx.cs. You’d need to comment out a Safety examine PortalSecurity.IsInRole(PortalSettings.AdministratorRoleName) three times:\

  1. OnInit: remark out the if-Condition (line ~237) and the else statement (~243-247)
  2. CtlPagesNodeDrop: comment out the if-Condition (very first line)
  3. OnCreatePagesClick: remark out the if-Statement (first two strains)


Which is it. I examined it effectively on DNN 7.3.3.

 

 



DotNetNuke 7.3 Hosting with ASPHostPortal.com :: New Google Maps Integration with DotNetNuke 7.3

clock November 11, 2014 05:23 by author Ben

Now you'll be able to add Google maps to posts. Post might have the primary post map, and with tokens you'll be able to include a limiteless quantity of maps to content articles. Maps may be very easily created and edited by way of the in-built Map editor.

Within this blog I'll clarify How you can insert new google maps into DotNetNuke 7.3. Google has up-to-date Google maps to new UI and features.

So will start with Google maps very first.

Click the Google applications on right top facet of one's browser. Open up Google maps appplication.

You will be landed to New Google maps. Type your address or location in the search box. For instance i have added Madame Tussaud Newyork.

Once your location is targeted on google maps.Click on setting at the right bottom side of the map and select share and embed maps.

A modal popup will look on the display with Share hyperlink and Embed map alternative. By this you are able to possess the link in the map to provide to any hyperlinks if required else we can select to embed the map into your site or application. Also you'll be able to shorten the URL if necessary .

Given that we need to embed google maps into DNN we are going to choose Embed maps alternative. After you click on embed maps option you'll have a smaller sized see of maps you've selected i.e in my scenario Madame Tussauds The big apple with ratings, reviews, bigger map choice and obtain directions. You can even bookmark if necessary.

OK once you have got map on Embed maps. Now you can choose the size of the map required based on your requirement. Google offers small, medium, large and custom size.

We can change the size of the maps by using custom size.Google maps also provides option to preview your custom size by clicking on preview option.A new window will be popped out for preview.

For now we will be using Medium as our map size. Will select medium size and copy the iframe provided.

Once iframe is copied will now login to our DNN (DotnetNuke). Add username and password and login to DNN.

Once DNN is logged in. To place our Google maps on our site we need to add a HTML module to our site. This can be added  by navigating to Modules > Add New Module > Selecting Common from the Drop down.

Once common option is selected from drop down options will be narrowed to HTML. Drag the HTML module to your selected pane in my case i am adding module to Content Panel.

Now we have added HTML module to our Content panel. We need to edit content inside our HTML module. This can be completed by clicking on pencil icon existing on the HTML module. In the event you dont have pencil icon navigate to Edit page choice on proper leading corner in the DNN control panel. After pencil icon is clicked click on on edit content.

Once you select Edit Content. A modal popup will appear with all editing option. Initally the editr will be in Design mode change the mode to HTML. This can done just by clicking on HTML option just below the editor.

Once you selected HTML mode. Paste the iframe we copied from Google maps to the HTML editor in DNN. After pasting the iframe to DNN editor save the module by clicking on save button.

Thats it Google maps will be embeded on your DNN page in a following way.

Hope you liked my tutorial.

 



DotNetNuke 7.3 Hosting with ASPHostPortal.com :: Multiple View Controls Within A DotNetNuke Module

clock November 6, 2014 05:42 by author Ben

This is a single that threw me for a long time, nevertheless the remedy is actually quite simple. Easy sufficient that i really don't understand why there is not much more documentation on it.

Here’s the scenario: You've got a module with two, or maybe more, achievable interfaces depending on the web page the module is additional to. The view handle features a blank important area and you cannot have copy crucial fields, blank or in any other case. How can you power the non-blank module control to point out around the page with out further coding?

The answer: make use of the module definitions.

Here’s how.

A number of assumptions very first:

You’ve developed a custom made DotNetNuke module.
You have at the very least two module controls in that module.
You've got a DotNetNuke set up to check on as well as the custom module is installed.

Now stick to these actions to show multiple view controls.

  1. Log in as the host user, open the extensions page, and click the edit icon to edit your module

  2. Your module already has a default definition that typically includes a view, edit and settings control.  The setup looks something like the picture below.  (Note: In editing this image I accidentally shortened the source paths.  The format should be DesktopModules/My Custom Module/View.ascx)

  3. Click the “Add Definition” link next the “Select Definition” drop down.

  4. On the new screen fill in the information to create the new definition and click “Create Definition”.  In this case I’m calling it “Definition 2″, but you’ll want to make your definition names descriptive, or whatever meets your naming convention needs.

  5. Now you’ll have a fresh new module definition to fill out just like the default definition.

  6. You can now add new module controls to the definition.  Click the “Add Module Control” link and fill out the form as a new View control by leaving the “Key” field blank.  Fill in the title field, select the source and leave the Type as “View”.


  7. Update the definition and navigate to the web page in which you would like to incorporate the module. Incorporate the module towards the webpage. In the event you had already additional the module you’ll require to delete it and incorporate it once again or else DotNetNuke will not operate the code to add all of the see controls. Once you incorporate the module you ought to see each check out handle you produced a definition for look around the page as being a individual module occasion. In the event you do not, return and verify you accomplished the steps properly.
  8. At this time whatever check out controls you really don't want to look on the web page, merely delete that instance from the module.

 



DotNetNuke 7.3 Hosting with ASPHostPortal.com :: Develop a Compiled DotNetNuke Module Utilizing the Visual Studio Starter Kit

clock Oktober 30, 2014 06:09 by author Ben

The Visual Studio Starter Kit enables you to create a compiled DotNetNuke module that can be much more compact, more quickly, and hide your supply code from prying eyes. The subsequent instructions can get you started and well in your approach to creating compiled DotNetNuke Modules.


  1. Download the Starter Kit
  2. Open Visual Studio  and create a new project (File -> New Project)

    From the dialogue follow these steps

    • Select Web from the Installed Templates. I use of VB.Net, but they are available in C# too.
    • Pick DotNetNuke Compile Module from your Project Type list.
    • Enter your Module Name
    • Enter the path for your DotNetNuke installation. Your project will be installed within the current set up within the DesktopModules folder and also the dll will likely be place in the bin folder.
    • Click OK
  3. Visual Studio will load up the venture within the Solution Explorer and open the Documentation.html in the editor. You’re not however ready to set up the module so don’t keep to the DotNetNuke documentation but.
  4. In the Solution Explorer right click on My Project and select Open.

  5. Within the Application tab delete the entry in Root Namespace except if this is your only module, otherwise you will not be sharing code with other modules. I have a undertaking that spans numerous modules and i want them all inside the identical identify space. So, I delete the basis Namespace entry to ensure that I am able to put within the appropriate namespace from the code driving. (Edit regarding Root Namespace; in C# you do not need to clear the namespace, but in VB.Net you are doing).

  6. Switch towards the Compile tab. Verify the Build output path and make sure its pointing towards the proper bin folder. Now simply click the Advance Compile Option on the button of the tab. Around the dialogue make certain the target framework is correct. You’ll see the environment on the base of the dialogue. At this point the dialogue will immediately near.
  7. Repeat step 4 (open the project properties) then go to step 8
  8. Switch to the References tab.  You should see a reference to DotNetNuke.Library version 0.0.0.0.  Remove it.

  9. Nonetheless around the References tab, now click the Add button. Inside the Add Reference dialogue switch to the Browse tab and navigate for the DotNetNuke set up bin folder. Choose the DotNetNuke.dll, DotNetNuke.Web.dll, as well as the Telerik.Web.UI.dll. Should you do not hold the Telerik.Web.UI.dll then you definitely should not be making use of those controls and you also will not want the dll. Click Okay. These references are necessary to obtain access to the DotNetNuke methods and properties. In any other case you are code powering will be crammed with inexperienced and blue underlines, missing references, and, oh yeah, it won’t compile. Sort of defeats the aim, proper?



    Intellisense; this step is optional, but if you want Intellisense you’ll want to do this.  Switch to the Web tab. Under Servers select the “Use Local IIS Web server” option.  Change the Project URL to the full URL of your project (eg http://{domain}/DesktopModules/{project folder}).  Check “Override application root URL” and set it to the domain of your DotNetNuke install (eg http://{domain})
  10. Save the Project Properties and close it.
  11. Inside the Solution Explorer increase the Components folder and open up the ModuleNameController.vb (or .cs) file. Check the Namespace declaration and you’ll see that it states “YourCompany”. Change this to your customized namespace identifier and after that do the identical in each of the code powering documents. You will also need to change it inside the .ascx files because they’ll be reference the namespace inside the handle declaration at the best of the webpage.
  12. At this point you can Build your project and you will see the new dll in your DotNetNuke install bin folder.
  13. Now follow the instructions in the documentation.html to install the module in DotNetNuke.  Once the module is installed you don’t really need the documentation folder, or it’s files.  I usually delete it.



DotNetNuke 7.3 Hosting with ASPHostPortal.com :: Using the new Module Improvement Templates for DotNetNuke 7

clock Oktober 17, 2014 06:18 by author Ben

Obtaining up and operating with all the templates is really pretty straightforward, but you must stick to some really certain measures, not subsequent the measures tends to make it hard for anyone else in order to assist you as you can configure issues any number of ways that might cause difficulties.

 


Configuring your Development Atmosphere

This really is 1 from the most significant steps from the procedure, the templates are configured to operate in a site You'll find a couple of assets for placing up your environment. The crucial thing for your new release of the templates is you need to have DotNetNuke 7.3 operating at dnndev.me, unless of course needless to say you modify the templates your self, but that's outside of the scope of this weblog post.

Putting in the Templates

Installation in the templates is pretty simple, you'll find numerous techniques to complete this, select one in the a few choices beneath and carry out the actions outlined for the option you decide on. You simply have to do one of those choices, not all three.

  1. Put in utilizing the Tools\Extensions and Updates menu in Visible Studio 2012
    • Mouse more than the Tool menu
    • Click on Extensions and Updates
    • Search for DotNetNuke
    • Select the Put in button to the DotNetNuke Project Templates option
  2. Install manually by downloading the VSIX file from the online gallery
    • Pay a visit to the Visual Studio Gallery - DotNetNuke Project Templates page
    • Download the VSIX file via the Obtain website link.
    • Double click the downloaded file to install the templates.
  3. Set up manually by downloading from Codeplex
    • Down load the VSIX file from Codeplex
    • Updated - Right Click the downloaded VSIX and choose Properties
    • Click the UNBLOCK button before proceeding
    • Double click the downloaded file to install the templates.

Making your Visual Studio Project

As soon as you have put in the templates, you can set up a project based on the templates. To do so you need to stick to the steps under

  1. Set up Visual Studio 2012 (you need to have this done presently)
  2. Install the undertaking templates as instructed above
  3. Setup your DotNetNuke Advancement Environment as instructed over
  4. Operate Visual Studio 2012 as an Administrator (correct click on the shortcut to do so)
  5. File -> New Project
  6. Choose possibly C# or VB.Net from your Languages segment of the new Project dialog
  7. Pick the DotNetNuke Folder under your preferred language (C# or Visual Basic)
  8. Choose possibly DotNetNuke C# Compiled Module, DotNetNuke VB.Net Compiled Module, DotNetNuke 7 C# DAL2 Compiled Module or DotNetNuke 7 VB.Net DAL2 Compiled Module for the project template.
  9. For the new project creation screen using the following settings
    • Title: ModuleName (something distinctive here, instance MyModule)
    • Place: c:\websites\dnndev.me\desktopmodules\ (this assumes you set up your improvement surroundings as instructed in Step 3)
    • Solution: Create new solution (this option might not be exhibited, that's okay)
    • Create directory for solution : Unchecked (this may trigger route issues if checked, the templates presume the SLN is inside the same folder since the project file)
    • Add to source control: Unchecked (I typically get my undertaking operating before incorporating it to supply control)
  10. Click Ok
  11. In certain cases Visual Studio will change the DesktopModules folder in into a Digital Listing, this will cause problems with your DNNDEV.me environment, load IIS Supervisor (start>run>INETMGR) and take away the Virtual Directory if it appears as a single there.

Installing your Module in Improvement

Once you create your project in Visual Studio 2012 the module will exist within the c:\websites\dnndev.me\desktopmodules\MyModule folder, but it is not technically installed and registered with DotNetNuke. To complete that you need to execute the follow steps.

  1. Develop your Project in DEBUG mode.
  2. Modify to Release mode and build again.
  3. Login to your improvement website within a browser, using a HOST/SuperUser account.
  4. Navigate for the Host/Extensions web page
  5. Pick the Install Extension Wizard option
  6. Simply click Choose File
  7. Browse to your c:\websites\dnndev.me\desktopmodules\MyModule\Install\ choose either the INSTALL or SOURCE package to upload.
  8. Go through the measures for the installation wizard (if the module fails to install, attempt closing Visual Studio very first, then set up the module)
  9. Location your module on a page (I usually produce a fresh webpage for each module in my development environment for tests reasons).

 

Setting up your Module in Production

To install your module in production you'll keep to the same actions as installing it inside your improvement environment, other than you will nearly Never utilize the Source package of the module in creation, it just is not essential.

What’s Subsequent?

So I lastly received the 7.0 (7.3) templates out the door, what is subsequent? Reworking the DNNTaskManager module which i created a module advancement tutorial for back in 2011. The program is to actually rewrite that module from the ground up utilizing DNN seven.0, in a few distinct iterations. 1) Utilizing the unique DAL design in DotNetNuke, 2) Using the new DAL2 template, 3) Utilizing ContentItems in DotNetNuke 7. Keep tuned to my weblogs to learn more as those tutorials are produced.



About ASPHostPortal.com

We’re a company that works differently to most. Value is what we output and help our customers achieve, not how much money we put in the bank. It’s not because we are altruistic. It’s based on an even simpler principle. "Do good things, and good things will come to you".

Success for us is something that is continually experienced, not something that is reached. For us it is all about the experience – more than the journey. Life is a continual experience. We see the Internet as being an incredible amplifier to the experience of life for all of us. It can help humanity come together to explode in knowledge exploration and discussion. It is continual enlightenment of new ideas, experiences, and passions

Author Link


 photo ahp banner aspnet-01_zps87l92lcl.png

Corporate Address (Location)

ASPHostPortal
170 W 56th Street, Suite 121
New York, NY 10019
United States

Tag cloud

Sign in