Aktualizace DotNetNuke na verzi 7.00.03

Jan Holan       04.03.2013       ASP.NET/IIS       11644 zobrazení

O víkendu jsem prováděl aktualizaci webu www.epskuryr.cz, který je postaven na CMS DotNetNuke (DNN) na poslední verzi 07.00.03. Aktualizaci jsem prováděl hlavně z důvodů, že ve verzích DNN 6 (web používal 6.02.02), je chyba, kdy se špatně reprezentují desetinná čísla na jiném než anglickém národním nastavením. Při správě některých modulů to dokonce způsobuje chybu System.FormatException: Input string was not in a correct format.

Při aktualizaci se vyskytly některé problémy, z nich jsou některé způsobené tím, že na webu máme doprogramovány některé vlastní moduly a doplňky. Zde uvádím jejich popis a řešení.

Framework 4.0

Pokud DNN web provozujete ještě na verzi .NET Frameworku 2.0, změňte ho před aktualizací na FW 4.0. Nová verze DNN 7 již FW 2.0 nepodporuje.

Server Error in '/' Application

Po nahrání souborů aktualizačního balíčku (DotNetNuke_Community_07.00.03_Upgrade.zip) web vůbec nenajel, byla zobrazena chyba konfigurace:

Server Error in '/' Application

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: This method cannot be called during the application's pre-start initialization stage.

Source Error: 
    <add name="RemoteIMPSecurityMembershipProvider" type="IMP.EPSWeb.RemoteIMPSecurityMembershipProvider" connectionStringName="ConnectionString" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" generatedPasswordLength="6" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0" enableTrustedAuthentication="false" applicationName="/EPSWeb" securityInfoAssembly="EPSWebService" securityInfoResourceName="" />
</providers>

RemoteIMPSecurityMembershipProvider je náš vlastní MembershipProvider, který web používá.

Chybu jsem odstranil tím, že v adresáři bin webu jsem smazal soubory WebMatrix.Data.dllWebMatrix.WebData.dll, které aktualizace přidává pro razor. Poté web naběhl a standardně nabídl aktualizační proces, který bez problému proběhl.

CheckBox a RadioButton styly

Nová verze DNN 7 má změněný vzhled administrace a s tím i vzhled kontrolů CheckBox  a RadioButton Tyto kontroly ale využíváme na webu i ve vlastních DNN modulech, kde nechceme, aby se jejich vzhled změnil (protože v tomto změněném vzhledu jsou kontroly zároveň větší a to způsobilo rozpadnutí formulářů).

Dohledal jsme patřičný javascript (dnn.jquery.js), který tento vzhled mění. Z něho jsem zjistil, že pokud se kontrolům uvede CSS styl s názvem normalCheckBox nebo normalRadioButton, nebude změna vzhledu aplikována. Provedl jsme tedy úpravu kontrolů v ASP.NET takto:

<asp:CheckBox runat="server" CssClass="normalCheckBox" Text="Do vlastních rukou" ...
<asp:RadioButtonList runat="server" CssClass="normalRadioButton" ...

Poté jsem našel i popis tohoto problému zde.

Validatory DNN formulářů

Nový DNN 7 mění zobrazení validátorů (například asp:requiredfieldvalidator) na zobrazení  pomoci červeného tooltipu (bubliny). U mě se ale validátory zobrazovali nečitelně červenou barvou na červeném podkladě tooltipu.

Problém je způsoben rozdílným renderováním validačních kontrolů v .NET 3.5 a .NET 4.0. My jsme na webu měli ve Web.config souboru převodem na FW 4.0 nastaveno controlRenderingCompatibilityVersion="3.5" u elementu Pages. To způsobilo renderování vždy červeným textem (pomoci inline stylu style="color: red; display: inline;"). Po odstranění controlRenderingCompatibilityVersion již není tento styl u kontrolu přidáván a validátory jsou zobrazeny správně bílou barvou nastavenou ve stylu DNN pro tooltip. Na některých místech ve vlastních formulářích jsem musel nastavit zpět zobrazení červenou barvou.

 

hodnocení článku

0       Hodnotit mohou jen registrované uživatelé.

 

Nový příspěvek

 

                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback