Oliver Scheer informiert über das Silverlight 2 Toolkit, welches auf Codeplex zu finden ist.

Da scheint es echt spannende Controls und Charts zu geben... :D

image

Sogar noch etwas ausführlichere Infos mit Demos und Code findet man bei Tim Heuer.

 

Ich war ja am Montag und Dienstag beim Silverlight Liftoff und dort haben wir viele Beispiele von Silverlight zu sehen bekommen. Ein Projekt stach besonders hervor - der Car-Shop.

Leider war dieser noch nicht auf Silverlight 2 optimiert was er nun aber zu sein scheint. Ich finde diese Anwendung ziemlich gelungen und es zeigt so einige Stärken von Silverlight.

Zu finden ist die Anwendung unter http://cs.w3a.de

image

Es ist auf jeden Fall einen Blick wert!

Ich komme gerade aus Frankfurt zurück, wo mein zweites Training zu Silverlight in den letzten beiden Tagen stattgefunden hat. Ein neugieriger Blick auf die Seite des Evangelisten Oliver Scheer brachte mir diese brandneue News (17:45 Uhr) "da war der Herr gerade mal 45 Minuten mit dem Training fertig und eventuell auf dem Weg zum Flughafen" :)

 

Ich hatte gestern und heute ein KickOff zu Silverlight, wo wir viele schöne Dinge über die Möglichkeiten von Silverlight vermittelt bekommen haben. Der Kurs war für den Einstieg in die Silverlightwelt super und man hat einen ersten Eindruck bekommen, was eigentlich für einen Designer(in) und dem Entwickler(in) alles dahintersteckt.

Passend dazu kam heute Vormittag das offizielle Release2Web von Microsoft heraus, welches unter http://silverlight.net/GetStarted herunter geladen werden kann. Bereits im Vorfeld wurde angekündigt, das alle Entwicklungen noch einmal überarbeitet werden müssen die mit der Beta erstellt wurden.

Unter http://silverlight.net/GetStarted/overview.aspx findet sich eine Tabelle mit den Unterschieden zwischen der Version 1 und 2 von Silverlight.

Am Donnerstag und Freitag werde ich in Bad Homburg an einem weiteren Kurs speziell für Entwickler teilnehmen und bin gespannt ob es weiter in diese Richtung geht und soviel neues bringt und vor allem ob meine Vorfreude anhält und nicht in Frust übergeht :)

Im Anschluss daran werde ich wohl wieder in das gewohnte Sharepointleben übergehen und bis zur XTopia warten.

 

Ich habe beim regelmäßigen durchforsten der für mich interessantesten/wichtigsten Seiten einen Beitrag auf www.home-server-blog.de entdeckt, welcher auf die Seite mce-community verweist, wo Kay Diefenthal einen Weg zur Anpassung der Intranetseite aufzeigt um eigene Software dort zentral bereit zustellen.

Da ich aus dem Sharepointumfeld komme und eine Anpassung von Originaldateien immer sehr kritisch gegenüberstehe, jedoch gerne von dieser Idee animiert war, habe ich mir eine Alternative ausgedacht. Diesen Weg möchte ich auch gerne anderen vorstellen.

Im Grunde ist es fast dieselbe Vorgehensweise, jedoch mit dem Unterschied, das eine eigene WebApplication erstellt wird und die Dateien dynamisch ausgelesen werden. (es kann natürlich auch dieselbe WebApplication sein, aber wer weiß schon was mir demnächst damit noch so einfällt)

- verbinde dich per RDP mit deinem Server

- navigiere zu C:\Inetpub und erstelle eine Kopie des Ordners "Intranet" - den Namen kannst du dir selbst aussuchen (ich verwende customsoftware)

- tippe nun bei Start-Ausführen "inetmgr" ein und drücke Enter

Über Rechtsklick auf "Web Sites" kannst du eine neue "Web Site" hinzufügen

image

Ein Wizard führt dich hier durch alle notwendigen Einstellungen:

image

image

Im vorletzten Schritt wählst du den kopierten Ordner aus

image

Im letzten nennst du noch die Zugriffsmethoden (Read und Run Scripts)

image

Das war es dann auch schon. Über den kleinen Pfeil oben oder das Kontextmenü kann die WebApplication nun gestartet werden. Ein lokaler Aufruf sollte bereits funktionieren und die gewohnte Intranetseite darstellen.

Wir wollen ja aber die Seite nicht nur auf dem Server direkt aufrufen, sondern von den Clients! Dazu muss der Port in der Firewall freigegeben werden, damit diese Seite erreichbar ist. Klicke auf "Start - Control Panel - Windows Firewall" öffnen.

image

Im 2 Register befinden sich alle Ausnahmen, die die Firewall passieren dürfen. Hier einfach über "Add Port" den zuvor gewählten Port angeben und mit OK bestätigen.

image

Ab sofort kann die Seite auch über einen Client erreicht werden.

Nun erstellen wir uns ein Verzeichnis, indem die zukünftige Software abgelegt werden soll. Ich bevorzuge das bereits bestehende Software Verzeichnis "D:\shares\Software" und lege hier einen Ordner mit dem Namen "customsoftware" an. Diesen machen wir nun als virtuelles Verzeichnis in unserer WebApplication bekannt. (falls nicht mehr offen - Start - Ausführen - inetmgr)

Hier wählen wir die WebApplication aus und machen einen Rechtsklick. Über "New" - "Virtual Directory" können wir nun einen Assistenten öffnen, der uns die Angabe des Verzeichnisses erlaubt.

image

Zuerst wählen wir einen Alias, der im späteren Verlauf noch Bedeutung findet. Über diesen Namen lässt sich bequem von jeder Position im Web auf das Verzeichnis zugreifen.

image

Im nächsten Abschnitt wählen wir nun den Ordner aus

image

image

Nun ist auch das virtuelle Verzeichnis fertig. Bleibt noch die Anpassung für das dynamische auslesen des Verzeichnisses. Dazu erstellen wir im Verzeichnis C:\Inetpub\[DeinName] eine leere Textdatei und benennen diese um zu default.aspx (die Datei default.htm umbenennen, löschen - wird nicht mehr gebraucht oder im inetmgr die Reihenfolge ändern, sie wird sonst vorrangig interpretiert)

folgenden Code in die default.aspx einfügen:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Dynamic aspx page</title>
<link rel="stylesheet" type="text/css" href="css.css" />
</head>
<body>
<div id="hdr"> <img src="i/hdr_logo.jpg" />
<h1 id="DfpSetup">Custom Software Install</h1>
</div>

<%
StringBuilder sb = new StringBuilder();
DirectoryInfo dirinfo = new DirectoryInfo(Server.MapPath("SetupProgs"));
foreach (FileInfo fileinfo in dirinfo.GetFiles())
{
sb.Append("<div id=\"info\"><img src=\"i/icon_hs.gif\" /><p class=\"itemhdr1\" id=\"DfpSetup1\">" + fileinfo.Name + "</p><p id=\"DfpSetupInstructions\"></p><div id=\"issuelink\"><a href=\"SetupProgs/" + fileinfo.Name + "\" target=\"_blank\" title=\"Download Now\"><img src=\"i/icon_arrow.gif\" /> Download Now</a></div></div>");
}
Response.Write(sb.ToString());

%>

</body>
</html>

Achte im Code auf die beiden Stellen "Server.MapPath("SetupProgs")" und "<a href=\"SetupProgs/". Wenn du beim Virtuellen Verzeichnis einen anderen Namen gewählt hast dann ersetze ihn durch deinen.
Bei einem Aufruf der Seite sollte nun eine leere Seite erscheinen. Dies kann man unterbinden, indem man nun einfach Dateien in dem Verzeichnis hinterlegt ;)

Dies sieht noch sehr spartanisch aus, sollte ja aber auch nur den machbaren Weg aufzeigen, ohne die originalen Dateien anzufassen. Denkbar wäre hier noch eine Schachtelung der Dateien in verschiedene Unterordner (Gruppierungen/Sortierung), Anzeige je nach Userberechtigungen oder das auslesen der Beschreibung der einzelnen Dateien aus einem XML File u.v.m.

image

Ich hoffe es kann noch jemand gebrauchen...

© 2012 Daniel Buschke - Blog Suffusion theme by Sayontan Sinha