.
Anmeldung | Registrieren | Hilfe

.NET-Blogs Archiv September 2008

Description of the SharePoint Server 2007 hotfix package: August 26, 2008

30.09.2008 20:03:00 | Ozgur Aytekin

Description of the SharePoint Server 2007 hotfix package: August 26, 2008

This article describes the Microsoft Office SharePoint Server 2007 issues that are fixed in the Office SharePoint Server 2007 hotfix package that is dated August 26, 2008.

This article describes the following items about the hotfix package:
- The issues that the hotfix package fixes.
- The prerequisites for installing the hotfix package.
- Whether you must restart the computer after you install the hotfix package.
- Whether the hotfix package is replaced by any other hotfix packages.
- Whether you must make any registry changes.
- The files that the hotfix package contains.

http://support.microsoft.com/kb/956056

Erste offizielle Infos zu: Visual Studio Team System 2010 [VSTS 2010]

30.09.2008 16:57:35 | Kay Giza

Microsoft hat jetzt erste Details der kommenden Version 2010 von Visual Studio Team System der Öffentlichkeit vorgestellt. Vor allem im Bereich der Modellierung und der Qualitätssicherung bietet die Entwicklungslösung für Teams zukünftig noch mehr Funktionen, darunter die Unterstützung der Unified Modeling Language (UML). Die Möglichkeiten zur Einbindung von beliebig vielen Beteiligten in das Application Lifecycle Management wurden zudem deutlich erweitert. Visual Studio Team System 2010 ist eine wichtige Komponente der Software-Entwicklungsumgebung Visual Studio 2010, die auf der Softwaretechnologie .NET Framework 4.0 basieren wird.   In vielen Unternehmen ist heute die Anwendungsentwicklung abgeschottet... [...mehr Informationen in diesem Blogeintrag auf Giza-Blog.de]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Expression Media 2 und Office für Mac auf ProFoto-Tour mit Canon (Okt/Nov 08)

30.09.2008 16:57:00 | Steffen Ritter

Nicht nur das Xtopia-Logo geht gerne auf Reisen – auch Expression Media 2 (der Nachfolger der führenden Digital-Asset-Management-Lösung und Katalogsoftware iView MediaPro) und Microsoft Office für Mac 2008 Special Media Edition zeigen sich gerne in der Öffentlichkeit. Gemeinsam mit Canon geht das kreative Softwareduo von Mitte Oktober bis Mitte November auf Tour um Fotografen, Agenturen, Videokünstlern und Grafikern die Vorteile des neuen Office für Mac und der professionellen Fotoverwaltung Expression Media vorzustellen. Begleitet werden sie dabei von mir und meinem Kollegen Markus Maschik.

Der Besuch der Canon Professional Services (CPS) Roadshow ist natürlich kostenlos, weitere Infos zur Anmeldung finden Sie hier: http://www.microsoft.com/germany/expression/events/CanonProfessionalServiceRoadshow2008.aspx

Die Termine und Veranstaltungsorte:

  • Stuttgart: 14.10.2008 Alte Keller, Untertürkheimer Str. 33, 70734 Fellbach
  • München: 16.10.2008 Eisbach Studios, Studio D, Berduxstr. 30, 81245 München
  • Zürich: 21.10.2008 Mediacampus, Baslerstraße 30, CH-8048 Zürich
  • Frankfurt: 28.10.2008 Union Halle, Hanauer Landstr. 188, 60314 Frankfurt am Main
  • Düsseldorf: 30.10.2008 Kloppes & Friends, Königsberger Str. 7, 40231 Düsseldorf
  • Wien: 04.11.2008 Studio 44 der österreichischen Lotterien, Rennweg 44, 1038 Wien
  • Berlin: 11.11.2008 Delight Rental Studios DRS, Saarbrücker Str. 37, 10405 Berlin
  • Hamburg: 13.11.2008 Lichtwerk Altona Studios GmbH, Völckersstr. 14-20, 22765 Hamburg

Jeweils von 12 – 19 Uhr, der Eintritt ist frei. Alle Fotoprofis sind herzlich eingeladen!

Data Dude & VSTS Developer Edition wachsen zusammen

30.09.2008 09:13:00 | Lars Keller

Wie man im Data Dude Blog lesen kann, wird in der nächsten Version von Visual Studio Team System die Developer Edition und die Database Edition verschmelzen. (Yippie! :)

Als besonderes "Schmankerl" können alle Besitzer der VSTS Developer Edition mit Premium MSDN Abo, ab 01.10.08 die Database Edition kostenlos herunterladen und einsetzen. Dieses gilt auch für alle Team System 2005 Besitzer.

Link:



This weblog is sponsored by netcreate OHG.

Data Dude & VSTS Developer Edition wachsen zusammen

30.09.2008 08:13:00 | Lars Keller

Wie man im Data Dude Blog lesen kann, wird in der nächsten Version von Visual Studio Team System die Developer Edition und die Database Edition verschmelzen. (Yippie! :)

Als besonderes "Schmankerl" können alle Besitzer der VSTS Developer Edition mit Premium MSDN Abo, ab 01.10.08 die Database Edition kostenlos herunterladen und einsetzen. Dieses gilt auch für alle Team System 2005 Besitzer.

Link:

Neuigkeiten: jQuery + Open Source Support, .NET 4.0 und Visual Studio 2010

30.09.2008 01:13:50 | Robert Mühsig

Nachdem bereits viele über das Thema “jQuery Integration” in Visual Studio 2008 gebloggt haben (was eine sehr tolle Neuigkeit für alle Webentwickler ist) möchte ich mich ebenfalls den Gedanken von Ayende Rahien anschließen:

This is the first time in a long time that I have seen Microsoft incorporating an Open Source project into their product line.

I am both thrilled and shocked.

Ich bin sehr gespannt ob Microsoft vielleicht in Zukunft einen Schritt auf die OpenSource Community zugeht und nicht jedes Mal das Rad neu erfindet (MSTest und co. ahoi!)

.NET 4.0 und Visual Studio 2010

Heute sind auch die ersten Informationen zu Visual Studio 2010 und .NET 4.0 aufgetaucht. UML, Agile Entwicklung und Cloud Computing werden wohl Bestandteil davon sein. Ich bin sehr gespannt was auf der PDC zu sehen sein wird.

Mehr Informationen zu Visual Studio 2010 findet man auf Channel 9:


Visual Studio Team System 2010 Week on Channel 9!

 


Norman Guadagno: Announcing Visual Studio Team System 2010

ShareThis

Data Dude & VSTS Developer Edition wachsen zusammen

29.09.2008 23:13:00 | Lars Keller

Wie man im Data Dude Blog lesen kann, wird in der nächsten Version von Visual Studio Team System die Developer Edition und die Database Edition verschmelzen. (Yippie! :)

Als besonderes "Schmankerl" können alle Besitzer der VSTS Developer Edition mit Premium MSDN Abo, ab 01.10.08 die Database Edition kostenlos herunterladen und einsetzen. Dieses gilt auch für alle Team System 2005 Besitzer.

Link:

Upgrading projects from VC2005 / VC2003 to VC2008 may not properly port /O2 switch

29.09.2008 20:13:00 | Ozgur Aytekin

The porting completes successfully and the Project Properties->Configuration Properties->C/C++->Optimization for release mode configuration will show Maximize Speed (/O2).

But when you build the application, the /O2 switch may not be not passed to the compiler. This could be observed in the build log or by checking Project Properties->Configuration Properties->C/C++-> Command Line.

As a result the VC2008-SP1-built application could perform more slowly.

http://support.microsoft.com/kb/958148

IE AddOn - Make URL as Tinyurl

29.09.2008 17:51:13 | Lars Keller

Inspiriert von dem Twitter Client "twhirl", habe ich mir ein kleines IE Addon geschrieben, welches eine URL in eine TinyUrl verwandelt.

Beispiel: Aus http://www.netcreate.de/de_home.net wird http://is.gd/3hc4

Das Addon wird per Rechtsklick (Kontextmenü) auf das Browserfenster ausgeführt.

Make URL as Tinyurl

Danach wird folgendes Skript ausgeführt:

<script type="text/javascript" defer>

	try

	{

		var win = window.external.menuArguments;

		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

		

		xmlhttp.open('GET', 'http://is.gd/api.php?longurl=' + external.menuArguments.document.URL);

		xmlhttp.onreadystatechange = handleStateChange;

		xmlhttp.send(null);

			

		function handleStateChange()

		{

			win.clipboardData.clearData();		

			if (xmlhttp.readyState == 4)

			{

				alert('URL converted to: ' + xmlhttp.responseText);

				win.clipboardData.setData("Text",xmlhttp.responseText);

				xmlhttp.abort();

				xmlhttp = null;

			}

			

		}

	}

	catch(ex)

	{

		alert("tinyurl.js - An Exception occured: " + ex.message);

	}

</script>

Damit das Addon im Kontextmenü des Browsers angezeigt wird, muss folgendes RegFile ausgeführt werden:

Windows Registry Editor Version 5.00



[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt]



[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\&Make URL as Tinyurl]

@="C:\\Tools\\IE\\tinyurl.js"

Download der beiden Files: hier

Known Issues:

  • Ab und zu geht der Aufruf nur jedes zweite Mal. Das xmlhttp.readyState ist plötzlich null, warum das so ist kann ich nicht genau sagen.

Links:



This weblog is sponsored by netcreate OHG.

IE AddOn - Make URL as Tinyurl

29.09.2008 16:51:13 | Lars Keller

Inspiriert von dem Twitter Client "twhirl", habe ich mir ein kleines IE Addon geschrieben, welches eine URL in eine TinyUrl verwandelt.

Beispiel: Aus http://www.netcreate.de/de_home.net wird http://is.gd/3hc4

Das Addon wird per Rechtsklick (Kontextmenü) auf das Browserfenster ausgeführt.

Make URL as Tinyurl

Danach wird folgendes Skript ausgeführt:

<script type="text/javascript" defer>
	try
	{
		var win = window.external.menuArguments;
		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		
		xmlhttp.open('GET', 'http://is.gd/api.php?longurl=' + external.menuArguments.document.URL);
		xmlhttp.onreadystatechange = handleStateChange;
		xmlhttp.send(null);
			
		function handleStateChange()
		{
			win.clipboardData.clearData();		
			if (xmlhttp.readyState == 4)
			{
				alert('URL converted to: ' + xmlhttp.responseText);
				win.clipboardData.setData("Text",xmlhttp.responseText);
				xmlhttp.abort();
				xmlhttp = null;
			}
			
		}
	}
	catch(ex)
	{
		alert("tinyurl.js - An Exception occured: " + ex.message);
	}
</script>

Damit das Addon im Kontextmenü des Browsers angezeigt wird, muss folgendes RegFile ausgeführt werden:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt]

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\&Make URL as Tinyurl]
@="C:\\Tools\\IE\\tinyurl.js"

Download der beiden Files: hier

Known Issues:

  • Ab und zu geht der Aufruf nur jedes zweite Mal. Das xmlhttp.readyState ist plötzlich null, warum das so ist kann ich nicht genau sagen.

Links:

Wie wars: Architect’s Master Class mit Juval Löwy

29.09.2008 14:28:15 | Christian Binder

Letzte Woche habe ich neben meinen Talks auf der Basta an der Architect's Master Class mit Juval Löwy teilgenommen. Kann ich die Architect's Master Class empfehlen?

Die kurze Antwort ist JA! Juval hat in den 5 Tagen aus der Perspektive des Solution Architect's den Service Oriented Development Process gelungen aufgezeigt. Anfangs definiert er die Rolle des Architekten und dessen Aufgaben im Development Process, immer wieder durch praxisnahe Beispiele aufgefrischt. Ein gutes Design ist abhängig von der Technologie, was bringt das beste Design, wenn es mit den vorhanden Technologien nicht zeitnah umgesetzt werden kann! Diese Auffassung teile ich uneingeschränkt, weil Sie aus der Praxis kommt. Dieser rote Faden zieht sich durch den ganzen Track, was mir sehr gut gefallen hat. Bei der technologischen Umsetzung fokussiert er natürlich auf WCF, wobei er immer den Fokus auf die für den Architekten relevanten Punkte setzt. Weiter zeigt er Advanced WCF mit den IDesign ServiceModelEx Extensions, immer die Architektur Patterns im Bezug.
Abschliessend fokussiert auf Requirement Decomposition und wie man eine Architektur hieraus ableitet. Am letzten Tag wird dieser Process im Lab geübt. Wer danach immer noch Funktionale Decomposition betreibt, hat's nicht verstanden. Besonders gut gefallen hat mir der Praxisbezug mit dem Fokus auf die Rolle des Architekten und dem direkten Bezug zur Technologie.
Nicht alle Ansichten teile ich zu 100%, muss man auch nicht, wichtig ist, dass man genug Ideen für seine Rolle mitnimmt und davon gibt's einige :-)

Sie ergänzt sich mit der WCF Master Class am 8-12 Dezember, die noch deutlich mehr WCF Details behandelt. Hier hab ich auch schon partizipiert :-)

Viel Spass

Chris

Warum muss ich hin? Keynote Technical Summit 2008

29.09.2008 13:02:54 | Christian Binder

Der Technical Summit 2008 wird dieses Jahr unsere grösste Microsoft Entwickler Veranstaltung in Deutschland sein, auf der wir unter anderem die neusten Microsoft Entwicklertrends zeigen werden. 

In der Keynote greifen wir unter anderem ein Thema auf, was in naher Zukunft fast jedem Entwickler Kopfschmerzen bereiten könnte:
clip_image001
Intel hat für 2011 Prozessoren mit 80 Cores angekündigt, was nichts anderes bedeutet, dass die einzelne CPU nicht mehr signifikant schneller werden wird, sondern es einfach mehr Cores geben wird. Stellt sich die Frage, welche Folgen dieser Trend für das Software Development hat? Die meisten Applikationen, die ich kenne, werden mit 80 Cores folgendes Bild abgeben. Einer der Cores wird mit 100% rot leuchten und der Rest 0-1% Auslastung zeigen, die Applikation wird mit der neuen Hardware nur unwesentlich schneller laufen...... Ups, was wird da wohl der Kunde sagen......

Die Applikationen, die schon jetzt multithreaded arbeiten und von den zusätzlichen Cores profitieren, haben in der Regel Probleme mit Deadlocks und Concurrency. Ausnahmen bestätigen zwar die Regel, Fakt ist aber das Multithreaded Programmieren noch kein Mainstream ist. Warum?

Die Antwort ist einfach, die Toolunterstützung in diesem Bereich ist nicht ausgreift oder schlicht einfach nicht vorhanden, was dazu führt, dass nur erfahrene Entwickler stabile Multithreaded Frameworks entwickeln können und das ist nicht zufriedenstellend!

Dieser Hardware Trend stellt also neue Anforderungen an das Software Development. In der Keynote und in einer zusätzlichen Session, werden wir deshalb dieses Thema aufgreifen und zeigen, was wir mit der nächsten Visual Studio Generation an Unterstützung liefern werden. Unser Ziel ist Entwicklern eine Toolunterstützung zu geben, die es ermöglicht,  diese neuen Hardware Ressourcen effizient nutzten zu können. Wer könnte das besser tun als Steve Teixeira, Product Unit Manager des Parallel Development Tools Team's in der Developer Division's Parallel Computing Platform Organzation?

Wer also wissen möchte was kommt, was man jetzt schon beachten sollte, darf diese Keynote auf keinen Fall verpassen :-)

Christian Binder

IE AddOn - Make URL as Tinyurl

29.09.2008 07:51:01 | Lars Keller

Inspiriert von dem Twitter Client "twhirl", habe ich mir ein kleines IE Addon geschrieben, welches eine URL in eine TinyUrl verwandelt.

Beispiel: Aus http://www.netcreate.de/de_home.net wird http://is.gd/3hc4

Das Addon wird per Rechtsklick (Kontextmenü) auf das Browserfenster ausgeführt.

Make URL as Tinyurl

Danach wird folgendes Skript ausgeführt:

<script type="text/javascript" defer>
	try
	{
		var win = window.external.menuArguments;
		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		
		xmlhttp.open('GET', 'http://is.gd/api.php?longurl=' + external.menuArguments.document.URL);
		xmlhttp.onreadystatechange = handleStateChange;
		xmlhttp.send(null);
			
		function handleStateChange()
		{
			win.clipboardData.clearData();		
			if (xmlhttp.readyState == 4)
			{
				alert('URL converted to: ' + xmlhttp.responseText);
				win.clipboardData.setData("Text",xmlhttp.responseText);
				xmlhttp.abort();
				xmlhttp = null;
			}
			
		}
	}
	catch(ex)
	{
		alert("tinyurl.js - An Exception occured: " + ex.message);
	}
</script>

Damit das Addon im Kontextmenü des Browsers angezeigt wird, muss folgendes RegFile ausgeführt werden:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt]

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\&Make URL as Tinyurl]
@="C:\\Tools\\IE\\tinyurl.js"

Download der beiden Files: hier

Known Issues:

  • Ab und zu geht der Aufruf nur jedes zweite Mal. Das xmlhttp.readyState ist plötzlich null, warum das so ist kann ich nicht genau sagen.

Links:

Sicherheit ja - aber vor was und vor wem genau?

29.09.2008 05:44:45 | Kay Giza

Eine vielerorts zu selten gestellte Frage ist die, welchem konkreten Zweck eine als notwendig erachtete Sicherheitsmaßnahme dienen soll, und welche Art von Schutz sie leisten kann. Eric Lippert erklärt in seinem Blog nach einiger sprachlicher Herleitung zur grundsätzlichen Vollständigkeit einer Fragestellung, warum er sein Cabriolet grundsätzlich nicht mehr abschließt, sein Haus aber dennoch, und begründet beide Entscheidungen in einer Abwägung von Aufwand, Risiken und Möglichkeiten. Diese sehr plastischen Beispiele zeigen auf, dass das Streben nach Sicherheit in allen Lebensbereichen nicht als isolierter Aspekt behandelt werden kann, und der gewollte und erreichbare Schutz einer Maßnahme ebenso klar definiert wie bewusst sein sollte. Greifbare Beispiele aus der Entwicklerwelt bleibt Eric ebenfalls nicht schuldig: Sicherheit ja - aber vor was und vor wem genau?

Wichtige Infos rund um das Thema Sicherheit liefert der monatlich erscheinende Sicherheits-Newsletter für IT-Professionals - mit Leitfäden, Hintergrund-Artikeln, Sicherheits-Hinweisen und Veranstaltungsterminen. Aktuelles rund um die Erstellung sicherer Anwendungen erhalten Entwickler und Architekten darüber hinaus im zweiwöchentlichen Newsletter MSDN Flash und werktäglich im MSDN Security Developer Center. Gleich kostenlos abonnieren, sicherheitshalber ;-).



This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

jQuery und Microsoft

29.09.2008 02:17:01 | Jürgen Gutsch

So wie es aussieht, ist Microsoft daran interessiert die Unterstützung für die JavaScript Library jQuery in das VisualStudio zu übernehmen.

Es wird bis jetzt in der englischsprachigen ASP.NET Gemeinde kräftig über Unterstützung per IntelliSense, Snippets, Beispielen und Dokumentationen geschrieben. Zudem sollen neue Controls geschrieben werden die auf jQuery basieren.

Scott Hanselman hat bereits ein Tutorial zu jQuery und ASP.NET geschrieben

Ich bin mal gespannt, was dabei heraus kommt.

Mehr dazu:
http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/
http://ajaxian.com/archives/jquery-finds-its-way-into-microsoft-and-nokia-stacks
http://www.hanselman.com/blog/jQueryToShipWithASPNETMVCAndVisualStudio.aspx
http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx
http://weblogs.asp.net/bleroy/archive/2008/09/28/jquery-now-officially-part-of-the-net-developer-s-toolbox.aspx

Expression Blend 2 SP1 bringt vollstaendigen Support fuer Silverlight 2

28.09.2008 22:07:10 | Kay Giza

Preview veröffentlicht, ersetzt die Microsoft Expression Blend 2.5 Previews - seit diesem Wochenende ist es offiziell: Die bisher den als „Blend 2.5 Preview“ bezeichneten Blend-Versionen vorbehaltene Unterstützung für Silverlight 2 – also die Unterstützung für die heiß ersehnte Browser- und Plattform übergreifende .NET-Runtime für Mac, Windows und Linux – wird in Kürze als kostenloses Servicepack für Expression Blend 2 veröffentlicht. Eine Vorabversion des SP1 (Service Pack 1) für Expression Blend ist bereits in Englisch verfügbar und ersetzt damit alle Blend 2.5-Versionen.

Die Zusammenfassung in Stichworten:

  • Kostenloses Servicepack SP1 für Expression Blend 2 bringt vollen Support für Silverlight 2
  • Blend 2 SP1 ersetzt damit die bisherigen Blend 2.5 Previews (2.5er gibt es ab sofort nicht mehr; Blend 2 SP 1 ist ab sofort die neueste Version mit den meisten Funktionen für Silverlight 2)
  • Eine englische Preview von Expression Blend 2 SP 1 ist bereit zum Download verfügbar (klappt mit Test- und Vollversionen): http://www.microsoft.com/expression/try-it/default.aspx?filter=prerelease
  • Die endgültige Version von Silverlight 2 erscheint in Kürze
  • Zum Erscheinen von Silverlight 2 oder kurz darauf wird auch eine deutsche SP1 für Blend 2 verfügbar sein.

Wichtig für alle Silverlight 2-Entwickler und -Designer ist auch diese Meldung: Kostenloses Service Pack für Expression Encoder 2



This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Expression Blend 2 Service Pack 1 bringt Silverlight 2 Unterstützung

28.09.2008 18:28:11 | Oliver Scheer

Expression Blend 2 SP1 bringt vollständigen Support für Silverlight 2 (Preview veröffentlicht, ersetzt die Blend 2.5 Previews)

Seit diesem Wochenende ist es offiziell: Die bisher den als „Blend 2.5 Preview“ bezeichneten Blend-Versionen vorbehaltene Unterstützung für Silverlight 2 – also die Unterstützung für die heiß ersehnte Browser- und Plattform übergreifende .NET-Runtime für Mac, Windows und Linux – wird in Kürze als kostenloses Servicepack für Expression Blend 2 veröffentlicht. Eine Vorabversion des SP1 (Service Pack 1) für Expression Blend ist bereits in Englisch verfügbar und ersetzt damit alle Blend 2.5-Versionen.

Die Zusammenfassung in Stichworten:

  • Kostenloses Servicepack SP1 für Expression Blend 2 bringt vollen Support für Silverlight 2
  • Blend 2 SP1 ersetzt damit die bisherigen Blend 2.5 Previews (2.5er gibt es ab sofort nicht mehr; Blend 2 SP 1 ist ab sofort die neueste Version mit den meisten Funktionen für Silverlight 2)
  • Eine englische Preview von Expression Blend 2 SP 1 ist bereit zum Download verfügbar (klappt mit Test- und Vollversionen): http://www.microsoft.com/expression/try-it/default.aspx?filter=prerelease
  • Die endgültige Version von Silverlight 2 erscheint in Kürze
  • Zum Erscheinen von Silverlight 2 oder kurz darauf wird auch eine deutsche SP1 für Blend 2 verfügbar sein

Wichtig für alle Silverlight 2-Entwickler und -Designer ist auch diese Meldung: Kostenloses Service Pack für Expression Encoder 2.

Expression Blend 2 SP1 bringt vollständigen Support für Silverlight 2 (Preview veröffentlicht, ersetzt die Blend 2.5 Previews)

28.09.2008 18:12:00 | Steffen Ritter

Seit diesem Wochenende ist es offiziell: Die bisher den als „Blend 2.5 Preview“ bezeichneten Blend-Versionen vorbehaltene Unterstützung für Silverlight 2 – also die Unterstützung für die heiß ersehnte Browser- und Plattform übergreifende .NET-Runtime für Mac, Windows und Linux – wird in Kürze als kostenloses Servicepack für Expression Blend 2 veröffentlicht. Eine Vorabversion des SP1 (Service Pack 1) für Expression Blend ist bereits in Englisch verfügbar und ersetzt damit alle Blend 2.5-Versionen. Und weil mir dieser Satz selbst ob seiner Konstruktion Kopfschmerzen beim Lesen bereitet (könnte natürlich auch daran liegen), hier die Zusammenfassung in Stichworten:

  • Kostenloses Servicepack SP1 für Expression Blend 2 bringt vollen Support für Silverlight 2
  • Blend 2 SP1 ersetzt damit die bisherigen Blend 2.5 Previews (2.5er gibt es ab sofort nicht mehr; Blend 2 SP 1 ist ab sofort die neueste Version mit den meisten Funktionen für Silverlight 2)
  • Eine englische Preview von Expression Blend 2 SP 1 ist bereit zum Download verfügbar (klappt mit Test- und Vollversionen): http://www.microsoft.com/expression/try-it/default.aspx?filter=prerelease
  • Die endgültige Version von Silverlight 2 erscheint in Kürze
  • Zum Erscheinen von Silverlight 2 oder kurz darauf wird auch eine deutsche SP1 für Blend 2 verfügbar sein

Wichtig für alle Silverlight 2-Entwickler und -Designer ist auch diese Meldung: Kostenloses Service Pack für Expression Encoder 2.

Extranet und Office SharePoint Server 2007 / MOSS 2007

28.09.2008 14:43:00 | Ozgur Aytekin

In diesem Beitrag findet Ihr sehr nützliche Links zum Thema "Extranet und SharePoint Server 2007".

Design extranet farm topology (Office SharePoint Server)

In this article:
- About extranet environments
- Planning for extranet environments
- Edge firewall topology
- Back-to-back perimeter topology
- Back-to-back perimeter topology with content publishing
- Back-to-back perimeter topology optimized for hosting static content
- Split back-to-back topology

http://technet.microsoft.com/en-us/library/cc263513.aspx

Extranet Topologies for SharePoint Products and Technologies

http://go.microsoft.com/fwlink/?LinkID=73153&clcid=0x409

 

ISA Server home page
http://go.microsoft.com/fwlink/?LinkId=86495&clcid=0x409 oder http://www.microsoft.com/isaserver/default.mspx

Network Concepts in ISA Server 2006
http://go.microsoft.com/fwlink/?LinkId=86497&clcid=0x409 oder http://technet.microsoft.com/en-us/library/bb794774.aspx

Intelligent Application Gateway 2007 technical library
http://technet.microsoft.com/en-us/library/cc303240.aspx

 

Plan for authentication (Office SharePoint Server)

In this chapter:
- Plan authentication methods (Office SharePoint Server)
- Plan authentication settings for Web applications in Office SharePoint Server
- Authentication samples

http://technet.microsoft.com/en-us/library/cc263434.aspx

 

Logical architecture model: Corporate deployment

In this article:
- About the model
- Overall design goals
- Server farms
- Users, zones, and authentication
- SSPs
- Administration sites
- Application pools
- Web applications
- Site collections
- Content databases
- Zones and URLs
- Zone policies

http://technet.microsoft.com/en-us/library/cc261995.aspx

 

Plan security hardening for server roles within a server farm (Office SharePoint Server)

In this article:
- About security hardening
- Application server recommendations
- Secure communication with the Microsoft SQL Server database
- File and Printer Sharing service requirements
- Single sign-on hardening requirements
- Office Server Web services
- Connections to external servers
- Service requirements for e-mail integration
- Service requirements for session state
- Office SharePoint Server services
- Accounts and groups
- Web.config file
- Secure snapshot additions

http://technet.microsoft.com/en-us/library/cc262849.aspx

 

Plan security hardening for extranet environments

In this article:
- Extranet hardening planning tool
- Network topology
- Domain trust relationships
- Communication with server-farm roles
- Communication with infrastructure server roles
- Requirements to support document conversions
- Communication between network domains
- Connections to external servers

http://technet.microsoft.com/en-us/library/cc262834.aspx

 

Downloadable book: Planning an Extranet Environment for Office SharePoint Server

This guide provides planning recommendations for deploying Microsoft Office SharePoint Server 2007 in an extranet environment. It discusses the extranet topologies that are supported, details the hardening requirements for servers within an extranet environment, and describes a logical architecture sample that is designed to work within an extranet environment. The audiences for this guide include information architects, IT generalists, and program managers who are planning to make Office SharePoint Server 2007 sites accessible from the Internet.

http://technet.microsoft.com/en-us/library/cc262400.aspx oder http://go.microsoft.com/fwlink/?LinkId=93372

OXBA und GEVER Office

28.09.2008 14:33:00 | Ozgur Aytekin

Die Begriffe GEVER Office und OXBA werden oftmals zusammen genannt oder gleichgestellt.
Folgende Auflistungen zeigt auf, in welchen Punkten sich die beiden Begriffe unterscheiden.

OXBA
- Framework als Basis für GEVER Lösungen
- Entwickelt durch BIT und Microsoft
- Rechte an OXBA gehören dem BIT, Microsoft hat ein Nutzungsrecht
- Wird durch BIT und mit Unterstützung von Microsoft weiterentwickelt
- Ist frei zugänglich (Code offen) für registrierte Partner und Kunden (Community)
- Aufbau einer OXBA-Community

GEVER Office
- GEVER Lösung vom BIT auf Basis von OXBA
- Betrieb durch das BIT (Competence Center GEVER)

http://www.oxba.admin.ch/

http://www.oxba.admin.ch/themen/index.html?lang=de

Microsoft SQL Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies

28.09.2008 11:23:00 | Ozgur Aytekin

The Microsoft SQL Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies is a Web download that provides features for running a report server within a larger deployment of Windows SharePoint Services 3.0 or Microsoft Office SharePoint Server 2007.

http://www.microsoft.com/downloads/details.aspx?familyid=1E53F882-0C16-4847-B331-132274AE8C84&displaylang=en

Das Microsoft SharePoint Team hat folgenden Eintrag über "Microsoft SQL Server 2005 SP2 Reporting Services integration with WSS 3.0 and MOSS 2007" publiziert. Diesen Eintrag findet ihr unter: http://blogs.msdn.com/sharepoint/archive/2007/02/19/microsoft-sql-server-2005-sp2-reporting-services-integration-with-wss-3-0-and-moss-2007.aspx

Free Krypton Suite Licenses

28.09.2008 10:35:00 | Ozgur Aytekin

Die Firma Component Factory bietet für die MVPs und .NET Bloggers Gratis Krypton Suite Lizenz.

Auszug aus dem Info E-Mail:

Free Krypton Suite Licenses If you are a Microsoft MVP or a .NET blogger then you could qualify for a free single developer license of Krypton Suite. As an MVP you get a three year license and all you have to do is email us! If you are a .NET blogger with 500 or more subscribers then you get a one year license also by just emailing us.

To check out the simple rules use this link... http://www.componentfactory.com/freecopy.php

Claim for free copy today, over 30 have already!

Back from BASTA! 2008

26.09.2008 16:48:48 | Lars Keller

Es war meine erste BASTA! und auch gleich als Sprecher dabei. Es hat viel Spaß gemacht mit den Teilnehmern, Speakern und Freunden sich zu unterhalten und zu fachsimpeln.

Mich überraschten die vielen Teilnehmer bei meiner VSTO-Session "Office und .NET - zwei Welten wachsen zusammen mit VSTO 3.0". Ich hatte mit weniger Leuten gerechnet, darum freut es mich um so mehr, dass VSTO anscheinend ein sehr interessantes Thema für viele ist.

Office und .NET - zwei Welten wachsen zusammen mit VSTO 3.0   Office und .NET - zwei Welten wachsen zusammen mit VSTO 3.0 - Agenda

Abstract:

Die mit Visual Studio 2008 ausgelieferte VSTO-3.0-Komponente und die frisch erschienenen VSTO Power Tools bringen zahlreiche Neuerungen für die Office-2007-Entwicklung mit sich. Der Vortrag zeigt anhand verschiedener Beispiele, wie einfach der Einstieg in die VSTO-Entwicklung sein kann und klärt Fragen wie: Was kann der neue Ribbon-Designer in VS 2008? Kann Word mit Outlook interagieren? Kann WPF in Office angewendet werden und wie passt LINQ dazu?

Meine Präsentationsunterlagen und die Samplecodes können hier runtergeladen werden:

Basta!2008 Zip download



This weblog is sponsored by netcreate OHG.

Back from BASTA! 2008

26.09.2008 15:48:48 | Lars Keller

Es war meine erste BASTA! und auch gleich als Sprecher dabei. Es hat viel Spaß gemacht mit den Teilnehmern, Speakern und Freunden sich zu unterhalten und zu fachsimpeln.

Mich überraschten die vielen Teilnehmer bei meiner VSTO-Session "Office und .NET - zwei Welten wachsen zusammen mit VSTO 3.0". Ich hatte mit weniger Leuten gerechnet, darum freut es mich um so mehr, dass VSTO anscheinend ein sehr interessantes Thema für viele ist.

Office und .NET - zwei Welten wachsen zusammen mit VSTO 3.0  Office und .NET - zwei Welten wachsen zusammen mit VSTO 3.0 - Agenda

Abstract:

Die mit Visual Studio 2008 ausgelieferte VSTO-3.0-Komponente und die frisch erschienenen VSTO Power Tools bringen zahlreiche Neuerungen für die Office-2007-Entwicklung mit sich. Der Vortrag zeigt anhand verschiedener Beispiele, wie einfach der Einstieg in die VSTO-Entwicklung sein kann und klärt Fragen wie: Was kann der neue Ribbon-Designer in VS 2008? Kann Word mit Outlook interagieren? Kann WPF in Office angewendet werden und wie passt LINQ dazu?

Meine Präsentationsunterlagen und die Samplecodes können hier runtergeladen werden:

Basta!2008 Zip download

WPF Performance Suite, aktualisierte Version verfügbar

26.09.2008 15:48:41 | Klaus Bock

Die WPF Performance Suite liegt in der Version 3.0 vor. Die Änderungen seit der letzten Version sind sehr umfassend. Einen ersten Überblick kann man sich auf dem WPF Performance Blog verschaffen. Eine detaillierte Übersicht der Änderungen und Neuerungen, sowie die Möglichkeit zum herunterladen der WPF Performance Suite findet man in diesem Artikel auf WindowsClient.net.

 

Technorati-Tags: |

Back from BASTA! 2008

26.09.2008 06:48:04 | Lars Keller

Es war meine erste BASTA! und auch gleich als Sprecher dabei. Es hat viel Spaß gemacht mit den Teilnehmern, Speakern und Freunden sich zu unterhalten und zu fachsimpeln.

Mich überraschten die vielen Teilnehmer bei meiner VSTO-Session "Office und .NET - zwei Welten wachsen zusammen mit VSTO 3.0". Ich hatte mit weniger Leuten gerechnet, darum freut es mich um so mehr, dass VSTO anscheinend ein sehr interessantes Thema für viele ist.

Office und .NET - zwei Welten wachsen zusammen mit VSTO 3.0  Office und .NET - zwei Welten wachsen zusammen mit VSTO 3.0 - Agenda

Abstract:

Die mit Visual Studio 2008 ausgelieferte VSTO-3.0-Komponente und die frisch erschienenen VSTO Power Tools bringen zahlreiche Neuerungen für die Office-2007-Entwicklung mit sich. Der Vortrag zeigt anhand verschiedener Beispiele, wie einfach der Einstieg in die VSTO-Entwicklung sein kann und klärt Fragen wie: Was kann der neue Ribbon-Designer in VS 2008? Kann Word mit Outlook interagieren? Kann WPF in Office angewendet werden und wie passt LINQ dazu?

Meine Präsentationsunterlagen und die Samplecodes können hier runtergeladen werden:

Basta!2008 Zip download

ATE auf der Xtopia und dem Technical Summit 08

26.09.2008 00:06:49 | Robert Mühsig

Ich werde auf der Xtopia und dem Technical Summit 08 als ATE mit dabei sein dürfen - die Xtopia findet am 17. bis 18. November in Berlin statt und im Anschluss darin gibt es direkt das Technical Summit 08, ebenfalls in Berlin.

Offizieller ATE @ Microsoft Technical Summit 2008: Treffen Sie mich in den Ask the Experts-Sessions! Offizieller ATE @ Xtopia 08: Treffen Sie mich in den Ask the Experts-Sessions!

Ich hoffe es gibt viele Themen die auch auf der PDC auf der Agenda stehen - Windows 7, Live Mesh und co. wären sicherlich einen Blick wert :)

ShareThis

Microsoft und PHP? Sogar auf der PHP World Konferenz

24.09.2008 10:01:27 | Oliver Scheer

Microsoft hat mehr für PHP im Angebot als man auf Anhieb denken mag.

Am 25.11. spreche ich auf der PHP World Konferenz in München über PHP und Silverlight.

Mehr Informationen gibt es hier: www.phpworld-kongress.de/anmeldung.php

Promotioncodes gibt es auch:

  • Code für den Workshop und Kongress:    KOPphp8wref
  • Code für den Kongress:                            KOPphp8ref

XTOPIA-Gewinnspiel Teil 2

22.09.2008 09:00:10 | Oliver Scheer

Nach dem Erfolg des ersten Suchspiels zur Xtopia, hier direkt das nächste. Diesmal auf einem etwas anderen Terrain. Meinem Lieblingszimmer bei mir zuhause: meiner Küche.

In diesem PhotoSynth habe ich drei Logos von der Xtopia versteckt.

Die ersten fünf Einsendungen, die alle drei Logos als 3D-Screenshot beinhalten erhalten einen kleinen Preis.

Viel Erfolg

image

Neue Angebote vom Microsoft Security Development Lifecycle (SDL)

21.09.2008 16:00:50 | Kay Giza

Neu angekündigt im Rahmen der Initiative Security Development Lifecycle (SDL), Best Practices aus dem Tagesgeschäft bei Microsoft mit der Allgemeinheit zu teilen, sind für Anfang November, dem Termin der TechEd EMEA in Barcelona, drei Säulen: Mit dem „SDL Pro Network“ vermittelt Microsoft spezifisch geschulte, externe Security-Berater (derzeit zunächst weltweit 9 an der Zahl, auf dem zentraleuropäischen Festland etwa die Oberuseler n.runs AG). Das kostenlose „SDL Optimization Model“ soll auf Basis von Microsofts eigener IT-Landschaft auch anderen Unternehmen die Eingliederung von Microsofts selber genutztem Sicherheitsmodell in ihre Infrastruktur ermöglichen. Das ebenfalls kostenlose „SDL Threat Modeling Tool 3.0“ ergänzt die Offensive durch ein handliches Architektenwerkzeug für die proaktive, frühe und strukturierte Untersuchung auf Sicherheits- und Datenschutzprobleme hin.

Link: Neue Angebote vom Microsoft Security Development Lifecycle (SDL)

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Tipp: STRG+C auf Dialoge anwenden

20.09.2008 23:22:47 | Lars Keller

Für alle die es noch nicht wussten, um Fehlermeldungs Dialoge zu erfassen gibt es zwei Möglichkeiten:

VSTO_Fehlermeldung

1. Die Fehlermeldung abschreiben. :-)

oder

2. Einfach den Dialog anklicken und dann STRG+C drücken. Danach Notepad öffnen und STRG+V drücken. fertig

Ergebnis im Notepad:

---------------------------
Microsoft Visual Studio
---------------------------
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
---------------------------
OK  
---------------------------



This weblog is sponsored by netcreate OHG.

Attempted to read or write protected memory. This is often an indication that other memory is corrupt. - VSTO Problem

20.09.2008 23:22:00 | Lars Keller

Diese Fehlermeldung bekam ich, als ich gerade ein VSTO 3.0 WordDocument (.docm) Add-In schreiben wollte. Die Fehlermeldung kam direkt beim Anlegen des Projektes. Nach ein wenig Recherche habe ich herausgefunden, dass das anscheinend ein Fehler in VSTO ist. Der Eintrag im MSDN Forum ist leider schon etwas älter und ich konnte nicht herausfinden ob der Fehler mittlerweile gefixt ist. Auf der Suche habe ich auch folgendes Statement gefunden, was in die gleiche Richtung geht:

I think the cause might be that he has a managed COM Add-in registered for Word/Excel and this causes some weird asynchronous host shutdown issues for host application when we create new document during project creation. A workaround would be to create new project based on an existing document.

Ich habe ein Word 2007 aufgemacht und parallel mit Visual Studio 2008 ein VSTO 3.0 WordDocument angelegt. Jetzt hat das Anlegen des Projektes geklappt und ich konnte auch weitere anlegen.

Ich bin mir nicht sicher, ob es etwas mit dem SP1 von Visual Studio 2008 zu tun hat, jedenfalls tauchte der Fehler vorher nicht auf.



This weblog is sponsored by netcreate OHG.

Tipp: STRG+C auf Dialoge anwenden

20.09.2008 22:22:47 | Lars Keller

Für alle die es noch nicht wussten, um Fehlermeldungs Dialoge zu erfassen gibt es zwei Möglichkeiten:

VSTO_Fehlermeldung

1. Die Fehlermeldung abschreiben. :-)

oder

2. Einfach den Dialog anklicken und dann STRG+C drücken. Danach Notepad öffnen und STRG+V drücken. fertig

Ergebnis im Notepad:

---------------------------
Microsoft Visual Studio
---------------------------
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
---------------------------
OK  
---------------------------

Attempted to read or write protected memory. This is often an indication that other memory is corrupt. - VSTO Problem

20.09.2008 22:22:00 | Lars Keller

Diese Fehlermeldung bekam ich, als ich gerade ein VSTO 3.0 WordDocument (.docm) Add-In schreiben wollte. Die Fehlermeldung kam direkt beim Anlegen des Projektes. Nach ein wenig Recherche habe ich herausgefunden, dass das anscheinend ein Fehler in VSTO ist. Der Eintrag im MSDN Forum ist leider schon etwas älter und ich konnte nicht herausfinden ob der Fehler mittlerweile gefixt ist. Auf der Suche habe ich auch folgendes Statement gefunden, was in die gleiche Richtung geht:

I think the cause might be that he has a managed COM Add-in registered for Word/Excel and this causes some weird asynchronous host shutdown issues for host application when we create new document during project creation. A workaround would be to create new project based on an existing document.

Ich habe ein Word 2007 aufgemacht und parallel mit Visual Studio 2008 ein VSTO 3.0 WordDocument angelegt. Jetzt hat das Anlegen des Projektes geklappt und ich konnte auch weitere anlegen.

Ich bin mir nicht sicher, ob es etwas mit dem SP1 von Visual Studio 2008 zu tun hat, jedenfalls tauchte der Fehler vorher nicht auf.

Tipp: STRG+C auf Dialoge anwenden

20.09.2008 13:22:04 | Lars Keller

Für alle die es noch nicht wussten, um Fehlermeldungs Dialoge zu erfassen gibt es zwei Möglichkeiten:

VSTO_Fehlermeldung

1. Die Fehlermeldung abschreiben. :-)

oder

2. Einfach den Dialog anklicken und dann STRG+C drücken. Danach Notepad öffnen und STRG+V drücken. fertig

Ergebnis im Notepad:

---------------------------
Microsoft Visual Studio
---------------------------
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
---------------------------
OK  
---------------------------

Attempted to read or write protected memory. This is often an indication that other memory is corrupt. - VSTO Problem

20.09.2008 13:22:00 | Lars Keller

Diese Fehlermeldung bekam ich, als ich gerade ein VSTO 3.0 WordDocument (.docm) Add-In schreiben wollte. Die Fehlermeldung kam direkt beim Anlegen des Projektes. Nach ein wenig Recherche habe ich herausgefunden, dass das anscheinend ein Fehler in VSTO ist. Der Eintrag im MSDN Forum ist leider schon etwas älter und ich konnte nicht herausfinden ob der Fehler mittlerweile gefixt ist. Auf der Suche habe ich auch folgendes Statement gefunden, was in die gleiche Richtung geht:

I think the cause might be that he has a managed COM Add-in registered for Word/Excel and this causes some weird asynchronous host shutdown issues for host application when we create new document during project creation. A workaround would be to create new project based on an existing document.

Ich habe ein Word 2007 aufgemacht und parallel mit Visual Studio 2008 ein VSTO 3.0 WordDocument angelegt. Jetzt hat das Anlegen des Projektes geklappt und ich konnte auch weitere anlegen.

Ich bin mir nicht sicher, ob es etwas mit dem SP1 von Visual Studio 2008 zu tun hat, jedenfalls tauchte der Fehler vorher nicht auf.

Office SharePoint Server 2007 Architecture Design

20.09.2008 12:21:00 | Ozgur Aytekin

Die folgenden Informationen zum Thema Office SharePoint Server 2007 Architecture Design sind sehr empfehlenswert..

Investing in logical architecture design samples
http://blogs.msdn.com/sharepoint/archive/2007/04/09/investing-in-logical-architecture-design-samples.aspx#8955765

Logical architecture model: Corporate deployment
http://technet.microsoft.com/en-us/library/cc261995.aspx

Translator Bot für den Windows Live Messenger

20.09.2008 11:41:25 | Oliver Scheer

Seit kurzem gibt es für den Windows Live Messenger den Windows Live Translator Bot . Das neue Tool wurde als Beta-Version veröffentlicht.

Der Nutzer fügt den Bot einfach seiner Kontaktliste hinzu und kann dann loschatten. Schreibt ein User einen deutschen Text, stellt der Windows Live Translator Übersetzungsmöglichkeiten in elf unterschiedlichen Sprachen, darunter Arabisch, Chinesisch, Englisch, Französisch, Italienisch, Japanisch, Koreanisch, Niederländisch, Portugiesisch und Spanisch bereit. Mit der Ausgangssprache Englisch können Texte auch ins Russische übersetzt werden.

Weitere Sprachen folgen.

Das neue Tool ist schnell und einfach integriert: Einfach die Windows Live ID mtbot@hotmail.com zur Kontaktliste ergänzen und den Befehl "tbot set" eingeben, um die Ausgangs- und Zielsprache festzulegen. "tbot start" startet dann den Übersetzungsgenerator. Jeder eingegebene Text wird daraufhin in die entsprechende Zielsprache übersetzt.

Die wichtigsten Befehle im Überblick:

1. TBot lang - Zeigt das aktuelle Sprachenpaar 2. TBot change - Ändert das aktuelle Sprachenpaar 3. TBot stop - Stoppt die Übersetzung 4. TBot start - Startet die Übersetzung 5. TBot set - Legt die bevorzugte Ausgangssprache fest 6. TBot ? - Zeigt eine Liste der Kommandos

Wenn man mal eben ein Sonderzeichen sucht...

19.09.2008 19:42:37 | Lars Keller

...dann kann ich nur diese Webseite empfehlen: http://leftlogic.com/lounge/articles/entity-lookup/

Einfach das zu suchende Sonderzeichen eingeben und schon spuckt die Suche die entsprechenden Schreibweisen aus.

sonderzeichen



This weblog is sponsored by netcreate OHG.

Cassette from my ex

19.09.2008 19:33:30 | Lars Keller

...so heißt der Titel der Webseite (http://www.cassettefrommyex.com/), wo man seine alten Kassetten von seiner(em) Ex hinschicken kann. Die Kassette wird digitalisiert und zum Anhören bereitgestellt. Zusätzlich wird dazu noch Ihre Geschichte veröffentlicht.

Eine nette Idee, besonders weil die Musik auf den Tapes nicht Alltäglich ist. Eine gelungene Abwechslung zu den Radiosendern ;-)



This weblog is sponsored by netcreate OHG.

Wenn man mal eben ein Sonderzeichen sucht...

19.09.2008 18:42:37 | Lars Keller

...dann kann ich nur diese Webseite empfehlen: http://leftlogic.com/lounge/articles/entity-lookup/

Einfach das zu suchende Sonderzeichen eingeben und schon spuckt die Suche die entsprechenden Schreibweisen aus.

sonderzeichen

Cassette from my ex

19.09.2008 18:33:30 | Lars Keller

...so heißt der Titel der Webseite (http://www.cassettefrommyex.com/), wo man seine alten Kassetten von seiner(em) Ex hinschicken kann. Die Kassette wird digitalisiert und zum Anhören bereitgestellt. Zusätzlich wird dazu noch Ihre Geschichte veröffentlicht.

Eine nette Idee, besonders weil die Musik auf den Tapes nicht Alltäglich ist. Eine gelungene Abwechslung zu den Radiosendern ;-)

Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions, Version 1.1

19.09.2008 15:27:00 | Ozgur Aytekin

(Visual Studio 2005 extensions for Windows SharePoint Services 3.0, version 1.1)
Tools for developing custom SharePoint applications: Visual Studio project templates for Web Parts, site definitions, and list definitions; and a stand-alone utility program, the SharePoint Solution Generator. Please also download the User Guide and Samples listed in Related Resources.

http://www.microsoft.com/downloads/details.aspx?familyid=3E1DCCCD-1CCA-433A-BB4D-97B96BF7AB63&displaylang=en

SharePoint Server 2007 SDK: Software Development Kit

19.09.2008 15:27:00 | Ozgur Aytekin

The Microsoft Office SharePoint Server 2007 SDK contains conceptual overviews, “How Do I…?” programming tasks, developer tools, code samples, references, and an Enterprise Content Management (ECM) starter kit to guide you in developing solutions based on Microsoft Office SharePoint Server 2007.

http://www.microsoft.com/downloads/details.aspx?familyid=6D94E307-67D9-41AC-B2D6-0074D6286FA9&displaylang=en

Xtopia-Gewinnspiel Teil 1

19.09.2008 13:28:26 | Oliver Scheer

Das ging ja teilweise schneller als ich dachte ...

Aber keiner der Teilnehmer hat gemerkt, das es drei Logos sind, die ich versteckt habe :-)

Die Gewinner der ersten Runde lauten:

  1. Torsten Weber
  2. Arne Janning
  3. Stephan Walcher
  4. Florian Geisenhof
  5. Carsten Cerny

Damit wäre das Quiz für die erste Runde beendet. Einen kleinen Sonderpreis gibt es allerdings noch für den ersten Einsender der mir als Erstes alle drei versteckten Logos in der 3D-Ansicht zusendet.

Eine neue Runde gibt es am Montag.

Auf zum artcamp Hamburg (20. - 21. September 08)

19.09.2008 13:14:00 | Steffen Ritter

…eindeutig ein Beitrag aus der Rubrik „Schnell noch vom Flughafen aus wichtige Nachrichten abschicken“ – ich bin dieses Wochenende auf dem artcamp in Hamburg (http://artcamp.mixxt.de). Das artcamp ist quasi ein barcamp rund ums Thema Kunst und Kultur, oder wie es Gastgeberin Vivian Pein formuliert: „Das artcamp ist die Fusion aus der Mentalität des offenen Austausches von BarCamps, den Möglichkeiten des Internets und dem Zauber von Kunst. Ob bildende Kunst, Musik, Theater, Magie, Literatur, Design oder eine der unzähligen freien Kunstformen - Ihr seid herzlich dazu eingeladen Euch und Euer Projekt vorzustellen - Kunst ist Definitionssache - zeigt uns was Kunst für Euch bedeutet!“.

Das artcamp Hamburg findet vom 20.-21. September im Department für Wirtschaft und Politik, Von-Melle-Park 9 in Hamburg statt. Kostenlose Anmeldung über die Website des artcamp Hamburg: http://artcamp.mixxt.de

Heute Abend – 19. September 08 – ist bereits die Vorabendparty, ab circa 19 Uhr im Sausalitos, Fischertwiete 2 (ebenfalls HH): http://www.sausalitos.de 

Heute letzte Rabattchance fuer Technical Summit und fuer Xtopia

19.09.2008 11:54:38 | Kay Giza

Interessierte können 150,- € netto einfach dadurch sparen, dass sie sich noch am heutigen Freitag anmelden, am Technical Summit ebenso wie an der Xtopia 08 in Berlin. Wer nur an einer Vorkonferenz teilnehmen will, spart immer noch 50,- Euro netto. Ab Samstag ist Schluss mit dem "Early-Bird" und der volle Teilnahmebetrag in Höhe von 599,- statt 449,- Euro netto (oder brutto 712,81 statt 534,31 Euro) wird fällig – selbst für Spätzünder noch immer ein Schnäppchenpreis für die zweitägigen Konferenzen mit hochkarätigen Vorträgen in 4 Tracks und diversen hochwertigen Give-Aways.

Link: Heute letzte Rabattchance für Technical Summit und für Xtopia

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Wenn man mal eben ein Sonderzeichen sucht...

19.09.2008 09:42:03 | Lars Keller

...dann kann ich nur diese Webseite empfehlen: http://leftlogic.com/lounge/articles/entity-lookup/

Einfach das zu suchende Sonderzeichen eingeben und schon spuckt die Suche die entsprechenden Schreibweisen aus.

sonderzeichen

Cassette from my ex

19.09.2008 09:33:03 | Lars Keller

...so heißt der Titel der Webseite (http://www.cassettefrommyex.com/), wo man seine alten Kassetten von seiner(em) Ex hinschicken kann. Die Kassette wird digitalisiert und zum Anhören bereitgestellt. Zusätzlich wird dazu noch Ihre Geschichte veröffentlicht.

Eine nette Idee, besonders weil die Musik auf den Tapes nicht Alltäglich ist. Eine gelungene Abwechslung zu den Radiosendern ;-)

Q189862: How To Do 64-bit Arithmetic in VBA

18.09.2008 19:49:00 | Ozgur Aytekin

A number of Windows APIs require a 64-bit value as either a single 8-byte integer, or as two 4-byte integers. This article contains sample code the you can use to convert data between an 8-byte integer and two 4-byte integers. It also contains sample code that you can use to perform simple mathematical operations on the integers, such as would be required when you increment the file pointer in the SetFilePointer API.

http://support.microsoft.com/kb/189862

Kontakt fuer Vorschlaege und Ideen zu Visual Studio 2008

18.09.2008 19:47:03 | Kay Giza

Wer sich schon immer gefragt... wohin mit Vorschlägen und Ideen?
Eine Anlaufstelle ist sicherlich MSDN, eine andere ist sicherlich der 'Direkte Draht zu uns' aber ein anderer Weg ist auch Microsoft Connect, wo die zuständigen Teams bei Microsoft Corp. in den USA direkt mitlesen und antworten. Das Connect-Team hilft Ihnen dabei vor der Weitergabe an die zuständigen Produktteams als Concierge gegebenenfalls, etwaige Unklarheiten oder Missverständnisse zu beseitigen. Auf der Connect-Seite für Visual Studio, auf die Sie mein Link verweist, finden Sie außerdem einige Links für Hilfestellungen und Hilfe zur Selbsthilfe. Für Feedback und technischen Support stehen Ihnen in unserem Bereich Hilfe & Support gesonderte Sektionen zur Verfügung.

Link: Kontakt für Ihre Vorschläge und Ideen zu Visual Studio 2008

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Neue Live Software auf x64 und Server - wieso schon wieder?

18.09.2008 19:44:00 | Peter Bucher

Wie schon mehrmals berichtet, hier nochmals.

Wieder sind es die Live Produkte die MS mit einer softwaremässigen Sperre nicht auf x64 und Windows Server installieren lässt.
Eine technische Einschränkung ist es _nicht_!

Hier die Anleitung wie sich diese Sperre - die ich bis Heute noch nicht begreife - umgehen lässt:

Xtopia-Interna mit Achim von Microsoft :-)

18.09.2008 16:40:00 | Steffen Ritter

Achim (Dettweiler – nicht Berg, sorry) ist unser „Leading Man“ für die Xtopia 08 und den Microsoft Technical Summit 2008. Mein Kollege Oliver Scheer – den viele Leser meines Blogs zweifellos schon von unseren gemeinsamen Auftritten kennen (u.a. vergangenes Jahr auf der Xtopia 07) – hat ein kurzes aber recht unterhaltsames und informatives Interview mit Achim zur Xtopia 08 aufgezeichnet. Bevor ich jetzt wieder zu viel rede/schreibe:

Ich freu mich bereits schon sehr auf die Xtopia – nicht nur weil ich vermutlich ebenfalls eine Session dort halten oder moderieren werde, sondern auch ganz besonders weil wir dort endlich über all die coolen neuen Dinge und Technologien sprechen dürfen, zu denen wir uns in den vergangenen 18 Monaten nur unter NDA oder meistens gar nicht äußern durften. Xtopia 08 wird ein Feuerwerk der Neuheiten, wie es von Microsoft bisher selten gesehen wurde. Und natürlich stellen wir sowohl auf der Xtopia als auch auf dem darauffolgenden Technical Summit alle Neuheiten von der PDC vor, der weltgrößten Microsoft Developer Conference. Live, in Farbe, und zum Anfassen.

NBC Olympics mit Silverlight schlägt alle Rekorde!

18.09.2008 11:32:00 | Steffen Ritter

Wow – das nenne ich mal einen durchschlagenden Erfolg beim Medienereignis des Jahres: Die auf Silverlight 2 Beta 2 basierende Website NBCOlympics.com hat während der Olympiade 2008 in Peking über 70 Millionen Streams an mehr als 50 Millionen Besucher ausgestrahlt und "crushed every U.S. digital record for a major event. Nothing even comes close.", freut sich Perkins Miller, Senior VP, NBC Olympics.

Dabei darf man nicht vergessen: Es handelte sich bei NBCOlympics.com um Silverlight 2 Beta 2, also noch um "unfertige" Technologie. Trotzdem hatte sich NBC entschieden auf Silverlight 2 und die Windows Media Services zu setzen, den "with Windows Media Services we need 40 servers to serve 100.000 concurrent users.  With Flash Streaming we should need 270 servers for the same amount.", so Roeland Stekelenburg, Head of New Media , NOS. – Das ist eine Ratio von 6,75:1; die außerdem noch besser in den Ohren jedes Controllers und Business-Entscheiders klingt, wenn man hinzufügt, dass die Media Services für die neuen Microsoft-Server kostenlos (!) sind

Ganz spannend auch, dass Besucher auf der Silverlight-basierten Video-Website NBCOlympics.com durchschnittlich 27 Minuten verbracht haben – im Gegensatz zu den durchschnittlich nur drei Minuten (!) die Besucher auf Olympia-Video-Websites verbracht haben, die auf anderer Technologie basierten. Natürlich ist Silverlight nur das Mittel zum Zweck, nicht der Grund, warum die Besucher auf NBCOlympics.com mehr Zeit verbracht haben, aber meiner persönlichen Einschätzung nach ist das einerseits ein eindeutiger Beweis für die überlegene Videoqualität die Silverlight ermöglicht, und für die durchdachten Komfortfunktionen, die in den Silverlight-Player integriert waren und den Besuchern ein echtes Multimediaerlebnis gegeben haben, wie es vorher im Netz nicht üblich bzw. möglich war.

Und da ich gerade im Begeisterungsrausch bin, hier die Zusammenfassung in Zahlen. Laut NBC hatte die Silverlight-basierte Website binnen den 17 Tagen:
1,3 Milliarden Pageviews

  • Über 50 Millionen individuelle Besucher 
  • 70 Millionen Streams
  • 10 Millionen Stunden Video wurden von den Besuchern angeschaut
  • 35 Millionen mobile Pageviews
  • Über 5.000 Clips pro Tag

Kalter Kaffee? [Video]

18.09.2008 10:14:46 | Kay Giza

Nachdem Stephan folgerichtig festgestellt hat, 'Es gibt nichts schöneres als einen guten Kaffe am Morgen', hier vielleicht ein kleines erklärendes Video (habe ich fix gemacht), hoffe damit Deine Frage beantwortet zu haben, Detlev :)



This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Microsoft SDL (Security Development Lifecycle) Program

18.09.2008 00:45:55 | Robert Mühsig

Microsoft hat angekündigt sein SDL Programm auch für Partner und externe Entwickler zur Verfügung zu stellen.

Was man darunter versteht ist in diesem Video ganz anschaulich umschrieben.
Ich bin gespannt, ob man das auch praktisch im täglichen Entwicklerleben tatsächlich einsetzen kann und ob es was nützt :)

Mehr zum Thema SDL gibt es auf der MSDN Seite.

ShareThis

HowTo: Die Wiimote mit dem PC verbinden

18.09.2008 00:28:06 | Robert Mühsig

Ich habe schon öfters über die Wii gesprochen und was man damit nicht alles tolles machen könnte - das letzte mal im Zusammenhang mit pptPlex.

image

Das hat mich als Besitzer einer Wii natürlich auch etwas neugierig gemacht. Auf der Setup Seite von dem pptPlex + Wii Eintrag steht geschrieben, wie man es zum Laufen bekommt.

Hier gesammelt nochmal alles, was ich zum erfolgreichen Verbinden brauchte:

Wie die Wiimote mit der Wii komuniziert
Die Wiimote überträgt alle Signale über Bluetooth zur Wii Konsole. Die Wii-Sensorbar besteht aus 4 Infrarot-LEDs (zwischen 940nm und 850nm), welche zur Positionsbestimmung der Wiimote dienen.
Mehr technische Details gibt es auf der Wiki-WiimoteProject.

image

Die Wiimote mit dem PC verbinden
Hierfür braucht man einfach einen PC/Notebook mit Bluetooth - allerdings ist nicht alles mit der Wiimote kompatibel.
Für das “synchronisieren” mit der Bluetooth-Einheit am PC/Notebook muss man während des Gerätesuchlaufes auf die Taste 1/2 drücken oder die Sync-Taste bei dem Batterien drücken - siehe hier.
Die Wiimote gibt sich als Nintendo RVL-CNT-01 Gerät aus und braucht kein PIN oder ähnliches.
Jetzt sollte die Verbindung erfolgreich verlaufen.

Eine eigene Sensorbar
Damit man nicht die Wii jedesmal mitschleppen muss und damit man eine Infrarot-Quelle hat hat man 2 Möglichkeiten:
- Kerzen (senden auch Infrarot-Licht aus)
- Selber bauen:

Auf die Signale reagieren
Jetzt brauchen wir noch entsprechende Software oder man schaut sich das .NET “SDK” dazu mal an.

Eigentlich ganz einfach :)

ShareThis

PDC - The Place to be, when you're not attend XTOPIA and Technical Summit

17.09.2008 19:16:15 | Oliver Scheer

Have you heard that PDC2008 is the place to see the coolest new technology? That's right, at PDC2008, you'll discover what is in store for the future of ASP.NET. Have some fun with XNA and game development, or go in-depth with IronRuby. Other topics include: Live Mesh, Office Communications Server, SQL Server 2008, FAST, Silverlight, Oslo, Visual Studio Team System, Virtualization, SharePoint, Dynamics, Windows 7 and more! You can also network with top developers hang out with your friends and colleagues, and have fun in the L.A. sun!

This is the PDC you won't want to miss! Register now for PDC2008 at MicrosoftPDC.com.

Here are just a few of the exciting sessions you can attend at PDC2008!

ASP.NET: FUTURE ROADMAP
Come see the roadmap for the next release of ASP.NET. Highlights include: managing control IDs, displaying images using the new Dynamic Image control, better ViewState management in GridView and ListView, and more control over the CSS markup of ASP.NET server controls.

MICROSOFT SILVERLIGHT: BUILDING BUSINESS APPLICATIONS
Learn about this exciting new technology that makes business applications for RIA (Rich Internet Applications) much easier to build. Discover how we've made n-tier application development as simple as traditional 2-tier, and more.

A LAP AROUND "OSLO"
"Oslo" is the family of new technologies that enable data-driven development and execution of services and applications. Come and learn how to use "Oslo" directly to drive the execution of deployed applications.

For a complete list of sessions, visit
https://sessions.microsoftpdc.com/public/sessions.aspx

PDC2008 Dates and Location

WHEN:
October 27-30, 2008
Pre-cons October 26, 2008

WHERE:
Los Angeles Convention Center

REGISTER NOW http://www.microsoftpdc.com/Registration/

XNA GameStudio 3.0 Beta freigegeben

17.09.2008 19:15:00 | Peter Bucher

Heute ist XNA GameStudio 3.0 Beta freigegeben worden.

XNA beinhaltet ein Framework und eine IDE (bzw. jetzt IDE-Ergänzung) für die Spieleentwicklung auf dem Computer und der XBox.
Das Framework nutzt unter der Haube DirectX, mehr dazu:

Das nette dabei:

  • Es braucht keine seperate IDE mehr, GameStudio wird in Visual Studio 2008 (Oder Express) integriert
  • Alle C# 3.0 Sprachfeatures werden unterstützt

Die Veröffentlichung und der Download, dazu benötigt es noch die letzten veröffentlichten DirectX Runtimes.

Xtopia-Suchspiel

17.09.2008 18:32:40 | Oliver Scheer

Kleines Suchspiel am Rande :-) Mein erstes Photosynth.

Wer innerhalb dieses PhotoSynths das Xtopia-Logo findet und davon einen Screenshot an meine Email-Adresse (oliver.scheer at microsoft.com) schickt, kann etwas gewinnen :-)

Die ersten fünf richtigen Einsendung erhalten einen kleinen Gewinn.

Viel Spaß

image

…click, click, synth, zoom: auf zur photokina!

17.09.2008 14:35:00 | Steffen Ritter

Oh wie ich mich freue: Nächste Woche findet in Köln wieder die photokina statt – die meines Wissens weltgrößte Messe rund um Fotografie und Imaging. Microsoft ist mit einem richtig großen Stand vor Ort und präsentiert eine Auswahl der coolsten und kreativsten Microsoft-Produkte und –Entwicklungen, darunter natürlich Photosynth, aber auch einige Entwicklungen von Microsoft Research, natürlich Silverlight und Expression Media für Mac und Windows und mehr.

Ich bin ebenfalls am Stand, und zwar vermutlich Dienstag bis Freitag jeweils von mittags bis 17 Uhr. Der Microsoft-Stand auf der photokina 08 befindet sich in Halle 4.1, Gang G, Stand Nr. 031.

Bei aller Vorfreude stimmt mich das auch ein wenig nostalgisch, denn die photokina 08 ist bereits meine zweite photokina –  ich war 2004 in meiner Zeit vor Microsoft als Produktmanager für iView MediaPro (der Vorgänger von Expression Media) schon einmal dort.

Links zu diesem Beitrag:

Xtopia / Technical Summit - Frühbucherrabatt läuft Freitag aus

17.09.2008 13:13:18 | Oliver Scheer

Bis 19. September haben Interessenten noch Zeit, sich für die beiden Microsoft-Fachveranstaltungen „Technical Summit 2008“ und „Xtopia 2008“ anzumelden und dabei mit dem günstigen Early-Bird-Preis jeweils bis zu 150 € zu sparen. Die Entwickler-Konferenz „Technical Summit“ findet vom 19. bis 21. November im Berliner ICC statt; drei Tage vorher – vom 16. bis 18. November – öffnet die Web-Konferenz „Xtopia 08“ ebenfalls im Berliner ICC ihre Tore.

  • Technical Summit
    • Die aktuellsten Informationen von der PDC, die neusten Trends und teilweise noch unter "NDA" stehende wegweisende Neuigkeiten - werfen Sie einen Blick in die Agenda!
    • Ask-The-Expert-Sessions mit vielen bekannten Experten aus der Community!
    • Attraktives Give-Away-Paket: WPF-Studio von ComponentOne und vieles mehr!
    • Die neusten Informationen, über 25 Referenten in parallelen Sessions!
    • Technical Summit Keynote:
      Keynote Speaker des Technical Summits 2008
      Patrick Baudisch: Research Scientist @ Microsoft Research, Seattle | Professor @ Hasso Plattner Institute, PotsdamSteve Teixeira: Product Unit Manager for the Parallel Development Tools Team, MicrosoftFrank Fischer - Manager der Technologieberater, Developer Platform & Strategy Group bei Microsoft Deutschland
      Durch die Keynote des Technical Summits 2008 führt Sie Frank Fischer, Manager der Technologieberater in der Developer Platform & Strategy Group bei Microsoft Deutschland. Das erste Produkt von Microsoft – wenn man so will – war die Programmiersprache BASIC, veröffentlicht 1975. Seit dem hat sich sehr viel verändert, allein Basic hat uns stets begleitet und erlebt gerade wieder ein Revival, siehe das dynamische BASIC VBX. Auch Microsoft hat sich gewandelt. Wir sind mittlerweile ein Software-Mischkonzern, der stark in den Bereich Services expandiert. Mit Patrick Baudisch haben wir jemanden, der das was heute Cutting-Edge ist – zum Beispiel Surface – wesentlich mit beeinflusst hat und der uns einen Blick in die Zukunft geben wird. Mit Steve Teixeira jemanden, der ganz wesentlich auf weltweiter Basis die nächste Version von Visual Studio – Codename Dev10 – mitgestaltet. Frank Fischer wird dies auf den deutschen Markt übersetzen und die Fragen beantworten, was bedeutet das für mich als Entwickler hier in Deutschland?
  • Xtopia 08

Mehr Informationen: www.technical-summit.de sowie www.xtopia.de

Nach Event an die GridViewRow kommen, von dem das auslösende Control stammt

17.09.2008 11:55:00 | Peter Bucher

Diese Frage kommt ab und zu in den Foren, die Lösung ist denkbar einfach.

Bei einem Button der in einer GridViewRow steckt, kann im Handler bspw. so auf die korrespondierende GridViewRow zugegriffen werden:

protected void Button_Click(object sender, EventArgs e) {
GridViewRow = (GridViewRow)(sender as Control).NamingContainer;
}

Das selbe bei anderen Controls, die einen Event auslösen können:

protected void List_SelectedIndexChanged(object sender, EventArgs e) {
    GridViewRow = (GridViewRow)(sender as Control).NamingContainer;
}

Erklärung:
NamingContainer steht für .Parent.Parent.
Da das eventauslösende Control in einer Hierarchie steht, kann mithilfe dieser Eigenschaften,die Hierarchie hinaufgeklettert werden.

LINQ to XML - XML Daten erzeugen und in ein vorhandenes XML Dokument einfügen

17.09.2008 09:25:00 | Jürgen Gutsch

Ziel ist es einen vorgegebenen XML Knoten in ein vorhandenes XML Dokument einzufügen. Das XML soll folgendermaßen aussehen:

<layout folder="MyFolder" startPage="Home" name="HomePage">
  <displaynames>
    <displayname language="de-DE" value="Startseite" />
    <displayname language="en-US" value="Home page" />
    <displayname language="fr-FR" value="page d'accueil" />
  </displaynames>
</layout>

Nach einem kurzen Blick in die MSDN war das Prinzip um so ein XML zu erstellen relativ klar. Anhand eines selbstdefinierten Layout-Objektes ("NewLayout"), kann ich das XML wie folgt zusammenbauen.

XElement layout = new XElement("layout",
    new XAttribute("folder", NewLayout.Folder),
    new XAttribute("startPage", NewLayout.StartPage),
    new XAttribute("name", NewLayout.Name)
    );
XElement displaynames = new XElement("displaynames");
XElement displayname;
foreach (string key in NewLayout.DisplayNames.Keys)
{
    displayname = new XElement("displayname",
        new XAttribute("language", key),
        new XAttribute("value", NewLayout.DisplayNames[key])
        );
    displaynames.Add(displayname);
}
layout.Add(displaynames);

Mit Hilfe der Methode "Add()" der XElement Klasse kann ich beliebige weitere XElemente einfügen. Wer hätte gedacht, dass es doch sooooooh einfach ist...

Um das Element in ein vorhandenes Dokument einzufügen muss ich dieses nur öffnen und den Knoten selektieren in den ich mein erstelltes XElement einfügen möchte:

XDocument xdoc = XDocument.Load(this.XmlFilePath);
XElement xlayoutsNode = xdoc.Element("layouts");

xdoc.Element(); liefert das erste Kind-Element mit dem angegebenen Name. In meinem Fall ist es das Root-Element.

Anschließend muss ich nur noch mein Element einfügen und das XDocument speichern:

xlayoutsNode.Add(layout);
xdoc.Save(this.XmlFilePath);

That's all :-)

LINQ to XML - Einen XML Knoten aus einem vorhandenem XML Dokument löschen

17.09.2008 03:23:00 | Jürgen Gutsch

Der im vorigen Artikel hinzugefügte knoten soll auch wieder entfernt werden können. Folgende paar Zeilen erledigen diese Aufgabe.

XDocument xdoc = XDocument.Load(this.XmlFilePath);
var xlayouts = from c in xdoc.Elements("layouts").Elements("layout")
               where c.Attribute("folder").Value == FolderName
               select c;
foreach (var xlayout in xlayouts.ToList())
    xlayout.Remove();
xdoc.Save(this.XmlFilePath);

Der LINQ Query selektiert alle <layout>-Knoten innerhalb des <layouts>-Knotens, bei denen der Wert des Attributes "folder" dem der übergebenen Variable "FolderName" entspricht.

Anschließend gehe ich in der Schleife alle XElement Objekte durch und entferne sie. In der Schleife muss die XElement Auflistung in eine generische Liste konvertiert werden, damit der Löschvorgang hier funktionieren kann. Die Erklärung dazu ist in diesem MSDN Artikel zu finden: Mixed Declarative Code/Imperative Code Bugs (C#) (LINQ to XML)

Visual Studio Team System 2008 Team Foundation Server Power Tools

16.09.2008 22:05:00 | Ozgur Aytekin

Visual Studio Team System 2008 Team Foundation Server Power Tools is a set of enhancements, tools and command-line utilities that improve the Team Foundation Server user experience. For an overview of what's new in this release, see New in this Release.

Team Foundation Server Power Tools includes the following tools:

* Command line tool (TFPT.EXE)
* Build Notification tool
* TFS Best Practices Analyzer
* Process Template Editor
* Work Item Templates
* Custom check-in policies
* TFS Server Manager
* TFS Users tool
* Alert Editor

Visual Studio Team System 2008 Team Foundation Server Power Tools

SQL Server 2005: "Attempt to access expired blob handle"

16.09.2008 20:31:00 | Ozgur Aytekin

FIX: Error message when you open a cursor for a very long cursor statement in SQL Server 2005: "Attempt to access expired blob handle"

SYMPTOMS
In Microsoft SQL Server 2005, you open a cursor for a very long cursor statement. For example, the cursor statement exceeds 65,536 bytes (64 kilobytes). When you perform an operation that clears the procedure cache, you may receive the following error message:
Msg 3624, Level 20, State 1, Line 2
A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a QFE from Technical Support.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
Additionally, the following error message is logged in the SQL Server 2005 error log:
Date Time SPID * BEGIN STACK DUMP:
Date Time SPID * Date Time SPID
Date Time SPID *
Date Time SPID * Location: tmpilb.cpp:2628
Date Time SPID * Expression: fFalse
Date Time SPID * SPID: SPID
Date Time SPID * Process ID: ProcessID
Date Time SPID * Description: Attempt to access expired blob handle (3)
Date Time SPID *
Date Time SPID * Input Buffer 78 bytes -
Date Time SPID * dbcc freeproccache
This issue may occur if one of the following conditions is true:• You run the DBCC FREEPROCCACHE statement after you close the cursor.
• You run the DBCC FREEPROCCACHE statement, and then you close the cursor.
• You disconnect the connection without closing the cursor.

Microsoft SQL Server 2005 Standard Edition
Microsoft SQL Server 2005 Developer Edition
Microsoft SQL Server 2005 Enterprise Edition
Microsoft SQL Server 2005 Standard X64 Edition
Microsoft SQL Server 2005 Standard Edition for Itanium-based Systems
Microsoft SQL Server 2005 Enterprise X64 Edition
Microsoft SQL Server 2005 Enterprise Edition for Itanium-based Systems
Microsoft SQL Server 2005 Workgroup Edition

http://support.microsoft.com/kb/955686

Event ID 7000 appears in the System log while starting SQL 2005 Server

16.09.2008 20:28:00 | Ozgur Aytekin

Event ID 7000 appears in the System log while starting SQL 2005 Server

SYMPTOMS

When you start a computer that is running Microsoft SQL 2005 Server, you may receive the following error message:

"At least one service or driver failed during system startup. Use Event Viewer to examine the event log for details."

Additionally, the following event appears in the System log in Event Viewer:

Event Source: Service Control Manager
Event Category: None
Event ID: 7000
Date: date
Time: time
Type: Error
User: N/A
Computer: computername
Description The SQL Server Reporting Services (MSSQLSERVER) service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.


Note: The description may contain information on another SQL service name.

Microsoft SQL Server 2005 Standard Edition
Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
Microsoft SQL Server 2005 Enterprise Edition
Microsoft Windows Server 2003, Standard Edition (32-bit x86)

http://support.microsoft.com/kb/558119

Photosynth ist fertig und frei verfügbar

16.09.2008 20:24:55 | Oliver Scheer

clip_image002[4]

Photosynth ist ein kostenloser Service, um Fotos in einem 3D-Umfeld auszutauschen und zu erleben. Das Photosynth-Tool nimmt eine Kollektion von Fotos von einem Objekt oder Ort und analysiert jedes Foto auf Ähnlichkeiten mit den Anderen. Die Applikation ermittelt dann, wo das Bild aufgenommen wurde und baut eine 3D-Model daraus. Die Fotos werden am richtigen Platz auf einem 3D-Model platziert und man hat die Möglichkeit durch das 3D-Model zu bewegen.  Es ist ein echt cooles Erlebnis! 

clip_image002

Das spannendste an dieser neuen Version von Photosynth ist das man hat jetzt die Chance Synths selbst zu erstellen.  Für mehr Info über Photosynth oder zu lernen wie man ein gutes Synth baut, schau das How-To-Photosynth-Video an.  Ich habe es auf Deutsch synchronisiert und das findest

Meine Kollegin Lori Grosland hat dazu eine ausführliche Beschreibung erstellt:

http://www.on10.net/blogs/lorigros/Photosynth-Wie-erstellt-man-ein-Synth/

Windows SharePoint Services 3.0: “This form was customized not working with attachment"

16.09.2008 20:21:00 | Ozgur Aytekin

Error message when you try to attach a file in a custom form on the Web site in Windows SharePoint Services 3.0: “This form was customized not working with attachment"

SYMPTOMS
You use Microsoft Office SharePoint Designer 2007 to add a Custom List Form Web Part on a Microsoft Windows SharePoint Services 3.0 site. Then, you try to attach a file by clicking Attach File in the custom form on the Web site. When you do this, you receive the following error message:

Microsoft Windows SharePoint Services 3.0
Microsoft Office SharePoint Server 2007


http://support.microsoft.com/kb/953271/

Silverlight 2 Retail Lösung zum Download

16.09.2008 19:34:44 | Oliver Scheer

Der Trend beim Onlineshopping geht mehr und mehr zur Integration von Bewegtbildern, um dem Verbraucher mehr Informationen zu geben, die Webseite attraktiver zu gestalten oder aber auch um die Emotionalität und das Image von Marken effizienter zu nutzen. Immerhin investieren viele Marken wie bspw. Adidas, Nike oder Pume viel Geld in Kampagnen, Testimonials oder Events um ihre Marke aufzubauen. Warum soll man dann zumindest die Bewegtbilder nicht nutzen, zumal viele Händler, egal welcher Größe, nur über sehr wenig Filmmaterial verfügen.

Die Applikation bzw. die Ressourcen für die Silverlight 2 Lösung ist auf Codeplex, dem shared-source Portal von Microsoft, verfügbar. Andere würden open source sagen, wir sagen shared source ;-)

retail1.pngretail2.png

Source code:  http://www.codeplex.com/WLQuickApps/Wiki/View.aspx?title=Retail&referringTitle=Home

Application:  http://retail.mslivelabs.com/

Danke an http://blogs.msdn.com/christianklasen/

Weitere Silverlight-Seminare (nicht nur von Microsoft) – und ein Aufruf an Trainingsanbieter

16.09.2008 17:46:00 | Steffen Ritter

Neben den erfolgreichen LiftOff-Seminaren zu Silverlight und anderen Webtechnologien von Microsoft  gibt es inzwischen ein wachsendes Trainings- und Seminarangebot zu Silverlight von unabhängigen Anbietern.

Beispielsweise bietet ppedv mittlerweile zweitägige Intensivseminare zu Silverlight für Web-Entwickler und –Designer mit guten Vorkenntnissen in HTML, JavaScript und Visual Studio 2008 zum Preis von knapp 900,- Euro an: http://www.ppedv.de/schulung/kurse/silverlight.aspx. Basis der Seminare ist natürlich bereits Silverlight 2 (der offizielle Name enthält kein „.0“), Themen sind u.a. eine Einführung in XAML, Animationen & Keyframe-Animationen, Expression Design und Expression Blend im Detail, Layout-Controls wie Canvas, Grid und Stackpanel, das Event Model mit XAML, Custom Controls, Bilder mit Deep Zoom skalieren und zoomen, REST und JSON  und mehr. Ausführliche Infos gibt es auf der Website von ppedv.

Dieses und andere Seminarangebote listen wir (d.h. Microsoft) auch auf der offiziellen Expression-Studio-Homepage unter http://www.microsoft.com/germany/expression/resources/Default.aspx -- und dort ist noch Platz! Will heißen: Anbieter von Seminaren/Workshops/Trainings usw. zu Silverlight und/oder Expression-Studio-Programmen sind herzlich eingeladen mir eine E-Mail zu schicken und mich auf ihr Angebot hinzuweisen. Bei allen ernsthaften und seriösen Angeboten werde ich umgehend veranlassen, dass sie ebenfalls (kostenlos) dort auf der offiziellen Homepage von Expression Studio gelistet werden.

Panini-Sticker-Alben sind sooooo 20th Century. Vorhang auf für SnipClip!

16.09.2008 13:14:00 | Steffen Ritter

Auf der Xtopia 2008 wird SnipClip den Vorhang lüften und das erste Online-Sammelalbum einer breiten Öffentlichkeit präsentieren. Die Xtopia findet vom 17. bis 18. November in Berlin statt. Die von Microsoft veranstaltete Konferenz vereint Designer, Entwickler und Unternehmer rund um das Thema e-Commerce. In seinem Vortrag geht Martin Szugat, Geschäftsführer der SnipClip GbR, auf die Verbindung von Social Communities und virtuellen Gütern ein und zeigt deren Geschäftspotenzial auf. Weitere Infos online unter http://www.xtopia-konferenz.de/Business_Track_xt08.mspx?ActiveID=1218#SnipClip

Maschinelle Übersetzungen bei MSDN Online – Ihre Meinung ist gefragt

16.09.2008 03:40:42 | Oliver Scheer

Sie sind gefragt: Was halten Sie von zukünftiger maschineller Übersetzung von MSDN-Inhalten ins Deutsche? Der Windows Live Translator als gegenwärtiger Stand der Technik wird bei MSDN und TechNet in Zukunft dabei helfen, Ihnen englischsprachige Inhalte maschinell übersetzt anzubieten und damit die aufwändige und zeitverzögerte Übersetzung durch professionelle Übersetzer ersetzen. John Martin beschreibt in seinem Blog ein Addin, das Sie auf Ihre Website einbauen können, und lädt zum Feedback ein. Testen Sie selber die Übersetzungsqualität, und hinterlassen Sie uns in Johns Blog sowie unter der angegebenen Feedbackadresse Ihre Meinung zur Ausgereiftheit der Technologie für die an Sie gerichtete Übersetzung technischer Artikel ins Deutsche. Als erste Feuerprobe können Sie auch heute schon einen aktuellen Artikel aus dem englischsprachigen MSDN Magazine maschinell übersetzen lassen und das Ergebnis mit dem der traditionellen Arbeit des Übersetzers im deutschsprachigen MSDN Magazine vergleichen.

Noch vier Tage: Early-Bird fuer Technical Summit und Xtopia 08 sichern

16.09.2008 00:33:30 | Kay Giza

Bis 19. September haben Interessenten noch Zeit, sich für die beiden Microsoft-Fachveranstaltungen „Technical Summit 2008“ und „Xtopia 2008“ anzumelden und dabei mit dem günstigen Early-Bird-Preis jeweils bis zu 150 € zu sparen. Die Entwickler-Konferenz „Technical Summit“ findet vom 19. bis 21. November im Berliner ICC statt; drei Tage vorher – vom 16. bis 18. November – öffnet die Web-Konferenz „Xtopia 08“ ebenfalls im Berliner ICC ihre Tore.

Wovon spricht der Kay bloß?

Was ist wichtig zu wissen?

  • Technical Summit
    • Die aktuellsten Informationen von der PDC, die neusten Trends und teilweise noch unter "NDA" stehende wegweisende Neuigkeiten - werfen Sie einen Blick in die Agenda!
    • Ask-The-Expert-Sessions mit vielen bekannten Experten aus der Community!
    • Attraktives Give-Away-Paket: WPF-Studio von ComponentOne und vieles mehr!
    • Die neusten Informationen, über 25 Referenten in parallelen Sessions!
    • Technical Summit Keynote:
      Keynote Speaker des Technical Summits 2008
      Patrick Baudisch: Research Scientist @ Microsoft Research, Seattle | Professor @ Hasso Plattner Institute, PotsdamSteve Teixeira: Product Unit Manager for the Parallel Development Tools Team, MicrosoftFrank Fischer - Manager der Technologieberater, Developer Platform & Strategy Group bei Microsoft Deutschland
      Durch die Keynote des Technical Summits 2008 führt Sie Frank Fischer, Manager der Technologieberater in der Developer Platform & Strategy Group bei Microsoft Deutschland. Das erste Produkt von Microsoft – wenn man so will – war die Programmiersprache BASIC, veröffentlicht 1975. Seit dem hat sich sehr viel verändert, allein Basic hat uns stets begleitet und erlebt gerade wieder ein Revival, siehe das dynamische BASIC VBX. Auch Microsoft hat sich gewandelt. Wir sind mittlerweile ein Software-Mischkonzern, der stark in den Bereich Services expandiert. Mit Patrick Baudisch haben wir jemanden, der das was heute Cutting-Edge ist – zum Beispiel Surface – wesentlich mit beeinflusst hat und der uns einen Blick in die Zukunft geben wird. Mit Steve Teixeira jemanden, der ganz wesentlich auf weltweiter Basis die nächste Version von Visual Studio – Codename Dev10 – mitgestaltet. Frank Fischer wird dies auf den deutschen Markt übersetzen und die Fragen beantworten, was bedeutet das für mich als Entwickler hier in Deutschland?
  • Xtopia 08
    • Informieren Sie sich, wer Sponsoren & Partner der Xtopia 08 ist und wer somit auf Expo für Gespräche und den innovativen Gedankenaustausch zur Verfügung steht
    • Xtopia 08 Keynote:
      KeyNote Speaker der Xtopia 08:
      Patrick Baudisch: Research Scientist @ Microsoft Research, Seattle | Professor @ Hasso Plattner Institute, PotsdamDan'l Lewin: Corporate Vice President, Strategic and Emerging Business Development, MicrosoftDr. Said Zahedani (Direkter Developer Platform & Strategy Group, Microsoft Deutschland GmbH)

Mehr Informationen: www.technical-summit.de sowie www.xtopia.de



This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

DDD – Vortrag bei DNUG Köln, 07-10-2008

15.09.2008 23:29:00 | Sebastian Jancke

Wie Albert schon angekündigt hat, gebe ich am 07. Oktober 2008 einen Vortrag zum Thema Domain Driven Design in der DNUG Köln.

Allgemein ist die Konstruktion von Modellen ein effektives Mittel, um die Komplexität eines Problems zu beherrschen. Domain Driven Design setzt als Basis unserer Entwicklungsprozesse die Fokussierung auf die Domäne und ihre Modelle, uneingeschränkt durch technische Komplexität, die heutige Projekte meist überlädt. Das wichtigste Werkzeug ist dabei die allgegenwärtige Sprache als Modell der Domäne und der Kontext, in dem sich das Modell einer Domäne befindet.

Der Vortrag gibt eine Einführung in das Thema und einen Überblick über fortgeschrittenere Techniken:

  • Voraussetzungen
  • Allgegenwärtige Sprache
  • Grundlegende Bausteine als Basis der Sprache und Orientierungshilfe
  • Modelle reichhaltiger gestalten
  • Modelle durch ihren Kontext trennen und integrieren
  • DDD in der Praxis: gängige Probleme und häufige Fragen

Technorati Tags: ,

Noch fünf Tage: Frühbucher-Rabatt für Technical Summit und Xtopia sichern

15.09.2008 16:01:52 | Oliver Scheer

Bis 19. September haben Interessenten noch Zeit, sich für die beiden Microsoft-Fachveranstaltungen „Technical Summit 2008“ und „Xtopia 2008“ anzumelden und dabei mit dem günstigen Early-Bird-Preis jeweils bis zu 150 € zu sparen. Die Entwickler-Konferenz „Technical Summit“ findet vom 19. bis 21. November im Berliner ICC statt; drei Tage vorher – vom 16. bis 18. November – öffnet die Web-Konferenz „Xtopia“ ebenfalls im Berliner ICC ihre Tore.

Noch fünf Tage: Frühbucher-Rabatt für Technical Summit und Xtopia sichern

15.09.2008 14:36:00 | Steffen Ritter

Bis 19. September haben Interessenten noch Zeit, sich für die beiden Microsoft-Fachveranstaltungen „Technical Summit 2008“ und „Xtopia 2008“ anzumelden und dabei mit dem günstigen Early-Bird-Preis jeweils bis zu 150 € zu sparen. Die Entwickler-Konferenz „Technical Summit“ findet vom 19. bis 21. November im Berliner ICC statt; drei Tage vorher – vom 16. bis 18. November – öffnet die Web-Konferenz „Xtopia“ ebenfalls im Berliner ICC ihre Tore.


 

Wii + pptPlex: Eine etwas andere Steuerung in einer etwas anderen Präsentationsart

15.09.2008 13:41:22 | Robert Mühsig

Die Entwickler bei Office Labs haben 2 recht coole Technologien kombiniert: Die Rede ist von pptPlex und der Nintendo Wii Steuerung:

Wie das ganze geht ist auf der Anleitungsseite beschrieben.

ShareThis

Entwickler und Designer: Nominieren Sie jetzt Ihre Anwendungen für den Silverlight Gadget Award, den Client Innovation Award und den Client Solution Award

15.09.2008 12:44:00 | Steffen Ritter

Silverlight Gadget Award - Sie entwickeln Windows Vista Sidebar Gadgets und möchten diese einem breiten Publikum vorstellen? Nehmen Sie am Silverlight Gadget Award teil! Prämierung der Gewinner auf der Xtopia 08 (www.xtopia.de). Nominieren Sie jetzt Ihr Silverlight Sidebar Gadget unter: www.innovation-awards.de. Teilnahmeschluss: 31. Oktober 2008.

Client Innovation Award - Sie realisieren für ein Unternehmen eine geschäftsrelevante Applikation mit der "Windows Presentation Foundation" (WPF)? Microsoft Deutschland GmbH und Experton AG prämieren die besten Einreichungen mit dem Client Innovation Award auf der CeBIT 2009. Nominieren Sie jetzt Ihre WPF-Anwendung für den „Client Innovation Award“ unter www.innovation-awards.de. Teilnahmeschluss: 15. Januar 2009.

Client Solution Catalog - Für Client-Lösungen auf Basis der Technologien WPF, Silverlight, Windows VISTA und Internet Explorer 8. Demonstrieren Sie Innovationskraft und Technologie-Kompetenz! Online-Präsenz und Vorstellung bei zahlreichen Microsoft-Veranstaltungen – Ihr Weg zu neuen Kunden. Darüber hinaus können insgesamt drei hochwertige „Microsoft Technology Center Pakete“ aller Unternehmen, deren Lösungen im Client Solution Catalog veröffentlicht werden, gewonnen werden! Nominieren Sie jetzt Ihre Microsoft Client-Anwendung für den Client Solution Catalog unter www.innovation-awards.de.

MSDN Code Gallery

15.09.2008 12:00:00 | Ozgur Aytekin

Unter MSDN Code Gallery findet ihr Beispiel Codes für diverse Microsoft Produkte oder Entwickler-Themen.
Die Beispiel Codes sind nach Themen Gruppiert und über eine Such-Funktionalität können die Beispiel Codes nach Stichwörtern gesucht werden.

Ein paar von diesen Gruppen sind unten aufgelistet:

.NET
.NET 2.0
.NET 3.5
ADO.NET
ASP.NET
C#
CRM
Entity Framework
Hotfix
LINQ
LINQ to SQL
MCMS
Placeholder Controls
SharePoint
Silverlight
SQL Server
TFS - Team Foundation Server
Visual Basic
Visual Studio
Visual Studio 2005
Visual Studio 2008
VSX
WCF
WPF

Client Solution Catalog

15.09.2008 11:05:50 | Oliver Scheer

Für Client-Lösungen auf Basis der Technologien WPF, Silverlight, Windows VISTA und Internet Explorer 8. Demonstrieren Sie Innovationskraft und Technologie-Kompetenz! Online-Präsenz und Vorstellung bei zahlreichen Microsoft-Veranstaltungen – Ihr Weg zu neuen Kunden. Darüber hinaus können insgesamt drei hochwertige „Microsoft Technology Center Pakete“ aller Unternehmen, deren Lösungen im Client Solution Catalog veröffentlicht werden, gewonnen werden! Nominieren Sie jetzt Ihre Microsoft Client-Anwendung für den Client Solution Catalog unter www.innovation-awards.de.

Microsoft Developer Day

15.09.2008 10:32:07 | Oliver Scheer

Am 18. September lädt die Bechtle AG gemeinsam mit uns zum Microsoft Developer Day nach Neckarsulm ein. Der ganztägige, kostenlose Event bietet unseren Kunden einen umfangreichen Überblick über Visual Studio 2008, .NET als Microsoft-Entwicklerplattform, .NET 3.5 sowie Visual Studio Team System. Ein weiterer Schwerpunkt liegt auf dem Thema Oberflächen-programmierung. Die Vorträge werden von den Microsoft-Technologieberatern Oliver Scheer und Dariusz Parys gehalten. Anmelden können sich alle Interessierten per E-Mail. Weitere Informationen erhaltet Ihr hier.

TechTalk im September: Oberflächen mit WPF planen, gestalten, umsetzen

15.09.2008 09:36:25 | Oliver Scheer

Mit einem spannenden Thema geht der MSDN TechTalk nach der Sommerpause im September wieder auf Tour. MSDN Evangelist Dirk Primbs zeigt dann am Beispiel der Windows Presentation Foundation (WPF), wie moderne Applikations-User Interfaces konzipiert und realisiert werden und welche Rolle WPF heute bei der Entwicklung von Benutzeroberflächen spielt. Wann und wo Sie die kostenlosen TechTalk-Vorträge erleben können, erfahren Sie in der Event-Rubrik von MSDN Online. Gleich anmelden!

Microsoft Academic Days: Call for Papers

15.09.2008 09:34:48 | Oliver Scheer

In Berlin finden am 19. November im Rahmen der Microsoft-Entwicklerkonferenz „Technical Summit 2008“ die 4. „Microsoft Academic Days“ statt, für die derzeit ein „Call for Papers“ läuft. Referenten, die auf der Veranstaltung eigene Beiträge präsentieren möchten, können noch bis Mitte September ihre Abstracts einreichen. Die Academic Days treten mit dem Anspruch an, die Kommunikation zwischen Forschung, Industrie und Lehre anzuregen. Daher stehen sowohl aktuelle Forschungsthemen als auch Ideen zu deren Vermittlung an Studierende auf dem Programm.

Xtopia 2008 & Technical Summit 2008: Informieren und anmelden

15.09.2008 09:34:06 | Oliver Scheer

Zwei wichtige Microsoft-Konferenzen gehen Mitte November im Berliner ICC über die Bühne: der Web-Event "Xtopia" und der Entwickler-Kongress "Technical Summit". Über Details der beiden Veranstaltungen - Agenda, Referenten und Termine - informieren jetzt eigene Websites. Frühanmelder, die sich bis 19. September für die Events registrieren, profitieren von einem "Early Bird"-Rabatt von bis zu 150 €.

Holen Sie sich Internet Explorer 8 Beta 2!

15.09.2008 09:21:41 | Oliver Scheer

Kaum ist man 6 Wochen im Urlaub oder im Ausland unterwegs, schon gibt es eine neue Beta des Internet Explorers :-)

Die nächste Runde im Kampf um den beliebtesten Webbrowser ist eingeläutet: Ab sofort können Sie die zweite Betaversion von Internet Explorer 8 auf Deutsch herunterladen. Zeitgleich mit der Verfügbarkeit der US-Version des hochproduktiven Werkzeugs richtet sich die neue Vorabversion nicht mehr vorrangig an Entwickler, sondern an jedermann. Die neue Version glänzt mit vollständiger CSS 2.1-Unterstützung, weiter verbesserter Performance und noch schnellerer Skriptverarbeitung, signifikant leistungsfähigeren Entwicklertools, erhöhter Zuverlässigkeit, Privatsphäre, Vertrauenswürdigkeit und Sicherheit, sowie vielen weiteren Detailverbesserungen und -korrekturen, etwa bei Activities und WebSlices. Profitieren Sie schon heute von den Vorteilen der neuen Version, unterstützen Sie die verbleibende Weiterentwicklung durch Ihr Feedback, oder schauen Sie einfach vorbereitend in die Welt von morgen herein! Informieren Sie sich im Internet Explorer Developer Center über aktuelle Informationen.

Start frei für 'Social Bookmarking' auf MSDN- und TechNet-Online

15.09.2008 03:38:43 | Oliver Scheer

Auf dem MSDN-Webportal ist die 1. Version der MSDN Social-Plattform & TechNet Social-Plattform ans Netz gegangen. Die jetzt freigegebene finale Anwendung löst die Preview-Version ab, die bereits seit Mai 2008 getestet werden konnte. MSDN & TechNet-Social soll es ermöglichen, Bookmarks (Favoriten) online zu verwalten und mit anderen Nutzern auszutauschen. Wie’s funktionieren kann, erklären in ihren Blogs MSDN-Manager Kay Giza (dt.) und Chris Glemp von der 'Microsoft Server and Tools Online Group' (engl.).

HowTo: Dynamisch ASP.NET Controls mit AJAX erzeugen

15.09.2008 00:34:17 | Robert Mühsig

Die Idee (und einige Codezeilen) für dieses HowTo kommt von diesem Blogeintrag der ein tolles Beispiel zeigt. Da ich mir meistens Sachen besser merken kann, wenn ich diese selber mal prototypisch umsetze, schreibe ich auf dieser Basis das HowTo.

Worum geht es?
Stellen wir uns vor, wir hätten viele UserControls geschrieben, welche Daten und Controls unterschiedlicher Art anzeigen können.
Wenn man nun allerdings eine schöne “Web 2.0″ AJAX Anwendung bauen will, schickt man im einfachsten Fall JSON Daten hin und her und muss sich das Control über Javascript zusammenbauen. Das ganze ist natürlich nicht sehr wartbar (manches wird über ASP.NET gemacht, manches vielleicht über statisch eingebundene Controls und andere Sachen über Javascript) - schön wäre doch, wenn man die Controls dynamisch auf die Seite holen könnte. Und genau darum geht es heute…

Aufbau:

image

Wir haben ein sehr simples “SampleUserControl”:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SampleUserControl.ascx.cs" Inherits="DynamicASPControls.SampleUserControl" %>
<div style="background-color: red; height: 200px; top: 200px">
    Fertig geladen \o/
</div>

Der ScriptService:

Für die Kommunikation zwischen Client und Server (und die AJAX Funktionalität) nutzen wir ASP.NET AJAX. Wie das geht und was man damit machen kann, habe ich hier bereits beschrieben.

Im ScriptService (der auch das Attribut ScriptService trägt) erstellen wir uns dynamisch den HTML Code von einem beliebigen Usercontrol:

public class ScriptService : System.Web.Services.WebService
    {
        [WebMethod(EnableSession = true)]
        public string GetControlHtml(string controlLocation)
        {
            Page page = new Page();
            UserControl userControl = (UserControl)page.LoadControl(controlLocation);
            userControl.EnableViewState = false;
            HtmlForm form = new HtmlForm();
            form.Controls.Add(userControl);
            page.Controls.Add(form);
            StringWriter textWriter = new StringWriter();
            HttpContext.Current.Server.Execute(page, textWriter, false);
            return CleanHtml(textWriter.ToString());
        }

        /// <summary>
        /// Removes Form tags
        /// </summary>
        private string CleanHtml(string html)
        {
            return Regex.Replace(html, @"<[/]?(form)[^>]*?>", "", RegexOptions.IgnoreCase);
        }
    }

Der “GetControlHtml” Methode wird die “Location” von dem Control mitgeiteilt und jetzt bauen wir uns dynamisch eine “Page” zusammen und fügen eine “HtmlForm” dazu und hängen dort das geladene Control dran.

Über “HttpContext.Current.Server.Execute” können wir nun unseren fertigen HTML Code in ein String verwandeln.

Die “CleanHtml” Methode entfernt die Form Tags am Anfang wieder - sodass wir möglichst nur noch das original Control-HTML übrig haben.

Größenbeschränkung aufheben:

Da man ja relativ viele Sachen in einem Control machen kann und das daraus resultierende HTML recht groß werden kann, müssen wir dies in der Web.Config erst freischalten:

  <system.web.extensions>
    <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="5000000" />
      </webServices>
    </scripting>
  </system.web.extensions>

Fertige ASPX:

Die fertige ASPX Seite ist bewusst einfach gehalten:

<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="false" CodeBehind="Default.aspx.cs" Inherits="DynamicASPControls._Default" %>

<!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 runat="server">
    <title>Untitled Page</title>

</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
        <Services>
            <asp:ServiceReference Path="~/ScriptService.asmx" />
        </Services>
    </asp:ScriptManager>

    <button type="button" onclick="generateUserControl()">Generate UserControl!</button>
    <div id="result">

    </div>
    </form>

        <script type="text/javascript">
        function generateUserControl()
        {
            document.getElementById("result").innerHTML = "Load...";
            DynamicASPControls.ScriptService.GetControlHtml("~/SampleUserControl.ascx", generateUserControlCompleted);
        }

        function ready(result)
        {
            alert(result);
        }

        function generateUserControlCompleted(result)
        {
            document.getElementById("result").innerHTML = result;
        }

        function failed(error)
        {
            alert(error);
        }

    </script>
</body>
</html>

Über die JavaScript Methoden greifen wir auf den Service zu, welcher uns das HTML liefert. In der “generateUserControlCompleted” Methode schreiben wir das HTML nur noch in unser “result” div:

image
(Design made by me ;) )

Ein komplexeres Beispiel:

Ein wesentlich komplexeres Beispiel findet ihr in diesem Blogpost, sowie eine jQuery Variante in diesem Blogpost.

Wo es Probleme geben könnte:

Da wir das HTML dynamisch zur Seite hinzufügen, funktioniert sicherlich das Postback System von ASP.NET nicht (bzw. könnte ich es mir vorstellen, dass es da Probleme gibt) - für ein einfaches Control, welches ohne PostBacks entwickelt wurde, ist es aber sicherlich eine tolle Sache.

[ Download Sourcecode ]

ShareThis

ASP.NET Grundlagen Teil 1: Ein Blick hinter die Kulisse

14.09.2008 23:19:00 | Peter Bucher

Dies ist der Beginn der Artikelserie "ASP.NET Grundlagen" mit folgenden Teilen:

ASP.NET bietet viele Features / Eigenheiten an, die auch in anderen Webtechnologien zu finden sind.
Darüber hinaus auch solche, die auf der Technologie selber oder dem Webserver (Meist IIS) aufgebaut sind.

Ablauf und Funktionsweise von ASP.NET betrachtet

Ein normaler Ablauf beim Aufruf einer Seite, dem Anklicken eines Links oder dem abschicken eines Formulars ist zwischen Client und Server bei allen Webtechnologien gleich.
Er unterscheidet sich erst ab dem Zeitpunkt wo die Verarbeitung auf dem Server anfängt. Die Ausgabe ist bei allen Technologien schlussendlich auch gleich.

  1. Benutzer ruft per Webbrowser eine Webseite auf, klickt einen Link an oder sendet ein Formular ab
  2. Beim normalen Abruf - wie das auch bei einem Link der Fall ist - wird ein GET-Request an den Server gesendet, es werden also Daten angefordert und ggf. Parameter über die Url mit übergeben (GET-Parameter)
  3. Bei einem Abruf über ein Formular (Egal ob durch einen Button manuell oder indirekt über Javascript abgeschickt), wird ein POST-Request zum Server gesendet und ggf. Parameter über die Url mit übergeben (GET-Parameter) und zusätzlich Formulardaten zum Server geschickt (POST-Parameter), und bei einem Datei-Upload wird die Datei binär (multipart/form-data) innerhalb des POST-Requests mitgeschickt.

Ungefähr so kann man sich die Anforderung vorstellen.
Wenn ein statische Datei angefordert wird (Bspw. ein Bild, eine Zip-Datei, ....) übernimmt  im Normalfall der Webserver den Request und sendet als Response jeweils die Datei direkt zum Client - sowas nennt man dann "Download" :-).

Wenn allerdings die Dateiendung oder der angeforderte Pfad (Im Fachchargon die Resource) auf dem Webserver mit ASP.NET verknüpft ist, übernimmt ASP.NET die Verarbeitung des Requests.
Es werden die nötigen Objekte instanziiert (HttpContext, Page / HttpHandler, ...) die benötigt werden um mit ASP.NET arbeiten zu können.
All diese Objekte (Ausgenommen Applikationsobjekte) leben _nur_ vom Anfang der Verarbeitung bis zum Senden der Response, danach werden sie zerstört.

ASP.NET benutzt diese Objekte und mithilfe dem manuell geschrieben Code geschieht die Verarbeitung.
Intern läuft eine Reihenfolge von Events / Methodenaufrufen ab, was wir unter dem ASP.NET Lifecycle verstehen.
Innerhalb des selber geschrieben Codes (Page_Load, etc....) kann auf die - für den aktuellen Request - erstellten Objekte zugegriffen werden, so findet sich die GET-Parameter in "Request.QueryString[<Key>]" wieder und die POST-Parameter unter "Request.Form[<Key>]. (Siehe dazu aber auch Die alten Bekannten - Response.Write() und Request.Form[])

Mithilfe des ASP.NET-Frameworks wird das abrufen und senden von Parametern auf einer höheren Ebene abstrahiert, bspw. funktioniert sowas:


TextBox txtTest = new TextBox();
txtTest.ID = "txtTest";
placeHolder.Controls.Add(txtTest);
string text;

if(this.IsPostBack) {
    text = txtTest.Text;
}

Im Hintergrund läuft das automatisiert von ASP.NET ungefähr so ab:


TextBox txtTest = new TextBox();
txtTest.ID = "txtTest";
placeHolder.Controls.Add(txtTest);
string text;

if(this.IsPostBack) {
    text = this.Request.Form[txtTest.UniqueID];
}

Natürlich wird nicht genau so ein Code im Hintergrund arbeiten, aber etwas ähnliches.
Also unter der Haube von ASP.NET steckt ein wenig "Low Level" und ASP.NET abstrahiert das - vorallem durch Controls - sehr gut.

Schlussendlich wird das Resultat (Response) von ASP.NET zum Client geschickt (Page rendert rekursiv Kind-Controls / HttpHandler schickt Datei, etc...) und die ganze Geschichte fängt wieder von vorne an.

Nun, was fällt auf?

Genau: Wir haben eine komplette Statuslosigkeit.

Im nächsten Teil der Artikelserie geht es darum, was es für Möglichkeiten gibt mit der Statuslosigkeit umzugehen.

ASP.NET Grundlagen Teil 2: Tschüss Statuslosigkeit

14.09.2008 23:19:00 | Peter Bucher

Dies ist die Fortsetzung der Artikelserie "ASP.NET Grundlagen" mit folgenden Teilen:

In Teil 1 gab es einen Blick hinter die Kulissen und die Erkenntnis das es der Entwickler bei Webtechnologien mit Statuslosigkeit zu tun hat.

Es gibt jedoch Möglichkeiten um die Statuslosigkeit mehr oder weniger loszuwerden bzw. mit der Statuslosigkeit umzugehen.
Auf diese Möglichkeiten möchte ich jetzt eingehen, vorallem wann / wie / was genutzt werden kann oder sollte.

SessionState

Der SessionState bietet die Möglichkeit Benutzer über eine Sitzung weg zu identifizieren.
Dies geschieht mit der Nutzung eines temporären Cookies auf dem Computer des Benutzers,
in diesem Cookie ist eine SessionId - eine Id zur Identifikation des Benutzers am Server - gespeichert.

Die Session bleibt solange bestehen, bis das Timeout nach dem letzten Kontakt mit dem Server abgelaufen ist, oder aber das Browserfenster geschlossen wird.
Anmerkung:
Wenn das Browserfenster geschlossen wird, ist die Session clientseitig verloren, serverseitig läuft sie aber noch solange bis der Timeout abgelaufen ist. Benutzt werden kann sie nicht mehr -> Ausser bei speziellen Spezialfällen natürlich....

Anhand der SessionId können dann Daten im Arbeitsspeicher des Servers für einen Benutzer gespeichert und abgerufen werden.

Benutzt wird / sollte der SessionState primär für alles was im Benutzerkontext abläuft.
Allerdings reicht es auch hier in den meisten Fällen, bzw. ist es ratsam nur jeweils eine Identifizierung (Bentzer-Id in der Datenbank) in der Session zu speichern, da pro Benutzer gespeichert wird.

Das bedeutet - bei einer Mehrbenutzeranwendung -was ASP.NET auch ist, dass pro Benutzer jeweils Objekte im Arbeitsspeicher des Servers gehalten werden.
Diese bleiben solange im Arbeitsspeicher vorhanden, bis das Session-Timout abläuft oder aber die Daten manuell gelöscht werden.

Darum sollte darauf darauf geachtet werden, dass nur wirklich die nötigsten Daten im SessionState gehalten werden.

Nehmen wir bspw. mal eine Datenmenge von 500Kb die sich bei jedem Nutzer der Webanwendung angesammelt wird, dies bei 100 Benutzern.
500 x 100 = 50'000Kb = 50Mb. (1000Kb oder 1024Kb mal aussen vor gelassen).

Wenn während dem Timeout (Standardmässig 20 Minuten) nochmals 50 Benutzer hinzukommen, beläuft sich die Menge des benutzen Arbeitsspeicher schon auf 75Mb.

Wenn die Session-Daten im Arbeitsspeicher des Servers gehalten werden, nennt sich der Modus "InProc" (In Process), es gibt auch die Möglichkeit einen StateServer, SqlServer oder eine eigene Implementation zu verwenden um die Session-Daten auch über die Lebenszeit der Applikation zu behalten.

Cookie

Im Gegensatz zum SessionState bleiben Cookies bis zu einem gesetzten Ablaufdatum bestehen und die Daten werden auf dem Client und nicht auf dem Server gespeichert.
Das ist nütztlich um eine Funktion àla "Daten merken?" zu implementieren.

Der SessionState (temporäre Cookies) und Cookies schliessen sich also nicht nicht gegenseitig aus, sondern ergänzen sich.
So kann dieselbe Funktionalität mit dem SessionState gelöst werden und Cookies kommen dann zum Spiel, wenn die Einstellungen / Login dauerhaft, auch über eine Browsersitzung / Timout hinaus genutzt werden möchte.

Datenbank

Auch in Zusammenarbeit mit dem SessionState oder Cookies kann eine Datenbank benutzt werden, um einen Status abzuspeichern.
Der SessionState / Cookies sorgen für die Identifizierung des Benutzers und die Datenbank fungiert als Speicher.

Diese beiden Systeme (bspw. Cookie und Datenbank) assoziieren sich jeweils mit einer eindeutigen ID, sodass ein Status wiederhergestellt werden kann.

Cache

Mithilfe des Caches können Daten (Bspw. von aufwändigen Anforderungen wie die eines WebRequests oder einer langsamen Datenbankabfrage) zwischengespeichert werden, um die Anwendung zu beschleunigen.
In ASP.NET ist ausserdem das Feature "Output Cache" eingebaut, dass die aktuelle Ausgabe einer Anforderung (Bsw. einer ASP.NET Seite) zwischengespeichert werden kann.
Diese Zwischenspeicherung gilt dann (Wie auch beim normalen Cache) solange bis eine Abhängigkeit (CacheDependency) nicht mehr gültig ist.
Das kann eine Zeitdauer sein, eine Änderung einer lokalen Datei - eines Verzeichnisses oder aber etwas völlig anders (VaryByCustom oder eine eigene Abhängigkeit).

So kann bspw. für angemeldete Benutzer jeweils die Seite im Cache mit sensiblen Daten zurückgegeben werden, und bei Gästen diese ohne die sensiblen Daten, aber genauso aus dem Cache.

Ich habe den Cache hier reingenommen, da ich ihn auch für ein sehr wichtiges Mittel halte, es geht hier nicht wirklich um den Status von Client / Server sondern um die Art, Daten zwischenzuspeichern.

Application.Items oder statische Variabeln

Applikationsweit _für alle Benutzer gleich_ (Siehe: Statische Variablen in ASP.NET) können Daten in der Applikations-Items-Auflistung oder - läuft im gleichen Kontext - als statische Variablen gehalten werden.

Hier ist jedoch Vorsicht geboten und die Daten gehen nach einem Applikations-Neustart wieder verloren.
Auch wird hier der Arbeitsspeicher des Servers als Medium benutzt, daher sollte auch mit der Menge der Daten sparsam umgegangen werden. (Wink an Jürgen ;-)

Andere persistente Medien (Harddisk, Textdatei, ...)

Genau so wie bei der Datenbank beschrieben, können auch andere persistente Medien als Status-Speicher benutzt weren.
Seien das jetzt Textdateien, XML-Dateien, CSV-Dateien, ....

ViewState

Das ViewState-Feature das mit ASP.NET eingeführt wurde, ist sowohl alt als auch neu.
ASP.NET benutzt die Tatsache, das viele Aufrufe in ASP.NET standardmässig per POST an den Server gesendet werden,
um aktuelle Statusinformationen in einem Html-Hidden-Field zu speichern und bei der nächsten Anforderung wieder zu lesen.

Dabei lassen sich zwei Kategorien unterscheiden: Der ControlState und der ViewState.
Der Mechanismus ist der selbe, jedoch wird der ControlState nur von WebControls benutzt und kann von einem Seitenentwickler nicht deaktiviert werden.
Der ViewState hingegen wird von ASP.NET selber auf Seitenebene genutzt und kann auch von einem Entwickler auf Seite- sowie Controlebene eingesetzt werden.

Für den View- sowie den ControlState wird jeweils ein seperates HiddenField von ASP.NET generiert und verwendet.

Das war in einer CTP so, Zitat von Jens (Danke für deinen durchaus konstruktiven Kommentar!):

Es gab mal die Variante mit "__CONTROLSTATE" in einer CTP-Version wurd aber in der Finalen Version so nicht realisiert, da dadurch Performance-Einbußen zustande kamen.

Beispielanwendung:
ViewState["key"] = "value";

Mit dieser Zuweisung erfolgt serverseitig eine Speicherung als Schlüssel / Wert-Paar (Key / Value-Pair).
Alle Zuweisungen werden von ASP.NET zu einem String serialisiert und vor dem Zurücksenden des Outputs an den Client in einem versteckten Formularfeld gespeichert.
Bei einer erneuten Anforderng per POST liest ASP.NET die Werte wieder in das Objektmodell und macht sie durch den Entwickler und die Objekte die selber agieren, abruf- und zuweisbar.

Einfach gesagt: Mit Hilfe des ViewState-Mechanismus lassen sich Daten (Besser Stati) über einen PostBack am Leben erhalten.
Jedoch funktioniert das nur solange bis die nächste Anforderung nicht mehr per POST kommt, sondern bspw. per GET.
Bei einer GET-Anforderung: Also beispielsweise einen Klick auf ein Hyperlink, ein serverseitiger Response.Redirect oder einem einfachen Refresh der Seite im Browser (Ohne das mitsenden allfälliger Formulardaten) sind alle Daten im ViewState verloren und auf den Nullzustand zurückgesetzt.

Folgendes zeig dies auf:
POST -> POST -> POST -> POST (Status bleibt die ganze Zeit erhalten)
POST -> POST -> POST -> GET -> POST (Status ist ab der ersten GET-Abfrage zurückgesetzt)

Ich hoffe dass diese Artikel ein wenig Licht ins Dunkle bringen konnte und das Verständnis zu den vorhanden Möglichkeiten stärken.

Bearbeitung / Korrekturen:
15.09.08 - Absatz über den View- und ControlState hinzugefügt (Danke an Golo)
17.09.08 - Hinweis über den ControlState korrigiert (Danke an Jens)

Filesync-Service: Dropbox

14.09.2008 18:49:11 | Lars Keller

Heute bin ich auf den Filesync-Service Dropbox gestolpert und habe diesen gleich ausprobiert. Dropbox ist super schnell installiert und läuft sehr "smooth" ab. Einfach das zu synchronisierende File in den Dropbox-Ordner packen und schon wird es auf den Dropbox Server geladen. Natürlich alles verschlüsselt. Kostenlos steht jedem 2GB Speicherplatz zur Verfügung und es können 10 PCs synchronisiert werden. Weitere Informationen findet man bei diesem Golem Artikel.

Eine andere Alternative (SYNCING.NET) zeigt Torsten in seinem Blogartikel auf.



This weblog is sponsored by netcreate OHG.

16.09.08 Treffen der .NET Developer Group Braunschweig: Software Design Principles

14.09.2008 18:18:46 | Lars Keller

dotnetbs_banner_150

Die .NET Developer Group Braunschweig trifft sich zu ihrem 24 User Group Treffen am 16.09.08 um 19:00 im Restaurant Kilian's Raffinerie.

Dieses Mal kommt uns Stefan Lieser mit seinem Vortrag über "Software Design Principles" besuchen:

Software muss in der Regel über lange Zeiträume gepflegt werden. Die Wartbarkeit einer Software ist daher ein wichtiges Kriterium bei der Entwicklung. Stefan Lieser geht in seinem Vortrag der Frage nach welche Prinzipien bei der Softwareentwicklung hilfreich sind um wartbare Software zu erhalten.

Weitere Informationen gibt es auf www.dotnet-braunschweig.de

Wie immer ist jeder herzlich willkommen!



This weblog is sponsored by netcreate OHG.

Zurück von der NRW08

14.09.2008 18:10:16 | Lars Keller

Am Freitag, den 12.09.08 fand die NRW08 statt und ich war als Speaker dabei. Ich habe eine Session über VSTO 3.0 & Outlook 2007 Entwicklung gehalten. Die Session zeigte, wie einfach man ein Kontaktformular mit Form Regions, WPF & LINQ erweitern kann.

olDemoNRW08

Wer die Outlook Demo haben möchte, kann mir gern eine Email schreiben oder warten, bis diese hier im Blog veröffentlicht wird. Meine Folien gibt es jetzt schon mal ;-) (siehe unten).

Das Event hat mir sehr viel Spaß gemacht, noch mal herzlichen Dank an das Orga-Team Daniel Fisher und Stephan Oetzel! Nach der NRW08 haben noch einige von uns  Wuppertal erkundet und dabei ein paar "phasige" (insider) Stunden erlebt. ;-)

Eine Einladung zur nächsten NRW habe ich auch wieder erhalten. Der neue Termin für die NRW-CONF 09 (Achtung neuer Name) steht auch schon fest: 28.08.09. - Ich freue mich schon darauf!



This weblog is sponsored by netcreate OHG.

Filesync-Service: Dropbox

14.09.2008 17:49:11 | Lars Keller

Heute bin ich auf den Filesync-Service Dropbox gestolpert und habe diesen gleich ausprobiert. Dropbox ist super schnell installiert und läuft sehr "smooth" ab. Einfach das zu synchronisierende File in den Dropbox-Ordner packen und schon wird es auf den Dropbox Server geladen. Natürlich alles verschlüsselt. Kostenlos steht jedem 2GB Speicherplatz zur Verfügung und es können 10 PCs synchronisiert werden. Weitere Informationen findet man bei diesem Golem Artikel.

Eine andere Alternative (SYNCING.NET) zeigt Torsten in seinem Blogartikel auf.

16.09.08 Treffen der .NET Developer Group Braunschweig: Software Design Principles

14.09.2008 17:18:46 | Lars Keller

dotnetbs_banner_150

Die .NET Developer Group Braunschweig trifft sich zu ihrem 24 User Group Treffen am 16.09.08 um 19:00 im Restaurant Kilian's Raffinerie.

Dieses Mal kommt uns Stefan Lieser mit seinem Vortrag über "Software Design Principles" besuchen:

Software muss in der Regel über lange Zeiträume gepflegt werden. Die Wartbarkeit einer Software ist daher ein wichtiges Kriterium bei der Entwicklung. Stefan Lieser geht in seinem Vortrag der Frage nach welche Prinzipien bei der Softwareentwicklung hilfreich sind um wartbare Software zu erhalten.

Weitere Informationen gibt es auf www.dotnet-braunschweig.de

Wie immer ist jeder herzlich willkommen!

Zurück von der NRW08

14.09.2008 17:10:16 | Lars Keller

Am Freitag, den 12.09.08 fand die NRW08 statt und ich war als Speaker dabei. Ich habe eine Session über VSTO 3.0 & Outlook 2007 Entwicklung gehalten. Die Session zeigte, wie einfach man ein Kontaktformular mit Form Regions, WPF & LINQ erweitern kann.

olDemoNRW08

Wer die Outlook Demo haben möchte, kann mir gern eine Email schreiben oder warten, bis diese hier im Blog veröffentlicht wird. Meine Folien gibt es jetzt schon mal ;-) (siehe unten).

Das Event hat mir sehr viel Spaß gemacht, noch mal herzlichen Dank an das Orga-Team Daniel Fisher und Stephan Oetzel! Nach der NRW08 haben noch einige von uns  Wuppertal erkundet und dabei ein paar "phasige" (insider) Stunden erlebt. ;-)

Eine Einladung zur nächsten NRW habe ich auch wieder erhalten. Der neue Termin für die NRW-CONF 09 (Achtung neuer Name) steht auch schon fest: 28.08.09. - Ich freue mich schon darauf!

Wie kann ich den Dateipfad eines Prozess ermitteln? - der verwaltete Weg

14.09.2008 15:42:50 | Klaus Bock

In einem vorherigen Artikel habe ich geschrieben, Zitat;

Das .NET Framework bietet zwar einiges an Möglichkeiten mit Prozessen umzugehen, jedoch keine um den Pfad der Datei eines bestimmten Prozess zu ermitteln. Zumindest ist mir keine bekannt.

Dann hätte ich wohl besser suchen sollen. Mittlerweile habe ich eine Möglichkeit mit Hilfe der ProcessModule-Klasse gefunden, genau dieses Problem auf verwaltetem Weg zu lösen.

Da der Prozess ja bereits als eine Instanz der Process-Klasse vorliegt, kann die Eigenschaft Mainmodule der Process-Instanz an eine neue Instanz der ProcessModule-Klasse übergeben werden. Die Klasse ProcessModule gibt mit der Eigenschaft FileName den kompletten Pfad zur Datei des Prozess zurück. So einfach kann es sein.

Zu bedenken ist allerdings noch, dass der Zugriff auf die Prozessmodule stark von den Rechten des ausführenden Benutzers abhängig ist. Zur Sicherheit sollte der Zugriff auf das Prozessmodul in einem try, catch Block verpackt werden, der eine Win32Exception verarbeitet. Diese tritt auf, wenn der Benutzer nicht die nötigen Rechte besitzt um auf das benötigte Prozessmodul zugreifen zu können. Meist ist dies der Fall, wenn auf einen Prozess zugegriffen wird der als Dienst gestartet wurde. Hier nun ein Listing der beschriebenen Vorgehensweise:

public static string GetProcessPath(int processId)
{
    string fileName = null;
    Process process = null;
    try
    {
        process = Process.GetProcessById(processId);

        ProcessModule processModule = process.MainModule;
        fileName = processModule.FileName;
    }
    catch (Win32Exception)
    {
        // TODO:Handling Zugriff nicht erlaubt.
    }
    finally
    {
        if (process != null)
        {
            process.Close();
        }
    }

    return fileName;
}

Wie man an der Länge dieses Listings unschwer erkennen kann, im Vergleich zur Länge der Lösung in diesem Beitrag, bietet der verwaltete Weg eine sehr komfortable und einfache Lösung an. Es lohnt sich also meistens etwas genauer in die Dokumentation des .NET-Framework zu sehen.

Filesync-Service: Dropbox

14.09.2008 08:49:01 | Lars Keller

Heute bin ich auf den Filesync-Service Dropbox gestolpert und habe diesen gleich ausprobiert. Dropbox ist super schnell installiert und läuft sehr "smooth" ab. Einfach das zu synchronisierende File in den Dropbox-Ordner packen und schon wird es auf den Dropbox Server geladen. Natürlich alles verschlüsselt. Kostenlos steht jedem 2GB Speicherplatz zur Verfügung und es können 10 PCs synchronisiert werden. Weitere Informationen findet man bei diesem Golem Artikel.

Eine andere Alternative (SYNCING.NET) zeigt Torsten in seinem Blogartikel auf.

16.09.08 Treffen der .NET Developer Group Braunschweig: Software Design Principles

14.09.2008 08:18:04 | Lars Keller

dotnetbs_banner_150

Die .NET Developer Group Braunschweig trifft sich zu ihrem 24 User Group Treffen am 16.09.08 um 19:00 im Restaurant Kilian's Raffinerie.

Dieses Mal kommt uns Stefan Lieser mit seinem Vortrag über "Software Design Principles" besuchen:

Software muss in der Regel über lange Zeiträume gepflegt werden. Die Wartbarkeit einer Software ist daher ein wichtiges Kriterium bei der Entwicklung. Stefan Lieser geht in seinem Vortrag der Frage nach welche Prinzipien bei der Softwareentwicklung hilfreich sind um wartbare Software zu erhalten.

Weitere Informationen gibt es auf www.dotnet-braunschweig.de

Wie immer ist jeder herzlich willkommen!

Zurück von der NRW08

14.09.2008 08:10:01 | Lars Keller

Am Freitag, den 12.09.08 fand die NRW08 statt und ich war als Speaker dabei. Ich habe eine Session über VSTO 3.0 & Outlook 2007 Entwicklung gehalten. Die Session zeigte, wie einfach man ein Kontaktformular mit Form Regions, WPF & LINQ erweitern kann.

olDemoNRW08

Wer die Outlook Demo haben möchte, kann mir gern eine Email schreiben oder warten, bis diese hier im Blog veröffentlicht wird. Meine Folien gibt es jetzt schon mal ;-) (siehe unten).

Das Event hat mir sehr viel Spaß gemacht, noch mal herzlichen Dank an das Orga-Team Daniel Fisher und Stephan Oetzel! Nach der NRW08 haben noch einige von uns  Wuppertal erkundet und dabei ein paar "phasige" (insider) Stunden erlebt. ;-)

Eine Einladung zur nächsten NRW habe ich auch wieder erhalten. Der neue Termin für die NRW-CONF 09 (Achtung neuer Name) steht auch schon fest: 28.08.09. - Ich freue mich schon darauf!

Teil 2: Wie kann ich Workitems live anpassen und diese Änderungen wieder in das Process Template importieren?

13.09.2008 17:38:47 | Christian Binder

image

Wie bekommen wir die Änderungen wieder in das Process Template, um neue Team Projekte mit dem aktuellen Stand zu erzeugen? Im ersten Schritt exportiert man die Workitem Definition und speichert diese als File z.B. Bug.xml:

A1

Das Original Template via Process Template Manager vom Server laden und lokal speichern, wenn nicht schon passiert:

A2

Es befinden sich jetzt die geänderte Workitem Definition und das Original Template lokal im File System. Das Process Template nun offline öffnen und anpassen:

A3

ProcessTemplate.xml zum öffnen selektieren:

image

Die geänderte Workitem Definition in das Template importieren. Erst die alte Workitem Definition „Bug“ löschen! A4

Zum Import das Bug.xml File selektieren und importieren. An diesem Punkt würde man alle notwendigen Ressourcen aktualisieren. Danach das Process Template unter anderer Version speichern:

image

Es folgt der Upload des Process Templates via Process Template Manager auf den Server:

image

Erstellen eines neuen Team Projektes mittels aktuellem Template:

image

Done :-)

Viel Spass

Chris

Configuring Multiple Authentication Providers for SharePoint 2007

13.09.2008 09:07:00 | Ozgur Aytekin

Windows SharePoint Services (WSS) V3 contains several new features around authentication and authorization that make it easier to develop and deploy solutions in Internet facing environments, especially extranets. In the previous version of WSS, all security principals needed to resolve at some point to a Windows identity – either a user account or group. WSS V3 is built upon the ASP.NET 2.0 Framework, which allows the use of forms-based authentication (FBA) to authenticate users into the system. By riding on top of ASP.NET 2.0’s pluggable authentication provider model, you can now support users stored in Active Directory as well as SQL Server, an LDAP directory, or any other directory that has an ASP.NET 2.0 Membership provider. Although WSS V3 will not ship with any Membership providers, Microsoft Office SharePoint Server (MOSS) 2007 will include an LDAP V3 Membership provider, and ASP.NET 2.0 includes a SQL Server provider. But if you want to use a directory and can’t find a Membership provider for it, you can write your own! This is a key technology enabler for heterogeneous environments.

Configuring Multiple Authentication Providers for SharePoint 2007

Office SharePoint Server 2007 Business Data Catalog

13.09.2008 09:01:00 | Ozgur Aytekin

The BDC is essentially a catalog of business applications that are of interest to SharePoint Server 2007 users, and it bridges the gap between the portal and business applications by bringing in key data from various applications to SharePoint sites, lists, search, and user profiles. The BDC is the key infrastructural component around which most of the other business data features of SharePoint Server 2007 are built. Administrators can register business applications in the BDC, after which the data in the application is immediately available to SharePoint through the business data features described below. A key requirement for each registered business application is an XML-based metadata model that describes the application programming interfaces (API) of the application or the schema of the database that maps to business objects (e.g. customer) and properties (e.g. name) that a SharePoint user can understand. These metadata models can be easily created by DBAs or database developers.

Business Data Catalog

FIX: The Visual Studio 2005 IDE may stop responding or may respond very slowly

13.09.2008 08:44:00 | Ozgur Aytekin

FIX: The Visual Studio 2005 IDE may stop responding or may respond very slowly after you perform some operations to a form that has a complex DataSet control, a DataGridView control, and some DataAdapter controls in a windows-based application.

In the Microsoft Visual Studio 2005 IDE, you create a windows-based application that contains a form. The form has a complex DataSet control, a DataGridView control, and some DataAdapter controls. The IDE may stop responding or may respond very slowly when you perform one or more of the following operations:
• You edit the code windows and then open the form designer.
• You drag a field from the DataSet control to the designer.
• You right-click the component tray of the form design window and then select Line Up Icons.
• You drag the DataGridView control from data sources to the form.

FIX: The Visual Studio 2005 IDE may stop responding or may respond very slowly after you perform some operations to a form that has a complex DataSet control, a DataGridView control, and some DataAdapter controls in a windows-based application

Open XML Format SDK 2.0

13.09.2008 08:15:00 | Ozgur Aytekin

Open XML is an open ECMA 376 standard and is also approved as the ISO/IEC 29500 standard that defines a set of XML schemas for representing spreadsheets, charts, presentations, and word processing documents. Microsoft Office Word® 2007, Microsoft Office Excel® 2007, and Microsoft Office PowerPoint® 2007 all use Open XML as the default file format.

The Open XML file formats are useful for developers because they use an open standard and are based on well-known technologies: ZIP and XML.

The Open XML Format SDK 2.0 is built on top of the System.IO.Packaging API and provides strongly typed part classes to manipulate Open XML documents. The SDK also uses the .NET Framework Language-Integrated Query (LINQ) technology to provide strongly typed object access to the XML content inside the parts of Open XML documents.

Open XML Format SDK 2.0

Maschinelle Uebersetzungen bei MSDN Online – Ihre Meinung ist gefragt

12.09.2008 18:14:52 | Kay Giza

Sie sind gefragt: Was halten Sie von zukünftiger maschineller Übersetzung von MSDN-Inhalten ins Deutsche? Der Windows Live Translator als gegenwärtiger Stand der Technik wird bei MSDN und TechNet in Zukunft dabei helfen, Ihnen englischsprachige Inhalte maschinell übersetzt anzubieten und damit die aufwändige und zeitverzögerte Übersetzung durch professionelle Übersetzer ersetzen. John Martin beschreibt in seinem Blog ein Addin, das Sie auf Ihre Website einbauen können, und lädt zum Feedback ein. Testen Sie selber die Übersetzungsqualität, und hinterlassen Sie uns in Johns Blog sowie unter der angegebenen Feedbackadresse Ihre Meinung zur Ausgereiftheit der Technologie für die an Sie gerichtete Übersetzung technischer Artikel ins Deutsche. Als erste Feuerprobe können Sie auch heute schon einen aktuellen Artikel aus dem englischsprachigen MSDN Magazine maschinell übersetzen lassen und das Ergebnis mit dem der traditionellen Arbeit des Übersetzers im deutschsprachigen MSDN Magazine vergleichen.

Link: Maschinelle Übersetzungen bei MSDN Online – Ihre Meinung ist gefragt 

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Hug a developer today [FUN oder doch nicht?]

12.09.2008 18:06:07 | Kay Giza

Ohne Worte! Schönes Wochenende!
Ach - und irgendwie ist doch etwas Wahres dran ;-)

>>

Gut das wir eine Lösung dafür haben ;-)



This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Teil 1: Wie kann ich Workitems live anpassen und diese Änderungen wieder in das Process Template importieren?

12.09.2008 16:09:10 | Christian Binder

Mit den TFS Power Tools gibt's den Process Template Editor, der es ermöglicht den bestehenden Prozess anzupassen. Nun wurde ich des Öfteren gefragt, wie man die Anpassungen am Prozess in das Process Template wieder importiert, um somit neue Projekte mit dem aktuellen Prozess erstellen zu können. Leider gibt es die Funktion "Save active Team Project to template" nicht, sonst könnte ich hier aufhören :-)

Also hier alle Schritte Step by Step, vom Ändern des aktuellen Prozesses (Teil1) bis zum Importieren der Änderungen in das Template (Teil2). 

Im aktiven Projekt ein Workitem ändern:

W1

Das Workitem im gewünschten Team Projekt selektieren, in diesem Fall den Bug.

Als Änderung füge ich eine neue Textbox hinzu, wozu erst eine neue Field Definition angelegt werden muss. Hierzu wird der Name, der Typ und der RefName definiert. Der RefName ist ein eindeutiger Identifier auf dem TFS: 

W2 

Im Layout Tab kann der aktuelle Bug im Preview angezeigt werden und die neue Textbox hinzugefügt werden:W3

Die Properties des Controls setzen, Label definieren und den FieldName an den RefName von MyNewField binden:

W4

Speichern, die Änderungen werden live auf dem Server durchgeführt. Im Team Explorer einen Refresh durchführen und einen neuen Bug erzeugen. Siehe da wir haben eine neue Textbox:

W5

Im Teil2 importieren wir diese Änderung in das Process Template.

Viel Spass

Chris

Ausgepackt: neue Schönheit aus dem Hause Expression entblättert...

12.09.2008 12:58:00 | Steffen Ritter

Woohoo! Eben kam meine erste (eigene) Expression Professional Subscription – das Wochenende ist gerettet! Ihr seid alle eingeladen diese unbändige Freude mit mir zu teilen; und was wäre angemessener, als alle Welt daran Teil zu haben, wie ich diese designbewusste Schönheit auspacke:

EPS

1. Hey Good Looking...

EPS 

2. Ohne das hübsche Schleifchen...

EPS 

3. Ohne Frontverkleidung, aber immer noch geheimsnivoll verhüllt...

EPS 

4. Ich freu mich auch Dich zu sehen...

EPS

5. Die letzte Hülle ist gefallen, jetzt wird es spannend!

EPS 

6. Ist das da Deine Handtasche?

EPS

7. Das geöffnete Handtäschchen...

EPS 

8. Immer wieder unglaublich was alles in so ein kleines Täschchen passt... Haben die keine Böden?

EPS

9. Weiter gehts... Spitze(n)?

EPS

10. Oha, die Schöne ist voller versteckter Überraschungen...

EPS

11. ...fast vorbei... 

EPS 

12. Letzter Einblick...

EPS 

13. Expression Professional Subscription ... auch von hinten schön!

EPS

14. Und nochmal alle gemeinsam...

Das Software-Abonnement Expression Professional Subscription ist der günstigste Weg, immer die neuesten Microsoft-Tools für professionelle Interface Designer, Webdesigner und Entwickler von Rich Internet Applications (RIAs) zu nutzen. Abgebildet ist die englische Fassung, die Subscription ist auch in Deutsch erhältlich. Zusätzlich enthält jedes Abonnement zwei kostenfreie Supportanfragen. Angesichts der schnellen Entwicklungszyklen der Expression-Produkte ist ein Lizenzabonnement mit einer festen Kostenstruktur die ideale Lösung, um die Gesamtausgaben für Softwarelizenzen zu reduzieren. Darüber hinaus werden die Kosten für Software besser planbar und somit leichter zu budgetieren. Die Expression Professional Subscription erleichtert außerdem die korrekte Lizenzierung für Ihre Mitarbeiter.

In Expression Professional Subscription ist die folgende Software enthalten:

  • Microsoft Expression Studio 2 (Web, Blend, Media, Design & Encoder)
  • Visual Studio 2008 Standard Edition
  • Microsoft Windows XP
  • Microsoft Windows Vista Business
  • Virtual PC
  • 2007 Microsoft Office
  • Office Visio 2007 Professional
  • Parallels Desktop für Apple Macintosh
  • Vorkonfigurierte virtuelle Serverumgebungen

Weitere Infos unter:

75 nützliche JavaScript Techniken

12.09.2008 10:03:25 | Jürgen Gutsch

Wieder mal was neues von Smashing Magazine: Im neuesten Beitrag werden 75 nützliche JavaScript Techniken vorgestellt. Verschiedenste Menü und Gallery Scripts sind genauso dabei, wie Techniken für den neuen Parallax Effekt oder Autovervollständigung für Suchfelder und diverse Charting Libraries.

http://www.smashingmagazine.com/2008/09/11/75-really-useful-javascript-techniques/

Matt Berseth's ASP.NET Demo Gallery

12.09.2008 09:06:00 | Jürgen Gutsch

Der .NET Entwickler Matt Berseth hat unter http://mattberseth2.com/demo/ eine umfangreiche Demo Gallery zum den Themen ASP.NET, AJAX, Silverlight und JavaScript angelegt. Hier zum Beispiel ein Datei Upload mit einer "Teal-Time" Progress Bar.

Absolut lesenswert ist natürlich auch sein Blog.

Ende des Gewinnspiel

11.09.2008 21:45:04 | Robert Mühsig

Gestern endete das Gewinnspiel wo es 2 Tickets zur Technical Summit und ein Visual Studio 2008 zu gewinnen gab.

Die richtigen Antworten:

  • Frage 1: A
  • Frage 2: A
  • Frage 3: A
  • Frage 4: C

Die glücklichen Gewinner:

  • Fabian H. - Visual Studio 2008
  • Mario P. - Eintrittskarte zum Technical Summit
  • Michael S. - Eintrittskarte zum Technical Summit

Die Gewinner habe ich per Email benachrichtigt und gratuliere ihnen hier auch nochmal :)

Vielleicht sieht man sich auf der Technical Summit Konferenz - ich bin als ATE dort vertreten, sowie auch als ATE auf der Xtopia.

ShareThis

Software-Architektur Wochen in Bonn und Köln

11.09.2008 15:25:31 | Albert Weinert

In den nächsten Wochen veranstalten die Usergroups Köln und Bonn eine wahres Fest für Interessierte in Software-Architektur.

Den Anfang macht am 18.09.2008 der TechTalk@Bonn-To-Code.NET, Dirk Primbs entfesselt den Client und zeigt wie man moderne Oberflächen mit WPF plant, gestaltet und umsetzt. Dirk ist Developer Evangelist bei Microsoft Deutschland.

Elf Tage später am 29.09.2008 wieder bei Bonn-To-Code.NET spricht Jean-Paul Boodhoo. Gemeinschaftlich haben die Kölner und Bonner Usergroups Jean-Paul als Sprecher für Behavior Driven Development (BDD) gewinnen können. Jean Paul ist Berater, Trainer, WebCaster und berüchtigt für seine .net boot camps.

Kaum 8 Tage später trifft man sich am 07.10.2008 bei der .net user group Köln dort wird Sebastian Jancke die Geheimnisse des Domain Driven Design (DDD) lüften. Sebastian ist Software-Entwickler mit Leidenschaft für Agile Methoden und ALT.NET-Themen.

Also, es viel los in der Köln/Bonner Region, kommt zahlreich, kommt interessiert, wir erwarten euch.

Launched: Social Bookmarking V1 auf MSDN Online

11.09.2008 08:50:03 | Kay Giza

Social BookmarksEs freut mich ankündigen zu dürfen, dass MSDN Deutschland und MSDN Weltweit die 1. Version der MSDN Social-Platform veröffentlich hat.
Nachdem wir seit Mai 2008 eine PreView-Version davon im Internet hatten (ich berichtete), steht nun erstmals die finale Version bereit.

Wie ich aber auch schon berichtet hatte, ist das Thema Bookmarking nur ein Teil einer großen Social Platform auf MSDN.
In diesem Release enthalten sind z.B.:

  • MSDN Bookmarks
    Mit dem neuen Service ‚MSDN Social Bookmarks’ können Sie all' Ihre Favoriten online speichern. Sie sehen, was andere Entwickler für wichtig und interessant halten, Sie können Experten recherchieren, Ihre Bookmarks auch auf der MSDN Website veröffentlichen und so mit anderen teilen.
  • Schnell und einfach die wichtigen Themen finden?
    Ob Online auf dem Portal oder per RSS - zu jedem interessanten Thema kann man die beliebtesten Bookmarks, Forenbeiträge etc. pp sich anzeigen lassen, abonnieren und sich selbst sortieren.
    Dabei kann man z.B. den Zeitraum einschränken (z.B. die beliebtesten Bookmarks der letzten 7 Tage) oder immer auf die aktuellsten neusten Hinweise sich konzentrieren.
  • Finde andere Benutzer und abonniere Ihre Inhalte
    Interessiert es Sie z.B., welche Bookmarks ich erstelle, so gehen Sie doch einfach zu meinem Profil - Kay Gizas Bookmarks - und abonnieren Sie dort per RSS meine Bookmarks oder letzten Forums Posts. 
  • Bookmarks auf MSDN Online?
    Wie man John Martin's post von letzter Woche entnehmen kann, werden z.B. von Experten und sehr aktiven Usern die Bookmarks (je nach Zustimmung) auch auf MSDN Webseiten veröffentlicht. Sehr interessant wie ich finde!
  • Benutzerprofile?
    Ihr Online-Profil auf MSDN ist ein integraler Bestandteil der neuen User Experience auf MSDN Online, inkl. einem Avatar, Hyperlinks, einem aktuellen Status Ihrer letzten Beiträge, Ihrer Social Bookmarks oder gar Ihrer letzten Kommentare in der MSDN Library. Mein Profil z.B. finden Sie hier. Melden Sie sich an und machen Sie die MSDN-Website zu Ihrer eigenen.
  • Bookmarks importieren!
    Impoprtiere Deine Favorieten aus dem Internet Explorer oder Firefox oder gar von Delicious. Wo? Auf unserer Tools-Seite.
  • MSDN Bookmark Widget
    Sie können auch ganz einfach ein Widget auf Ihrer Webseite installieren?
    Sie sehen es auf der linken Seite in meinem Weblog bei "Interessante Links" - alles was dazu wissen muss finden Sie auf der Tools-Seite.
    Oder kopieren Sie sich den Code direkt hier raus: <script type="text/javascript" src="http://Services.social.microsoft.com/widgets/bookmark.jss?type=0&brand=Msdn&locale=1031"></script>
  • MSDN Bookmarklet
    Ein Bookmarklet ist eine Schaltfläche in Ihrem Browser, die eine einfache Möglichkeit zum Erstellen von Lesezeichen für Inhalte bietet. Um das Bookmarklet zu installieren, befolgen Sie die die Anweisungen auf dieser Seite.
  • Weitere Informationen
Videos & Informationen

Video: MSDN & TechNet Social Bookmarking V1 Interview
>

Video: MSDN & TechNet Social Bookmarking: How To, Part 1
>

Video: MSDN & TechNet Social Bookmarking: How To, Part 2
>




This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

HowTo: Dynamisch Webseiten-Screenshots erzeugen

10.09.2008 23:49:48 | Robert Mühsig

In diesem HowTo geht es darum, dynamisch ein Screenshot von einer beliebigen Seite zu erstellen.

Der Sinn dahinter
Bei vielen News-Aggregator (oder wie man diese nun nennen mag) Seiten gibt es kleine Vorschaubilder, wie z.B. bei dotnetkicks.com oder yigg.de:

image
image

Da das ganz nett aussieht (und es sicherlich auch noch viele andere Anwendungsfälle gibt) wollen wir das mal mit .NET versuchen

Klingt schwerer als es ist:

Der gesamte Code um ein Screenshot zum Erzeugen ist folgender:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace WebPageScreenshots
{
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            WebBrowser wb = new WebBrowser();
            wb.ScrollBarsEnabled = false;
            wb.ScriptErrorsSuppressed = true;
            wb.Navigate("http://code-inside.de");
            while (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }

            wb.Width = wb.Document.Body.ScrollRectangle.Width;
            wb.Height = wb.Document.Body.ScrollRectangle.Height;

            Bitmap bitmap = new Bitmap(wb.Width, wb.Height);
            wb.DrawToBitmap(bitmap, new Rectangle(0, 0, wb.Width, wb.Height));
            wb.Dispose();

            bitmap.Save("C://screenshot.bmp");

        }
    }
}

Wir benutzen einfach den “WebBrowser” aus der “System.Windows.Forms” Assembly.
Mit diesem Navigieren wir zu einer beliebigen Adresse und warten ab, bis die Seite geladen ist (die while Schleife).

Jetzt laden wir die Seite über “DrawToBitmap” in ein Bitmap (Assembly “System.Drawing” benötigt) und speichern dies (… ganz schlampig auf C ;)).

Verstecktes “Feature” im WebBrowser
Auf der MSDN findet man nichts was auf “DrawToBitmap” hindeutet und auch über IntelliSense wird es nicht angezeigt:

image

Wenn man mit der Maus allerdings über die Methode drüber geht erscheint folgender Text:

image 

Warnung
Es ist sehr leicht solch ein Bitmap zu erzeugne, ist allerdings für den Prozessor etwas rechenintensiv und auch allgemein für die Performance eher schlecht. Daher wird z.B. bei dotnetkicks immer erst dieses “Warte Bild” gezeigt.
Da das ganze auch nicht wirklich supportet ist, sollte man etwas vorsichtig damit umgehen.

Das ganze habe ich auf diesem Blog gefunden (und den Source Code ungefähr auch so übernommen - also nicht wundern).

[ Download Sourcecode ]

ShareThis

Mehrere CSS-Klassen im Selektor und IE6

10.09.2008 20:07:00 | Peter Bucher

Auf vielen Webauftritten sieht man des öfteren CSS-Navigationen die mehrfarbig sind, also jede Sparte ihre eigene Farbe hat.
Solch eine Formatierung ist auch gut mit CSS zu erreichen, jedoch wartet der Internet Explorer 6 mit einer Falle auf, wenn mehrere CSS-Klassen in einem Element benutzt und per Selektor selektiert werden.

Nützlich ist die mehrfache CSS-Klassen Zuweisung, wenn ein Element jeweils speziell formatiert werden möchte, die Standardformatierung jedoch als Grundlage verwendet werden möchte.

Bei folgendem CSS-Selektor wirkt der Punkt und die zweite CSS-Klasse als AND-Verknüpfung:

.nav1.active { /* Formatierung */ }

In Deutsch: Wenn ein Element die Klasse "nav1" und "active" besitzt, greift die Regel.
Mit dieser Art der Selektion hat allerdings der Internet Explorer 6 Probleme, er interpretiert diesen Selektor einfach als den folgenden:

.active { /* Formatierung */ }

Das erwünscht zu einem sehr unschönen Nebeneffekt, für die letzten Regel im CSS die zwei Klassen verknüpft greift im IE6 jeweils jedes Element das die Klasse "active" besitzt.
Die Fehlersuche bei einem solchen Fall erweist sich als sehr mühsam.

Um dieses Fehlverhalten des IE6 zu umgehen, bietet es sich an für die verschiedenen Navigationspunkte jeweils einen ID-Selektor zu benutzen - die Elemente sind ja auch eindeutig - das sieht dann bspw. so aus:

#nav1.active { /* Formatierung */ }

Damit hat der IE6 keine Probleme mehr, da der ID-Selektor ein Element darstellt und nicht eine Klasse irgend eines Elementes.
Mehr Infos zu dem Fehler, einem möglichen zweiten Workaround bei einer spezifischen Lösung finden sich hier:

Bild vom Resultat:

Folgendes Beispiel in eine Html-Datei kopiert zeigt das Fehlverhalten (Getestet kann bspw. mit dem IETester):

Update: Codetags rausgenommen, leider zerreisst es die Html-Tags.

<!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>Mehrere CSS-Klassen im Selektor und IE6 - Test</title>
    <style type="text/css">
        /* Allgemein */
        h1 { font-size: 0.9em; }
       
        li { display: inline; }
       
        a {
            display: block;
            float: left;
            color: Black;
            text-decoration: none;
            border: 1px solid gray;
            padding: 2px;
        }
       
        a:hover { text-decoration: underline; }
       
        br { clear: left; margin: 10px 0px; }
       
        .active { font-weight: bold; }
       
        /* Mehrfarbig (Mit Klassen) */       
        .multiColor a {
            border-bottom: 4px solid black;
        }
       
        .nav1 { background-color: #4c6691; }
        .nav1:hover { background-color: #8FA1BF; }
        .nav1.active { border-bottom: 4px solid #4c6691; }
       
        .nav2 { background-color: #C99F2E; }
        .nav2:hover { background-color: #DBB859; }
        .nav2.active { border-bottom: 4px solid #C99F2E; }
       
        .nav3 { background-color: #689341; }
        .nav3:hover { background-color: #99C373; }
        .nav3.active { border-bottom: 4px solid red; }
       
        /* Mehrfarbig (Mit IDs) */
        #n1 { background-color: #4c6691; }
        #n1:hover { background-color: #8FA1BF; }
        #n1.active { border-bottom: 4px solid #4c6691; }
       
        #n2 { background-color: #C99F2E; }
        #n2:hover { background-color: #DBB859; }
        #n2.active { border-bottom: 4px solid #C99F2E; }
       
        #n3 { background-color: #689341; }
        #n3:hover { background-color: #99C373; }
        #n3.active { border-bottom: 4px solid red; }
    </style>
</head>
<body>
    <h1>Normale Navigation</h1>
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#" class="active">Über uns</a></li>
        <li><a href="#">Kontakt</a></li>
    </ul>
    <br />
    <h1>Mehrfarbige Navigation (Mehrere CSS-Klassen)</h1>
    <ul class="multiColor">
        <li><a class="nav1" href="#">Home</a></li>
        <li><a class="nav2 active" href="#">Über uns</a></li>
        <li><a class="nav3" href="#">Kontakt</a></li>
    </ul>
    <br />
    <h1>Test-Liste (IE6-Fehler)</h1>
    <ul>
        <li><a class="active" href="#">Test</a></li>
    </ul>
    <br />
    <h1>Mehrfarbige Navigation (Mehrere IDs)</h1>
    <ul class="multiColor">
        <li><a id="n1" href="#">Home</a></li>
        <li><a id="n2" class="active" href="#">Über uns</a></li>
        <li><a id="n3" href="#">Kontakt</a></li>
    </ul>
</body>
</html>

IPX unter Windows Vista & CNC Red Alert 2 Patch für TCP/IP

10.09.2008 18:44:00 | Peter Bucher

Ich oute mich jetzt mal als Echtzeit-Strategie Fan.
Letztens wollte ich Command & Conquer Red Alert 2 auf Windows Vista spielen, jedoch benötigt RA2 IPX.

IPX kann auch unter Windows Vista (Allerdings nur 32Bit) installiert werden, siehe:

Für die 32Bit Versionen und überhaupt gibt es einen inoffiziellen Patch (Wie immer community driven :), der RA2 TCP/IP fähig macht.
Damit läuft das Spiel wunderbar, auch hier unter Windows Server 2008.

Siehe für Infos und den Patch:

Und für alle Old-School Fans, das _Original_ Red Alert gibt es bei EA zum kostenlosen Download:

Viel Spass!

GC08 - Highlights & Giveaways

10.09.2008 14:43:00 | Lori Grosland

Wooohoooo!  Mein letztes Games Convention Video für 2008!  Dieses Video sollte das erste veröffentlichte Video sein aber leider gab es ein paar technische Probleme.  Aber besser spät als nie.

In diesem Video spreche ich mit Frank Halgasch, Xbox Produkt Manager.  Er erzählt mir ein paar Leckerbissen über die Games Convention, das neue Musikspiel Lips, das Xbox Bühnenprogramm und die Xbox Community Highlights auf der GC.  Danach sind verschiedene Videoclip-Highlights von GC08.

Und nicht zuletzt habe ich ein paar Giveaways von der Games Convention zurückgebracht und will sie jetzt  verschenken.  Ich habe ein Sidewinder Gaming-Maus, 2 Männer Xbox T-Shirts (Große L) , 2 Frauen Xbox T-Shirts (Große M und S), Xbox Halstuch, und Xbox Gürtel.  Schicke mir eine Email vorname.nachname@microsoft.com (natürlich mit meinen Name „Lori Grosland“) und schreibe wie viele Games Convention Videos, ich dieses Jahr veröffentlicht habe und was Ihr gern hättet.  Wer zu erst schreibt mit der richtigen Antwort, kriegt den gewünschten Preis.   :-)

15. FoxPro Konferenz: Das Programm

10.09.2008 13:10:05 | Kay Giza

Auf ihrer Website informiert die deutschsprachige FoxPro User Group (dFPUG) ab sofort ausführlich über die „15. Microsoft Visual FoxPro Konferenz 2008“, die vom 13. bis 15. November dieses Jahres in Frankfurt-Hoechst stattfindet. Die von der Anwendervereinigung organisierte Fachveranstaltung bietet diesmal mehr als 50 verschiedene Vorträge zu Visual FoxPro 9.0 SP 2 / Sedna mit kleinen Ausflügen zu den Themen SQL-Server 2005/2008, Windows Vista und .NET. Parallel zur FoxPro-Konferenz findet ebenfalls in Frankfurt-Hoechst die 7. SQL-Server & .NET-Entwicklerkonferenz statt, die auch von der dFPUG ausgerichtet wird.

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Microsoft Sicherheitsupdates September 2008

10.09.2008 09:51:40 | Kay Giza

Zu Ihrer Sicherheit bitte umgehend installieren!
In diesem Monat hat Microsoft vier sicherheitsrelevante Updates veröffentlicht. Sie betreffen unter anderem den Windows Media Player, den Windows Media Encoder sowie Microsoft Office.

Sicherheitsupdates:

  • MS08-052 – Beseitigung einer Sicherheitsanfälligkeit in Microsoft Windows, Microsoft Office, .NET Framework, Visual Studio, Visual FoxPro, Microsoft Works, Microsoft SQL, Microsoft Forefront und Microsoft Digital Image Suite (KB 954593)
  • MS08-053 – Beseitigung einer Sicherheitsanfälligkeit in Microsoft Windows (Windows Media Encoder) (KB 954156)
  • MS08-054 – Beseitigung einer Sicherheitsanfälligkeit in Microsoft Windows Media Player (KB 954154)
  • MS08-055 – Beseitigung einer Sicherheitsanfälligkeit in Microsoft Office (KB 955047)

Informieren Sie sich über die verfügbaren Updates. Laden Sie jetzt die Updates für Ihren Computer oder Laptop von der Microsoft Update-Website herunter.  

Wir möchten an dieser Stelle noch einmal ausdrücklich darauf hinweisen, dass Microsoft niemals Softwareupdates als Anhang von Sicherheitsbenachrichtigungen verschickt, sondern Sie auf diesem Weg lediglich auf ihre Verfügbarkeit hinweist. Sollten Sie also E-Mails erhalten, die vermeintlich von Microsoft stammen und als Anhang angebliche Sicherheitsupdates beinhalten, löschen Sie diese bitte ungelesen!



This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Unser letzter Tag…

10.09.2008 08:29:54 | Robert Mühsig

… ohne schwarze Löcher - und warum das ganze? ;)

Das Ergebnis:

image 
(http://xkcd.com/)

:)

ShareThis

Project Rosetta: From Flash to Silverlight

09.09.2008 16:22:00 | Steffen Ritter

In Zusammenarbeit mit Richard Barraza von Cynergy haben zwei meiner Kollegen – Jaime Rodriguez und Karsten Januszewski, die bereits ein exzellentes Whitepaper zum XAML-Workflow mit WPF geschrieben haben – eine neue Website namens Project Rosetta online gestellt. Project Rosetta wendet sich an erfahrene Flash-Entwickler und zeigt anhand 10 Tutorials wie populäre Flash-Techniken in Silverlight angewandt werden und wie Flash-Entwickler am leichtesten den Einstieg in Silverlight finden.

Link: Project Rosetta: From Flash to Silverlight

Nur noch 1 freier Platz beim .NET Open Space!

09.09.2008 09:21:52 | Lars Keller

Wer nun schnell ist, bekommt noch einen gesicherten Platz beim .NET Open Space! 69 Teilnehmer haben sich schon angemeldet, wer wird der 70igste?

Für alle die jetzt nicht schnell entschlossen sind, bleibt nur die Warteliste! ;-)

Link:

Wie Live Mesh Anwendungen aussehen könnten…

09.09.2008 08:58:25 | Robert Mühsig

Ein kleine “Preview” wie Live Mesh Anwendungen aussehen könnten habe ich auf ZDNet gefunden. Dort wird auf eine recht simple “ToDo” Applikation im Live Mesh Style verwiesen - ich bin gespannt, was man mit dem SDK alles treiben kann :)

Auf der PDC dürfte man neueres erfahren.

ShareThis

Nur noch 1 freier Platz beim .NET Open Space!

09.09.2008 00:21:05 | Lars Keller

Wer nun schnell ist, bekommt noch einen gesicherten Platz beim .NET Open Space! 69 Teilnehmer haben sich schon angemeldet, wer wird der 70igste?

Für alle die jetzt nicht schnell entschlossen sind, bleibt nur die Warteliste! ;-)

Link:

Das VistaShield auf einem Button darstellen

08.09.2008 20:16:29 | Klaus Bock

Wer hat es nicht schon oft gesehen wenn irgendeine administrative Aufgabe unter Vista erledigt werden soll: das VistaShield. Wenn die eigene Anwendung eine Bestätigung des Benutzer einholen soll, ist das Darstellen des VistaShield auf dem auslösenden Button Pflicht. Doch wie bekomme ich dieses ominöse Symbol auf meinen Button?

Die meisten Ansätze, inklusive der Dokumentation zum Windows SDK, verwenden SendMessage der Win32-API. Da ich das VistaShield nicht nur auf Buttons verwenden möchte, sondern auch z.B. in einem Menü oder einfach in einem Dialog, habe ich nach einer anderen Möglichkeit gesucht.

Um das Symbol überhaupt irgendwo darstellen zu können, muss man es erst einmal haben. Es ist in der user32.dll als Icon in verschiedenen Größen vorhanden. Um auf die Größen 16x16 und 32x32 zugreifen zu können, verwende ich die Funktion ExtraxtIconEx aus der user32.dll.

[DllImport("shell32.dll", EntryPoint = "ExtractIconExW",
    CallingConvention = CallingConvention.StdCall)]
public static extern int ExtractIconEx(
    [In]
    [MarshalAsAttribute(UnmanagedType.LPWStr)]
    string lpszFile, 
    int nIconIndex,
    ref IntPtr phiconLarge,
    ref IntPtr phiconSmall,
    int nIcons);

Wie die Dokumentation schon sagt, werden Zeiger sowohl auf die kleine als auch auf die große Version eines Icons referenziert. Zurückgegeben wird die Anzahl der referenzierten Icons. Das ganze wird jetzt in eine Methode verpackt die wahlweise das große oder kleine Symbol zurückgibt. Man muss nur den Index des Symbols in der Datei kennen. Im falle des VistaShield in der user32.dll befindet sich dieses unter Index 6.

private static Image GetVistaShield(bool smallIcon)
{
    int icoIdx = 6;
    Image img = null;
    Icon icon = null;

    IntPtr iconLargePtr = IntPtr.Zero;
    IntPtr iconSmallPtr = IntPtr.Zero;

    string path = Environment.GetFolderPath(Environment.SpecialFolder.System) +
                  Path.DirectorySeparatorChar +
                  "user32.dll";
    try
    {
        int result = NativeMethods.ExtractIconEx(
            path,
            icoIdx,
            ref iconLargePtr,
            ref iconSmallPtr,
            1);

        if (result < 1)
        {
            return null;
        }

        if (smallIcon && iconSmallPtr != IntPtr.Zero)
        {
            icon = Icon.FromHandle(iconSmallPtr);
        }
        else if (iconLargePtr != IntPtr.Zero)
        {
            icon = Icon.FromHandle(iconLargePtr);
        }
        else
        {
            return null;
        }

        img = (Image)icon.ToBitmap();
    }
    catch (Win32Exception)
    {
        return null;
    }
    finally
    {
        iconLargePtr = IntPtr.Zero;
        iconSmallPtr = IntPtr.Zero;
    }

    return img;
}

Um das ganze schön in einer Klasse zu handeln, wird die Methode von zwei Eigenschaften maskiert.

public static Image SmallVistaShield
{
    get { return UacManager.GetVistaShield(true); }
}

public static Image LargeVistaShield
{
    get { return UacManager.GetVistaShield(false); }
}

Jetzt muss nur noch einen Methode her, die das VistaShield direkt auf einem Button darstellt. Die halbe Arbeit ist vom .NET-Framework mit der Eigenschaft Image der Button-Klasse schon erledigt. Also warum soll dies Eigenschaft nicht verwendet werden?

public static void SetShieldOnButton(Control ctrl, bool smallIcon)
{
    Button btn = (Button)ctrl;

    if (smallIcon)
    {
        btn.Image = UacManager.SmallVistaShield;
    }
    else
    {
        btn.Image = UacManager.LargeVistaShield;
    }

    btn.TextImageRelation = TextImageRelation.ImageBeforeText;
}

Angenommen die beschriebenen Methoden sind in einer Klasse namens UacManager enthalten, kann auf jedem beliebigen Button aus einer Form das Vistashield dargestellt werden.

if (this.onVista)
{
    UacManager.SetShieldOnButton(this.buttonEndProcess, true);
}

Hier ein Screenshot der beschriebenen Methode.

ShieldButton

Technorati-Tags: | | | | |

Das .NET-Framework und die UAC

08.09.2008 19:15:33 | Klaus Bock

Da nun Vista schon einige Zeit auf dem Markt ist und die Einhaltung der Richtlinien zur UAC so propagiert werden, warum zieht dann das .NET Framework nicht nach? Vor kurzem ist das SP1 zum Framework 3.5 erschienen und bezüglich UAC hat sich nichts getan. Es kann nicht sein, dass immer noch zum anzeigen des Vista Schild auf einem Button die win32-API bemüht werden muss. Auch das vorübergehende anheben der Benutzerrechte für einzelne administrative Aufgaben ist, für mein Verständnis, eigentlich nicht existent. Der oft gelesene Vorschlag eine Anwendung in einem neuen Prozess mit administrativen Rechten zu starten, ist aus meiner Sicht keine Lösung. Mit diesem Lösungsansatz hat man nur die Möglichkeit aus der Hauptanwendung heraus eine zweite Anwendung mit höheren Rechten zu starten, oder die laufende Anwendung zu beenden und mit höheren Rechten neu zu starten. Was aber wenn ich z.B. auf einen laufenden Prozess zugreifen will der administrative Rechte voraussetzt? Eine zweite Anwendung zu starten um die Aufgabe zu erledigen? Hilft mir nicht wirklich, da die Anwendung mit den höheren Rechten nur sehr eingeschränkt, oder aber nur mit einigen "Klimmzügen", mit der Hauptanwendung kommunizieren kann. Der Neustart der Anwendung mit erhöhten Rechten ist auch keine Option, da sie von nun an bis zum beenden mit administrativen Rechten läuft; was auch keine echte Lösung darstellt.

In C++ gibt es die Möglichkeit mit CoCreateInstance einzelne Methoden mit höheren Rechten auszuführen. Dariusz zeigt das in diesem Clip sehr schon auf MSDN Solve. Dieser Lösungsansatz, in dem alle benötigten Methoden in ein eigenes COM-Objekt gepackt werden, ist aus meiner Sicht immer noch sehr umständlich, aber immer noch besser als die vorhandenen Möglichkeiten im .NET-Framework.

Wenn schon die UAC als die richtungweisende Technologie zur Sicherheit propagiert wird und die Entwickler-Gemeinde angehalten ist die Richtlinien der UAC zu beachten, sollte doch auch Microsoft so nett sein und die nötigen Schnittstellen und Werkzeuge bereitstellen. Es ist ja nicht so, dass Vista erst seit einigen Wochen auf dem Markt ist.

Technorati-Tags: |

Visual Studio Team System Web Access 2008 SP1 Power Tool

08.09.2008 18:29:16 | Christian Binder

Es gibt nicht nur den VSTS SP1 und den TFS SP1, der Support für Windows Server 2008 und SQL Server 2008 mitbringt, wie Ihr sicherlich schon mitbekommen habt, sondern auch das neue Visual Studio Team System Web Access 2008 SP1 Power Tool hier zum Download.

Das Visual Studio Team System Web Access 2008 SP1 Power Tool enthält nicht nur Bugfixes, sondern auch einige nützliche Features wie z.B. der Work Item Only View, der Anwendern ohne Lizenz limitierten Zugriff erlaubt. Find and View Shelvesets ermöglicht den Zugriff auf Shelves. Workitems können via URL mit initialen Werten erzeugt werden und Workitem queries können direkt in der via Url abgestzt werden und somit auch extrem einfach an das Team weitergegben werden.

Viel Spass

Chris

Installation SQL Server 2005 & Vista x64

08.09.2008 15:40:24 | Lars Keller

Wenn man versucht den SQL Server 2005 auf Vista x64 zu installieren, bekommt man die Warnung "ASP.NET ist nicht für eine 32bit Anwendung registriert". Die SQL Reporting Services benötigen 32bit-ASP.NET.

Für alle die dasselbe Problem haben, kann ich diesen Artikel empfehlen:

Bei dem Aufruf der .vbs-Datei ist ein Fehler bei dem Artikel. Bei mir hat es so funktioniert:

cscript c:\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1

Nachdem man die Änderung ausgeführt hat, habe ich die Installation ausgeführt und folgende Fehlermeldung erhalten:

ERROR 1706 Setup cannot find the required files. Check your connection to the network, or CD ROM! For other potential solutions to this problem, see c:\Program Files\Microsoft Office\Office11\1033\Setup.chm

Lösung: Die OWC (Office 2003 web components) müssen ein Update erhalten, dieses findet man hier:

Wenn man die Client Tools updaten möchte, dann muss man das Setup mit dem Parameter "Setup.exe SKUUPDATE=1" starten

Danach lief die Installation durch! :) Aber nicht vergessen das Sql Server 2005 SP2 danach zu installieren!



This weblog is sponsored by netcreate OHG.

Installation SQL Server 2005 & Vista x64

08.09.2008 14:40:24 | Lars Keller

Wenn man versucht den SQL Server 2005 auf Vista x64 zu installieren, bekommt man die Warnung "ASP.NET ist nicht für eine 32bit Anwendung registriert". Die SQL Reporting Services benötigen 32bit-ASP.NET.

Für alle die dasselbe Problem haben, kann ich diesen Artikel empfehlen:

Bei dem Aufruf der .vbs-Datei ist ein Fehler bei dem Artikel. Bei mir hat es so funktioniert:

cscript c:\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1

Nachdem man die Änderung ausgeführt hat, habe ich die Installation ausgeführt und folgende Fehlermeldung erhalten:

ERROR 1706 Setup cannot find the required files. Check your connection to the network, or CD ROM! For other potential solutions to this problem, see c:\Program Files\Microsoft Office\Office11\1033\Setup.chm

Lösung: Die OWC (Office 2003 web components) müssen ein Update erhalten, dieses findet man hier:

Wenn man die Client Tools updaten möchte, dann muss man das Setup mit dem Parameter "Setup.exe SKUUPDATE=1" starten

Danach lief die Installation durch! :) Aber nicht vergessen das Sql Server 2005 SP2 danach zu installieren!

GC08 - eSport & Electronic Sports League

08.09.2008 14:08:00 | Lori Grosland

Geld verdienen von Videospielen?  Beruf als Pro-Gamer?  Wenn man gut genug ist, dann ist alles möglich mit eSport. 

eSport (elektronischer Sport) ist den Wettkampf im Spielen von Computer- oder Videospielen im Mehrspielermodus.  Professionelle Spieler sind in Teams (Clans) organisiert und werden von Firmen gesponsert.  Die Spieler nehmen an eSport-Turnieren weltweit teil, wo sie Preisgeld gewinnen können.  eSport ist in China, Süd Korea und Taiwan schon sehr beliebt und ist als Sportart offiziell anerkannt.  In Deutschland ist eSport noch nicht als Sportart anerkannt.

Auf der Games Convention in Leipzig habe ich mit Ibrahim Mazari von Turtle Entertainment geredet.  Turtle Entertainment ist der Organisator von der Electronic Sports League (ESL) und ist aktiv in 21 europäischen Ländern.  Die ESL hat über 840000 registrierten Mitgliedern und hat einen professionell aufgestellten und organisierten Spiele- und Ligensystem.  Die ESL hat eine Liga für alle Spielertypen von Einsteiger bis zum Profi.  In diesem Video erzählt Ibrahim  mehr über eSport, ESL und was sie auf der GC veranstaltet haben.  Mehr  Info zu ESL findet Ihr unter:  http://www.esl.eu/

GC08 - Gespräch mit Boris Schneider-Johne

08.09.2008 11:06:00 | Lori Grosland

Boris Schneider-Johne ist Produkt Manager für die Xbox Plattform bei Microsoft Deutschland.  Er ist verantwortlich für die Xbox Konsole selbst und auch für die Zusammenarbeitet  mit 3rd-Party Spiel-Publisher.  Boris ist sehr bekannt in Deutschland als Pionier auf dem Gebiet der Spiele-Übersetzungen und auch für sein Blog dreisechzig.net, wo er viel über Videospiele und Software schreibt.

Ich habe mit Boris auf der Games Convention in Leipzig gesprochen.  Er erzählt mir ein bisschen über seine Arbeit, was er auf der Games Convention gemacht hat, seine Spiel-Gewohnheiten und natürlich auch über sein Blog:  http://www.dreisechzig.net/

Installation SQL Server 2005 & Vista x64

08.09.2008 05:40:02 | Lars Keller

Wenn man versucht den SQL Server 2005 auf Vista x64 zu installieren, bekommt man die Warnung "ASP.NET ist nicht für eine 32bit Anwendung registriert". Die SQL Reporting Services benötigen 32bit-ASP.NET.

Für alle die dasselbe Problem haben, kann ich diesen Artikel empfehlen:

Bei dem Aufruf der .vbs-Datei ist ein Fehler bei dem Artikel. Bei mir hat es so funktioniert:

cscript c:\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1

Nachdem man die Änderung ausgeführt hat, habe ich die Installation ausgeführt und folgende Fehlermeldung erhalten:

ERROR 1706 Setup cannot find the required files. Check your connection to the network, or CD ROM! For other potential solutions to this problem, see c:\Program Files\Microsoft Office\Office11\1033\Setup.chm

Lösung: Die OWC (Office 2003 web components) müssen ein Update erhalten, dieses findet man hier:

Wenn man die Client Tools updaten möchte, dann muss man das Setup mit dem Parameter "Setup.exe SKUUPDATE=1" starten

Danach lief die Installation durch! :) Aber nicht vergessen das Sql Server 2005 SP2 danach zu installieren!

SCSF - April 2008 Solutions laufen nach Installation des SP1 für VS 2008 nicht mehr

07.09.2008 21:37:27 | Andre Kraemer

Kürzlich installierte ich Visual Studio 2008 Service Pack 1. Nach der Installation konnte ich keine neuen Solutions basierend auf der SCSF - April 2008 mehr anlegen. Der Sourcecode wurde zwar generiert, beim Versuch das Projekt zu starten kam es jedoch zu einer ModuleLoadException. Außerdem wurde auch das "Add View (With Presenter)" Recipe nicht mehr angezeigt.

image

Glücklicherweise war das Problem bereits bekannt. Abhilfe in Form einer Anleitung zum Patchen des Sourcecodes gibt es hier.



blog.codemurai.de © André Krämer |Impressum | Abonieren

Customizing MOSS 2007 My Sites within the enterprise

07.09.2008 10:03:00 | Ozgur Aytekin

Modifying the private My Site is where things begin to work differently. In SPS 2003, a site administrator could go into his or her private site, edit the home page in Shared mode, and save their changes. This would update the layout and web parts for all My Site users, so everyone’s private site would have the same layout and web parts. In MOSS 2007, this is no longer possible – there are a number of more powerful customization tools than what SPS 2003 had, but some tasks such as customizing all private sites have unfortunately become a bit more difficult. So, how can you customize the private My Sites in MOSS 2007?

http://blogs.msdn.com/sharepoint/archive/2007/03/22/customizing-moss-2007-my-sites-within-the-enterprise.aspx#8926088

Microsoft Sharepoint portal interview Questions

07.09.2008 09:56:00 | Ozgur Aytekin

The Sharepoint portal interview question are the collection of most frequently asked question in Sharepoint interviews. These updated set of question extend your knowledge about the Sharepoint. The question and answers are collected over a period of time from different blogs and site . The Sharepoint questions are start from basics and moves towards the advance sharepoint question. These set of questions includes Sharepoint 2007 and 2003 FAQs.

http://www.interviewmadeeasy.info/sharepoint/

We'll miss you, Patrick...

06.09.2008 23:46:00 | Ozgur Aytekin

Patrick Tisseghem, long time SharePoint MVP and co-founder of U2U, a Microsoft Gold Certified Partner, suddenly passed away on September 3rd evening in Gothenburg, Sweden due to heart failure. He is survived by his wife, Linda, and daughters, Anahi and Laura.

This hits me as a tragedy for the family and a great loss for the entire SharePoint community.

Patrick's posts helped many of us to learn MOSS and capitalize on this knowledge. He definitely left a trace and will be long remembered for his remarkable contributions.

My sincere condolences go to the family and friends.

http://blogs.msdn.com/sharepoint/archive/2008/09/05/we-ll-miss-you-patrick.aspx#8928476

SharePoint Server 2007 - Visual How Tos

06.09.2008 13:06:00 | Ozgur Aytekin

Microsoft bietet auf seiner MSDN Homepage diverse Visual How To Artikel zum Thema SharePoint Server 2007:
Adding Code-Behind Files to Master Pages and Page Layouts in SharePoint Server 2007
Adding Custom Quick Access Buttons to the Page Editing Toolbar in SharePoint Server 2007
Adding Excel Web Parts to Pages Programmatically in SharePoint Server 2007
Building an Expense Report Approval Workflow for SharePoint Server 2007 Using Visual Studio 2008
Building Custom Activities for Use in SharePoint Designer 2007
Building Simple Custom Approval Workflows with InfoPath 2007 Forms
Building State Machine Document Approval Workflows for SharePoint Server 2007 Using Visual Studio 2008
Configuring and Deploying Workflows to SharePoint Server 2007 Using Solution Packages
Creating a Custom Approval Workflow for SharePoint Server 2007 Using SharePoint Designer 2007
Creating a Custom Expiration Formula Based on Metadata in SharePoint Server 2007 (Part 1 of 2)
Creating a Custom Expiration Formula Based on Metadata in SharePoint Server 2007 (Part 2 of 2)
Creating a Custom Search Page and Tabs in the Search Center of SharePoint Server
Creating and Editing Custom Document Information Panels from Office SharePoint Server 2007
Creating and Exposing Managed Properties in the Advanced Search Page of SharePoint Server Enterprise Search
Creating and Exposing Search Scopes in SharePoint Server 2007 Enterprise Search
Creating Business Data Catalog Entities in SharePoint Server 2007
Creating Content Sources to Crawl Business Data in SharePoint Server 2007 Enterprise Search
Creating Custom Enterprise Search Web Parts in SharePoint Server 2007
Creating Custom Routers in SharePoint Server 2007
Creating Custom Workflow Activities for SharePoint Server 2007 Using Visual Studio 2008
Creating Managed-Code UDFs for Excel Services
Creating Search Queries Programmatically by Using the Search Object Model in SharePoint Server 2007
Creating Search Queries Programmatically by Using the Search Web Service in SharePoint Server 2007
Creating User Profiles in the User Profile Store in SharePoint Server 2007
Creating Workflows to Transfer Records Upon Expiration in SharePoint Server 2007
Customizing Content Query Web Parts by Using Custom Properties in Office SharePoint Server 2007
Customizing Page Editing Toolbar Components in SharePoint Server 2007
Customizing Search Results with Custom XSLTs in SharePoint Server 2007
Designing InfoPath Forms for Workflows in SharePoint Server 2007
Developing Custom Applications by Using Excel Web Services in SharePoint Server 2007
Displaying Custom Fields in Content Query Web Parts in Office SharePoint Server 2007
Displaying Search Results in a Grid View in SharePoint Server 2007
Enabling Users to Act on LOB Data with Business Data Catalog Actions
Exposing Enterprise Search in SharePoint Server 2007 by Using Internet Explorer 7 and the Office Research Pane
Filtering One Business Data Catalog List from Another by Using Associations in SharePoint Server 2007
Putting Multiple Items on Hold in SharePoint Server 2007
Referencing and Linking: Using Custom Fields to Display Relationships in SharePoint Server 2007
Referencing and Linking: Using Secondary Lists to Maintain Relationships in SharePoint Server 2007
Referencing and Linking: Using the Asset URL Selector in SharePoint Server 2007
Refining Business Data Catalog Search with Scopes
Retrieving an Entire Workbook or a Snapshot of a Workbook in Excel Services
Updating Document Information Panels for Content Type Changes in SharePoint Server 2007
Using Business Data Catalog Actions to Pass Parameters to InfoPath 2007 Browser Forms
Using Metadata Tags to Route Documents to Libraries in SharePoint Server 2007

FIX: Performance data is not updated when you run a tool that uses SQL Server performance counters to collect performance data for an instance of SQL

05.09.2008 23:19:00 | Ozgur Aytekin

FIX: Performance data is not updated when you run a tool that uses SQL Server performance counters to collect performance data for an instance of SQL Server 2005

Consider the following scenario. You run a tool that uses Microsoft SQL Server performance counters to collect performance data for an instance of Microsoft SQL Server 2005. For example, you run System Monitor together with SQL Server performance counters. You start the tool before you start the instance of SQL Server. In this scenario, the performance data is not updated after you start the instance of SQL Server. Additionally, the tool displays static performance data instead of displaying the actual real-time performance data from the instance of SQL Server. This problem occurs until you restart the tool.

FIX: The Visual Studio 2005 IDE may stop responding or may respond very slowly after you perform some operations to a form that has a complex DataSet

05.09.2008 23:03:00 | Ozgur Aytekin

FIX: The Visual Studio 2005 IDE may stop responding or may respond very slowly after you perform some operations to a form that has a complex DataSet control, a DataGridView control, and some DataAdapter controls in a windows-based application

In the Microsoft Visual Studio 2005 IDE, you create a windows-based application that contains a form. The form has a complex DataSet control, a DataGridView control, and some DataAdapter controls. The IDE may stop responding or may respond very slowly when you perform one or more of the following operations:
• You edit the code windows and then open the form designer.
• You drag a field from the DataSet control to the designer.
• You right-click the component tray of the form design window and then select Line Up Icons.
• You drag the DataGridView control from data sources to the form.

http://support.microsoft.com/kb/956146

Deeplol Photomosaic mit Silverlight und Deep Zoom

05.09.2008 16:00:11 | Oliver Guhr

Unter http://robburke.net/images/deeplol.html gibt es ein Photomosaik aus 2442 Bildern von icanhascheezburger.com, diese Demo zeigt auf eine sehr coole Art was mit Deep Zoom alles möglich ist.

image image

image

image

ShareThis

Gewinnspiel zum Buch: Fortgeschrittene CSS-Techniken

05.09.2008 08:55:49 | Jürgen Gutsch

Das Webstandard-Blog veranstaltet bis zum 19.09.2008 ein kleines Gewinnspiel. Zu gewinnen gibt es das Buch Fortgeschrittene CSS-Techniken von Ingo Chao und Corina Rudel.

Mehr zum Gewinnspiel und den Teilnahmebedingungen erfahrt Ihr hier.

IE8: Internet Explorer Filters and Transitions

05.09.2008 00:48:55 | Kay Giza

Der Internet Explorer unterstützt ab Version 4.0 zahlreiche sogenannte Filters and Transitions. Ein sehr gutes Dokument und Beispiele direkt abrufbar von der Seite findet man hier: Introduction to Filters and Transitions With Microsoft Internet Explorer 4.0 and above, you can apply various multimedia-style visual effects to your Web page. You can implement these effects in Web pages using Cascading Style Sheets (CSS) properties. By combining filters and transitions with basic scripting, you have a powerful tool for creating visually engaging and interactive documents. Internet Explorer 5.5 and above supports the richest variety of optimized filters. Most examples in this article require that you have Internet Explorer 5.5 installed. This article includes the following sections, which explain how to use filters and transitions to add visual effects to your Web page. In diesem MSDN Library-Artikel sind sogenannte Seitenübergänge beschrieben. Sie ermöglichen im Internet Explorer ein "Fading" z.B. beim Betreten und Verlassen einer Seite. Diese Dynamische Filter... [...mehr]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Internet Explorer Application Compatibility-Artikel

04.09.2008 21:39:24 | Kay Giza

Ein 76 -Seiten großen Internet Explorer Application Compatibility-Artikel hat Microsoft heute veröffentlicht. Das Dokument beschreibt im Detail die "Fehlercodes" bzw. die Event Log-Meldungen bezüglich des Internet Explorer 8 und Internet Explorer 7, die das Microsoft Application Compatibility Toolkit aufzeichnet (praktisch eine Schnittstelle für die Arbeit mit den Kompatibilitätsdaten).
Download & Infos: Internet Explorer Application Compatibility Article  

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

IE8: Internet Explorer Administration Kit 8 Beta (IEAK)

04.09.2008 21:26:03 | Kay Giza

Internet Explorer Administration Kit (IEAK) ermöglicht äußerst kostengünstiges und effizientes Bereitstellen und Verwalten von webbasierten Lösungen. Testen Sie das IEAK, um festzustellen, wie einfach ein benutzerdefinierter Browser maßgeschneidert für die Anforderungen Ihrer Kunden erstellt werden kann.
Download & Infos: Internet Explorer Administration Kit 8 Beta

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Innovate On jetzt auch auf Deutsch und mit neuen Angeboten

04.09.2008 21:07:52 | Kay Giza

http://www.innovateon.com/Auf dem Innovate On Portal finden unabhängige Softwarehersteller (ISVs) schnell und einfach zu entwicklungstechnischen Ressourcen und Tools. Dieses Portal steht Ihnen ab sofort auch auf Deutsch bereit. Überzeugen Sie sich von reichhaltigen Angeboten der einzelnen Produktbereichen Windows Vista, Windows Server 2008, SQL Server 2008, Windows Mobile, Microsoft Office, Dynamics, HPC Server 2008 und InnovateOn-the-web mit Expression 2.0. Über die integrierte Suchfunktion finden Sie Portal-übergreifend zu den richtigen Ressourcen entsprechend Ihrer angegebenen Rolle. Registrieren Sie in wenigen Schritten Ihre Softwarelösung und profitieren Sie zusätzlich von kostenlosem E-Mail Support und von der Bereichswahl entsprechend weiteren Angeboten. So stehen für Sie Gutscheine für kostenlose Software-Zertifizierungen für Windows Vista, Windows Server 2008, SQL Server 2008 und Windows Mobile bereit. Bitte beachten Sie, dass Ihnen diese zusätzlichen Angebote entsprechend Ihrer Bereichswahl bei der Registrierung einer Softwarelösung angezeigt werden, eine Mehrfachauswahl mit Registrierung nur einer Lösung ist möglich.

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Der steinige Weg zum MS Certified Partner

04.09.2008 19:08:48 | Lars Keller

Eigentlich war der Weg bis jetzt gar nicht soo steinig um Certified Partner zu werden. Unsere LATIKA Knowledgebase wurde zertifiziert, geeignete Kundenreferenzen hinzugefügt und schon sind wir quasi zertifiziert... Jetzt kommt noch das Thema Rechnung begleichen. Das dachte ich sollte eigentlich die leichteste Übung sein aber weit gefehlt!

Im Microsoft Partner-Portal klickt man sich durch den Rechnungsprozess, die ersten Seiten sind auch ganz harmlos, aber dann wenn man angeben soll, wie man bezahlen möchte, wird es knifflig. Ich wollte eine ganz normale Banküberweisung tätigen. Ok, erst einmal kein Problem aber dann möchte Microsoft  verschiedene Angaben von mir haben:

Kann mir bitte jemand sagen, was die Sortiercodenummer ist??? Wenn man Google danach fragt, bekommt ich keine Treffer! Selbst live ist ratlos... hmm... *kopf_kratz*

Naja, dachte ich mir, wenn google/live die nicht kennt, dann lass ich diese weg und faxe das einfach nach Irland so wie dies gefordert wird... aber huch, an welche Faxnummer denn? Auf dem kompletten Schreiben ist keine Faxnummer angegeben. Laut Text soll ich das faxen oder meinen die schicken?

Tja, als ratloser Kunde werde ich Morgen mal wieder die MS Hotline anrufen und brav Nachfragen, vielleicht wissen die auch was die Sortiercodenummer ist! Also leichter hätte man es seinen Kunden nicht machen können! ;-)



This weblog is sponsored by netcreate OHG.

Der steinige Weg zum MS Certified Partner

04.09.2008 18:08:48 | Lars Keller

Eigentlich war der Weg bis jetzt gar nicht soo steinig um Certified Partner zu werden. Unsere LATIKA Knowledgebase wurde zertifiziert, geeignete Kundenreferenzen hinzugefügt und schon sind wir quasi zertifiziert... Jetzt kommt noch das Thema Rechnung begleichen. Das dachte ich sollte eigentlich die leichteste Übung sein aber weit gefehlt!

Im Microsoft Partner-Portal klickt man sich durch den Rechnungsprozess, die ersten Seiten sind auch ganz harmlos, aber dann wenn man angeben soll, wie man bezahlen möchte, wird es knifflig. Ich wollte eine ganz normale Banküberweisung tätigen. Ok, erst einmal kein Problem aber dann möchte Microsoft  verschiedene Angaben von mir haben:

Kann mir bitte jemand sagen, was die Sortiercodenummer ist??? Wenn man Google danach fragt, bekommt ich keine Treffer! Selbst live ist ratlos... hmm... *kopf_kratz*

Naja, dachte ich mir, wenn google/live die nicht kennt, dann lass ich diese weg und faxe das einfach nach Irland so wie dies gefordert wird... aber huch, an welche Faxnummer denn? Auf dem kompletten Schreiben ist keine Faxnummer angegeben. Laut Text soll ich das faxen oder meinen die schicken?

Tja, als ratloser Kunde werde ich Morgen mal wieder die MS Hotline anrufen und brav Nachfragen, vielleicht wissen die auch was die Sortiercodenummer ist! Also leichter hätte man es seinen Kunden nicht machen können! ;-)

50 Freikarten zu gewinnen fuer den Herbstcampus

04.09.2008 10:07:41 | Kay Giza

Bookware, der Herausgeber vom KaffeeKlatsch veranstaltet vom 15. bis 18. September 2008 in Nürnberg eine Konferenz für Software-Entwickler, Architekten und Projektleiter. Microsoft ist Partner des Entwickler-Kongresses. Bookware verlost nun in einem Online-Gewinnspiel 50 Freikarten im Wert von jeweils 1.300,– EUR... [... mehr]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
Visit:  MSDN Online | Kostenfreie MSDN Service-Hotline für Entwickler
Daily News on MSDN:   MSDN Aktuell
© Copyright 2006-2008 Kay Giza. All rights reserved. Legal

Der steinige Weg zum MS Certified Partner

04.09.2008 09:08:04 | Lars Keller

Eigentlich war der Weg bis jetzt gar nicht soo steinig um Certified Partner zu werden. Unsere LATIKA Knowledgebase wurde zertifiziert, geeignete Kundenreferenzen hinzugefügt und schon sind wir quasi zertifiziert... Jetzt kommt noch das Thema Rechnung begleichen. Das dachte ich sollte eigentlich die leichteste Übung sein aber weit gefehlt!

Im Microsoft Partner-Portal klickt man sich durch den Rechnungsprozess, die ersten Seiten sind auch ganz harmlos, aber dann wenn man angeben soll, wie man bezahlen möchte, wird es knifflig. Ich wollte eine ganz normale Banküberweisung tätigen. Ok, erst einmal kein Problem aber dann möchte Microsoft  verschiedene Angaben von mir haben:

Kann mir bitte jemand sagen, was die Sortiercodenummer ist??? Wenn man Google danach fragt, bekommt ich keine Treffer! Selbst live ist ratlos... hmm... *kopf_kratz*

Naja, dachte ich mir, wenn google/live die nicht kennt, dann lass ich diese weg und faxe das einfach nach Irland so wie dies gefordert wird... aber huch, an welche Faxnummer denn? Auf dem kompletten Schreiben ist keine Faxnummer angegeben. Laut Text soll ich das faxen oder meinen die schicken?

Tja, als ratloser Kunde werde ich Morgen mal wieder die MS Hotline anrufen und brav Nachfragen, vielleicht wissen die auch was die Sortiercodenummer ist! Also leichter hätte man es seinen Kunden nicht machen können! ;-)

Was ist Architektur?

04.09.2008 09:08:00 | Peter Bucher

Genau diese Frage habe ich Golo gestellt.

Die Kernaussage von Golo ist m.E.:

Bei der Programmierung geht es um das was, bei der Architektur um das wie.
Wird beides miteinander verbunden, kann von Entwicklung gesprochen werden.

Meine Persönliche Erfahrung:
Wenn jemand programmieren lernt, wird anfangs in den meisten Fällen auf das was fokusiert.

Häufig endet das zwar mit der Erfüllung der "oberflächlichen" Anforderung des Klienten und damit sinnigerweise auch nach dem EVA-Prinzip (Eingabe / Verarbeitung / Ausgabe).

Im Laufe der Zeit merkt der werte Programmierer dann, dass er die gewünschte Erweiterung / Änderung doch nicht so einfach und schnell umsetzen kann, wie gedacht / gewünscht.
Und genau an diesem Punkt fängt er sicher an - auch wenn vielleicht unbewusst - sich mit der Architektur auseinanderzusetzen.
Ich denke folgender Satz trifft es gut:

Ein guter Architekt ist noch nie vom Himmel gefallen und war anfangs meistens auch "erst" ein Programmierer.

Ein guter Anfang um den Zielen "Qualitativ gute Software" und "Entwickler" Rechnung zu tragen, ist sicher die vorgängige Auseinandersetzung mit den Anforderungen.
Also auch mal den Block zur Hand nehmen. Etwas auf Papier bringen, aus verschiedenen Blickwinkeln betrachten und dann erst einen Prototyp zu bauen.

So kann schon viel zur Qualität beigetragen werden und - was noch schöner ist - das Arbeiten macht mehr Spass (Vorallem das nachträgliche :-)).

In dem Sinne: Gute Entwicklung!

Mehrspaltiges Layout mit DIVs und CSS

03.09.2008 23:06:00 | Jürgen Gutsch

Immer wieder wird die Frage gestellt, wie man ein mehrspaltiges Layout standardkonform mit CSS für moderne Browser erstellen kann. Ja, es gibt schon diverse Beispiele im Netz, aber ich möchte hier mal eine Variante vorstellen, die ich selber des öfteren Nutze.

Inspiriert wurde ich für diese Variante vom Dirk Jesses YAML Framework und seinem Buch "CSS Layouts - Praxislösungen mit YAML 3.0". Diese Varianten nutzt ein bestimmtes verhalten des CSS Floatings aus.

<div id="main">
    </div id="col1">
    </div id="col2">
    </div id="col3">
</div>

Es soll zum Beispiel ein Layout mit drei Spalten erzeugt werden. Zwei schmale Spalten rechts und links und eine breite Content-Spalte in der Mitte. Alle Spalten sollen durch eine senkrechte Linie voneinander getrennt werden.

#col1
{
    width: 150px;
    float: left;
}
#col2
{
    width: 150px;
    float: right;
}
#col3
{
    margin-left: 150px;
    margin-right: 150px;
}

Dieser CSS Code richtet die erste Spalte nach links, die zweite Spalte nach rechts und die dritte Spalte mittig zwischen den beiden ersten aus.

Das Problem das sich jetzt schnell stellen wird ist, dass es nicht ganz einfach ist, alle Spalten auf gleiche Länge zu bringen, bzw. die senkrechten Linien bis ganz nach unten laufen zu lassen, wenn eine der drei Spalten mehr Inhalt hat als die anderen.

Schritt eins für die Senkrechten Trennlinien ist relativ einfach. Da die mittlere Spalte, unsere Inhaltsspalte, in der Regel den meisten Inhalt haben wird, bekommt diese rechts und Links einen Rand von 1px Breite:

#col3
{
    margin-left: 150px;
    margin-right: 150px;
    border-left: solid 1px #000000;
    border-right: solid 1px #000000;
}

Die Linien reichen also bis nach unten, wenn die dritte Spalte mehr Inhalt hat. Wenn jetzt allerdings eine der anderen beiden Spalten mehr Inhalt haben, hören die Senkrechten Linien mittendrin auf. Die mittlere Spalte wird nicht bis nach unten aufgedrückt. Eine oft verwendete Lösung ist es, die sogenannten Faux Columns (hier sehr schön von Peter beschrieben) zu verwenden. Die Linien mit einem Hintergrundbild zu erzeugen. In diesem Fall will ich aber die dritte Spalte dazu bringen, sich der Höhe eine der anderen Spalten anzupassen.

Wenn man das Verhalten von floatenden HTML Elementen kennt, ist es ganz einfach, sich dieses Verhalten zu Nutze zu machen: Alle drei Spalten sind floatende Spalten. Die erste nach links, die zweite nach rechts und die dritte (obwohl nicht explizit gesetzt) ebenfalls nach rechts, da sich das floating (entgegen allen anderen CSS Vererbungsregeln) auf allen folgenden Elementen fortsetzt, bis man irgendwo in die andere Richtung floatet oder mit clear:both das floating ganz aufhebt.

Ich könnte also am Ende der dritten Spalte ein Element einfügen, welches das floating aufhebt:

<div id="main">
    </div id="col1">
    </div id="col2">
    <div id="col3">
        </div id="clearing">
    </div>
</div>

#clearing
{
    clear: both;
}

Es passiert genau das erwartete: Das neue Element floatet nicht mehr und wird unterhalb des längsten floatenden Elements neu ausgerichtet. Da es sich innerhalb der dritten Spalte befindet, zieht es diese nach unten auf. Die dritte Spalte wird also so lang wie die längste der vorigen Spalten.

Aus irgend einem Grund gibt es im IE noch Darstellungsprobleme, wenn in der dritten Spalte Text markiert wird. Die rahmen werden während dem Markieren einfach entfernt, sie lösen sich auf. Das wird behoben, wenn man in dieser Spalten explizit eine Hintergrundfarbe (hier weiß) setzt und das clearing-DIV explizit auf eine Breite von 100% setzt.

#col3
{
    margin-left: 150px;
    margin-right: 150px;
    border-left: solid 1px #000000;
    border-right: solid 1px #000000;
    background-color:#FFFFFF;
}
#clearing
{
    clear: both;
    width: 100%;
}

Auf ein weiteres Problem stößt man, wenn man die beiden seitlichen Spalten anders einfärben möchte. Die erste und zweite Spalte können nicht direkt eingefärbt werden, da in Wirklichkeit nicht alle Spalten gleich lang sind, sondern nur die dritte sich der längsten Spalte anpasst. Ist die dritte Spalte die längste, hören die anderen Beiden vorher auf. Die eingefärbten Bereiche würden also nicht bis nach unten durchgehen.

Auch hier helfen wieder die Faux Columns oder zwei weitere Tricks.

1) Man setzt die Hintergrundfarbe des übergeordneten Elements. Der Vorteil ist die Einfachheit, man muss die Farbe nur einmal setzen. Der Nachteil ist, dass nicht jede Spalte eine eigene Farbe haben kann.

2) Man nutzt wieder die dritte Spalte aus. Man entfernt einfach die margin-Angaben und setzt die Breite der rechten und Linken Rahmen auf die Breite der rechten und linken Spalte und gibt jedem Rahmen die gewünschte Farbe. Das ist alles:

#col1
{
    width: 150px;
    float: left;
}
#col2
{
    width: 150px;
    float: right;
}
#col3
{
    border-left: solid 150px red;
    border-right: solid 150px green;
    background-color:#FFFFFF;
}

Diese Variante wird von IE7, Opera 9.51, FireFox 3.0.1 und Chrome 0.2 (*g*) unterstützt. Wer ganz sicher gehen möchte und Exoten, sowie ältere Browser unterstützen möchte, sollte auf das YAML Framework zurückgreifen, das noch viele weitere Tricks und Hacks beinhaltet.

Zwei Beispiele sind hier zu finden: floatingcolumsn.zip

Vista x64 :-)

03.09.2008 21:17:13 | Lars Keller

Ich muss ja mal loswerden, dass ich Vista mag! :-)

Endlich ist die Migration von Windows XP x64 auf Vista x64 bei mir vollzogen. Es hat lange gedauert bis ich mich endlich entschlossen habe Vista zu installieren. Hätte ich gewusst, wie "easy" die Installation ist, hätte ich das schon längst gemacht. Es mag sicherlich auch eine Rolle gespielt haben, dass ich erst jetzt migriert habe (SP1 ist draußen, die Hardwarehersteller haben Treiber am Start, etc.).

Nachdem ich so schlechte Erfahrung mit dem x64 von Windows XP gemacht hatte, war mir schon, trotz gutem zureden von Alex und Torsten, ein bissel mulmig zumute wieder x64 zu installieren. Aber jedem der ähnliche Überlegungen hat, kann ich nur raten -> installieren ;-) Es sei denn man möchte etwas mit Soundverarbeitung machen, da würde ich auf jeden Fall sicher gehen, ob der Hersteller einen x64 Treiber anbietet.



This weblog is sponsored by netcreate OHG.

Vista x64 :-)

03.09.2008 20:17:13 | Lars Keller

Ich muss ja mal loswerden, dass ich Vista mag! :-)

Endlich ist die Migration von Windows XP x64 auf Vista x64 bei mir vollzogen. Es hat lange gedauert bis ich mich endlich entschlossen habe Vista zu installieren. Hätte ich gewusst, wie "easy" die Installation ist, hätte ich das schon längst gemacht. Es mag sicherlich auch eine Rolle gespielt haben, dass ich erst jetzt migriert habe (SP1 ist draußen, die Hardwarehersteller haben Treiber am Start, etc.).

Nachdem ich so schlechte Erfahrung mit dem x64 von Windows XP gemacht hatte, war mir schon, trotz gutem zureden von Alex und Torsten, ein bissel mulmig zumute wieder x64 zu installieren. Aber jedem der ähnliche Überlegungen hat, kann ich nur raten -> installieren ;-) Es sei denn man möchte etwas mit Soundverarbeitung machen, da würde ich auf jeden Fall sicher gehen, ob der Hersteller einen x64 Treiber anbietet.

Faux Columns / Unechte Spalten oder: Wie werden zwei Divs gleich hoch?

03.09.2008 20:17:00 | Peter Bucher

Viele kennen sicherlich das Problem bei der Benutzung von CSS, dass zwei Spalten nicht gleich hoch werden,
bzw. sich die Spalte mit weniger Inhalt nicht an der höheren anpasst.

Rein mit XHtml / CSS Mitteln ist es nicht möglich (Für manche Fälle schon, wie Jürgen beschreibt) das zu erreichen, da muss getrickst werden.
Ein bzw. _der_ Trick ist als "Faux Columns" oder auf Deutsch "Unechte Spalten" bekannt.

Ausgangslage ist bspw. folgendes Markup:

CSS:

#left {
    float: left;
    width: 200px;
    background-color: gray;
}
#right {
    margin-left: 200px;
}

XHTML:


<div id="left">
    &nbsp;
</div>
<div id="right">
    <!-- Viel Inhalt -->
</div>
</div style="clear: left;">

Also simple zwei Spalten.
Die graue Hintergrundfarbe geht jedoch nicht so weit nach unten, wie die linke Spalte.
Mithilfe der "Faux Colums" Technik wird die Verlängerung nach unten der ersten Spalte mithilfe eines Bildes simuliert.
Es braucht dazu ein Bild das 1 Pixel hoch und x Pixel breit ist und dazu noch einen Container der die zwei Spalten umschliesst.

Der innere Container der höher ist, macht den umgebenden Container höher, d.h. er passt sich immer an der längsten Spalte an,
genau das nutzen wir aus.
Dabei wird auf den umschliessenden Container ein Hintergrundbild gesetzt, dieses in der y-Richtung (Nach unten) wiederholt und ggf. noch ausgerichtet (left / Prozent- oder Pixelangaben).

So das die Lösung schlussendlich so aussieht:

Zusätzliches CSS:

#wrapper {
    background: url(Bild.jpg) repeat-y left;
}

Finales XHTML:


<div id="wrapper">
    <div id="left">
        &nbsp;
    </div>
    <div id="right">
        <!-- Viel Inhalt -->
    </div>
    </div style="clear: left;">
</div>

Zusätzlich zu dieser kleinen Demonstration empfehle ich den Artikel auf alistapart, oder die deutsche Übersetzung davon.

GC08 - AntMe Wettbewerb

03.09.2008 15:29:00 | Lori Grosland

Am Anfang des Jahres haben AntMe zusammen mit dem Bayerischen Unternehmensverband Metall und Elektro e.V. einen Wettbewerb aufgerufen.  Das Finale von dem AntMe-BayME-Wettbewerb fand dieses Jahr auf der Games Convention statt.  Aufgabe des Wettbewerbes war es, ein eigenes Ameisenvolk zu programmieren.  Jedes Volk wird fünf Mal gespielt und die höchste Punktzahl gewinnt. 

Das ganze Finale auf der GC-Bühne könnt Ihr in diesem Video anschauen.  Leider ist die Musik von nebenan ab und zu laut aber Ihr könnt bestimmt noch viel über AntMe und die Taktiken von den Teilnehmern erfahren.

Zu erst auf der GC-Bühne haben Sebastian Loers und Tom Wendel AntMe vorgestellt.  Danach hat den Wettbewerb angefangen.  Mehrere Teilnehmer waren vor Ort und sind auf der Bühne gegangen, um zu erklären was sie gemacht haben.

Final-Ergebnis…

Platz 1: Thomas K.
Platz 2: Nicole O., Andrea O., Tatjana W.
Platz 3: Clemens W.
Platz 4: Dominik K.
Platz 5: Florian H.
Kreativ-Preis: Marvin W., Thilo W., Raul W.

 Schaue mal dieses Video an, um die Interviews mit Tom Wendel und Gewinner Thomas K. zu sehen.

Mehr Info über diesen AntMe Wettbewerb könnt Ihr hier lesen:
http://antme.net/content/WettbewerbBayME.aspx

GC08 - AntMe - Interviews mit Tom & Thomas

03.09.2008 14:21:00 | Lori Grosland

AntMe! war dieses Jahr schon wieder auf der Games Convention, um Besucher das Ameisensimulation-Spiel zu zeigen.  Mit AntMe kann man lernen, künstliche Intelligenz (KI) mit den Sprachen C# oder Visual Basic .NET zu programmieren.  AntMe macht jede Menge Spaß und man lernt natürlich auch etwas über die „eingebaute Intelligenz“ von Computerspielen. 

Auf der GC habe ich mit Tom Wendel (AntMe Entwickler und Evangelist) über den AntMe Wettbewerb, der auf der GC stattgefunden ist und über die neue Version von AntMe gesprochen.  Ich habe ihn auch gefragt, wo das süße Ameise-Kostüm dieses Jahr ist.  Vielleicht erinnert Ihr sich von meinem AntMe-Video auf GC07, in dem Tom im Ameise-Kostüm zu sehen ist.  In diesem Video zeige ich auch ein paar Highlights von dem AntMe Wettbewerb und spreche auch mit dem Gewinner, Thomas K. aus Dingolfing.  Das komplette AntMe-Wettbewerb-Programm auf der GC-Bühne könnt Ihr bald auf meinem Blog auch anschauen.

Vista x64 :-)

03.09.2008 11:17:01 | Lars Keller

Ich muss ja mal loswerden, dass ich Vista mag! :-)

Endlich ist die Migration von Windows XP x64 auf Vista x64 bei mir vollzogen. Es hat lange gedauert bis ich mich endlich entschlossen habe Vista zu installieren. Hätte ich gewusst, wie "easy" die Installation ist, hätte ich das schon längst gemacht. Es mag sicherlich auch eine Rolle gespielt haben, dass ich erst jetzt migriert habe (SP1 ist draußen, die Hardwarehersteller haben Treiber am Start, etc.).

Nachdem ich so schlechte Erfahrung mit dem x64 von Windows XP gemacht hatte, war mir schon, trotz gutem zureden von Alex und Torsten, ein bissel mulmig zumute wieder x64 zu installieren. Aber jedem der ähnliche Überlegungen hat, kann ich nur raten -> installieren ;-) Es sei denn man möchte etwas mit Soundverarbeitung machen, da würde ich auf jeden Fall sicher gehen, ob der Hersteller einen x64 Treiber anbietet.

Aspektorientierung – der natürliche nächste Schritt

02.09.2008 18:58:00 | Sebastian Jancke

Angefangen hat Aspektorientierug mit Gregor Kiczales und seinem damaligen Forschuntsteam bei Xerox PARC. Seine Arbeit an “Metaobject Protocols” führte zur Erkenntnis, dass vor allem die Modularisierung von sog. “cross-cutting concerns” die größte Verbesserung brachte. Bei Xerox entstand dann AspectJ (welches heute ein Projekt im Eclipse-Bereich ist). AspectJ ist derzeit wohl die am meisten verbreitete AO-Sprache und vielleicht die einzige die wirklich in Produktion eingesetzt wird. Daneben existieren eine vielzahl von AO-Ansätzen durch Container wie das Spring-Framework oder Enterprise Java Beans (EJB), die eine weite Verbreitung gefunden haben und einer großen Zahl von Entwicklern einen einfachen Zugang zu AO-Technologie bieten.  Um zu verstehen, warum der Schritt zu Aspektorientierung natürlich und logisch ist, müssen wir zunächst verstehen, was treibende Kraft in der Weiterentwicklung der verschiedenen Paradigmen ist.

1974 war es Edsger W. Dijkstra, der in seinem Artikel “On the role of scientific thought” den Begriff “separation of concerns” prägte:

Let me try to explain to you, what to my taste is characteristic for all intelligent thinking. It is, that one is willing to study in depth an aspect of one's subject matter in isolation for the sake of its own consistency, all the time knowing that one is occupying oneself only with one of the aspects.

[..] But nothing is gained --on the contrary!-- by tackling these various aspects simultaneously. It is what I sometimes have called "the separation of concerns", which, even if not perfectly possible, is yet the only available technique for effective ordering of one's thoughts, that I know of. This is what I mean by "focussing one's attention upon some aspect": it does not mean ignoring the other aspects, it is just doing justice to the fact that from this aspect's point of view, the other is irrelevant.

(30th August 1974, Prof. Edsger W. Dijkstra)

Dijkstra argumentierte, das wissenschaftliches Denken in der Entwicklung von Programmen fehlte, jedoch nötig sei um gute, fehlerfreie Programme zu konstruieren. Spätestens seit der erneuten Definition durch Chris Reade in seinem Buch “Elements of Functional Programming” gilt die Trennung der Anliegen als nötig, um die Komplexität eines Systems in den Griff zu bekommen. Die “Separation of concerns” kann als Geisteshaltung hinter dem Ziel der Modularisierung betrachtet werden. Damit ist aber noch nicht geklärt, was genau ein “concern” denn genau ist. Man könnte einen concern als jede Anforderung und jedes Anliegen an eine Software definieren, und dies scheint die anerkannte Definition zu sein. Dabei kann ein concern so generell wie “Interaktion mit einer Datenbank” sein, aber eben auch eine spezielle Berechnung detailliert vorgeben.

Vor dem Problemen der nötigen Modularisierung stehen wir aber nicht alleine. Andere Branchen haben es auf ihre eigene Art gelöst. Architekten scheinen separate Pläne für Wasserversorgung, Stromleitungen, Abflüsse, Lichtinstallationen und natürlich die Konstruktion an sich anzufertigen. Darüber hinaus ist die Innenarchitektur ein  ganz eigenständiger Beruf.

Modularisierung ist auf der einen Seite zwingend notwendig, um die Komplexität heutiger Anforderungen in Teile zu zerlegen und so zu reduzieren, damit ist jedoch unklar, wie weit wir die Modularisierung treiben müssen. Die Professorin Carliss Y. Baldwin von der Universität Harvard hat die Modularisierung von einem ökonomischen Blickpunkt aus untersucht und kam zu dem Schluss, dass Modularisierung eine treibende ökonomische Kraft ist, die ganze Märkte (zB den PC-Markt seit Einführung des modularisierten IBM-kompatiblen PCs) umkrempeln kann. Darüber hinaus hat sie auch die Modularisierung mittels Aspekten und den Optionswert von Aspekten untersucht und war Keynote-Speakerin bei der Konferenz AOSD 06. Interessant finde ich an dieser Stelle, dass auch Kent Beck bei seinem Plädoyer für möglichst späte Entscheidungen im eXtreme Programming mit Optionswerten argumentiert hat.

Alle Paradigmen, die bisher zu Felde geführt wurden, von der Strukturierten Programmierung über Prozedurale, Funktionale bis hin zur Objektorientierten Programmierung hatten ein Ziel: bessere Modularisierung. Dabei hat jedes Paradigma seine eigenen Konzepte, ein Modul abzubilden (…, Funktionen, Objekte) kreiert. Dabei wurde jedoch eine Gruppe von Anliegen stets ausgeschlossen, weil sie bei der Dekomposition in Module dieser Paradigmen über Module hinweg verstreut waren und und somit faktisch unsichtbar wurden.  Die genannten Paradigmen sind nicht im Stande, diese Gruppe von Anliegen selbst zu modularisieren. Der Grund dafür ist die einfache Tatsache, dass es immer zu einer Zahl von Anliegen einige Anliegen gibt, die andere kreuzen (darauf komme ich noch zurück).

Ich denke es ist klar, dass ich auf cross-cutting concerns hinaus will. Zu oft ist aber versucht worden AO zu verkaufen und dabei die “Neuen” mit einer Reihe von Fachbegriffen zu überladen. Da es sich bei der Aspektorientierung um einen völligen Paradigma-Wechsel handelt (der dennoch rückwärts kompatibel ist), halte ich es für eine gute Idee, vorerst auf genau diese Fachwörter ("buzzwords” ?) zu verzichten. Ich denke dieser Ansatz wird auch durch die Aussage von Gregor Kiczales gestützt, dass die Geisteshaltung von Aspektorientierung weitaus wichtiger ist, als die derzeitigen technischen Umsetzungen und ihre spezielle Ausprägung der Fachbegriffe. Würde man diese nutzen wollen, so müsste zunächst ihre allgemeine Semantik erklärt werden. Dies wird fast nie getan und erscheint für eine Einführung auch zu fortgeschritten.

Im Jahre 2004 stellte Ted Neward, bei einer Podiumsdiskussion zum Thema AOP auf der Konferenz “The Server Side Symposium”, eine Aufgabe: Aspektorientierung zu erklären, ohne die gängigen “buzzwords” zu verwenden. Der Projektleiter des AspectJ-Projektes, Adrian Colyer (heute auch für SpringSource tätig) antwortete mit seinem Artikel “The Ted Neward Challenge (AOP without the buzzwords)”. Seine Argumentation basiert auf der Annahme, dass eine echte Trennung der Anliegen nur erreicht werden kann, wenn das Verhältnis von Konzepten zu Implementierungen genau 1:1 ist, also ein Konzept an genau einer Stelle in der Software Implementiert ist.

Nehmen wir uns ein einfaches Problem (welches auch von Gregor Kiczales untersucht wurde): Eine Zeichentafel (Canvas) und eine Vielzahl verschiedener geometrischer Objekte (Shapes). Die verschiedenen Shapes (Dreieck, Viereck, Kreis, Oktaeder, …) verwalten ihre Eigenschaften und ihr Zeichenverhalten selbst. Wir modellieren sie als Objekte. Ebenso den Canvas. Ein weiteres Anliegen ist auch die Benachrichtigung des Canvas, wenn ein Shape sich verändert. Im Allgemeinen würde man dieses Anliegen durch eine Subject-Observer Beziehung zwischen Canvas und den verschiedenen Shape-Objekten implementieren. Bei allen Änderungen benachrichtigen die verschiedenen Shape-Objekte den Canvas. Das Anliegen der Benachrichtigung ist damit aber nicht mehr eigenständig modularisiert, denn alle verschiedenen Objekte (oder Klassen von Objekten) implementieren die Benachrichtigung auf ihre eigene Art. Wir haben also ein Verhältnis Konzept : Implementierung von 1 : n. Umgekehrt haben wir in einem Objekt nun mehr als ein Konzept implementiert und haben hier ein Verhältnis Konzept : Implementierung von n : 1. Die Krux liegt darin, dass wir schon bei einem sehr einfachen Beispiel ein Anliegen nicht mehr richtig Modularisieren konnten, weil es ein übergreifendes Anliegen ist. Skaliert man das Beispiel auf ein durchschnittlich großes System, ist die ganze Problematik daran vorstellbar.

Nun ließe sich erwidern, dass vielleicht eine andere Art der Dekomposition das Problem gelöst hätte. Dies ist in der Forschung untersucht worden und derzeitiger Stand ist anscheinend, dass es nicht möglich ist. Das Problem wird “Tyranny of the dominant decomposition” genannt. Dies möchte ich anhand eines Beispieles illustrieren: Es soll eine Zeit gegeben haben, in der wir statt MP3s jede Menge CDs im Regal stehen hatten. Wir wollen aus den CDs schnell einige zu einem speziellen Genre suchen. Dazu könnten wir sie nach Genre sortieren. Allerdings würden wir auch gerne schnell CDs nach einem Namen suchen. Vielleicht wäre es also besser, die CDs nach Namen zu sortieren. Dann könnten wir aber nicht mehr schnell nach Genre ähnliche CDs suchen. Die Lösung scheint greifbar: wir sortieren nach Genre und jedes Genre wiederum nach Namen. Damit gehen wir den Kompromiss ein, dass wir nicht sehr schnell nach Namen suchen können, aber wir können sehr gut nach Genre suchen, selbst wenn wir zunächst eine spezielle CD gesucht haben. Das Anliegen “Genre” ist also hier die dominante Dekomposition über dem Anliegen “Namen” (verkürzt gesagt). Kommt nun aber noch das Anliegen hinzu, CDs zu einem Jahr zu finden, haben wir ein Problem, egal welche Dekomposition wir als dominant wählen. Es gibt also nur einen Ausweg: wir müssten sowohl die Suche nach Genre, als auch die Suche nach Namen und auch die Suche nach Jahren eigenständig Modularisieren. Dies scheint mit den Mitteln Plazierung der CDs im Regal nicht möglich, wir brauchen also einen Paradigma-Wechsel.

Das Beispiel der CD-Sortierung zeigt nicht nur die Existenz von übergreifenden Anliegen aus der Problemdomäne heraus. Das Beispiel zeigt vor allem im Gegensatz zum Zeichenbrett, dass übergreifende Anliegen “mehrdimensional” sind und die Zahl der Dimensionen “unbegrenzt” sein kann. Diesem Umstand hat auch IBM mit der Forschung im HyperJ-Projekt Rechnung getragen.

Für Viele ist dennoch Aspektorientierung derzeit vor allem eines: Aspektorientierte Programmierung (AOP), mit einem starken Hang eine Sache Namens “Logging” besonders schön zu lösen. Dabei ist der eigentliche Witz am “Hello world”-Beispiel der AOP die Tatsache, dass dort Tracing modularisiert wird. Innerhalb von Experimenten beobachtet wurde, das in vielen Fällen richtiges Logging – die Präsentation von Debug und Context-Informationen – eigentlich kein cross-cutting concern ist, weil für jeden Context die Anforderungen völlig unterschiedlich sind. Eine Ausnahme bildet vielleicht die einheitliche Protokollierung von Fehlern im System. Darüber hinaus scheint für Viele die Formel cross-cutting = nicht-funktional zu gelten. Das auch diese Reduktion der Aspektorientierung zu kurz greift, zeigt die Tatsache, dass erfahrene AO-Experten in der Regel den wahren Wert von AO bei funktionalen, zur Domäne gehörigen cross-cutting concerns sehen. Nicht zuletzt, weil nicht-funktionale, Infrastruktur-Anliegen heute von Containern (EJB, Spring, …) hinreichend gut modularisiert wurden. Gleichzeitig scheint mir hierher die Popularität der (falschen) Formel cross-cutting = nicht-funtional zu kommen. Eben weil die obigen Beispiele mit dem Zeichenbrett oder der CD-Sortierung keinerlei nicht-funktionale Anliegen enthält, mag ich diese besonders. Sie zeigen zum einen, dass bereits sehr simple Domänen cross-cutting concerns enthalten. Zum anderen ist aber auch sichtbar, dass diese meist aus der Problemdomäne entstammen und (gefühlt) die “kleine” Zahl der nicht-funktionalen Infrastruktur Anliegen übersteigt.

Heute, ca. 10 Jahre nach der “Erfindung” der AO ist die Aspektorientierte Programmierung weitgehend stabil und wird produktiv eingesetzt (zumindest im Falle von AspectJ). Forschung findet natürlich auch noch hier statt, scheint sich aber derzeit vor allem auf die Auswirkungen von AO im Bereich des Software Engineerings zu konzentrieren: Requirements Engineering, Refactoring, Patterns, Productlines, Tooling und nicht zuletzt “Aspect Mining”. Diese Bereich bieten trotz akuter Forschung trotzdem bereits nutzbare Ergebnisse, die auch Anwendung zu scheinen finden. So gibt es einige nützliche Ergebnisse, bei der Anwendung von AspectJ zur Implementierung von Objektorientierten Patterns in einer Pattern-Library. Die Erweiterung von Use-Cases hin zu sog. “Use-Case slices” und die damit einhergehende 1:1 Implementierung der Kern-Usecases durch Objekte und der Varianten/Extension Points und anderen Usecases durch Aspekte ist sogar als Buch verfügbar. Hier können auch einfache Angriffspunkte zur Feature-Konfiguration im Sinne von Productlines gesetzt werden.

Für “Joe Developer” (Zitat aus dem se-radio.net) scheinen aber viele dieser Techniken/Prozesse/Tools und Ergebnisse im Zusammenhang mit AO bisher unsichtbar gewesen zu sein. Um so mehr ist es an der Zeit, diese Dinge genau zu Beleuchten und statt AspectJ-Tracing-Tutorials lieber “Best practices” und mögliche Einsatzgebiete zu benennen. Den Syntax einer Sprache oder die Details einer Technologie lassen sich schließlich gut aus Büchern und Dokumentation entnehmen. Die Einsatzmöglichkeiten und gute Vorgehensweisen einer Technologie entstammen aber der Erfahrung und dem Umgang damit. Sie können eigentlich nur von den bereits Erfahrenen vermittelt werden, oder aber durch viele Experimente (und Fehlschläge) selbst erlernt werden. Dabei bevorzuge ich eindeutig den ersten Weg und versuche von den Experten zu lernen.

Im Interview von Gregor Kiczales durch Markus Völter (auf se-radio.net) spekulierten schließlich beide darüber, dass zur Annahme des OO-Paradigmas 20 Jahre nötig waren, die Annahme von AO aber bereits nach 10 Jahren sehr weit fortgeschritten ist und die Zukunft positiv aussieht. Nicht zuletzt kommen wohl die meisten heute schon damit in Kontakt, wenn sie Middleware-Plattformen wie EJB-Container oder das Spring-Framework einsetzten.

Zum Schluss möchte ich noch darauf zu sprechen kommen, dass ich bisher nur für Aspektorientierung plädiert habe, nicht aber für den Einsatz einer speziellen AOP-Technologie. Auch habe ich weder nur für AO-Sprachen noch gegen Container-AOP (Spring.AOP, Method interception, …) plädiert. Solche Entscheidungen sind schließlich nicht allgemein entscheidbar, da sie immer von den speziellen Anforderungen, Budgets, etc.. abhängen. Auch die Frage, wie fein Aspekte granuliert werden sollen steht im Raum und beeinflusst insbesondere den Einsatz von “Method interception”, Spring.AOP, AspectJ oder auch eine Kombination dieser. Der Grad der technischen Umsetzung und Einsatz von AO-Technologie ist nicht zuletzt auch durch die “Adoption strategy” gesteuert. Hierzu gibt es wiederum allgemeine Empfehlungen, auf die ich aber ein anderes Mal eingehen möchte und werde.

Nachtrag: Ich habe gestern gesehen, dass Stefan Lieser die Thematik “Tyranny of the dominant decomposition” an einem anderen, aber ebenso schönen Beispiel erläutert hat: Ein Dokument mit Elementen (Text, Absätze, …) und dazu orthogonal die Frage der Formatierung.

Technorati Tags: ,

GC08 - Qantm Institute

02.09.2008 13:17:00 | Lori Grosland

Jemals überlegt eine Kariere in Game Design oder Development?  Klingt interessant aber Du weißt nicht wo man mit sowas anfängt.  Vielleicht habe ich eine Idee, um Euch zu inspirieren…

Auf der Games Convention im Leipzig habe ich mit Chris Mösbauer von Qantm Institute geredet.  Qantm ist eines der erfolgreichsten und innovativsten Ausbildungsinstitute für Game Design und Development, Animation und kreative Medien.  Es ist seit Über 10 Jahren das führende Ausbildungsinstitut in Australien und seit 2005 auch in Deutschland.   In diesem Video erzählt Chris über das Qantm Institue und das Konzept dahinter und auch was er und die Studenten auf der Games Convention gemacht haben.  Für mehr Information über Qantm, schaue diese Webseiten an: 
http://www.qantm.de/
http://www.qantm.tv/

Zwei Ansätze wie mit den ClientIDs von ASP.NET umgegangen werden kann

02.09.2008 00:57:00 | Peter Bucher

Wie den meisten schon bekannt sein wird, erzeugt ASP.NET ClientIDs die auf dem Client genutzt werden können um Namenskollisionen aus dem Weg zu gehen.
Jedoch ist dieses Verhalten in manchen (Bei mir in den meisten Fällen) fehl am Platz und es ist mühselig die ClientIDs clientseitig zur Verfügung zu stellen.

Es gibt zwar, diese oder jene Lösung - jedoch war für mich keine wirklich zufriedenstellend.
Ich möchte euch Heute zwei Ansätze mit auf den Weg geben, damit die Arbeit mit Javascript und ASP.NET für euch nicht immer zur ID-Jagt wird.

Der erste Ansatz basiert unter anderem auf einer Idee von Renè Drescher-Hackel, auch ein ASP.NET Zone Genosse :)
Renè erstellt mithilfe von JSON ein Javascript Objekt, mit dem einfach auf die ClientIDs und ggf. noch weitere Eigenschaften zugegriffen werden kann.

ClientIdProvider mit einem HttpModule und statischen Hilfsmethoden

Ich wollte eine Lösung bei der ich möglichst wenig schreiben muss, nur das wichtigste bekomme und auch die Performance stimmt.
Die Lösung ist relativ einfach gehalten. Es braucht ein Methodenaufruf um ein Control für den Provider zu registrieren, danach steht die ClientID in Javascript automatisch über ClientId.<ControlName> bereit.

Dabei muss natürlich beachtet werden, dass nicht zwei gleichlautende Controls registriert werden.

Die Anwendung sieht dann so aus:

ASPX:



<ul>
    <a href="#" onclick="addBorder('test');">Test1 (Div)</li>
    <a href="#" onclick="addBorder(ClientId.pnlTest);">Test2 (Panel)</li>
    <a href="#" onclick="addBorder(ClientId.pnlTest2);">Test3 (Panel)</li>
</ul>
<div id="test">
    test
</div>
<asp:Panel ID="pnlTest" runat="server">
    test2
    <asp:Panel ID="pnlTest2" runat="server">
        test3
    </asp:Panel>
</asp:Panel>

Codebehind:



protected void Page_Load(object sender, EventArgs e) {
    Tools.ClientIdProvider.RegisterControlForClientId(pnlTest);
    Tools.ClientIdProvider.RegisterControlForClientId(pnlTest2);
}

Das wars auch schon für den Anwender... nur was läuft dahinter ab?

Die Methode "RegisterControlForClientId(Control c)" speichert jeweils eine Referenz auf das Control
in einer Liste, die in der aktuellen HttpContext.Items Collection gespeichert ist.

Diese Liste ist vom Begin bis zum Ende des Requests unter dem Key (clientIdCollKey) verfügbar.
Um das JSON auf die Seite zu rendern, muss nur noch die Methode "WriteClientIdCollection(Page page)" zum richtigen Zeitpunkt aufgerufen werden.

Der richtige Zeitpunkt ist hier wichtig, genau ab Page_PreRender sind alle ClientIDs bestimmt vorhanden.
Also könnte diese Methode einfach in der überschrieben OnPreRender-Methode einer Seite aufgerufen werden.

Jedoch gibt das wieder Schreibarbeit und ist fehleranfällig.
Um dies zu automatisieren, kann ein HttpModule als Hilfe benutzt werden.

Die statischen Hilfsmethoden:



namespace pb.Web
{
    public static partial class Tools
    {
        public static class ClientIdProvider
        {
            private const string clientIdCollKey = "pbclientIdColl";

            /// <summary>
            /// Registriert ein Control für die ClientIdCollection,
            /// sodass diese auf der Seite verfügbar ist.
            /// </summary>
            /// <param name="c">Das zu registrierende Control</param>
            public static void RegisterControlForClientId(Control c) {
                HttpContext context = HttpContext.Current;
                object item = context.Items[clientIdCollKey];

                if (item == null || !(item is IList))
                    item = new List<Control>();

                (item as IList<Control>).Add(c);

                context.Items[clientIdCollKey] = item;
            }

            /// <summary>
            /// Schreibt die aktuelle ClientIdCollection in die
            /// derzeitige Page Instanz
            /// </summary>
            public static void WriteClientIdCollection() {
                WriteClientIdCollection(Tools.CurrentHandler<Page>());
            }

            /// <summary>
            /// Schreibt die aktuelle ClientIdCollection in die
            /// derzeitige Page Instanz
            /// </summary>
            public static void WriteClientIdCollection(Page page) {
                HttpContext context = HttpContext.Current;
                object item = context.Items[clientIdCollKey];

                if (item == null)
                    return;

                IList<Control> list = (item as List<Control>);
                StringBuilder sb = new StringBuilder();

                foreach (Control c in list) {
                    sb.Append("");
                    sb.AppendFormat("\"{0}\" : \"{1}\"", c.ID, c.ClientID);
                    sb.Append(",");
                }

                // TODO: Ab ASP.NET 3.5 kann hier stattdessen der
                //TODO: System.Web.Script.Serialization.JavaScriptSerializer benutzt werden
                page.ClientScript.RegisterStartupScript(page.GetType(),
                                                                    "ClientId",
                                                                    string.Format(
                                                                    "\r\n var ClientId = new Object(); \r\n eval('ClientId = {{{0}}}');\r\n",
                                                                    sb.ToString().Substring(0, sb.ToString().Length - 1)),
                                                                    true);
            }
        }
    }
}

 

Das HttpModule ist ziemlich einfach aufgebaut, es hängt sich in den PreRequestHandlerExecute-Event,
ruft den aktuellen Handler ab und führt in dessen PreRender-Event die Methode der Tools-Klasse aus, um
das JSON zu rendern.

Somit geschieht alles vollautomatisch, es muss nur das HttpModule in der web.config registriert sein.

 

Das ClientIdProviderModule:



namespace pb.Web.HttpModules
{
    /// <summary>
    /// Registriert alle ClientIds als Startupscript in der aktuellen Page,
    /// falls Controls registriert wurden.
    /// </summary>
    public class ClientIdProviderModule : XHttpModuleBase
    {
        protected override void _application_PreRequestHandlerExecute(object sender, EventArgs e) {
            base._application_PreRequestHandlerExecute(sender, e);

            IHttpHandler handler = Tools.CurrentHandler<IHttpHandler>();
            if (handler != null && handler is Page) {
                Page page = handler as Page;
                page.PreRender += delegate {
                                                   Tools.ClientIdProvider.WriteClientIdCollection(page);
                                               };
            }
        }
    }
}

 

Beispiel web.config-Eintrag:



<?xml version="1.0"?>
<configuration>
    <system.web>
        <httpModules>
            <add name="ClientIdProviderModule" type="pb.Web.HttpModules.ClientIdProviderModule, ClientIdProviderTest"/>
        </httpModules>
    </system.web>
</configuration>

Wichtig ist hier aber die Einschränkung auf Controls die alleinestehen, oder aber in einem TemplateInstance.SingleInstance - Template stehen.
Mit MultiInstance - Templates funktioniert diese Lösung nicht.

Zu Single- vs MultiInstance, siehe hier:

Überschreiben von IDs, damit diese gleich lauten wie die serverseitigen IDs

Wilco Bauwer, der unter anderem auch noch viele andere asp.nette Dinge auf seiner Seite anbietet,
hat ein Control entwickelt, dass die ClientIDs so überschreibt, dass sie gleich lauen wie die serverseitigen IDs.

Für manch ein Anwendungsfall ist das ein Muss und für die anderen vielfach eine gute Lösung mit wenig Aufwand.
Allerdings gilt auch hier, dass nur einzigartige IDs benutzt werden können, ansonsten kommt es zu einer Kollision.

Was ist jetzt besser?

Keine der beiden Lösungen ist besser.
Bei dem ClientIdProvider bestehen die ClientIDs immer noch genau gleich, jedoch gibt es clientseitig einen einfachen Zugriff darauf.
Beim ID-Overriding gibt es keine ClientIDs mehr bzw. die ClientID lautet gleich wie die ID auf dem Server. Das kann in vielen Szenarien Probleme verursachen (Bspw. Controls die IPostBackEventHandler implementieren funktionieren nicht mehr, etc...).

Daher gibt es keine Patentlösung, sondern jeweils für die Anforderung eine Lösung die passt.

Download des Beispielprojekts:

Benutzte Links:

GC08 - SideWinder - Gaming-Hardware

01.09.2008 13:18:00 | Lori Grosland

Auf der Games Convention im Leipzig habe ich mit Timo Sülzle von Microsoft Hardware über die zwei neue Produkte gesprochen, die sie da präsentiert haben.  In diesem Video zeigt Timo die neue Features und Innovationen in dem neuen SideWinder Keyboard X6 und in der neuen Gaming Maus SideWinder X5, die speziell für Gamer entwickelt worden sind. 

Das SideWinder X6 Keyboard ist für PC Spielern gedacht und hat ein abnehmbare Ziffernblock, der an beiden Seiten wieder angedockt werden kann.  Die Tastatur ist robust und flexibel und hat eine regulierbare Hintergrundbeleuchtung, somit sind alle Tasten auch in der Dunkelheit zu erkennen.   Die SideWinder Maus X5 ist die neueste Version von der SideWinder Maus.  Um Gamer-Performance zu optimierten, hat die X5 neun Tasten, fünf davon sind frei belegbar.  Die Lasereinheit lässt sich auch per Tastendruck von 200 bis 2000 DPI einstellen.  

C# Entwickler bei der cobra GmbH in Konstanz gesucht

01.09.2008 11:05:43 | Jürgen Gutsch

Bei der cobra GmbH in Konstanz gibt es offene Stellen als Web Software Entwickler und Software Entwickler:

Web Software Entwickler (w/m)

An Ihrem Arbeitsplatz in Konstanz entwickeln Sie als Teil unseres Entwicklungsteams moderne CRM Standard-Software für das Web. Unsere Anforderungen an Sie sind:

    • Mehrjährige Erfahrung mit ASP.NET (vorzugsweise mit C#).
    • Umfangreiche Kenntnisse in HTML, CSS und JavaScript.
    • Gute Kenntnisse des Microsoft SQL Servers.
    • Gute Kenntnisse des IIS und Windows Server Betriebssysteme.
    • Erfahrungen mit Windows Forms Programmierung sind von Vorteil.
    • Selbständiges Arbeiten im Team.

    Ein abgeschlossenes Hochschulstudium oder eine Ausbildung zum Fachinformatiker setzten wir voraus.

    Software Entwickler (w/m)

    An Ihrem Arbeitsplatz in Konstanz entwickeln Sie als Teil unseres Entwicklungsteams moderne CRM Standard-Software für das Office-Umfeld. Sie haben Erfahrung in C# und C++, arbeiten gerne selbständig und eigenverantwortlich, können sich aber auch in ein Team integrieren.

    Ein abgeschlossenes Hochschulstudium oder eine Ausbildung zum Fachinformatiker setzten wir voraus.

    Ihre Bewerbung

    Wir freuen uns auf Ihre aussagefähige Bewerbung mit Lichtbild, Gehaltsvorstellung und Eintrittstermin.

    cobra GmbH
    Franziska Burkhardt
    Weberinnenstraße 7
    78467 Konstanz
    Franziska.Burkhardt@cobra.de
    www.cobra.de

    Regeln | Impressum