Aug 112014
 

Es ist unschwer zu erkennen das sich hier was getan hat. Es war, oder noch besser, es ist eine heiden Arbeit ein Blog zu migrieren. Vor allem dann, wenn man noch die Plattform wechselt so wie ich. Ich habe BlogEngine.NET durch WordPress ersetzt.

Man könnte sich nun fragen wie so man das macht. Mit BlogEngine.NET lässt sich doch auch bloggen. Klar. Aber schaut man sich mal WordPress genauer an kriegt man schnell ein Problem. Hier gibt es massig Plugins und Themen die man bei BlogEngien.NET vergebens sucht.
Continue reading »

BlogEngine.NET – Themes installieren aus der Gallery

 Blog, BlogEngine.NET  Kommentare deaktiviert für BlogEngine.NET – Themes installieren aus der Gallery
Jul 212011
 

Seit der Version 2.5 von BlogEngine.NET ist es möglich ein Theme direkt in den Administrationsseiten runterzuladen, zu entpacken und auch gleich einzuschalten. Norbert Eder hat sein Mobile Theme in der BlogEngine.NET Gallery veröffentlicht. Somit kann man diese Theme über diesen Mechanismus installieren. Bei mir schlug das allerdings fehl.

Aus Erfahrung wusste ich sehr schnell was noch fehlt. Auf dem Verzeichnis themes im Root-Verzeichnis des Webservers waren die Berechtigungen noch falsch. Dieses muss, so wie App_Data auch, schreibrechte haben. Sonst kann BlogEngine.NET die Dateien nicht entpacken und dorthin kopieren.

Wenn das installieren eines Themes nicht funktioniert, dann prüft einfach mal nach ob der Webuser dort auch Schreibrechte hat. Standard ist nämlich nur lesen. Wenn ihr das ändert könnt ihr auch die Themen installieren.

Auf der offiziellen Installations-Anleitung-Seite von BlogEngine.NET habe ich dahingehend keinen Hinweis gefunden.

Update zu BlogEngine.NET 2.5

 Blog, BlogEngine.NET  Kommentare deaktiviert für Update zu BlogEngine.NET 2.5
Jul 092011
 

Seit einiger Zeit ist die Version 2.5 von BlogEngine.NET erhältlich. Als Poweruser, Erweiterungsschreiber und sonstiger Schrauber kam ich langsam in den Zugzwang meine Version auch auf den aktuellsten Stand zu bringen. Allerdings war das bei mir mit echt viel Arbeit verbunden.

Auf dem Server, wo noch BlogEngine.NET 2.0 lief, konnte ich die neue Version nicht installieren. Es fehlte schlicht das .NET 4.0 Framework, Razor (MVC3) wäre auch nicht installiert gewesen und zudem war der Server auch sehr langsam.

Also musste mein Hoster (Simple Hosting GmbH) zuerst einmal meine Domain auf einen neuen Windows Server 2008 R2 verschieben. Ich durfte auch meine EMail Konfiguration und alle Subdomains neu einrichten. Die Version 2.0 von BlogEngine.NET lief dann aber Problemlos auf diesem Server. Geschwindigkeit war aber noch immer nicht das Gelbe vom Ei. Es lag wohl nicht am Server sondern schlicht an der Software.

Zudem musste ich alle meine individuellen Anpassungen im Code wieder einpflegen. Das dauerte auch noch ein Weilchen.

Was bringt BlogEngine.NET 2.5 nun neues?

  • Man muss nun einen ASP.NET 4.0 Server haben mit installiertem MVC3.
  • Multiblog auf einer einzelnen Instanz.
  • Razor in den Themen und auch in gewissen Administrationsseiten.
  • Integration der BlogEngine.NET Gallery
    Allerding können Extensions und Widgets nicht direkt installiert werden. Soll angeblich Feature für ein weiteres Release sein.
  • Update auf jQuery 1.5.2
  • Einige Verbesserungen im Backend
  • Keine nennenswerte Verbesserung im SEO Bereich.

Was mir besonders aufgefallen ist, mein Blog wurde VIEL schneller. Die Seite ist wesentlich schneller da als früher. Woran das genau liegt weiss ich nicht. Die 2’er Version auf dem neuen Server war auch nicht sonderlich schnell. Die 2.5’er ist aber schnell. Ich würde meinen das liegt an der neuen Version.

Mein grösstes Problem beim Update war das MVC3 (Razor) nicht funktionierte. Mein Hoster meinte zwar, es sein schon lange installiert aber funktionieren tat es bei mir nicht. Nach einigem hin und her, im positiven Sinn, zeigte sich das wahrscheinlich ein paar Handler im IIS7 nicht korrekt gesetzt waren. Aber wie immer konnte das Simple Hosting lösen und mein Blog läuft nun einwandfrei.

Zudem habe ich auch die ersten Extensions von mir auf die 2.5’er Version angepasst. Ob die schon Multiblog Tauglich sind weiss ich noch nicht. Ich muss zuerst einmal ein Blog im Blog erstellen können. Zur Zeit endet das immer in einer Fehlermeldung.

Apropos Probleme. Wer welche hat soll sich einfach auf DotnetBlogEngine.de melden. Dort kann einem sicher geholfen werden. Ich bin der “lebendige” Beweis dafür. Smiley

Update der BlogEngine.NET 2.5 Extensions MostRead, WordCount und Flattr

 BlogEngine.NET, GEBEE  Kommentare deaktiviert für Update der BlogEngine.NET 2.5 Extensions MostRead, WordCount und Flattr
Jul 042011
 

Es wurde langsam Zeit. Mit der neuen BlogEngine.NET Version 2.5 hat sich einiges geändert. Mein Extensions funktionierten mit dieser Version nicht mehr. Ich musste sie also Updaten. Der Hauptgrund ist das geänderte Objektmodel. Einiges war nicht mehr da wo es bei der 2’er Version noch war.

Einbau ist immer noch genau so wie bei den alten Versionen.

WordCount: WordCount_Extension.V.2.5.zip –> Infos Einbau

MostRead: MostRead_Extension.V.2.5.zip –> Infos Einbau

Flattr: Flattr_Extension.V.2.5.zip –> Infos Einbau

Wichtig ist einfach zu wissen das diese Versionen noch nicht mit Multiblog funktionieren. Das kommt dann noch.

Bei Fragen oder Problemen könnt ihr euch im BlogEngine.NET Forum melden.

Jun 272011
 

Seit einiger Zeit hat Google auch so ein Bewertungssystem für Webseiten oder auch Blog Postings. Da es von Google ist wird es einigen nicht passen. Ich liebe solche Spielereien. Ob es was bringt ist zweitrangig. Ich finde es einfach cool. Wer das nun auch in seiner BlogEngine.NET Installation implementieren will, es ist ganz einfach.

Zuerst geht man auf die Webseite von Google. Google +1 für Ihre Website

Dort stellt man den Button ein den man auf dem Blog anzeigen möchte. Im Unteren Bereich sieht man dann das nötige Java Script. Zuerst kopiert man den Teil für den Head Bereich. In der BlogEngine.NET Installation geht man nun auf “Einstellungen –> Custom code” und kopiert das Snippet in die obere Textbox.

Custom Code

Danach öffnet man die PostView.ascx aus seinem Theme und geht an die Stelle wo man den Button einfügen will. Vielleicht muss noch eine CSS Klasse erstellt werden aber das überlasse ich dem Anwender selber. Dort fügt man nun den unteren Teil des von Google generierten Java Scripts ein. Ergänzt durch ein href Attribut. Siehe Zeile 5.

<div class="Buttons">
	<div class="Flattr">
		<%= GEBEEFlattr.GetFlattr(Post) %>
	</div>
	<g:plusone size="medium" href="<%=Post.AbsoluteLink %>"></g:plusone>
	<%= GEBEETranslation.GetHtml(Post) %>
	<%= TopsyButton.GetHtml(Post) %>
	<%= DotNetKicksDE.GetHtml(Post) %>
</div>

Das war es schon. Jetzt wird der Button pro Posting angezeigt.

+1 Button von Google

Jun 112011
 

BlogEngine.NET - Deutschsprachige Community PlattformSeit ein paar Tagen Deutschsprachige Community Plattform für Themen rund um die BlogEngine.NET Open Source Software Live. Es richtet sich an alle die BlogEngine.NET als Blogsoftware einsetzen wollen oder sie auch schon einsetzen.

Angerissen hat das Projekt Hans-Peter Schelian und Klaus Bock. Die Jungs haben mich gefragt ob ich da auch mithelfen möchte. Da ich schon einiges an BlogEngine.NET rumgeschraubt habe passt das gar nicht mal so schlecht. Ich werde also noch ein wenig mehr von meiner bescheidenen Freizeit an ein Projekt abtretten.

Die Beiden haben einiges an Erfahrung in Bezug auf Webprojekte im .NET Umfeld vorzuweisen. Klaus kennt BlogEngine.NET extrem gut in den Internas. Mein Know-how liegt einfach in der Softwareentwicklung generell. Für BlogEngine.NET habe ich schon etliche Extensions entwickelt und veröffentlicht. Einige davon werden rege eingesetzt. Vor allem die MostRead Extension wird oft installiert.

Ich werde also so gut ich kann helfen und meine Fragen in Zukunft in diesem Forum stellen. Das wird sicher spannend, vor allem im Hinblick auf die neue, nächste, Version von BlogEngine.NET.

Also, wenn ihr BlogEngine.NET nutzt und Fragen habt, dann meldet euch an und Fragt. Wenn ihr zur Zeit eine andere Software nutzt dann wird es Zeit umzusteigen. Smiley

Das Team von DotnetBlogEngine.de freut sich auch euch.

BlogEngine.NET mit IIS Express

 BlogEngine.NET, Entwicklung  Kommentare deaktiviert für BlogEngine.NET mit IIS Express
Apr 272011
 

Seit dem SP1 für Visual Studio 2010 ist es möglich Webprojekte mit dem IIS Express zu starten. Der alte integrierte Webserver, auch bekannt unter dem Namen Cassini, war bekannterweise ziemlich eingeschränkt. Der IIS Express entspricht ziemlich genau dem IIS 7.5.

Der IIS Express ist nicht im SP1 für Visual Studio enthalten und muss separat runtergeladen werden. Aber bevor man den IIS Express nutzen kann muss das SP1 für Visual Studio 2010 installiert sein.

Download DE: IIS Express DE
Download EN: IIS Express EN

Die Vorteile des IIS Express sind vor allem:

  • Der Funktionsumfang entspricht beinahe dem des IIS 7.5.
  • Zudem sind für die meisten Aufgaben keine Administratorrechte von Nöten.
  • Er kann auch unter Windows XP genutzt werden.
  • Die Einstellungen sind benutzerspezifisch. Jeder Benutzer kann seine Eigenen Websites definiert haben.
  • Er läuft nur wenn man ihn auch wirklich benötigt, im vergleich zum IIS 7.5.

Nachteil habe ich bislang nur einen gefunden. Die Verwaltung der Webseiten ist sehr umständlich. Entweder via CMD oder mit einem Editor in der Konfigurationsdatei.

BlogEngine.NET ist als Web Site Projekt definiert. Wenn man nun das SP1 von Visual Studio 2010 installiert hat und danach den IIS Express, kann man den Webserver wie folgt umstellen.

Bei einem rechtsklick auf das Web Site Projekt erscheint das Kontextmenü wo es weiter unten den Eintrag “IIS Express verwenden” gibt. Einfach anklicken und einen Moment warten.

IIS Express einschalten

Es erscheint die Meldung auf welche URL das Projekt nun verweist.

Infomeldung nach dem einschalten des IIS Express

Danach sie das Web Site Projekt im Projektexplorer wie folgt aus.

Nach dem einschalten des IIS Express

Standardmässig wird der Webserver mit einem Integrated .NET 2.0 AppPool eingerichtet. Wenn das geändert werden soll muss das, wie schon erwähnt, in der Konfigurationsdatei gemacht werden. Da diese Einstellungen Benutzerspezifisch sind findet man sie unter “C:\Users\GENiALi\Documents\IISExpress\config” in der Datei applicationhost.config. Relativ weit unten kommt ein Eintrag in der Form wie dieser.

<site name="BlogEngine.NET" id="5">
	<application path="/" applicationPool="Clr2IntegratedAppPool">
		<virtualDirectory path="/" physicalPath="D:\Dev\BE\2.0 DEV\BlogEngine\BlogEngine.NET" />
	</application>
	<bindings>
		<binding protocol="http" bindingInformation="*:2306:localhost" />
	</bindings>
</site>

In der Zeile 2 sieht man mit welchem AppPool die Anwendung läuft. Das kann geändert werden. Zur Verfügung stehen folgende AppPools die ein wenig weiter oben definiert sind.

Einfach den IIS Express beenden, den Wert ändern und schon hat man einen neuen Modus eingestellt.

<applicationPools>
	<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
	<add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
	<add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
	<add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
	<add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" />
	<applicationPoolDefaults managedRuntimeLoader="v4.0">
		<processModel />
	</applicationPoolDefaults>
</applicationPools>

Mrz 192011
 

Vor kurzem wurde ich auf eine, irgend wie coole, Geschichte für ASP.NET Anwendungen aufmerksam via dem Blog von rtur.net.  Er zeigte wie man ELMAH sehr einfach in BlogEngine.NET einbauen kann. Mit ELMAH können sehr einfach Applikationsweite Exceptions, die nicht abgefangen sind, aufgezeichnet werden. Einfach die DLL ins bin-Verzeichnis kopieren und die web.config ein wenig anpassen und schon wird tüchtig aufgezeichnet.

Zudem seht noch ein HTTP Handler zur Verfügung, elmah.axd, womit eine Liste mit allen aufgetretenen Fehler zu sehen ist.

Liste mit allen Exceptions -- ELMAH

Die Exceptions können in etlichen Datenquellen abgelegt werden. Diverse Datenbanken, XML Dateien und auch per Mail verschickt werden.

Wie baut man nun ELMAH am einfachsten in BlogEngine.NET ein?

  1. Lade NuGet runter und installiere es, sofern NuGet noch nicht installiert ist.
  2. Öffne das BlogEngine.NET Projekt mit Visual Studio 2010 und klicke im Projektexplorer rechts mit der Maus. Gehe auf “Add Library Package Reference…”.
    Add Library Package Reference…
  3. Suche nach “ELMAH” und klicke auf “Install”.
    ELMAH installieren
    Danach sieht es so aus.
    ELMAH installiert
  4. Öffne die web.config und passe sie noch ein wenig an. Einiges wird schon ergänzt. Aber wenn die Exceptions per Mail verschickt werden sollen oder in eine Datenbank geschrieben werden sollen muss noch ein wenig etwas angepasst werden.
    Infos dazu sind hier zu finden. sample web.config für ELMAH.
  5. Lade die DLL’s ins bin-Verzeichnis und die angepasste web.config auf den Webserver. Das war alles.

Mein Ziel ist es nun, alle Exceptions, die sich so ansammeln, zu beheben. Keine Ahnung was da auf mich zukommt. Ich habe auch zur Sicherheit mal die Methode Application_Error in der global.asax ausgeschalten. Wenn ich mich nicht irre behandelt diese so ziemlich alle Exceptions die sonst nirgends behandelt wurden. Die möchte ich natürlich auch in der Liste der Exceptions haben.

Den EMail-Versand habe ich zwar parametrisiert, aber zu funktionieren scheint er zur Zeit nicht. Ich weiss noch nicht wo genau das Problem liegen könnte. Aber schauen wir mal.

Ach ja. Und das nicht jeder auf die elmah.axd zugreifen kann, kann man in der web.config die Sicherheit so einstellen damit nur der angemeldete Admin auf die Seite zugriff hat.

</configSections>

<location path="elmah.axd">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>

...

Feb 202011
 

Einer der am meist geladenen Extension für BlogEngine.NET habe ich jetzt auch auf die Version 2.0 updatet. Diese zählt mit wie oft ein Artikel gelesen wurde. Sperrzeit ist 20 Minuten. Wenn jemand ein Posting innerhalb dieser Zeit zwei mal aufruft wird er nur einmal gezählt.

Einbau ist einfacher als noch in der Version 1.0.

  1. Herunterladen des ZIP Archives für BlogEngine.NET 2.0 (2.0.0.36). 
    GEBEE_MostRead_Extension.V.2.0_BE_2.0.zip
  2. Einpacken ins Root Verzeichnis von BlogEngine.NET. Die Verzeichnisstruktur sollte eigentlich passen.
  3. Ein stück Code in der Datei PostView.ascx einbauen. Wichtig ist nur der Teil
    <%= GEBEEMostRead.GetMostRead(Post, Location)%>. Der Rest ist nur Beigemüse.
    <a href="/MostRead.aspx" target="_blank" title="MostReaded">
    <%= GEBEEMostRead.GetMostRead(Post, Location)%>&nbsp;mal&nbsp;gelesen</a>

Das ganze könnte dann in etwa so aussehen.

So könnte es aussehen

Hinter dem “9 mal gelesen" steckt noch ein Link auf eine Übersichtsseite mit ein paar Informationen. Titel des Postings, wann wurde das Posting das erste mal geöffnet, wann das letzte mal, Tage zwischen den zwei Daten und wie oft Durchschnittlich pro Tag das Posting gelesen/geöffnet wird.

Ein bischen Statistik

Ob die Zahlen sinn machen weiss ich nicht. Wer Ideen hat soll sich einfach bei mir melden.

Ach ja, dass ich es noch erwähnt habe. Mich als Entwickler nimmt es natürlich wunder wo die Extension eingesetzt wird. Für ein kurzes Feedback, in Form eines Kommentares würde ich mich natürlich freuen.

Wer noch mehr Extensions sucht wird hier fündig.

GEBEE – Version 2.0 der WordCount Extension für BlogEngine.NET 2.0

 Blog, BlogEngine.NET, GEBEE  Kommentare deaktiviert für GEBEE – Version 2.0 der WordCount Extension für BlogEngine.NET 2.0
Jan 102011
 

Und noch ein Update für eine BlogEngine.NET Extension. Auch wieder für die neue Version 2.0 von BlogEngine.NET. Diese Extension zählt die Wörter eines Postings und zeigt diese an. Das Resultat sollte in etwa mit der Zählweise von Word übereinstimmen.

Folgendes wurde geändert.

  1. Unterstützung für den IIS im Integrated Mode
  2. Das UserControl (WordCount.ascx) ist nicht mehr nötig.  Dadurch ist der Einbau einfacher.

Installation ist wie immer sehr einfach.

  1. Herunterladen des ZIP Archives für BlogEngine.NET 2.0 (2.0.0.36). 
    GEBEE_WordCount_Extension.V.2.0_BE_2.0.zip
  2. Einpacken ins Root Verzeichnis von BlogEngine.NET. Die Verzeichnisstruktur sollte eigentlich passen.
  3. Ein stück Code in der Datei PostView.ascx einbauen. Genau dort wo man die Ausgabe haben will. Wichtig ist nur der Teil <%= GEBEEWordCount.GetWordCount(Post) %>.
    <%= GEBEEWordCount.GetWordCount(Post) %> words

Ach ja, dass ich es noch erwähnt habe. Mich als Entwickler nimmt es natürlich wunder wo die Extension eingesetzt wird. Für ein kurzes Feedback, in Form eines Kommentares würde ich mich natürlich freuen.

Wer noch mehr Extensions sucht wird hier fündig.

PS: Windows Live Writer sagt mir das dieses Posting 173 (Word 175) Wörter hat.