.NET-Software-Entwicklung - DotNetNuke - Business-Develoment
# Friday, January 05, 2007

Anzahl der Zeichen eines Strings per Validatorcontrol checken

Mit dem RangeValidator von ASP.Net ist es nicht so ohne weiteres möglich die Länge einer Eingabe (Strings) zu überprüfen. Durch die Verwendung eines regulären Ausdrucks kann man aber trotzdem diese Überprüfung durchführen.

So sieht das dann im Code aus:
<asp:RegularExpressionValidator ID="checklength" runat="server" ErrorMessage="Error: invalid length" ValidationExpression="^\w{1,10}$" />

Der Ausdruck "\~w(1,10)$" besagt das die Eingabe maximal 20 Zeichen lang sei darf.

Natürlich kann man auch die Eigenschaft MaxLength des Controls Textbox nutzen, allerdings kann man damit keinen Minimumwert überprüfen.


Friday, January 05, 2007 12:38:00 AM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
.NET | Allgemein | ASP.NET
# Thursday, January 04, 2007

Dokumentation der Dotnetnuke Datenbank (ERD) der Version 4.4.0

Wer schon immer mal eine Datenbankmodell-Digramm der DNN-Datenbank haben wollte, kann diese nun einfach downloaden. Die Datenbankstruktur der DNN-Version 4.4.0 wurde dabei dokumentiert.
Es stehen drei verschiednen Formate zur Verfügung:

  • PDF
  • VISO
  • HTML Windows-Hilfe

Hier gib es den Download des ERD Modells


Thursday, January 04, 2007 10:55:23 PM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
ASP.NET | Datenbank | DotNetNuke | Opensource
# Friday, December 29, 2006

Sicherheitsanalyse von WCF (Windows Communication Foundation) durch das BSI und newtelligence

Wie ich schon in meinem Beitrag über den NRW Sumit 06 geschrieben haben, hat Newtelligence eine Beispielanwendung für die WCF geschrieben. Diese Anwendung wurde im Auftrag des BSI (Bundesamt für Sicherheit in der Informationstechnik) entwickelt und sollte nicht nur ein praxisorientierte Beispielanwendung sondern viel mehr die sichere Nutzung der WCF-Sicherheitsfunktionen zeigen.
Die Empfehlungen umfassen neben den Hinweisen zu WCF-spezifischen Architekturen, zur sicheren Installation, Authentisierung und zur Anbindung von Datenbanken oder der Fehlerbehandlung in verteilten Systemen auch auch den Quellcode der beispielhaften WCF-Anwendung.

Die entwickelten Handlungsempfehlungen sowie die Beispielanwendung kann per E-Mail (security (at) bsi.bund.de) angefordert werden.


Friday, December 29, 2006 11:40:41 AM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
.NET | .NET 3.0 | Allgemein | Opensource | Software | WCF
# Sunday, December 17, 2006

iBATIS: Ein Data Mapper framework fuer DotNet / Java

Ohne jetzt große Erfahrungen mit dem System iBATIS gemacht zu haben, kann ich sagen, dass mir die Vorgehensweise sehr gut gefällt! So um 2000 herum habe ich mit einem Kollegen eine ähnliche Datenbankzugriffskomponente entwickelt und sehr gute Erfahrungen damit gesammelt. Gerade das Auslagern der der SQL-Befehle bzw. die Abstrahierung der SQL-Befehle kann Vorteile haben.
Damals haben wir dieses Konzept unter dem Aspekt der Datenbankunabhänigkeit implementiert und eine allgemeine Beschreibung in Form von XML auf die entsprechende Datenbank zur Laufzeit angepasst.

Freut mich doch immer wieder wenn ich Projekte sehe, die ähnliche Methode anwenden.

Mittlerweile bin ich zwar mehr der Freund vom Provider-Pattern aber der Ansatz von iBATIS kann durchaus einen Sinn ergeben! Eine weiter Diskussion erspare ich mir an dieser Stelle :)

Ach so, hier gibt es noch den Link.

Nur so am Rande: MySpace.com benutzt nicht nur ASP.NET 2.0 sondern auch iBATIS .. guckst Du hier!


Sunday, December 17, 2006 12:40:17 AM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
.NET | Allgemein | Datenbank | Opensource | XML
# Friday, December 15, 2006

Performanceoptimierung von DotNetNuke / DNN

Das DotNetNuke mittlerweile einen sehr großen und brauchbaren Funktionsumfang hat muss an dieser Stelle nicht weiter erwähnt werden. Bei der Implementierung alle dieser Features stand aber leider der Punkt Geschwindigkeit (Performance) nie im Mittelpunkt. Das soll nun endlich mit der kommenden Version 4.4.0 verändert werden!

Durch folgende Maßnahmen soll die Geschwindigkeit verbessert werden:

(1) Code Refactoring

(2) Optimierung und verbesserte Einsatz des Caching

(3) Assembly Management

(4) Database

(5) Compression

(6) Page State

Wer genauer wissen möchte was sich hinter den einzelnen Punkten versteckt kann das im Blogeintrag von Charles Nurse hier nachlesen.

Die Ergebnisse der ersten Tests kann man hier nachlesen!

Auf die Version 4.4.0 dürfen wir also alle sehr gespannt sein :)


Friday, December 15, 2006 2:45:17 PM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
.NET | .NET 2.0 | ASP.NET | DotNetNuke | Opensource

Microsofts Ajax (Atlas) steht als RC zum Download bereit

Auch wenn ich bis jetzt das Thema Ajax hier wohl mehr stiefmütterlich behandelt habe, habe ich dieses immer im Fokus. Das von Microsoft entwickelte Ajax-Framework steht nun als RC zur Verfügung und kann hier runtergeladen weden.

Jetzt kann man also über einen ernsthaften Einsatz nachdenken und ich werde das Thema nun endlich angehen.


Friday, December 15, 2006 2:25:02 PM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
.NET | .NET 2.0 | ASP.NET | XML
# Wednesday, December 06, 2006

Happy Birthday www.dnnportal.de (die dotnetnuke community)

Gestern ist es mir doch wirklich entgangen :( die Seite www.dnnportal.de wurde gestern zwei Jahre alt und geht nun in die dritte Runde. In dem Forum dieser Seite findet man mittlerweile jede Menge Tips&Tricks rund um DotNetNuke und immer wieder Hilfe von Experten aus dem deutschen Raum :d

 


Wednesday, December 06, 2006 1:10:38 PM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
Allgemein | DotNetNuke | Opensource
# Monday, December 04, 2006

DotNetNuke und entfernen von Profilproperties

Für einen Bekannten habe ich eine DotNetNukeinstallation (4.3.6) aufgesetzt und ihn ein wenig damit spielen lassen. Dabei hat er sich auch ein wenig mit den Profileigenschaften eines Users beschäftigt und diese Modifiziert. Das finde ich doch schon sehr gut und hätte ich mir eigentlich von Anfang an gewünscht ..

Da sein Portal lediglich den deutschsprachigen Raum anspricht hat er einfach die Eigenschaft TimeZone gelöscht. Leider findet das DotNetNuke gar nicht witzig und normale Anwender konnten sich ab diesem Zeitpunkt nicht mehr anmelden. Einige Komponenten benötigen diese Profileigenschaft und es kracht ganz schön böse, falls diese nicht im Profil enthalten ist.

Also: Vorsicht beim Löschen von Profileigenschaften - lieber ausblenden:)


Monday, December 04, 2006 3:20:32 PM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
.NET | .NET 2.0 | ASP.NET | DotNetNuke | Opensource
# Wednesday, November 29, 2006

Visual Studio 2003 und Windows Vista / Mein Tag

Schon länger wollte ich mein Notebook mal mit Windows Vista ausstatten doch irgendwie fehlte mir die Zeit. Nachdem dann letzte Nacht mein Notebook softwaretechnisch zu Bode ging, habe ich mich direkt entschlossen Windows Vista zu installieren. Im guten Glauben gesagt, getan und dachte alles wäre gut! Doch weit gefehlt... der erste Eindruck ist echt gut (ein wenig gewöhnungsbedürftig aber ich würde sagen: nicht schlecht)....

Dann habe ich meine Visual Studio 2003 installiert,  was kein Problem war, nur das Starten war mir nicht vergönnt. Was soll das denn ???? 

Eigentlich bin ich davon ausgegangen, dass Microsoft die meist verwendeten Anwendungen (Visual Studio 2003 / MS-SQL Server 2000, usw) unterstützt ... diese Hoffnung ist aber gerade wie eine Seifenblase geplatzt!
Normalerweise bin ich nicht contra-microsoft aber das ist ja wohl komplett am Thema vorbei!

Sogar Visual Studio 2005 läuft nur nach einem ServicePack - und selbst dann gibt es wohl noch ein paar Probleme (mehr als unter XP). Super, toller Start in ein neues Betriebssystemzeitalter.... jetzt geht es wieder zum good, old Windowx XP - bis all meine Anwendung und Tools unter .NET 2.0 (3.0) laufen.

An dieser Stelle sage ich : Vielen Dank für nichts!

P.S.: Vielleicht hätten wir alle bei VB 6 bleiben sollen, denn das wird unter Vista supportet *mahlzeit*


Wednesday, November 29, 2006 7:00:26 PM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
.NET | .NET 2.0 | Allgemein | Software
# Thursday, November 23, 2006

Sind wir nicht alle ein wenig Star Trek?

Für alle Leute die Fan von Star Trek sind habe ich gerade eine ziemlich coole Seite mit jede Menge Stuff entdeckt:

http://www.lcarscom.net

Da gibt es Sounds für die (Windows) Systemklänge, Screensaver, Fotos von Raumschiffen und deren Crew, etc.

Viel Spaß!


Thursday, November 23, 2006 12:02:40 AM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
Allgemein
# Friday, November 17, 2006

DotNetNuke 3.3.6 / 4.3.6 steht zum Download bereit

Seit gestern gibt es die aktuelle Version von DotNetNuke auf der offiziellen Downloadseite zur Verfügung. Neben einigen Fehlern, Sicherheitslücken und Peformanceoptimierung wurde auch mal die Datensyncronisation verbessert. Genaue Informationen gibt es wie immer hier.

Die Deutsche Übersetzung findet man bei http://www.deutschnetnuke.de/


Friday, November 17, 2006 1:01:40 PM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
.NET | .NET 2.0 | ASP.NET | DotNetNuke | Opensource
# Thursday, November 09, 2006

OpenSource Web-Design

Den Begriff OpenSource kennt man ja schon recht genau im Bereich der Software. Jetzt gibt es aber auch eine Seite die "OpenSource" Web-Designs anbietet (also quasi Templates für lau :) )

Bei meinem ersten Überflug ist die Seite es auf jeden Fall wert hier kurz erwähnt zu werden... also:

http://www.oswd.org

Vielleicht finde ich da ja auch mal endlich eine schönes neues Desgin für dieses Blog hier :)


Thursday, November 09, 2006 2:23:43 AM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
Allgemein | Opensource

MenuPilot: Open source context menu ASP.NET

Ein sehr schönes Context-Menü für ASP.net 2.0 habe ich soeben hier entdeckt. Dabei wird die Smart-Tag-Technologie (bekannt z.B. aus dem VS.NET 2005) verwendet.

Ebenso gibt es unter http://www.daypilot.org/ einen Klasse ASP.NET Kalender im Look & Feel von Outlook 2003  .. 


Thursday, November 09, 2006 2:07:33 AM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
.NET 2.0 | ASP.NET | Controls | Opensource
# Wednesday, November 08, 2006

Endlich neuer IE / .NET Framework 3.0 ready to download

Vermutlich ist es kein großes Geheimnis mehr aber trotzdem verbreite ich die Neuigkeit auch mal:
Microsoft hat den Internet Explorer 7.0 zum Download frei gegeben.

Der neue IE ist nicht nur ein Featureupdate sondern laut Aussage von Microsoft ein von Grund auf komplettes Redesign.  Besonders die Punkte Bedienbarkeit und Sicherheit standen im Vordergrund der Entwicklung.

Hier gibt es den neuen Browser:Download

 

Endlich ist es da: Das .NET Framework 3.0 inkl. der passenden SDK's und den passenden Erweiterungen für das Visualstudio 2005.

Ein paar Informationen zum .NET Framework und der Installation gibt es hier.

Hier die Downloadlinks für die einzelnen Downloads:

net 3.0 runtime -> http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&displaylang=en

sdk -> http://www.microsoft.com/downloads/info.aspx?na=40&p=3&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&u=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkId%3d74726

visual studio extensions for WF -> http://www.microsoft.com/downloads/info.aspx?na=40&p=4&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&u=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkId%3d74727

visual studio extensions for WCF, WPF (noch CTP !1) -> http://www.microsoft.com/downloads/info.aspx?na=40&p=2&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&u=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkId%3d74725


Wednesday, November 08, 2006 10:20:36 AM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
.NET | .NET 3.0 | Allgemein | Software | WCF
# Thursday, November 02, 2006

Remote Desktop auf einen anderen Port laufen lassen

Gerade habe ich einen interessanten Artikel / Blogeintrag gefunden der beschreibt wie man eine Remote Desktop Verbindung über einen beliebigen TCP-Port laufen lassen kann. Verwendung findet so etwas z.B. wenn an mehrere VM betreibt, Hackern es schwerer machen möchte per Remote Desktop auf einen Server zuzugreifen (okay, da gibt es auch noch deutlich besser Möglichkeiten ;-)).

Der Trick ist eigentlich realtiv Simple:
In der Registry muss lediglich ein Wert verändert weden:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp

Dort gibt es den Key "PortNumber" den man auf einen anderen Wert setzen kann.

Bei der Verbindung muss dann lediglich der veränderte Port hinter dem Computernamen/IP-Adresse angegeben werden:

z.B.: MeinServer:3829

Weiter Infos und ein Tool dafür gibt es hier.

 


Thursday, November 02, 2006 7:12:01 PM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
Allgemein | Opensource | Software
# Monday, October 30, 2006

SqlException: Konflikt der Sortierung fur die equal to-Operation

"Konflikt der Sortierung für die equal to-Operation kann nicht aufgeloest werden."

Was will der von mir???? ;-) Nach dem Umzug einer DotNetNuke - Site auf eine anderen Server bekam ich plötzlich im Log Viewer die Fehlermedlung

DotNetNuke.Services.Exceptions.ModuleLoadException: Konflikt der Sortierung für die equal to-Operation kann nicht aufgelöst werden. ---> System.Data.SqlClient.SqlException: Konflikt der Sortierung für die equal to-Operation kann nicht aufgelöst werden. at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(SqlConnection connection, SqlTransaction transaction, CommandType commandType, String commandText, SqlParameter[] commandParameters, SqlConnectionOwnership connectionOwnership) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(String connectionString, String spName, Object[] parameterValues) at DotNetNuke.Services.Log.EventLog.DBLoggingProvider.Data.SqlDataProvider.GetLog(Int32 PageSize, Int32 PageIndex) at DotNetNuke.Services.Log.EventLog.DBLoggingProvider.DBLoggingProvider.GetLog(Int32 PageSize, Int32 PageIndex, Int32& TotalRecords) at DotNetNuke.Services.Log.EventLog.LogController.GetLog(Int32 PageSize, Int32 PageIndex, Int32& TotalRecords) at DotNetNuke.Modules.Admin.Log.LogViewer.BindData() at DotNetNuke.Modules.Admin.Log.LogViewer.Page_Load(Object sender, EventArgs e) --- Ende der internen Ausnahmestapelüberwachung ---

Nach ein wenig Forschung war die Lösung schnell gefunden. Die SP muss ein wenig verändert werden, damit der Fehler nicht mehr auftritt.

Die Stored Procedure "GetEventLog" muss von

    CREATE TABLE #PageIndex
    (
        IndexID        int IDENTITY (1, 1) NOT NULL,
        LogGUID    varchar(36)
    )

auf

    CREATE TABLE #PageIndex
    (
        IndexID        int IDENTITY (1, 1) NOT NULL,
        LogGUID    varchar(36) COLLATE database_default
    )

geändert werden. Dann ist wieder alles im Lot!


Monday, October 30, 2006 2:11:41 PM (W. Europe Standard Time, UTC+01:00)  #    - Trackback
.NET | ASP.NET | DotNetNuke
# Friday, October 06, 2006

Ein CSS Menu fuer DotNetNuke 3.x / ASP.NET

Ich möchte jetzt hier gar keine Diskussion lostretten die über das Solpart-Menu herzieht. Fakt ist auf jeden Fall:

  • Das Anpassen des Menü via CSS kann einem wirklich graue Haare bereiten
  • Die Größe des Menü (bezogen auf die HTML Datei) ist sehr groß
  • Die Suchmaschinenfreundlichkeit ist fast nicht gegeben

Aus diesen Gründen habe ich ein kleines niedliches CSS-Menu gebaut das mit HTML Aufzählungen, CSS und wirklichen Links (!) arbeitet.

Es ist noch kein perfektes Menu aber für meine derzeitigen Einsatzbereich wirklich ausreichend. Ein paar Erweiterungen und Optimierungen müssen da in Zukunft noch implementiert werden. Aber wie bei jedem Projekt gibt es auch hier mal eine Version 1.0.

Da ich sehr gerne und eigentlich fast alle DotNetNuke Module in C# entwickel ist auch dieses Modul ist c# geschrieben.

Die Einbindung in ein Skin ist relativ simple! Einfach folgendes in das Skin aufnehmen:

<%@ Register TagPrefix="gwc" Namespace="GaliNeo.Modules.Framework" Assembly="GaliNeoMenu" %>

und dann an der Stelle wo das Menü erscheinen soll:

<gwc:GaliNeoMenu runat="server" id="TestMenu"></gwc:GaliNeoMenu>

Natürlich läst sich damit so ziemlich jede Menü darstellen das sich mit den HTML Tags UL und CSS formatieren läßt. Hier ist es zunächst ein klassisches Drop-Down Menü....

Hier der Download des Source-Codes:GaliNeo.DotNetNukeMenu (1.0.0.0).zip (7,96 KB)


Friday, October 06, 2006 12:22:40 AM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
.NET | Allgemein | ASP.NET | Controls | DotNetNuke | Opensource
# Thursday, October 05, 2006

Ein DotNetNuke Skin ohne Table-Tags rein auf DIV/CSS basierend

Ja ja ... i know. Wochenlang habe ich mein Blog vernachläßigt und jetzt jagt ein Beitrag den anderen ;-) Aber irgendwie habe ich mir heute ein wenig Zeit genommen um durch das www zu surfen.

Hier ist noch eine Seite, die man keinen DNN Skin Designe vorenthalten sollte:

http://www.xhtmlskins.com/

Auf dieser Seite geht es um die Erstellung von DotNetNuke Skins ohne Tabellen. Total sexy :)


Thursday, October 05, 2006 1:15:30 AM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
.NET | ASP.NET | DotNetNuke
# Wednesday, October 04, 2006

Blogupdate auf die aktuellste Version

So, endlich habe ich heute mal etwas Zeit gefunden um mein Blog auf die aktuellste Version von dasBlog.net zu aktualisieren.

Die Anpassung an ein anderes Design hat zwar noch nicht so ganz funktioniert aber ich werde die Tage noch mal daran arbeiten.
Bis jetzt läuft die Version  1.9.6264.0 sehr zufriedenstellend und auch das eigentliche Update der Blogsoftware stelle kein Problem dar.

Sollte es doch irgendwelche Probleme geben, dann sagt mir doch bitte bescheid ;-)


Wednesday, October 04, 2006 11:56:01 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
Allgemein

Generierung von Barcode on the fly

Hier ein paar Blogbeträge zum Thema Barcodes und wie man diese unter DotNet erzeugen kann ohne 3rd-party Komponenten:


Wednesday, October 04, 2006 3:47:15 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
.NET | .NET 2.0 | Allgemein | ASP.NET | Software