<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Web Development</title>
        <link>http://community.dotnetwork.it/Excentric/category/70.aspx</link>
        <description>Web Development</description>
        <language>en-US</language>
        <copyright>Sabrina C.</copyright>
        <managingEditor>ziayeye@ziayeye.it</managingEditor>
        <generator>Subtext Version 1.9.5.176</generator>
        <item>
            <title>Work with a simple HTTP Listener and avoid problems with BOM</title>
            <link>http://community.dotnetwork.it/Excentric/archive/2011/10/09/work-with-a-simple-http-listener-and-avoid-problems-with.aspx</link>
            <description>&lt;p&gt;We are implementing an internal service (internal means that it runs on an intranet) for one of our softwares that exchanges messages with my application clients when they run on the users machines. The data exchanged is sent as an XML class to an HTTP Listener. &lt;/p&gt;  &lt;p&gt;It looked all simple and easy except that, when the XML class arrived to the Listener, the XML De-Serializer went nuts telling us the class was not correctly formatted.&lt;/p&gt;  &lt;p&gt;After some checks to verify if we did something wrong (I always start from the principle that the probability I make a mess is higher than the one that compiler or libraries from third parties are wrong) and not finding nothing in the serialization and deserialization routines, sniffing the data arriving in the request, we discovered that the serialized data got 3 bytes preceding the &amp;lt;?xml which starts every xml data, in Hexadecimal EB BB BF, we didn’t understand what it was, and after a moment thinking to what could be wrong in our code to produce such problem, we made a search through the internet and learn something important (as always you never stop learning things…) Anyway, we discovered these three characters are a BOM (Byte order Mark) that is automatically added by the system serializing in UTF-8 encoding. Notepad, Notepad++ and other text editors/readers ignore it so you never notice it’s existence, but it is there. The problem in my service was that when deserializing from a string the three characters were not discarded so the Deserialize method gave an error telling that it found bad characters at the beginning of the class.&lt;/p&gt;  &lt;p&gt;Is there a way to avoid the problem with BOM? Yes, it is one of the parameters of the &lt;font color="#00df38"&gt;&lt;strong&gt;XmlWriterSettings&lt;/strong&gt;&lt;/font&gt; &lt;/p&gt;  &lt;pre class="CSharpFormat"&gt;XmlWriterSettings xstt = &lt;span class="kwrd"&gt;new&lt;/span&gt; XmlWriterSettings();

xstt.Encoding = Encoding.UTF8 : &lt;span class="kwrd"&gt;new&lt;/span&gt; UTF8Encoding(&lt;span class="kwrd"&gt;false&lt;/span&gt;);
&lt;span class="kwrd"&gt;using&lt;/span&gt; (XmlWriter writer = XmlWriter.Create(stream, xstt))
{
   ...
}&lt;/pre&gt;

&lt;p&gt;Using this option to serialize the class avoids the BOM and the deserialization problems. &lt;/p&gt;

&lt;p&gt;Hoping to help someone else solving this problem faster &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Occhiolino" src="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/d833b34e42a0_BE20/wlEmoticon-winkingsmile_2.png" /&gt;&lt;/p&gt;&lt;img src="http://community.dotnetwork.it/Excentric/aggbug/894.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sabrina C.</dc:creator>
            <guid>http://community.dotnetwork.it/Excentric/archive/2011/10/09/work-with-a-simple-http-listener-and-avoid-problems-with.aspx</guid>
            <pubDate>Sun, 09 Oct 2011 19:49:47 GMT</pubDate>
            <wfw:comment>http://community.dotnetwork.it/Excentric/comments/894.aspx</wfw:comment>
            <comments>http://community.dotnetwork.it/Excentric/archive/2011/10/09/work-with-a-simple-http-listener-and-avoid-problems-with.aspx#feedback</comments>
            <wfw:commentRss>http://community.dotnetwork.it/Excentric/comments/commentRss/894.aspx</wfw:commentRss>
        </item>
        <item>
            <title>How to use IIS to debug a Service Application WCF on IIS 64Bit</title>
            <link>http://community.dotnetwork.it/Excentric/archive/2011/09/27/how-to-use-iis-to-debug-a-service-application-wcf.aspx</link>
            <description>&lt;p&gt;This is as usual a post to avoid forgetting how to set up something you don’t do every day.&lt;/p&gt;  &lt;p&gt;When you create a new Webservice using a WCF service application project, the system proposes automatically to debug it on the development webserver. But if you need to test the service from different machines especially if you work in team with somebody who is developing the client, it could be difficult to set up a connection to the development webservice, so it is easier to publish the application on IIS. To do it you need to modify the application configuration:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_01_2.jpg" rel="lightbox"&gt;&lt;img style="display: inline" title="webapp_service_01" alt="webapp_service_01" src="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_01_thumb.jpg" width="618" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You need to select “Use local IIS Web Server”, confirm or change the project URL and click on Create Virtual Directory.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_05_2.jpg" rel="lightbox"&gt;&lt;img style="display: inline" title="webapp_service_05" alt="webapp_service_05" src="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_05_thumb.jpg" width="537" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Important!!! After the previous setting, change also the Output Path to the bin\ instead of bin\debug or bin\x86\debug or things won’t work correctly for the .dlls referenced.&lt;/p&gt;  &lt;p&gt;If you are working on a 64bit computer and your application is a 32 bit application, like in my case, you need to open the IIS manager.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_02_2.jpg" rel="lightbox"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="webapp_service_02" border="0" alt="webapp_service_02" src="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_02_thumb.jpg" width="644" height="118" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Select the application pool used by the Webservice from the Application Pools list.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_03_2.jpg" rel="lightbox"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="webapp_service_03" border="0" alt="webapp_service_03" src="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_03_thumb.jpg" width="644" height="83" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Click on the Application pool advanced settings.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_04_2.jpg" rel="lightbox"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="webapp_service_04" border="0" alt="webapp_service_04" src="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_04_thumb.jpg" width="397" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;activate the 32 bit applications and restart the Website.&lt;/p&gt;  &lt;p&gt;If launching the webservice application you obtain the following screenshot:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_06_2.jpg" rel="lightbox"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="webapp_service_06" border="0" alt="webapp_service_06" src="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_06_thumb.jpg" width="644" height="358" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Your webservice is working correctly you just need a startup page, but using the multiple startup projects from your    &lt;br /&gt;Solution &amp;gt; Right click &amp;gt; Properties&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_07_2.jpg" rel="lightbox"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="webapp_service_07" border="0" alt="webapp_service_07" src="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/Windows-Live-Writer/Usare-IIS_EFBE/webapp_service_07_thumb.jpg" width="644" height="406" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can start both the webservice and a test application where you can add a webreference to your service and debug it.&lt;/p&gt;  &lt;p&gt;HTH&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:64eb351a-b941-41db-9465-02d0321eb621" class="wlWriterEditableSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.Net" rel="tag"&gt;ASP.Net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WCF" rel="tag"&gt;WCF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Webservices" rel="tag"&gt;Webservices&lt;/a&gt;&lt;/div&gt;&lt;img src="http://community.dotnetwork.it/Excentric/aggbug/888.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sabrina C.</dc:creator>
            <guid>http://community.dotnetwork.it/Excentric/archive/2011/09/27/how-to-use-iis-to-debug-a-service-application-wcf.aspx</guid>
            <pubDate>Tue, 27 Sep 2011 16:00:31 GMT</pubDate>
            <wfw:comment>http://community.dotnetwork.it/Excentric/comments/888.aspx</wfw:comment>
            <comments>http://community.dotnetwork.it/Excentric/archive/2011/09/27/how-to-use-iis-to-debug-a-service-application-wcf.aspx#feedback</comments>
            <wfw:commentRss>http://community.dotnetwork.it/Excentric/comments/commentRss/888.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Associate more domains to a website generated using Plesk</title>
            <link>http://community.dotnetwork.it/Excentric/archive/2011/05/26/associate-more-domains-to-a-website-generated-using-plesk.aspx</link>
            <description>&lt;p&gt;It is probably well known from all those who use Plesk on a daily base, I instead use it rarely and I have a minimum knowledge of what functionalities it has. My company has rented a virtual server from a Hosting Provider, and as most of them do, they install Plesk by default on these servers probably to avoid millions of phone calls from unexpert users like me.&lt;/p&gt;  &lt;p&gt;It is normal for a company own more than one domain (.it, .com, .net, .eu) and more, each mapped on the company’s site and obviously we don’t make a copy of the site for each domain, or it will be depressing to keep them updated.&lt;/p&gt;  &lt;p&gt;In my case, the website has been created with DotNetNuke, which is so nice to allow not only the mapping of more domains on a single portal, but also, to make more portals on the same DNN.&lt;/p&gt;  &lt;p&gt;When you open Plesk Administration console, and you want to create the secondary domains the thing that comes to my mind first is click on New Domain, bu that option has only 3 possibilities, Fisical Domain, Forward, Frame Forward, and it is not what we need for the use with our DNN. &lt;/p&gt;  &lt;p&gt;What we have to do is click on the Domain that holds fisically the DNN and then use the Add Domain Alias option. This Creates an Alias on the Webserver, mapped on the same Website, it’s an operation very quick, just write the domain alias name and check the Web checkbox, then save.&lt;/p&gt;  &lt;p&gt;Done this, you have just to open the DNN using the Host user and map the new domains as portal aliases on any DNN Portal you like.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:36a5dae2-74cf-4259-9722-59c2e9a2c759" class="wlWriterSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Plesk" rel="tag"&gt;Plesk&lt;/a&gt;,&lt;a href="http://technorati.com/tags/domain" rel="tag"&gt;domain&lt;/a&gt;,&lt;a href="http://technorati.com/tags/alias" rel="tag"&gt;alias&lt;/a&gt;,&lt;a href="http://technorati.com/tags/portal" rel="tag"&gt;portal&lt;/a&gt;&lt;/div&gt;&lt;img src="http://community.dotnetwork.it/Excentric/aggbug/826.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sabrina C.</dc:creator>
            <guid>http://community.dotnetwork.it/Excentric/archive/2011/05/26/associate-more-domains-to-a-website-generated-using-plesk.aspx</guid>
            <pubDate>Thu, 26 May 2011 11:20:34 GMT</pubDate>
            <wfw:comment>http://community.dotnetwork.it/Excentric/comments/826.aspx</wfw:comment>
            <comments>http://community.dotnetwork.it/Excentric/archive/2011/05/26/associate-more-domains-to-a-website-generated-using-plesk.aspx#feedback</comments>
            <wfw:commentRss>http://community.dotnetwork.it/Excentric/comments/commentRss/826.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DNN: How to use a page just as a menu option</title>
            <link>http://community.dotnetwork.it/Excentric/archive/2010/10/10/dnn-how-to-use-a-page-just-as-a-menu.aspx</link>
            <description>&lt;p&gt;Today I’ve lost about half an hour trying to remember how to create a page on DNN just to use it as a menu option. So I write here how to do it to remember it for the next time :P.&lt;/p&gt;  &lt;p&gt;If my previous definition was not clear let’s use a sample of what I needed to do to make it clear:&lt;/p&gt;  &lt;p&gt;My goal was to build a Top level Menu named Association which gives access to several sub menus, Who we Are, Our Board of directors, Associates, Messageboard and more.&lt;/p&gt;  &lt;pre class="TsqlFormat"&gt;Association +
            |
            +-&lt;span class="rem"&gt;-- Who we are +&lt;/span&gt;
            |               |
            |               + Mission
            |               |
            |               + Board &lt;span class="kwrd"&gt;of&lt;/span&gt; directors
            |               |
            |               + Members
            +-&lt;span class="rem"&gt;-- Messageboard&lt;/span&gt;
            |
            +--- Newsletters&lt;/pre&gt;

&lt;p&gt;In Dnn to made this structure in menus you need to build a page for each option even if the page is not a real page like Association and WhoWe Are in my structure above.&lt;/p&gt;

&lt;p&gt;To avoid that users, clicking on Association without waiting the menu to open and show them the sub items, find themselves on a blank page, what you need to do is the following:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Open Admin -&amp;gt;Pages options.&lt;/li&gt;

  &lt;li&gt;Click on Association in the list.&lt;/li&gt;

  &lt;li&gt;Click the Modify Icon.&lt;/li&gt;

  &lt;li&gt;Open the Advanced Options collapsed section.&lt;/li&gt;

  &lt;li&gt;Scroll down to the Link URL Section.&lt;/li&gt;
&lt;/ol&gt;

&lt;p align="center"&gt;&lt;a href="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/WindowsLiveWriter/DNNHowtouseapagejustasamenuoption_D6A1/dnnurlpage_2.jpg" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="dnnurlpage" border="0" alt="dnnurlpage" src="http://community.dotnetwork.it/images/community_dotnetwork_it/Excentric/WindowsLiveWriter/DNNHowtouseapagejustasamenuoption_D6A1/dnnurlpage_thumb.jpg" width="524" height="239" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Set the URL to a page of your site (like the Board of Directors in my structure), or else build a fake URL (“#”) to keep user on current page. Save changes and you are done.&lt;/p&gt;

&lt;p&gt;To undo this, if you need it you have to open the pages section under Admin, because neither the administrator or host has direct access to the page.&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:62d16c95-b0f7-46c5-be16-656b5a6351c6" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;&lt;/div&gt;&lt;img src="http://community.dotnetwork.it/Excentric/aggbug/519.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sabrina C.</dc:creator>
            <guid>http://community.dotnetwork.it/Excentric/archive/2010/10/10/dnn-how-to-use-a-page-just-as-a-menu.aspx</guid>
            <pubDate>Sun, 10 Oct 2010 13:15:59 GMT</pubDate>
            <wfw:comment>http://community.dotnetwork.it/Excentric/comments/519.aspx</wfw:comment>
            <comments>http://community.dotnetwork.it/Excentric/archive/2010/10/10/dnn-how-to-use-a-page-just-as-a-menu.aspx#feedback</comments>
            <wfw:commentRss>http://community.dotnetwork.it/Excentric/comments/commentRss/519.aspx</wfw:commentRss>
        </item>
        <item>
            <title>How to create the ASP.NET 2.0 authentication tables on a SQL Server DB</title>
            <link>http://community.dotnetwork.it/Excentric/archive/2010/08/01/how-to-create-the-asp.net-2.0-authentication-tables-on-a.aspx</link>
            <description>&lt;p&gt;The translation of this post is very simple, because I am not enough fluent in english to write what I wrote in italian, but I just write something to the beginners, the newbies to a new technology. Never stop in front of an obstacle, in our business we got the luck that almost everything has already been solved by someone else. So F1, or Google, or BING or a forum are always not far from you.&lt;/p&gt;  &lt;p&gt;My problem, being a beginner in ASP.Net MVC was simple, the base template of this technology in Visual Studio, creates me a fully functional website to experiment with, but even though there is a nice Registration Form and Login Form, they don’t work, because they need that in your database you have a precise schema of tables and stored procedures to make things work.&lt;/p&gt;  &lt;p&gt;The solution is a small utility installed by the .Net framework 2.0 in his folder.&lt;/p&gt;  &lt;p&gt;I found this article: &lt;a title="Creating the Membership Schema in SQL Server" href="http://www.asp.net/security/tutorials/creating-the-membership-schema-in-sql-server-cs" target="_blank"&gt;Creating the Membership Schema in SQL Server&lt;/a&gt;, (which was on the ASP.Net, the same where I can find tutorials on MVC) where it is explained not only how to build the tables using the RUN command: &lt;code&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;%WINDIR%\Microsoft.Net\Framework\v2.0.50727\aspnet_regsql.exe&lt;/strong&gt;&lt;/font&gt;&lt;/code&gt; that runs a nice wizard that creates or removes the authentication tables on a SQL Server database, but it explains also how the authentication system works. After the creation of the tables and the set up of the connection string of my web application to the database, the ASP.Net MVC basic site has full registration and login functionalities.&lt;/p&gt;  &lt;p&gt;Maybe for those who work with ASP.Net 2.0 from the beginning this thing is probably obvious and elementary. But for a beginner starting with a new technology existing from a long time, usually the first steps are the highest to climb. For me step one is done, now let’s try the step 2.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:74752450-13d6-474e-95bf-d604067af260" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/ASP.NET+MVC" rel="tag"&gt;ASP.NET MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/authentication" rel="tag"&gt;authentication&lt;/a&gt;,&lt;a href="http://technorati.com/tags/membership" rel="tag"&gt;membership&lt;/a&gt;,&lt;a href="http://technorati.com/tags/create+security+schema" rel="tag"&gt;create security schema&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SQL" rel="tag"&gt;SQL&lt;/a&gt;&lt;/div&gt;&lt;img src="http://community.dotnetwork.it/Excentric/aggbug/481.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sabrina C.</dc:creator>
            <guid>http://community.dotnetwork.it/Excentric/archive/2010/08/01/how-to-create-the-asp.net-2.0-authentication-tables-on-a.aspx</guid>
            <pubDate>Sun, 01 Aug 2010 09:07:07 GMT</pubDate>
            <wfw:comment>http://community.dotnetwork.it/Excentric/comments/481.aspx</wfw:comment>
            <comments>http://community.dotnetwork.it/Excentric/archive/2010/08/01/how-to-create-the-asp.net-2.0-authentication-tables-on-a.aspx#feedback</comments>
            <wfw:commentRss>http://community.dotnetwork.it/Excentric/comments/commentRss/481.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DNN 5.3 Skinning and headaches</title>
            <link>http://community.dotnetwork.it/Excentric/archive/2010/04/11/dnn-5.3-skinning-and-headaches.aspx</link>
            <description>&lt;p&gt;In the 5.3 version of DotNetNuke, the Skin format hasn’t been changed from the 4.x versions except I think for enhancements, but the skin management has been drastically changed and what was very simple then is now complicated.&lt;/p&gt;  &lt;p&gt;Create a personalized skin for DNN is easy if you know how to do it, it is difficult if you never did it before. There is documentation on the DNN site you can download, but the manual gives you many hints but not a real how to do it guide. What you can do to learn it without big troubles is go to one of the skin shops online, choose a skin you like, buy it, download it and install it, then take a look at the ascx files and the css files and try to edit a CSS class here and a Table there and see what happens.&lt;/p&gt;  &lt;p&gt;But this is not a post on how to create a skin, it is a series of notes to help you survive the differences made in version 5.3 skin management.&lt;/p&gt;  &lt;p&gt;With version 5.3 some fundamental things about skins are changed, and I found this devastating for my way of using DNN and skinning portals.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Skins cannot be installed from the administrator user of a portal, they should be installed by the DNN host user.&lt;/li&gt;    &lt;li&gt;So if I sell portals on a single DNN, now my customers cannot skin their portals indipendently they have to ask me to install their skins.     &lt;br /&gt;There is however a workaround to this prohibition, a skin or a container package can be installed on a portal as a subfolder on the portals\n\skins or portals\n\containers folders and they appear under the portal skins as it was before. I hope the DNN programmers won’t eliminate this possibility in the future.&lt;/li&gt;    &lt;li&gt;Skins now can’t be installed from the Skins management page because they are now DNN Extensions. (I presume that calling extension install functions from a page different from the extensions page is not possible).&lt;/li&gt;    &lt;li&gt;Skins are no more a zip file containing 2 zip files (one containing the skin and the other containing containers). The Skin is a zip file and the Containers is another zip file; besides the ASCX, CSS, and Image files, the zip files need to contain an XML file named SkinName.dnn that is the manifest file for the skin or container, it has a specific format and contains informations on the skin, or containers, on which files they contain and on who is the author of the skin or container.&lt;/li&gt;    &lt;li&gt;Skins and container should be installed separately as single extensions. On the documentation it is written that old skins work and can be installed. I wasn’t able to do so, installing a skin in the old format gave me error, but maybe it’s my fault.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;If you already have portal skins installed and working, and you upload them through FTP as I said in point (2), you can build an extension from it using DNN. Being this operation not very clear I write it here (mainly for myself), to avoid loosing hours next time I need to do it:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Login as Host of DNN. &lt;/li&gt;    &lt;li&gt;From Host menu open the Extensions page. &lt;/li&gt;    &lt;li&gt;On the Extensions page, from menu or from the link at the bottom select Create Extension. &lt;/li&gt;    &lt;li&gt;On the page appearing, you will be asked the following things:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Select Extension type&lt;/strong&gt; – it is a combobox on top of page already set on the “Authentication System” option,&lt;font color="#ff0000"&gt; I always forget to update it and because nothing is asked about it I press Next and cause damages&lt;/font&gt;. If you forget to set the combo on Skin or Container, you will find inexistent extensions installed, fortunately there is the Uninstall option. I think that if this combo was set on empty or “None” and a FogHorn Hoot played if it wasn’t set by us users when clicking on next step could have been helpful.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt; – here you have to set the full path of the skin in the format (Portals\10\Skins\Business04_org) and it is not written anywhere.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Friendly Name&lt;/strong&gt; – just as written, a friendly name for your skin (Business04_org) &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt; – The skin description &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Version&lt;/strong&gt; – the skin version, now you can version also skins.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Click on next step and pay attention there is not a Back step so if you forget someting you are “fried” (:D) &lt;/li&gt;    &lt;li&gt;On the next page you will find many things:      &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;Owner&lt;/strong&gt; – for example Sabrina &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Organization&lt;/strong&gt; – DotNetWork.it &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Url&lt;/strong&gt; – &lt;a href="http://www.dotnetwork.it"&gt;www.dotnetwork.it&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Email Address&lt;/strong&gt; – &lt;a href="mailto:support@dotnetwork.it"&gt;support@dotnetwork.it&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Click on the next step and you will simply find yourself again on the Extensions page, but if you did all well, on the Skins portion list, you find your skin with the Modify Icon but without the Uninstall icon, I don’t know why and I don’t ask :D.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Now that your skin (and repeating it also the container) is part of DNN as an extension, if you want you can create a package to install and export it. I write below how to do it because I needed 6 attempts to succeed.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Log on as Host of DNN.&lt;/li&gt;    &lt;li&gt;From host menu open the Extensions page.&lt;/li&gt;    &lt;li&gt;On the Extensions page, go down to the skin section or filter to see only it, click on the Modify Icon of your skin (the pencil). &lt;/li&gt;    &lt;li&gt;In the skin page, at the bottom, appears the link option &lt;strong&gt;Create Package&lt;/strong&gt;, click on the link to start wizard. &lt;/li&gt;    &lt;li&gt;First page shows you what you are about to create and shows two checkboxes, leave them as they are and click on the next step.&lt;/li&gt;    &lt;li&gt;If you are exporting the skin of a portal, this second page has already wrong data, if you look the first textbox that should contain your skin path, it contains something similar to this:     &lt;br /&gt;&lt;font color="#ff0000"&gt;Portals\_default\Skins\Portals\10\Skins\MyskinFolder&lt;/font&gt;       &lt;br /&gt;it is clearly wrong, because it adds to your skin folder the Host skin folder.&lt;/li&gt;    &lt;li&gt;Update it cutting the initial portion:      &lt;br /&gt;&lt;font color="#008000"&gt;Portals\10\Skins\MyskinFolder  &lt;br /&gt;&lt;/font&gt;and click on &lt;strong&gt;Refresh File List&lt;/strong&gt; link near the textbox. &lt;/li&gt;    &lt;li&gt;In the multiline textbox under the previous one, are loaded all files of your skin, verify the names and if there is a vti_conf folder delete the files in that folder, they are copies and produce errors creating the skin. &lt;/li&gt;    &lt;li&gt;Click on the next step link, the new page got a multiline textbox with the XML text of the manifest file of the new skin, you can leave it as is or modify descriptions, as a hint leave it as is and modify it after the skin file is created after downloading it.&lt;/li&gt;    &lt;li&gt;Click on the next step link, the page appearin has 2 textbox single line with the manifest file name and the archive file name, these two paths on my DNN have the following form:     &lt;br /&gt;&lt;font color="#ff0000"&gt;MyDnn_Portals\10\Skins\nomeskin.dnn&lt;/font&gt;       &lt;br /&gt;&lt;font color="#ff0000"&gt;MyDnn_Portals\10\Skins\Nomeskin_01.00.00_Install.zip&lt;/font&gt;       &lt;br /&gt;They are fundamentally wrong, because there isn’t a folder with this name on my server, leaving them as written produces an error not a skin. It is necessary clear the initial part of the names making them as follows:      &lt;br /&gt;&lt;font color="#008000"&gt;nomeskin.dnn&lt;/font&gt;       &lt;br /&gt;&lt;font color="#008000"&gt;Nomeskin_01.00.00_Install.zip&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;Click on the next step link and cross your fingers. If in the next page you see a green circle and the following message     &lt;br /&gt;&lt;font color="#008000"&gt;&lt;strong&gt;The Package was created and can be found in the &lt;/strong&gt;&lt;/font&gt;&lt;a href="http://www.MioSito.it/Install/Skin"&gt;&lt;font color="#008000"&gt;&lt;strong&gt;www.MioSito.it/Install/Skin&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#008000"&gt;&lt;strong&gt; folder&lt;/strong&gt;&lt;/font&gt;       &lt;br /&gt;Going to the indicated folder through ftp or on local folder if you are working on the server, you will find the two files above with the skin and the manifest. and you can install the skin on another portal.      &lt;br /&gt;I haven’t yet tried an install but looking at what is written on the manifest file, it is probably necessary to update the base path inside the manifest prior to install on a different portal using a _default to install the skin at Host level.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;In the hope to have been able  help you avoiding Skinning headaches, good work.    &lt;br /&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b0d200a6-0ba0-4c48-b114-31cec503aa6c" class="wlWriterEditableSmartContent"&gt;Tags: &lt;a href="http://community.dotnetwork.it/Sabrina/Tags/DNN/default.aspx" rel="tag"&gt;DNN&lt;/a&gt;&lt;/div&gt;&lt;img src="http://community.dotnetwork.it/Excentric/aggbug/403.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sabrina C.</dc:creator>
            <guid>http://community.dotnetwork.it/Excentric/archive/2010/04/11/dnn-5.3-skinning-and-headaches.aspx</guid>
            <pubDate>Sun, 11 Apr 2010 09:59:52 GMT</pubDate>
            <wfw:comment>http://community.dotnetwork.it/Excentric/comments/403.aspx</wfw:comment>
            <comments>http://community.dotnetwork.it/Excentric/archive/2010/04/11/dnn-5.3-skinning-and-headaches.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://community.dotnetwork.it/Excentric/comments/commentRss/403.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Dotnetnuke post update hints</title>
            <link>http://community.dotnetwork.it/Excentric/archive/2010/03/25/dotnetnuke-post-update-hints.aspx</link>
            <description>&lt;p&gt;I have just updated my company DNN, it was peacefully working since 2007 with version 04.08, now I’ve upgraded it to the 05.02.03 (74) without big troubles, it has been simple doing it on the online server after a test on a local machine. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;WARNING!&lt;/font&gt; &lt;/strong&gt;if anyone as lazy as me needs to do this kind of upgrade, be careful, it is necessary first upgrade to version 04.09.05 and then to version 5 to avoid any troubles.&lt;/p&gt;
&lt;p&gt;The links to download both versions from Codeplex are accessible from the DNN page even though not very visible, so search them in the Community Upgrade pages.&lt;/p&gt;
&lt;p&gt;Said so, everything was fine after the upgrade, except two things:  I have multilanguage portals and the language links disappeared. The second problem which at the moment I haven’t yet solved is that the system icons on the menus have malformed urls and are not visible, as soon as I solve the problem I’ll post an addendum to this post.&lt;/p&gt;
&lt;p&gt;For the first problem, after some deep breathing, I found the solution on a forum thanks to Mr. Sebastian Leopold from germany, it is simple but a little bit hidden, that’s why even searching all the administrative pages I didn’t found it.&lt;/p&gt;
&lt;p&gt;On the Site Admin menu Select Languages, on the Languages page Select a Language different from the Default one in the upper left side combobox.&lt;/p&gt;
&lt;p&gt;E.g. Italiano Italia (it-IT); Click on the Edit Language Link below the combobox and on the page appearing check the Enabled checkBox. The Language links or language combobox Will immediately appear on your pages. Repeat for each language you need and for each portal you need to enable.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c613f4e9-0f3c-42f0-af5d-4fdaba48deba" class="wlWriterEditableSmartContent"&gt;Tags: &lt;a rel="tag" href="http://community.dotnetwork.it/Sabrina/Tags/DNN/default.aspx"&gt;DNN&lt;/a&gt;, &lt;a rel="tag" href="http://community.dotnetwork.it/Sabrina/Tags/Languages/default.aspx"&gt;Languages&lt;/a&gt;&lt;/div&gt;&lt;img src="http://community.dotnetwork.it/Excentric/aggbug/388.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sabrina C.</dc:creator>
            <guid>http://community.dotnetwork.it/Excentric/archive/2010/03/25/dotnetnuke-post-update-hints.aspx</guid>
            <pubDate>Thu, 25 Mar 2010 17:18:17 GMT</pubDate>
            <wfw:comment>http://community.dotnetwork.it/Excentric/comments/388.aspx</wfw:comment>
            <comments>http://community.dotnetwork.it/Excentric/archive/2010/03/25/dotnetnuke-post-update-hints.aspx#feedback</comments>
            <wfw:commentRss>http://community.dotnetwork.it/Excentric/comments/commentRss/388.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>
