.NET-Software-Entwicklung - DotNetNuke - Business-Develoment
# Wednesday, June 15, 2005

Alternative zur (FTB) FreeTextBox bei DNN (Dotnetnuke)

Jeder der mit dem eingebauten WYSIWYG Editor (FreeTextBox) bei DotNetNuke unglücklich ist .. für den gibt es gute Nachrichten. Mittlerweile hat sich einer aus der Community hingesetzt und einen Provider für den OpenSource Editor FCKEditor entwickelt.

Diesen findet man unter http://dnn.tiendaboliviana.com/web als Download.

Eine Anleitung für den Einbau des Editors in DotNetNuke findet man unter http://www.dotnetnuke.de/Default.aspx?tabid=163

 


Wednesday, June 15, 2005 10:23:06 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
DotNetNuke
# Sunday, June 12, 2005

DotNetNuke 3.1.0 fehlerbereingte Distribution / mit deuscher Lokalisierung

Da die DotNetNuke Version 3.1.0 einige Schwierigkeiten und negative Überraschung mit sich bringt, hat sich Hans-Peter von deutschen dnn-portal hingesetzt und eine fehlerbereinigte Version inkl. der deutschen Lokalisierung erstellt.

Den Download gibt es unter:

http://www.dnnportal.de/Downloads/tabid/176/Default.aspx


Sunday, June 12, 2005 10:37:44 AM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
DotNetNuke
# Friday, June 10, 2005

DNN 3.1 Source-Code der Desktopmodule

Das Core-Team von DotNetNuke hat die Strategie bei den mitgelieferten Modulen geändert. Diese werden jetzt nicht automatish mit DotNetNuke installiert sonden müssen / können  einzeln installiert werden. Dabei müssen diese Module nicht mit der Hand installiert werden sonden einfach in den Ordner Install/Module abgelegt werden.

Bei der Originalauslieferung liegen die bisherigen Module schon (als ZIP - Datei mit einem dnn-File) in diesem Ordner vor. Auf den ersten Blick sieht man den Source Code nicht mehr. Keine Panik, das Core-Team hat den Source nur in die Datei Projekt.resources versteckt. Einfach in ZIP umbennen, auspacken und glücklich sein!

 


Friday, June 10, 2005 9:58:48 AM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
DotNetNuke
# Thursday, June 09, 2005

DotNetNuke 3.1

Nachdem jetzt schon seit ein paar Tagen die DotNetNuke Seite auf der Version 3.1 läuft, gibt es diese Version nun auch endlich als Download.

Unter www.dotnetnuke.com gibt es die Version DNN 3.1 vom 09.06.2005.

Da bin ich jetzt aber mal gespannt!


Thursday, June 09, 2005 8:57:47 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
DotNetNuke
# Wednesday, June 08, 2005

DotNetNuke JavaScript alert "Die Internetseite ... kann nicht geöffnet werden"

In der aktuellen Version von DotNetNuke (DNN 3.0.13) hatte ich vermehrt mit der Fehlermeldung

"Die Internetseite ... kann nicht angezeigt werde. Vorgange abgebrochen" zu kämpfen!

Dies Meldung kamm immer in einer JavaScript alert MessageBox und sah so aus:

Fehler.jpg

Leider kann man diesen Fehler nicht provozieren und erst recht nicht reproduzieren.

Mittlerweile habe ich eine Lösung für das Problem:

Die SolPart-Komponente scheint hier diesen Fehler zu erzeugen und das auch nur im Internet Explorer. In der JavaScript-Datei "spmenu.js" muss einfach eine Zeile verändert werden:

this.delaySubmenuLoad=(spm_getAttr(o, 'delaySubmenuLoad', '0') != '0' && spm_needsSubMenuDelay());

ändern in:

this.delaySubmenuLoad=spm_needsSubMenuDelay();

Danach war der Fehler bei mir behoben.

Hoffentlich übernimmt das CoreTeam von DotNetNuke auch diese Änderung in der nächsten Version.


Wednesday, June 08, 2005 12:28:37 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
DotNetNuke
# Monday, June 06, 2005

Breaking Changes bei .NET 2.0

Microsoft hat eine Liste mit "Breaking Changes" zwischen dem .NET Framework 1.1 und 2.0 Beta 2 sowie den Änderungen von .NET 2.0 Beta 1 zu Beta 2 veröffentlicht.

Diese Liste steht im Compiled-Help-Format zu Verfügung und enthält außerdem alle Änderungen bei ASP.NET, ADO.NET und Windows Forms.

Microsoft .NET Framework 1.1 and 2.0 (Beta) Compatibility @ msdn.microsoft.com


Monday, June 06, 2005 10:56:36 AM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
.NET
# Friday, June 03, 2005

DotNetNuke Controls

Es lohnt sich doch immer erst mal zu forschen, ob jemand eine Problemstellung schon mal gelöst hat, bevor man etwas selber programmiert. :)

Heute musste ich zum ersten Mal (in einem DotNetNuke Modul) eine Auswahl von Dateien aus dem Portal vornehmen. Hatte bisher aber mir noch nie angeschaut, wie das so geht. Das Core-Team von DotNetNuke rocks .. die haben natürlich ein sehr coole Komponten geschrieben, um das Problem zu lösen.

<%@ Register TagPrefix="Portal" TagName="URL" Src="~/controls/URLControl.ascx" %>

<portal:url id="ctlURL" runat="server" width="300" showtabs="false" showfiles="true" showUrls="false" urltype="F" showlog="false" shownewwindow="false" showtrack="false"/>

Mit diesen beiden Zeilen kann man folgende Funktionalität in DotNetNuke abbilden:

  • "showfiles" -> Auswahl einer Datei aus dem Portal
  • "showtabs" -> Auswahl einer Seite (Tab) aus dem Portal
  • "showUrls" -> Eingabe einer URL
  • "showlog", "shownewwindow", "shownewwindow" ;-> Die bekanten Einstellungen

So macht das Entwickln echt Spaß :)


Friday, June 03, 2005 4:44:03 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
DotNetNuke
# Monday, May 30, 2005

Jede Menge Stuff: DotNetNuke / Web Services / NT - Service / Scheduler

Heute Abend habe ich mal mit ein interessantes Thema beschäftigt - Scheduler-Jobs unter DotNetNuke.

DotNetNuke im Core einen eigene Implementierung für Scheduler, allerdings laufen diese Jobs im Prozess er Webanwendung. Dieses bedeutet, dass die einzelnen Jobs nur dann ausgeführt werden können, wenn der Hauptprozess der Webanwendung auch läuft. Darauf kann man sich allerdings nicht wirklich verlassen ...

Aus diesem Grund habe ich eine eigene Architektur entwickelt, bei der man vom Hauptprozess unabhängig ist.

Folgendes Szenario: Ich möchte jeden Abend um Punkt 21 Uhr eine E-Mail an ganz bestimmt User verschicken.

In einem Windows NT-Service habe ich einen Scheduler integriert, der je nach Konfiguration zu einem beliebige Zeitpunkt verschiedene Assemblies ausführen kann. Natürlich hätte man auch den Windows internen Scheduler nehmen können aber so habe bin ich etwas flexibler, was die Konfiguration betrifft.

Wie kommt jetzt dieser Service an Daten von DotNetNuke ran? Nun der Scheduler ruft zu einem ganz bestimmten Zeitpunkt ein Programm auf, dass für den Versand der E-Mail zuständig ist - oder viel mehr das die E-Mails aufbereitet und dann in eine MSMQ schiebt. Die benötigten E-Mailadressen bekommt dieses Programm über einen Web Service der innerhalb der DotNetNuke Webanwendung läuft.
Bei diesem Web Service handelt es sich lediglich um Schnittstelle, die dann wiederum auf eine typische DotNetNuke Assembly zugreift. Damit ist die Grundarchitektur von DotNetNuke nicht verändert wurden.

Der Source Code für den Web Service ist wirklich sehr simple:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Web;
using System.Web.Services;
using System.Xml ;
using System.Xml.Serialization ;
using Lowfett.Goldmember.WeightProcess.MailNotification.Business ;


namespace Lowfett.Goldmember.WeightProcess.Webservive.MailNotification
{
    /// <summary>
    /// Zusammenfassung für Service1.
    /// </summary>
    public class WSMailNotification : System.Web.Services.WebService
    {
        public WSMailNotification()
        {
            //CODEGEN: Dieser Aufruf ist für den ASP.NET-Webdienst-Designer erforderlich.
            InitializeComponent();
        }

        #region Vom Komponenten-Designer generierter Code

        //....
        #endregion

    
        [WebMethod]
        [System.Xml.Serialization.XmlInclude(typeof(MailNotificationInfo))]        
        public ArrayList GetUserToNotify()
        {
            return new MailNotificationController().GetUserToNotify() ; 
        }

    }
}

Wichtig ist das die Assembly des Web Service im "bin" Verzeichnis von DotNetNuke liegt - die asmx Datei kann in einem beliebigen Unterverzeichnis liegen.

Den Source Code für den NT-Service und den Client des Web Services erspare ich mir an dieser Stelle!


Monday, May 30, 2005 10:59:43 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
DotNetNuke
# Sunday, May 29, 2005

dotnetnuke.com wurde auf die Version 3.1 aktuallisiert

Die Seite www.dotnetnuke.com läuft jetzt mit der noch nicht verfügbaren Version 3.1 von DotNetNuke.

Das läßt vermuten, dass diese Version von DotNetNuke wohl auch bald zum Download bereit gestellt wird.

Hauptsächlich wurden in diesem Release Bugfixes eingepflegt. Eine genau Übersicht gibt es unter http://support.dotnetnuke.com....


Sunday, May 29, 2005 3:21:27 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
DotNetNuke
# Saturday, May 28, 2005

Was bedeutet EDV?

Endlich mal eine Abkürzung die den Kern der Sache trifft:

EDV = Eh Du Vollidiot

Jetzt ist nur die Frage ob das auf die Entwickler oder die Anwender bezogen ist ;-)


Saturday, May 28, 2005 12:46:32 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
Allgemein
# Friday, May 27, 2005

Visual Studio .NET IDE for Linux!

Ohne viele Worte ... http://dev.mainsoft.com/Default.aspx?tabid=45


Friday, May 27, 2005 6:57:20 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
.NET
# Thursday, May 26, 2005

Ermitteln des Speicherplatz von Tabellen im MS SQL-Server

Leider bietet der Enterprise Manager von MS SQL-Server nicht die Möglichkeit den benötigtem Speicherplatz eine Datenbank anzuzigen.

Der SQL-Server bietet dafür aber eine Stored Procedure exec sp_MsForEachTable 'sp_spaceused ''?'''

Möchte man die Größe einer ganz bestimmten Tabelle einer Datenbank im SQL-Server ermitteln dann schaut das so aus:

user mydb
exec sp_spaceused 'sitelog'


Thursday, May 26, 2005 5:41:00 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
Datenbank

Die Datenbank von DNN ist sehr groß und wächst permanent an!

Hans-Peter von deutschen DNN-Portal hat dort einen recht interessanten Hinweis gepostest:

http://www.dnnportal.de/Weblog/tabid/177/EntryID/112/Default.aspx

Ein Tip an alle DotNetNukler: Überpürft mal ob man wirklich alle Einträge braucht die DotNetNuke dort reinschreibt und vor allem ob und wie lange die Einträge dort gespeichert werden.

Immerhin hat DotNetNuke die Tabelle SiteLog bei mir auf 10.000.000 (da ist keine Null zu viel) anwachsen lassen. Wie man sich vorstellen kann, kommen da einige MB zusammen.

Da ist wohl morgen erst mal "Putztag" angesagt und das nicht nur in meiner Wohnung :)


Thursday, May 26, 2005 3:21:58 AM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
DotNetNuke
# Monday, May 23, 2005

Erzeugen eines kommaseparierte String

Wie bekommt man aus einem String - Array einen kommaseoarierten String? Wer es braucht bitte:

Dim commaSeparatedValues As String = _
String.Join(",", myArrayList.ToArray(String.Empty.GetType()))

Dazu gibt es es dann auch noch eine Link aus der MSDN.


Monday, May 23, 2005 8:42:04 AM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
.NET
# Sunday, May 22, 2005

DotNetNuke on DotNetRocks

DotNetRocks ist eine Radiosendung die sich mit allem rund um das Thema .NET befasst. In einer der letzten Sendungen war ein paar der Köpfe von DotNetNuke als Gäste eingeladen. Dabei handelte es sich um "Jim Duffy" und "Shaun Walker"!

Wer sich diese Sendung anhören möchte ... hier ist der direkte Link:

http://www.dotnetrocks.com/default.aspx?showID=113 

Echt cool ;-)

Die Inhalte sind:

  • Wichtige Änderungen zwischen der Version 2 und der aktuellen Version 3
  • Der Gedanke von Open Source   
  • Die Zukunft von DotNetNuke

Sunday, May 22, 2005 12:54:02 AM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
.NET | DotNetNuke
# Tuesday, May 17, 2005

Ermitteln der aktuellen Kalenderwoche

Wer schon immer mal wissen wollte, wie man .NET (hier am Beispiel von C#), die aktuelle Kalenderwoche ermitellt .. bitteschön hier ein Beispiel:

using System;
using System.Globalization ;

namespace ConsoleApplication1
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            DateTime dt = DateTime.Now;
            System.Globalization.Calendar objCal = CultureInfo.CurrentCulture.Calendar;    
            int weekofyear = objCal.GetWeekOfYear(dt, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
            
            Console.WriteLine(weekofyear.ToString() ) ;
        }
    }
}

Mit dem Objekt objCal ist man z.B. auch in der Lage Schaltjahre zu ermitteln...

Das war jetzt mal wieder keine wirklicher Quantensprung aber auf Anhieb habe ich es nicht im Netz gefunden. Gehört auf jeden Fall zu Kategorie "Nützlicher Code".


Tuesday, May 17, 2005 3:00:33 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
.NET

DotNet / Mono / Linux / arbeiten ohne Installation

Eine sehr coole Möglichkeit für .NET Entwickler sich mit dem Open Source Projekt Mono zu beschäftigen - ohne dabei direkt ein System mit Linux zu installieren - bietet eine Lösung Namens Monopix. Dabei handelt es sich um erweiterte Lösung von Knoppix die folgende Komponten beinhaltet:

Sehr cool sind auch das Tutorails, dabei handelt es sich um Videos:

http://www.monoppix.com/tutorials.php

 


Tuesday, May 17, 2005 11:03:00 AM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
.NET | Opensource
# Tuesday, May 10, 2005

Cooles Chartcontrol für .NET

Auf der Suche nach Möglichkeiten div. Kurven darzustellen bin ich über eine sehr gute Chart Komponente gestolpert, die auch noch aus 100% .NET Code besteht. Entwickelt wurde die Komponente / Control komplett in C#...

Diese findet man unter:

http://zedgraph.sourceforge.net/

Die Einarbeitung ging erstaunlich schnell und nachdem ich dann auch noch einen Aritkel über genau diese Chart Komponente gefunden habe, ging es fast von alleine. Ich kann also nur folgenden Beitrag jedem ans Herz legen der sich mit ZedGraph auseinander setzen möchte.

http://www.codeproject.com/csharp/ZedGraph.asp

 


Tuesday, May 10, 2005 5:03:04 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
.NET
# Friday, May 06, 2005

Keine Anzeige des HTML-Quellcode für Webseiten im Microsoft Internet Explorer

Scheint als würde das der Tag meines Blogs.

Habe aber gerade etwas entdeckt, dass ich schon sehr lange suche!

Manchmal habe ich einfach das Problem, dass der "blöde" Internet Explorer einfach keinen HTML-Quelltext anzeigen will. Das ist ziemlich blöd - gerade als Webentwickler!

Hier habe ich jetzt aber zwei Links, die sich mit dem Problem beschäftigen und zumindest bei mir auch gelöst haben:

http://www.mredkj.com/tutorials/tips_ie.html

http://support.microsoft.com/kb/179829/de

 


Friday, May 06, 2005 5:04:26 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
Allgemein

Windows Service in .NET

Hier ist ein cooler Artikel der kurz und knapp eine Anleitung zum Erstellen eines Windows Service unter DotNet gibt:

http://www.developer.com/net/csharp/article.php/10918_2173801_1

Habe ihn gerade entdeckt, da ich auf der Suche war den Scheduler Service von DotNetNuke zu umgehen. Der hat nämlich so einige negative Eigenschaften, die ich für meinen Anwendungsfall nicht gebrauchen kann.

So ist der Scheduler von DotNetNuke nur verfügbar, wenn auch die Webanwendung aktiv ist. Sollte es also vorkommen, das niemand im Portal online ist und die Webanwendung ist heruntergefahren ... blöde Sache!

Nun ja, deswegen versuche ich das jetzt mit Hilfe eines (DotNet) Windows Service zu implementieren.

 


Friday, May 06, 2005 4:48:35 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
.NET | DotNetNuke