﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Archive</title>
    <description>Weblog auf DNNPortal der Deutschen DotNetNuke Community</description>
    <link>http://www.dnnportal.de/Weblog/tabid/177/Default.aspx?BlogDate=2005-06-30</link>
    <language>de-DE</language>
    <managingEditor>hp@schelian.de</managingEditor>
    <webMaster>hp@schelian.de</webMaster>
    <pubDate>Tue, 07 Feb 2012 10:43:13 GMT</pubDate>
    <lastBuildDate>Tue, 07 Feb 2012 10:43:13 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.2.0.29758</generator>
    <item>
      <title>Neue Version 3.10.01 des Core Forum/Blog Moduls verfügbar</title>
      <description>
		&lt;p&gt;Seit Gestern Abend steht auf DotNetNuke.com eine neue Version des Forum/Blog Moduls zum Donwload zur Verfügung. &lt;/p&gt;
		&lt;p&gt;Es fehlt jeder Hinweis auf eine Beta Version, so dass man wohl davon ausgehen kann, dass dies die erste Final Release sein soll. &lt;/p&gt;
		&lt;p&gt;Somit können alle (Hard)Core)Modul anhänger nun endlich eine neue (hoffentlich) funktionstüchtige Version herunterladen. &lt;/p&gt;
		&lt;p&gt;Meine persönliche Meinung zu diesem mischmasch zweier Module in einem Paket habe ich ja schon an anderer Stelle kund getan. &lt;/p&gt;
</description>
      <link>http://www.dnnportal.de/Weblog/tabid/177/EntryID/100/Default.aspx</link>
      <author>hp@dnnportal.de</author>
      <comments>http://www.dnnportal.de/Weblog/tabid/177/EntryID/100/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.dnnportal.de/Default.aspx?tabid=177&amp;EntryID=100</guid>
      <pubDate>Wed, 15 Jun 2005 09:30:12 GMT</pubDate>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.dnnportal.de/DesktopModules/Blog/Trackback.aspx?id=100</trackback:ping>
    </item>
    <item>
      <title>DNNPortal auf DotNetNuke Version 3.1.0 umgestellt !</title>
      <description>
		&lt;p&gt;Nachdem ich am Wochenende einige Tests mit der neuen Version 3.1.0 vorgenommen habe, konnte ich soeben das DNNPortal auf die Version 3.1.0 umstellen.&lt;/p&gt;
		&lt;p&gt;Die Umstellung verlief ohne jegliche Probleme.&lt;/p&gt;
		&lt;p&gt;Nun warten wirs mal ab, welche Problem noch im Echtbetrieb auftauchen.&lt;/p&gt;
</description>
      <link>http://www.dnnportal.de/Weblog/tabid/177/EntryID/18/Default.aspx</link>
      <author>hp@schelian.de</author>
      <comments>http://www.dnnportal.de/Weblog/tabid/177/EntryID/18/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.dnnportal.de/Default.aspx?tabid=177&amp;EntryID=18</guid>
      <pubDate>Sun, 12 Jun 2005 20:58:10 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.dnnportal.de/DesktopModules/Blog/Trackback.aspx?id=18</trackback:ping>
    </item>
    <item>
      <title>Mein erstes PA</title>
      <description>Gestern habe ich mein erstes PA erstellt. Als Grundlage habe ich dazu die Lernvideos von Hans-Peter (www.dnnportal.de) und die Lernvideos auf DotNetNuke.com benützt.&lt;br&gt;Das Erstellen der Projekt Strukturen mit den Templates von www.dnnjungle.vmasanas.net funktionierte soweit problemlos. Mit den CodeSmith Templates, ich habe dazu den CodeSmith Exploerer 2.6 benützt, hatte ich aber mehr Mühe. Der Produzierte Code musste ich an einigen Stellen nachbessern.&lt;br&gt;Das neue PA, ich habe mir da eine ganz einfache Aufgabe gestellt, es soll eine SiteMap angezeigen wobei man ein paar zusätzlch Einstellungen machen kann. Es läuft, aber bringt noch nicht das zufriedenstellende Resultat. Aber das Erfolgserlebnis ist da.&lt;br&gt;Wenn das PA einmal festig wird, was ich natürlich hoffe, habe ich vor es auch hier zu veröffentlichen.</description>
      <link>http://www.dnnportal.de/Weblog/tabid/177/EntryID/66/Default.aspx</link>
      <comments>http://www.dnnportal.de/Weblog/tabid/177/EntryID/66/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.dnnportal.de/Default.aspx?tabid=177&amp;EntryID=66</guid>
      <pubDate>Sun, 12 Jun 2005 19:00:00 GMT</pubDate>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.dnnportal.de/DesktopModules/Blog/Trackback.aspx?id=66</trackback:ping>
    </item>
    <item>
      <title>DotNetNuke 3.1.0 Fehlerbereingte Distribution</title>
      <description>
		&lt;p&gt;Obwohl wir lange auf die neue Version 3.1.0 warten mussten, kann man die freigegeben Version wohl nicht als besonders gelungen bezeichnen.&lt;/p&gt;
		&lt;p&gt;Das Core Team hat, ohne jegliche Information hierüber bekannt zu geben, einfach die &lt;a class="" title="Thread im englischen Forum" href="http://forums.asp.net/951736/ShowPost.aspx" target="_blank"&gt;Deutsche Lokalisierung aus der Standardinstallation entfernt&lt;/a&gt;.&lt;/p&gt;
		&lt;p&gt;Zudem wurde in den &lt;a class="" title="Thread im englischen Forum" href="http://forums.asp.net/951904/ShowPost.aspx" target="_blank"&gt;SQL Installationsskripten &lt;/a&gt;der Module ein Fehler eingebaut.&lt;/p&gt;
		&lt;p&gt;Ich habe nun, um den Mitgliedern unserer Community, die manuelle Nachbesserung der Source Distribution zu ersparen eine fehlerbereingte Version erstellt.&lt;/p&gt;
		&lt;p&gt;Diese Fehlerbereinigte Version enhält nun die Deutsche Lokalisierung (Die Lokalisierung wurde von Sebastian Leupold erstellt) und die Fehler in den SQL Installationsskripts wurden beseitigt.&lt;/p&gt;
		&lt;p&gt;Der Download steht für alle registrierte Benutzer im Downloadbereich zur Verfügung.&lt;/p&gt;
		&lt;p&gt;
				&lt;a class="" title="" href="http://www.dnnportal.de/Downloads/tabid/176/Default.aspx" target="_blank"&gt;Hier geht es direkt zum Download Bereich&lt;/a&gt;
		&lt;/p&gt;
		&lt;p&gt; &lt;/p&gt;
</description>
      <link>http://www.dnnportal.de/Weblog/tabid/177/EntryID/101/Default.aspx</link>
      <author>hp@dnnportal.de</author>
      <comments>http://www.dnnportal.de/Weblog/tabid/177/EntryID/101/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.dnnportal.de/Default.aspx?tabid=177&amp;EntryID=101</guid>
      <pubDate>Sun, 12 Jun 2005 02:11:00 GMT</pubDate>
      <slash:comments>8</slash:comments>
      <trackback:ping>http://www.dnnportal.de/DesktopModules/Blog/Trackback.aspx?id=101</trackback:ping>
    </item>
    <item>
      <title>1000 registrierte Benutzer auf DNNPortal</title>
      <description>
		&lt;p&gt;Nach nur 6 Monaten im Netz (DNNPortal Start am 06.12.2004), konnten wir Heute im Laufe des heutigen Tages den tausendsten registrierten Benutzer auf DNNPortal verzeichnen. &lt;/p&gt;
		&lt;p&gt;Auch wenn eine solche Meldung, an einem Tag an dem die neue Version 3.1.0 von DotNetNuke released wurde, eher als unwichtig erscheinen mag, kann ich mir es aber nicht verkneifen diese kleine Meldung zu schreiben.&lt;/p&gt;
		&lt;p&gt;Danke an alle Mitglieder und deren mithilfe, dieses Portal in so kurzer Zeit zur Deutschen Quelle Nummer 1 für das Theman DotNetNuke zu machen.&lt;/p&gt;
</description>
      <link>http://www.dnnportal.de/Weblog/tabid/177/EntryID/19/Default.aspx</link>
      <author>hp@schelian.de</author>
      <comments>http://www.dnnportal.de/Weblog/tabid/177/EntryID/19/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.dnnportal.de/Default.aspx?tabid=177&amp;EntryID=19</guid>
      <pubDate>Thu, 09 Jun 2005 13:23:22 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.dnnportal.de/DesktopModules/Blog/Trackback.aspx?id=19</trackback:ping>
    </item>
    <item>
      <title>DotNetNuke 3.1.0 ist released</title>
      <description>
		&lt;p&gt;Nach langer Wartezeit wurde Heute das neue Release Version 3.1.0 freigegeben.&lt;/p&gt;
		&lt;p&gt;Mit dem neuen Release wurden wie bereits erwähnt eine Menge Bug Fixes durchgeführt und als größte Neuerung soll nun die Unterstützung für Web Farmen implementiert sein.&lt;/p&gt;
		&lt;p&gt;Dann wollen wir mal sehen wie stabil diese neue Version ist.&lt;/p&gt;
		&lt;p&gt;
				&lt;strong&gt;
						&lt;u&gt;ACHTUNG:&lt;/u&gt;
				&lt;/strong&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;strong&gt;Bitte unbedingt die Hinweise im Installation Guide lesen. Die Datei ist zu finden unter DotNetNuke/Dokumentation/Public&lt;/strong&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;font style="BACKGROUND-COLOR: #ff0000" color="#ffff00"&gt;
						&lt;strong&gt;ACHTUNG ACHTUNG:&lt;/strong&gt;
				&lt;/font&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;font style="BACKGROUND-COLOR: #ff0000" color="#ffff00"&gt;
						&lt;strong&gt;Nach dem Update ist keine Deutsche Lokalisierung mehr vorhanden.&lt;/strong&gt;
				&lt;/font&gt;
		&lt;/p&gt;
		&lt;p&gt;Ich möchte an dieser Stelle den Kommentar von Sebastian Leupold aufnehmen und darauf hinweisen, dass Sebastian das Sprachpaket für DNN 3.1.0 bereits fertiggestellt und zum Download zur Verfügung gestellt hat. &lt;/p&gt;
		&lt;p&gt;Vielen Dank Sebastian&lt;/p&gt;
		&lt;p&gt;Hier gehts zum Download des Deutschen Sprachpakets&lt;/p&gt;
		&lt;p&gt;
				&lt;a class="" title="Deutsches Sprachpaket für DNN 3.1.0" href="http://dotnetnuke.gamma-concept.de/Default.aspx?tabid=156" target="_blank"&gt;http://dotnetnuke.gamma-concept.de/Default.aspx?tabid=156&lt;/a&gt;
		&lt;/p&gt;
</description>
      <link>http://www.dnnportal.de/Weblog/tabid/177/EntryID/102/Default.aspx</link>
      <author>hp@dnnportal.de</author>
      <comments>http://www.dnnportal.de/Weblog/tabid/177/EntryID/102/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.dnnportal.de/Default.aspx?tabid=177&amp;EntryID=102</guid>
      <pubDate>Thu, 09 Jun 2005 13:13:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.dnnportal.de/DesktopModules/Blog/Trackback.aspx?id=102</trackback:ping>
    </item>
    <item>
      <title>DNNSubscriber Version 3.0.2 (Update)</title>
      <description>
		&lt;p&gt;Vor einigen Tagen hat mir Daniel Müller per Email ein Problem (und auch gleich die Lösung) mit dem Modul DNNSubscriber gesendet.&lt;/p&gt;
		&lt;p&gt;Das Problem (ein Performance Problem) hat zwar keine echten Auswirkungen auf die Funktionstüchtigkeit des Moduls, allerdings könnte man das Problem als echte Performance Bremse ansehen.&lt;/p&gt;
		&lt;p&gt;Folgendes habe ich da (warum auch immer) in der Methode IsUserInRole eingebaut:&lt;/p&gt;
		&lt;p&gt;
				&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;protected&lt;/span&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;bool&lt;/span&gt; IsUserInRole(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; RoleName)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;RoleController objRoles &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; RoleController();&lt;br /&gt;&lt;br /&gt;ArrayList strUserRole;&lt;br /&gt;&lt;br /&gt;strUserRole &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; objRoles.GetUsersInRole(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.PortalId,RoleName);&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;foreach&lt;/span&gt;(UserRoleInfo uri &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;in&lt;/span&gt; strUserRole)&lt;br /&gt;&lt;br /&gt;{ &lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (uri.UserID == &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.UserId)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;Warum auch immer ich diesen Code eingebaut habe (eventuell war es wieder mal zu spät) der Code ist natürlich eine Peformance Bremse wenn einige hundert oder tausend Benutzer registriert sind.&lt;/p&gt;
		&lt;p&gt;Der Code wird also wie folgt abgeändert:&lt;/p&gt;
		&lt;p&gt;
				&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;protected&lt;/span&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;bool&lt;/span&gt; IsUserInRole(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; RoleName)&lt;br /&gt;{&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; DotNetNuke.Security.PortalSecurity.IsInRole(RoleName) ;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;Wie man sieht, &lt;strong&gt;kürzer&lt;/strong&gt;, &lt;strong&gt;besser&lt;/strong&gt;, &lt;strong&gt;effektiver&lt;/strong&gt;.&lt;/p&gt;
		&lt;p&gt;Danke Daniel.&lt;/p&gt;
		&lt;p&gt;Die neue Version 3.0.2 ist ab sofort im &lt;a class="" title="" href="http://www.dnnportal.de/Downloads/tabid/176/Default.aspx" target=""&gt;Download Bereich verfügbar&lt;/a&gt;.&lt;/p&gt;
</description>
      <link>http://www.dnnportal.de/Weblog/tabid/177/EntryID/130/Default.aspx</link>
      <author>hp@dnnportal.de</author>
      <comments>http://www.dnnportal.de/Weblog/tabid/177/EntryID/130/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.dnnportal.de/Default.aspx?tabid=177&amp;EntryID=130</guid>
      <pubDate>Fri, 27 May 2005 03:22:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.dnnportal.de/DesktopModules/Blog/Trackback.aspx?id=130</trackback:ping>
    </item>
    <item>
      <title>DotNetNuke.Com läuft unter Version 3.1.0</title>
      <description>
		&lt;p&gt;Nach dem Motto "Eat your own Dogfood" läuft das Portal DotNetNuke.Com seit Gestern Abend mit der Version 3.1.0.&lt;/p&gt;
		&lt;p&gt;Somit kann erwartet werden, dass die Version 3.1.0 wohl bald als Download verfügbar sein wird.&lt;/p&gt;
		&lt;p&gt;Wirkliche Änderungen gab es in der Version 3.1.0 nicht als einzige echte Erweiterung wurde die Unterstützung für Web Farms hinzugefügt.&lt;/p&gt;
		&lt;p&gt;Und sonst gab es wohl ganz viel Bug Fixing. Wer mehr darüber erfahren möchte was denn alles so getan wurde an der Version 3.1.0 kann sich die Roadmap auf Gemini anschauen.&lt;/p&gt;
		&lt;p&gt;
				&lt;a class="" title="" href="http://support.dotnetnuke.com/project/RoadMap.aspx?PROJID=2" target=""&gt;Hier der Link&lt;/a&gt;
		&lt;/p&gt;
</description>
      <link>http://www.dnnportal.de/Weblog/tabid/177/EntryID/103/Default.aspx</link>
      <author>hp@dnnportal.de</author>
      <comments>http://www.dnnportal.de/Weblog/tabid/177/EntryID/103/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.dnnportal.de/Default.aspx?tabid=177&amp;EntryID=103</guid>
      <pubDate>Fri, 27 May 2005 01:13:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.dnnportal.de/DesktopModules/Blog/Trackback.aspx?id=103</trackback:ping>
    </item>
    <item>
      <title>YAF und DotNetNuke 3.X Critial Error</title>
      <description>
		&lt;p&gt;Nachdem ich vor einigen Wochen das DNNPortal auf DotNetNuke 3.X umgestellt habe und in diesem Zuge auch das YAF Forum auf eine neue Version aktualisieren musste, bekam ich in den letzte Wochen immer wieder mal eine Meldung von einem Besucher, dass wenn er das Forum aufruft einen Kritischen Fehler (Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.&lt;/p&gt;
		&lt;p&gt;Trotzt aller Versuche ist es mir nicht gelungen diesen Fehler zu reproduzieren.&lt;/p&gt;
		&lt;p&gt;Gestern nun habe ich von Ueli (Ulrich Jenzer) den Entscheidenden Hinweis bekommen.&lt;/p&gt;
		&lt;p&gt;Wie mir Ueli in einem Mail mitgeteilt hat, tritt der Fehler dann auf, wenn in den Regions und Sprachoptionen von Windows z.B. Deutsch (Schweiz) eingestellt ist. &lt;/p&gt;
		&lt;p&gt;Mit diesem Wissen konnte ich nun das Problem auch auf meinem Testsystem reproduzieren.&lt;/p&gt;
		&lt;p&gt;Also schnell mal (von wegen schnell) eine Entwicklungsumgebung für das YAF Forum aufgebaut und ran an den Debugger.&lt;/p&gt;
		&lt;p&gt;Es war sehr schnell klar das der Fehler in der Lokalisierungs Funktion von DotNetNuke erzeugt wird, nur da konnte der Fehler ja eigentlich nicht liegen. Da für das YAF Forum unter DotNetNuke die Lokalisierung von DotNetNuke eigentlich gar nicht greift war ich ziemlich überrascht.&lt;/p&gt;
		&lt;p&gt;Nach einigen vergeblichen Versuchen den Fehler einzukreisen ist es mir dann doch gelungen.&lt;/p&gt;
		&lt;p&gt;Schauen wir uns doch mal das Problem und die Load Methode der Klasse ForumPage an:&lt;/p&gt;
		&lt;p&gt;Zur besseren Übersicht habe ich hier nur der ersten Teil (der ist auch entscheidend) dargestellt.&lt;/p&gt;
		&lt;p&gt;
				&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;private&lt;/span&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; ForumPage_Load(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; sender, System.EventArgs e) &lt;br /&gt;{&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt;(m_bNoDataBase)&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;#if&lt;/span&gt; DEBUG&lt;br /&gt;QueryCounter.Reset();&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;#endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// Set the culture and UI culture to the browser's accept language&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;try&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; sCulture &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;""&lt;/span&gt;;&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; [] sTmp &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; HttpContext.Current.Request.UserLanguages;&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (sTmp !&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;sCulture &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; sTmp[0];&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt;(sCulture.IndexOf(';')&gt;=0)&lt;br /&gt;{&lt;br /&gt;sCulture &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; sCulture.Substring(0, sCulture.IndexOf(';'));&lt;br /&gt;}&lt;br /&gt;} &lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;else&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;sCulture &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"en-US"&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Thread.CurrentThread.CurrentCulture &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; CultureInfo.CreateSpecificCulture(sCulture);&lt;br /&gt;Thread.CurrentThread.CurrentUICulture &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; CultureInfo(sCulture);&lt;br /&gt;}&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;#if&lt;/span&gt; DEBUG&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;catch&lt;/span&gt;(Exception ex)&lt;br /&gt;{&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;throw&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; ApplicationException(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Error getting User Language."&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt; Environment.NewLine &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt; ex.ToString());&lt;br /&gt;}&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;#else&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;catch&lt;/span&gt;(Exception)&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;#endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;Also was geschieht denn hier in dieser Methode:&lt;/p&gt;
		&lt;p&gt;Die Culture des aktuellen Thread wird auf die Culture des Benutzers gesetzt. Das sind die lokalen Einstellungen des Besuchers also zum Beispiel de-CH oder en-CA.&lt;/p&gt;
		&lt;p&gt;Das ist sicherlich auch schön und gut für eine YAF Installation die nicht unter DNN läuft, aber für eine in DNN integrierte Version ist das tödlich. &lt;/p&gt;
		&lt;p&gt;Warum tödlich: Eigentlich ganz einfach, in DNN wird die Culture bereits durch die Standardeinstellung für das Portal oder falls es ein registrierte Benutzer ist aus den Profileinstellungen des Benutzer ermittelt. Mit dieser Information wird die Culture des aktuellen Thread gesetzt. Nun verwenden alle Loaklisierungsfunktionen genau diese Information um eine in DNN installierte Resource Datei zu verwenden und die Sprachspezifischen Texte auszugeben. Genau das schlägt aber fehl, wenn YAF hier an dieser Stelle die Culture des aktuellen Thread auf eine nicht in DNN installierte Sprache einstellt.&lt;/p&gt;
		&lt;p&gt;Also wie sieht die Lösung aus, ganz einfach:&lt;/p&gt;
		&lt;p&gt;Wir kömmentieren einfach den gesamten Teil für das setzen der Culture für den aktiven Thread aus.&lt;/p&gt;
		&lt;p&gt;Das sieht dann so aus:&lt;/p&gt;
		&lt;p&gt;
				&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// try &lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// {&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// string sCulture = "";&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// string [] sTmp = HttpContext.Current.Request.UserLanguages;&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// if (sTmp != null)&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// {&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// sCulture = sTmp[0];&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// if(sCulture.IndexOf(';')&gt;=0)&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// {&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// sCulture = sCulture.Substring(0, sCulture.IndexOf(';'));&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// }&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// } &lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// else &lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// {&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// sCulture = "en-US";&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// }&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;//&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(sCulture);&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// Thread.CurrentThread.CurrentUICulture = new CultureInfo(sCulture);&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// }&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;//#if DEBUG&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// catch(Exception ex)&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// {&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// throw new ApplicationException("Error getting User Language." + Environment.NewLine + ex.ToString());&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// }&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;//#else&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// catch(Exception)&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// {&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;// }&lt;/span&gt;
						&lt;br /&gt;
						&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;//#endif&lt;/span&gt;
						&lt;br /&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;Jetzt noch schnell die YAF.DLL neu kompiliert und das Problem ist ein für allemal beseitigt.&lt;/p&gt;
</description>
      <link>http://www.dnnportal.de/Weblog/tabid/177/EntryID/20/Default.aspx</link>
      <author>hp@schelian.de</author>
      <comments>http://www.dnnportal.de/Weblog/tabid/177/EntryID/20/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.dnnportal.de/Default.aspx?tabid=177&amp;EntryID=20</guid>
      <pubDate>Wed, 25 May 2005 08:00:37 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.dnnportal.de/DesktopModules/Blog/Trackback.aspx?id=20</trackback:ping>
    </item>
    <item>
      <title>Und die Datenbank wird größer und größer !</title>
      <description>
		&lt;p&gt;Nach dem Update von DotNetNuke 2.12 auf DotNetNuke 3.0.13 beobachtete ich in den folgenden Wochen ein überdurchschnittliches wachstum der Datenbank.&lt;/p&gt;
		&lt;p&gt;Mit Überdurchschnittlichem wachstum meine ich in nackten Zahlen ausgedrückt:&lt;/p&gt;
		&lt;p&gt;Datenbankgröße beim Upgrade 212 MB. (Das war auch in etwa so vor derm Upgrade)&lt;/p&gt;
		&lt;p&gt;Datenbankgröße 6 Wochen nach dem Update 380 MB&lt;/p&gt;
		&lt;p&gt;Kann es sein, dass ich so fleißig war und fast 170 MB an Content in die Datenbank geschafft habe ? &lt;/p&gt;
		&lt;p&gt;
				&lt;u&gt;Wohl eher nein !&lt;/u&gt;
		&lt;/p&gt;
		&lt;p&gt;Also musste ich mir doch mal die Datenbank genauer ansehen. &lt;/p&gt;
		&lt;p&gt;Bei meiner Untersuchung der Datenbank stellte ich fest dass die Tabelle &lt;em&gt;ScheduleHistory&lt;/em&gt; doch fast 70 MB groß war, und die &lt;em&gt;SiteLog&lt;/em&gt; Tabelle ist auch auf beträchtliche 90 MB angewachsen, leider weiß ich nicht mehr was die während des Updates für eine größe hatte (bin jetzt auch zu faul das Backup auszupacken und irgendwo einzuspielen).&lt;/p&gt;
		&lt;p&gt;Also gut die größe SiteLog kann ich mir auch noch erklären, ich habe auf den drei Hauptportalen die auf dieser Datenbank laufen keine Beschränkung für die Aufbewahrung der Log Informatinen angegeben, also muss diese Tabelle immer weiter wachsen, aber was ist mit dieser ominösen Tabelle ScheduleHistory.&lt;/p&gt;
		&lt;p&gt;Diese Tabelle speichert für jeden Schedule Job der ausgeführt wird einen Protokolleintrag und dass sind wenn man es richtig betrachtet doch eine ganze Menge.&lt;/p&gt;
		&lt;p&gt;Schauen wir uns doch mal die Schedule Einstellungen des Hosts an:&lt;/p&gt;
		&lt;ol&gt;
				&lt;li&gt;DotNetNuke.Entities.Users.PurgeUsersOnline, DotNetNuke aktiv und Jede minute 1 mal. 
&lt;/li&gt;
				&lt;li&gt;DotNetNuke.Services.Log.SiteLog.PurgeSiteLog, DOTNETNUKE aktiv und 1 mal am Tag. 
&lt;/li&gt;
				&lt;li&gt;DotNetNuke.Services.Scheduling.PurgeScheduleHistory, DOTNETNUKE aktiv und alle 12 Stunden. 
&lt;/li&gt;
				&lt;li&gt;DotNetNuke.Services.Log.EventLog.PurgeLogBuffer, DOTNETNUKE aktiv und jede Stunde. 
&lt;/li&gt;
				&lt;li&gt;DotNetNuke.Services.Log.EventLog.SendLogNotifications, DOTNETNUKE aktiv und alle 5 minuten. 
&lt;/li&gt;
				&lt;li&gt;DotNetNuke.Services.Search.SearchEngineScheduler, DOTNETNUKE aktiv und jede Stunde 1 mal. &lt;/li&gt;
		&lt;/ol&gt;
		&lt;p&gt;Wenn wir das mal ein wenig berechnen dann sieht das so aus:&lt;/p&gt;
		&lt;p&gt;Dann haben wir ca. 1500 Eintrgäge je Tag im Protokoll, das macht immerhin 45000 Einträge im Monat 90000 Einträge in 2 Monaten usw.&lt;/p&gt;
		&lt;p&gt;Nach einger Suche ist mir dann aber die Einstellung &lt;img alt="Geben Sie Zeitdauer in Tagen ein, die das Portalprotokoll vorgehalten werden soll." src="http://www.dnnportal.dehttp://www.ihrportal.net/images/help.gif" border="0" /&gt; (Protokollzeitraum in Tagen) in den Erweiterten Einstellungen in den Systemeinstellungen aufgefallen. Hier kann man einstellen für welchen Zeitraum in Tagen die Protokolleinträge in dieser Tabelle gespeichert werden.&lt;/p&gt;
		&lt;p&gt;Also Eintrag von -1 auf 14 eingestellt und einfach gewartet bis der Scheduler die Funktion SiteLog.PurgeSiteLog das nächste mal aufruft und die älteren Einträge (älter als 14 Tage) wurden aus der Tabelle gelöscht.&lt;/p&gt;
		&lt;p&gt;In MB hat das bei mir ca. 40 MB freien Speicherplatz in der Datenbank gebracht.&lt;/p&gt;
		&lt;p&gt; &lt;/p&gt;
</description>
      <link>http://www.dnnportal.de/Weblog/tabid/177/EntryID/21/Default.aspx</link>
      <author>hp@schelian.de</author>
      <comments>http://www.dnnportal.de/Weblog/tabid/177/EntryID/21/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.dnnportal.de/Default.aspx?tabid=177&amp;EntryID=21</guid>
      <pubDate>Mon, 23 May 2005 11:35:36 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.dnnportal.de/DesktopModules/Blog/Trackback.aspx?id=21</trackback:ping>
    </item>
  </channel>
</rss>
