<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>iucon GmbH : IT-Consulting - iuBIZ ERP &#124; Shop - Softwareentwicklung &#187; Blog</title>
	<atom:link href="http://www.iucon.eu/artikel/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iucon.eu</link>
	<description></description>
	<lastBuildDate>Tue, 10 Jan 2012 09:38:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>FFK10 &#8211; 10 Jahre Community, Code, Creativity!</title>
		<link>http://www.iucon.eu/2010/04/ffk10-10-jahre-community-code-creativity/</link>
		<comments>http://www.iucon.eu/2010/04/ffk10-10-jahre-community-code-creativity/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 12:39:47 +0000</pubDate>
		<dc:creator>Schuetz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.iucon.eu/?p=551</guid>
		<description><![CDATA[Zum inzwischen 10. Mal organisierten Sascha Wolter und Marc Thiele vom Flashforum die Flashforum Konferenz. Am 14. und 15. April in Köln (Mediapark, Komed) hielt die Veranstaltung was die Agenda und vor allem Speaker schon im Vorfeld versprachen. Um es kurz zusammenzufassen: Die FFK10 war spannend, kommunikativ und inspirierend! &#160; Aus der Fülle an tollen [...]]]></description>
			<content:encoded><![CDATA[<p>Zum inzwischen 10. Mal organisierten <a title="Sascha Wolter" href="http://www.wolter.biz/" target="_blank">Sascha Wolter</a> und <a title="Marc Thiele" href="http://www.marcthiele.com/" target="_blank">Marc Thiele</a> vom <a title="Flashforum" href="http://www.flashforum.de" target="_blank">Flashforum</a> die <strong>Flashforum Konferenz</strong>. Am 14. und 15. April in Köln (Mediapark, <a title="Komed GmbH im Mediapark, Köln" href="http://www.komed.de/" target="_blank">Komed</a>) hielt die Veranstaltung was die Agenda und vor allem Speaker schon im Vorfeld versprachen. Um es kurz zusammenzufassen: <strong>Die FFK10 war spannend, kommunikativ und inspirierend!</strong></p>
<p>&nbsp;</p>
<p>Aus der Fülle an tollen Sessions ein kurzer Abriss meiner persönlichen Highlights:</p>
<p>&nbsp;</p>
<p><a title="Jesse Freeman" href="http://www.jessefreeman.com/" target="_blank">Jesse Freeman</a> &#8211; <strong>Flash Augmented Reality Workflow</strong></p>
<p>Das Thema Augmented Reality ist in aller Munde. Aber ist der Durchbruch bereits geschafft?! Gibt es Anwendungen die es aus dem Status des Prototypen schaffen und einen echten Mehrwert für eine breite Anwendermasse bieten?! Eine definitive Antwort darauf gibt es vielleicht noch nicht, Jesse Freeman hat es mit seinem Vortrag jedenfalls geschafft das Thema einmal mehr in die Köpfe der Entwickler-Community zu bringen und Appetit auf das Ausprobieren und Testen von Flash-Code für AR-Anwendungen geweckt. Danke dafür!</p>
<p>&nbsp;</p>
<p><a title="Saban Ünlü" href="http://v4.nettrek.de/flash/" target="_blank">Saban Ünlü</a> &#8211; <strong>iPhone Entwicklung mit Flash CS5</strong></p>
<p>Der Speaker der keine FFK ausgelassen hat! Saban Ünlü hatte es gar nicht eingesehen anhand der jüngsten <strong>Apple vs. Adobe Kontroverse</strong> seinen Vortrag zu überarbeiten. Auch wenn während der FFK nur noch die Rede von &#8220;diesem einen Hersteller&#8221; mit &#8220;diesem einen Smartphone&#8221; war &#8211; Saban zeigte eindrucksvoll wie <strong>Flash CS5 und der neue Packager</strong> (ja &#8211; auch für das iPhone) einer breiten Entwicklerbasis eine Technologie bietet die es ermöglicht, auch unabhängig von Apples Willen, tolle Anwendungen für Mobile Devices schreiben zu können. Der Zertifizierungs- und Autorisierungsmarathon den Apple Entwicklern zumutet, die durch Ihre Arbeit das iPhone erst zu der erfolgreichen Plattform gemacht haben, ist wohl selten so sympathisch erklärt worden!</p>
<p>&nbsp;</p>
<p><a title="André Michelle" href="http://blog.andre-michelle.com/" target="_blank">André Michelle</a> &#8211; <strong>Tanzen mit Krücken</strong></p>
<p>Ok, ich gebe es zu: André Michelle war mir bislang nicht so ein Begriff. Schande über mich! Was eine herausragende Session. André zeigte Sound- und Synthesizerprogrammierung mit Flash und wie er mit Code, dem Zufall, und einer schier nicht enden wollenden Kreativität Luft in einer Art und Weise zur Bewegung bringen kann, dass es einem schwerfällt den Mund wieder zu zu bekommen.</p>
<p>&nbsp;</p>
<p><a title="Seb Lee-Delisle" href="http://sebleedelisle.com/" target="_blank">Seb Lee-Delisle</a> &#8211; <strong>Flash Games Inaved the 3rd Dimension!</strong></p>
<p>Als Seb nach 60 Minuten Session den Applaus entgegennahm war ich immer noch &#8220;geflasht&#8221; von dem was er da alles gezeigt hatte. Für mich absolut faszinierend was er und sein Team in Sachen Flash-3D-Gaming, Augmented Reality und Sound präsentierte. Viel mehr fällt mir dazu auch nicht ein, wer einen Eindruck bekommen  möchte schaue sich unbedingt einmal die <a title="ZingZillas on BBC" href="http://www.bbc.co.uk/cbeebies/zingzillas/" target="_blank">ZingZillas</a> der BBC an!</p>
<p>&nbsp;</p>
<p>Das was die Community sicherlich von der FFK10 mit nach Hause und in den Job nehmen konnte: Flash stirbt nicht und wird auch so schnell nicht tot sein. Es ist eine breit aufgestellte, technologische Plattform für die es wert ist Software zu entwicklen. Und daran ändern auch keine schwer nachzuvollziehenden Entscheidungen in Cupertino, Californien etwas!</p>
<p>&nbsp;</p>
<p>Fotos von Marc Thiele auf Flickr: <a title="Marc Thiele, Flickr" href="http://www.flickr.com/photos/marcthiele/" target="_blank">http://www.flickr.com/photos/marcthiele/</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iucon.eu/2010/04/ffk10-10-jahre-community-code-creativity/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Performanceprobleme bei Merge-Replikation</title>
		<link>http://www.iucon.eu/2009/03/performanceprobleme-bei-merge-replikation/</link>
		<comments>http://www.iucon.eu/2009/03/performanceprobleme-bei-merge-replikation/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 14:55:11 +0000</pubDate>
		<dc:creator>Schwedt</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[SQL Server Management Studio]]></category>

		<guid isPermaLink="false">http://www.iucon.biz/blog/?p=127</guid>
		<description><![CDATA[Im Zuge einer Neueinrichtung einer Merge-Replikation auf einem Produktivsystem hatten wir auf der Abonnenten-Seite mit massiven Performance-Problemen zu kämpfen. Diese traten gefühlsmäßig immer dann auf, wenn die Replikation lief. Die CPU-Auslastung war sehr gering, aber die Datenträgerwarteschleife schoss teilweise auf 250! Augenscheinlich war aber alles korrekt eingerichtet. Um dem Problem auf die Schliche zu kommen, [...]]]></description>
			<content:encoded><![CDATA[<p>Im Zuge einer Neueinrichtung einer Merge-Replikation auf einem Produktivsystem hatten wir auf der Abonnenten-Seite mit massiven Performance-Problemen zu kämpfen. Diese traten gefühlsmäßig immer dann auf, wenn die Replikation lief. Die CPU-Auslastung war sehr gering, aber die Datenträgerwarteschleife schoss teilweise auf 250!<br />
Augenscheinlich war aber alles korrekt eingerichtet.</p>
<p>Um dem Problem auf die Schliche zu kommen, erwies sich die Systemtabelle <code> dm_exec_query_stats</code> als äußerst hilfreich. Hierüber kann man sich Ausführungsstatistiken der letzten Befehle abholen. Unter anderem werden hier CPU-Zeit, Lese- und Schreibzugriffe protokolliert.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> TOP <span style="color: #cc66cc;">5</span>
    last_physical_reads<span style="color: #66cc66;">,</span>
    sql_handle<span style="color: #66cc66;">,</span>
    plan_handle
<span style="color: #993333; font-weight: bold;">FROM</span> sys<span style="color: #66cc66;">.</span>dm_exec_query_stats
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> last_physical_reads <span style="color: #993333; font-weight: bold;">DESC</span></pre></div></div>

<p>In den Spalten <code>sql_handle</code> und <code>plan_handle</code> werden zwei Handle zurückgeliefert über die man Zugriff auf das Kommando im Klartext sowie den Execution Plan bekommt.</p>
<p>Diese kann man sich mit den Systemfunktionen <code>sys.dm_exec_sql_text</code> und <code>sys.dm_exec_text_query_plan</code> zurückgeben lassen.<br />
Ich führte also folgendes Statement aus</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> sys<span style="color: #66cc66;">.</span>dm_exec_sql_text<span style="color: #66cc66;">&#40;</span>0x020000006D3E963947E734508EEE5BDFDA222AE4C2FE9432<span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>und bekam wie vermutet ein Replikationskommando zurück</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> TOP <span style="color: #cc66cc;">100</span> mc<span style="color: #66cc66;">.</span>tablenick<span style="color: #66cc66;">,</span> mc<span style="color: #66cc66;">.</span>rowguid<span style="color: #66cc66;">,</span> mc<span style="color: #66cc66;">.</span>generation<span style="color: #66cc66;">,</span> mc<span style="color: #66cc66;">.</span>lineage<span style="color: #66cc66;">,</span> mc<span style="color: #66cc66;">.</span>colv1<span style="color: #66cc66;">,</span> t<span style="color: #66cc66;">.*</span>
<span style="color: #993333; font-weight: bold;">FROM</span>  <span style="color: #66cc66;">&#91;</span>Shop<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>MSmerge_contents<span style="color: #66cc66;">&#93;</span> mc<span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#91;</span>Shop<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>OrderItemCondition<span style="color: #66cc66;">&#93;</span> t <span style="color: #993333; font-weight: bold;">WHERE</span>
mc<span style="color: #66cc66;">.</span>generation <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">45940</span> <span style="color: #993333; font-weight: bold;">AND</span> mc<span style="color: #66cc66;">.</span>tablenick <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">26251010</span>
<span style="color: #993333; font-weight: bold;">AND</span> mc<span style="color: #66cc66;">.</span>rowguid <span style="color: #66cc66;">=</span> t<span style="color: #66cc66;">.</span>rowguidcol
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> mc<span style="color: #66cc66;">.</span>tablenick<span style="color: #66cc66;">,</span> mc<span style="color: #66cc66;">.</span>rowguid</pre></div></div>

<p>Ich führte das Kommando mit der Option &#8220;Include Actual Execution Plan&#8221; aus und bekam die Meldung, dass ein Index fehlt.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> NONCLUSTERED <span style="color: #993333; font-weight: bold;">INDEX</span> <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&lt;</span>name <span style="color: #993333; font-weight: bold;">OF</span> Missing <span style="color: #993333; font-weight: bold;">INDEX</span><span style="color: #66cc66;">,</span> sysname<span style="color: #66cc66;">,&gt;</span><span style="color: #66cc66;">&#93;</span>
<span style="color: #993333; font-weight: bold;">ON</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>OrderItemCondition<span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span>rowguid<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>Tatsächlich fehlte ein Index auf der <code>rowguid</code>-Spalte, nach Anlegen dieses Index verringerte sich die Aktualisierungszeit der Replikation von rund 7 Minuten auf eine Minute. Die Datenträgerwarteschleife verhält sich seitdem auch ruhig und die Performanceeinbrüche existieren nicht mehr.<br />
Normalerweise werden solche wichtigen Indizes von den Replikationstools automatisch angelegt. Warum das in diesem Fall nicht passiert ist kann ich nicht sagen, ich bin aber froh, das Problem gefunden und gelöst zu haben.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iucon.eu/2009/03/performanceprobleme-bei-merge-replikation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PartialUpdatePanel updated</title>
		<link>http://www.iucon.eu/2009/01/partialupdatepanel-updated-3/</link>
		<comments>http://www.iucon.eu/2009/01/partialupdatepanel-updated-3/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 17:36:10 +0000</pubDate>
		<dc:creator>Schwedt</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET Controls]]></category>
		<category><![CDATA[PartialUpdatePanel]]></category>

		<guid isPermaLink="false">http://www.iucon.biz/blog/?p=125</guid>
		<description><![CDATA[I just created a new release and uploaded it to CodePlex. The feature improvements are for now Fixed some issues with the control hierarchie ScriptManager gets initialized with all properties from the parent page More Controls from AJAXControlToolkit work, yes even the ModalPopupExtender! You can find an updated version of the PartialUpdatePanel ASP.NET-Control here: PartialUpdatePanel [...]]]></description>
			<content:encoded><![CDATA[<p>I just created a new release and uploaded it to CodePlex.</p>
<p>The feature improvements are for now</p>
<ul>
<li>Fixed some issues with the control hierarchie</li>
<li>ScriptManager gets initialized with all properties from the parent page</li>
<li>More Controls from AJAXControlToolkit work, yes even the ModalPopupExtender!</li>
</ul>
<p>You can find an updated version of the PartialUpdatePanel ASP.NET-Control here: <a href="http://www.codeplex.com/PartialUpdatePanel/Release/ProjectReleases.aspx?ReleaseId=21901" target="_blank"><br />
PartialUpdatePanel 1.7</a>.<strong></strong></p>
<p><strong><br />
So what is the PartialUpdatePanel?</strong></p>
<p>The PartialUpdatePanel provides real partial rendering of ASP.NET pages. By using this control you can experience performance improvements compared to ASP.NET AJAX UpdatePanel, because not all page data needs to be transferred. Only a minimal set of data is being transported between the client and the server before your UserControl is made fully functionable.</p>
<p><strong>Usage scenarios</strong></p>
<p>Exemplary scenarios for the usage of the PartialUpdatePanel are:</p>
<ul>
<li>Autonomous sections of your page that require PostBack-support but not the environment information of the entire web page (e.g. data lists with paging support where the user can browse through news, feeds, mails, etc.)</li>
<li>User feedback when your control has to complete long operations. In this case use a PartialUpdatePanel with render method &#8220;Clientside&#8221;. The surrounding page will be displayed with a waiting message. The user will receive an adequate feedback that something is going on and he needs to wait until it is done.</li>
</ul>
<p>More information and a version history can be found here:<br />
<a href="http://www.codeplex.com/PartialUpdatePanel" target="_blank">http://www.codeplex.com/PartialUpdatePanel</a>.</p>
<p>On codeproject I wrote an indepth technical article how the PartialUpdatePanel works:<br />
<a href="http://www.codeproject.com/KB/ajax/PartialUpdatePanel.aspx" target="_blank">http://www.codeproject.com/KB/ajax/PartialUpdatePanel.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iucon.eu/2009/01/partialupdatepanel-updated-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>System.Web.HttpException: Unable to validate data</title>
		<link>http://www.iucon.eu/2008/12/systemwebhttpexception-unable-to-validate-data/</link>
		<comments>http://www.iucon.eu/2008/12/systemwebhttpexception-unable-to-validate-data/#comments</comments>
		<pubDate>Sun, 28 Dec 2008 10:29:00 +0000</pubDate>
		<dc:creator>Schwedt</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://www.iucon.biz/blog/?p=121</guid>
		<description><![CDATA[In unsere Onlinesysteme haben wir einen Mechanismus implementiert, um auftretende Exceptions zu loggen. So finden wir Fehler, die wir mit unseren Tests nicht abdecken konnten oder an die wir nicht gedacht haben. In meinen Protokollen finde ich nun immer wieder Exceptions vom Typ System.Web.HttpException, die in der Klasse System.Web.Configuration.MachineKeySection und der Methode GetDecodedData(Byte[] buf, Byte[] [...]]]></description>
			<content:encoded><![CDATA[<p>In unsere Onlinesysteme haben wir einen Mechanismus implementiert, um auftretende Exceptions zu loggen. So finden wir Fehler, die wir mit unseren Tests nicht abdecken konnten oder an die wir nicht gedacht haben.</p>
<p>In meinen Protokollen finde ich nun immer wieder Exceptions vom Typ <code>System.Web.HttpException</code>, die in der Klasse <code>System.Web.Configuration.MachineKeySection</code> und der Methode <code><br />
GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32 dataLength)</code> geworfen werden.</p>
<p>Der vollständige StackTrace wäre</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #000000;">System.<span style="color: #0000FF;">Web</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Configuration</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">MachineKeySection</span>
GetDecodedData<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">Byte</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> buf, <span style="color: #6666cc; font-weight: bold;">Byte</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> modifier, Int32 start, Int32 length, Int32 dataLength<span style="color: #008000;">&#41;</span>
<span style="color: #000000;">System.<span style="color: #0000FF;">Web</span><span style="color: #008000;">.</span><span style="color: #0000FF;">UI</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">ObjectStateFormatter</span>
Deserialize<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">String</span> inputString<span style="color: #008000;">&#41;</span></pre></div></div>

<p>Ich konnte diese Exception nie reproduzieren und recherchierte nach der Ursache. Ich fand heraus, dass diese Exception geworfen wird, wenn der User einen Request an den Webserver abbricht. Der IIS nimmt den POST-Request entgegen und leitet ihn an ASP.NET weiter, obwohl der Request nicht vollständig angekommen ist. Ein Beispiel hierfür wäre, wenn der User ein PostBack durch einen Button-Click veranlasst, dann aber bei seinem Browser auf &#8220;Abbrechen&#8221; drückt oder einfach zur vorherigen Seite wechselt. In diesem Fall kommt der Request nicht vollständig beim IIS an, die Teildaten werden aber dennoch an ASP.NET weitergereicht. Klar, dass die Deserialisierung von unvollständigen Daten fehlschlagen muss und so wird die o.g. Exception ausgelöst.</p>
<p>Für uns als Entwickler ist das kein Grund zur Beunruhigung, der User bekommt von der Exception nichts mit, wir können sie also getrost ignorieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iucon.eu/2008/12/systemwebhttpexception-unable-to-validate-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PartialUpdatePanel updated</title>
		<link>http://www.iucon.eu/2008/11/partialupdatepanel-updated-2/</link>
		<comments>http://www.iucon.eu/2008/11/partialupdatepanel-updated-2/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 11:45:09 +0000</pubDate>
		<dc:creator>Schwedt</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET Controls]]></category>
		<category><![CDATA[PartialUpdatePanel]]></category>

		<guid isPermaLink="false">http://www.iucon.biz/blog/?p=118</guid>
		<description><![CDATA[PartialUpdatePanel got some massive improvements in the current release! Here are some of them Added encryption support for UserControl path Added support for custom ScriptManager types (includes ToolkitScriptManager) Added support for ToolkitScriptManager.CombineScriptsHandlerUrl Change UserControlPath using JavaScript during runtime Manipulate Parameters serverside during roundtrip Fixed issue using validators and rendering in Clientside mode Fixed a bug [...]]]></description>
			<content:encoded><![CDATA[<p>PartialUpdatePanel got some massive improvements in the current release!<br />
Here are some of them</p>
<ul>
<li>Added encryption support for UserControl path</li>
<li>Added support for custom ScriptManager types (includes ToolkitScriptManager)</li>
<li>Added support for ToolkitScriptManager.CombineScriptsHandlerUrl</li>
<li>Change UserControlPath using JavaScript during runtime</li>
<li>Manipulate Parameters serverside during roundtrip</li>
<li>Fixed issue using validators and rendering in Clientside mode</li>
<li>Fixed a bug with recreating components</li>
<li>Added some more demos to show the new features</li>
</ul>
<p><strong>Attention</strong>: If you use this version, you have to make some changes in your code:</p>
<ul>
<li>web.config: Add (with user defined value of course)</li>
<li> The use of parameter collection changed.

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">new</span> iucon<span style="color: #008000;">.</span><span style="color: #0000FF;">web</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Controls</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ParameterCollection</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span></pre></div></div>

<p>is no longer supported. Use</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">iucon<span style="color: #008000;">.</span><span style="color: #0000FF;">web</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Controls</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ParameterCollection</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Instance</span></pre></div></div>

<p>instead</li>
</ul>
<p>You can find an updated version of the PartialUpdatePanel ASP.NET-Control here: <a href="http://www.codeplex.com/PartialUpdatePanel/Release/ProjectReleases.aspx?ReleaseId=19378"></a></p>
<p><a href="http://www.codeplex.com/PartialUpdatePanel/Release/ProjectReleases.aspx?ReleaseId=19378">PartialUpdatePanel 1.6</a>.</p>
<p><strong>So what is the PartialUpdatePanel?</strong></p>
<p>The PartialUpdatePanel provides real partial rendering of ASP.NET  pages. By using this control you can experience performance improvements  compared to ASP.NET AJAX UpdatePanel, because not all page data needs  to be transferred. Only a minimal set of data is being transported  between the client and the server before your UserControl is made fully  functionable.</p>
<p><strong>Usage scenarios</strong></p>
<p>Exemplary scenarios for the usage of the PartialUpdatePanel are:</p>
<ul>
<li>Autonomous sections of your page that require PostBack-support but  not the environment information of the entire web page (e.g. data lists  with paging support where the user can browse through news, feeds,  mails, etc.)</li>
<li>User feedback when your control has to complete long operations. In  this case use a PartialUpdatePanel with render method “Clientside”. The  surrounding page will be displayed with a waiting message. The user will  receive an adequate feedback that something is going on and he needs to  wait until it is done.</li>
</ul>
<p>More information and a version history can be found here:<br />
<a href="http://www.codeplex.com/PartialUpdatePanel" target="_blank">http://www.codeplex.com/PartialUpdatePanel</a>.</p>
<p>On codeproject I wrote an indepth technical article how the  PartialUpdatePanel works:<br />
<a href="http://www.codeproject.com/KB/ajax/PartialUpdatePanel.aspx" target="_blank">http://www.codeproject.com/KB/ajax/PartialUpdatePanel.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iucon.eu/2008/11/partialupdatepanel-updated-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Database in SUSPECT-Modus</title>
		<link>http://www.iucon.eu/2008/11/database-in-suspect-modus/</link>
		<comments>http://www.iucon.eu/2008/11/database-in-suspect-modus/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 10:00:58 +0000</pubDate>
		<dc:creator>Schwedt</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[SQL Server Express]]></category>

		<guid isPermaLink="false">http://www.iucon.biz/blog/?p=116</guid>
		<description><![CDATA[Nach einem Server-Neustart beglückte mich heute der SQL Server mit einer Meldung, dass eine Datenbank &#8220;suspect&#8221; sei. &#8220;Was ist das denn???&#8221;, fragte ich mich. Nach ein wenig Recherche fand ich heraus, wann eine Datenbank als suspect markiert wird: If one or more database files are not available. If the entire database is not available. If [...]]]></description>
			<content:encoded><![CDATA[<p>Nach einem Server-Neustart beglückte mich heute der SQL Server mit einer Meldung, dass eine Datenbank &#8220;suspect&#8221; sei. &#8220;Was ist das denn???&#8221;, fragte ich mich.<br />
Nach ein wenig Recherche fand ich heraus, wann eine Datenbank als suspect markiert wird:</p>
<blockquote><p>
If one or more database files are not available.<br />
If the entire database is not available.<br />
If one or more database files are corrupted.<br />
If a database resource is being held by the operating system.
</p></blockquote>
<p>Quelle: SQL Server Books Online</p>
<p>Da ich weder die Datenbank umbenannt noch Dateien gelöscht hatte, konnte der Status nur bedeuten, dass die Datenbank korrupt ist.<br />
Zur Lösung des Problems kamen folgende Kommandos zum Einsatz:</p>
<p>1) Setzen der Datenbank in exklusiven Modus für Admin-Tätigkeit</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">DATABASE</span> myDatabase <span style="color: #993333; font-weight: bold;">SET</span> Single_User</pre></div></div>

<p>2) Setzen der Datenbank in Wartungsmodus</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">ALTER</span> DATABAS myDatabase <span style="color: #993333; font-weight: bold;">SET</span> Emergency</pre></div></div>

<p>3) Überprüfen der Datenbank Teil 1</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">DBCC CheckDB <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'myDatabase '</span><span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>Hier erhält man eine Meldung, mit welchem Modus die Datenbank repariert werden kann</p>
<p>4) Überprüfen der Datenbank Teil 2</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">DBCC CheckDB <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'myDatabase'</span><span style="color: #66cc66;">,</span> REPAIR_ALLOW_DATA_LOSS<span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>5) Zurücksetzen der Datenbank in shared-Modus</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">DATABASE</span> myDatabase <span style="color: #993333; font-weight: bold;">SET</span> Multi_User</pre></div></div>

<p>Das hat das Problem bei mit gelöst. Zum Glück gingen trotz REPAIR_ALLOW_DATA_LOSS keine Daten verloren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iucon.eu/2008/11/database-in-suspect-modus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSMS: Adding submenus to context menu</title>
		<link>http://www.iucon.eu/2008/11/ssms-adding-submenus-to-context-menu/</link>
		<comments>http://www.iucon.eu/2008/11/ssms-adding-submenus-to-context-menu/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 14:51:45 +0000</pubDate>
		<dc:creator>Schwedt</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Addin]]></category>
		<category><![CDATA[SQL Server Management Studio]]></category>

		<guid isPermaLink="false">http://www.iucon.biz/blog/?p=95</guid>
		<description><![CDATA[If you want to add a menu item to the ObjectExplorer&#8217;s context menu, the proceeding is quite simple. Create a class that inherits from ToolsMenuItemBase public class MenuItem : ToolsMenuItemBase &#123;  public MenuItem&#40;&#41;  &#123;  this.Text = &#34;New menu item&#34;;  &#125; &#160;  protected override void Invoke&#40;&#41;  &#123;  // do something  &#125; &#160;  public override object Clone&#40;&#41; [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to add a menu item to the ObjectExplorer&#8217;s context menu, the proceeding is quite simple.</p>
<p>Create a class that inherits from <code>ToolsMenuItemBase</code></p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> MenuItem <span style="color: #008000;">:</span> ToolsMenuItemBase
<span style="color: #008000;">&#123;</span>
 <span style="color: #0600FF; font-weight: bold;">public</span> MenuItem<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
 <span style="color: #008000;">&#123;</span>
 <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Text</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;New menu item&quot;</span><span style="color: #008000;">;</span>
 <span style="color: #008000;">&#125;</span>
&nbsp;
 <span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> Invoke<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
 <span style="color: #008000;">&#123;</span>
 <span style="color: #008080; font-style: italic;">// do something</span>
 <span style="color: #008000;">&#125;</span>
&nbsp;
 <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">object</span> Clone<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
 <span style="color: #008000;">&#123;</span>
 <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">new</span> MenuItem<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
 <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>and attach it to the ObjectExplorer&#8217;s menu</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">IObjectExplorerService objectExplorer <span style="color: #008000;">=</span> ServiceCache<span style="color: #008000;">.</span><span style="color: #0000FF;">GetObjectExplorer</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
objectExplorer<span style="color: #008000;">.</span><span style="color: #0000FF;">GetSelectedNodes</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">out</span> nodeCount, <span style="color: #0600FF; font-weight: bold;">out</span> nodes<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
INodeInformation node <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span>nodeCount <span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">?</span> nodes<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">:</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>_tableMenu <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
 _tableMenu <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span>HierarchyObject<span style="color: #008000;">&#41;</span>node<span style="color: #008000;">.</span><span style="color: #0000FF;">GetService</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>IMenuHandler<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
 MenuItem item <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> MenuItem<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
 _tableMenu<span style="color: #008000;">.</span><span style="color: #0000FF;">AddChild</span><span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Empty</span>, item<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>What if you now intend to create a menu item that again contains a sub menu? <code>ToolsMenuItemBase</code> provides a method called <code>AddChild</code>. Using this method should be the obvious way to create sub menus.</p>
<p>But any call like <code>item.AddChild(string.Empty, new SubMenuItem())</code> simply does nothing.</p>
<p>Using Reflector, I found a solution to achieve the desired behaviour.</p>
<p>The trick is to implement an interface called <code>IWinformsMenuHandler</code>. You will need to create a method <code>GetMenuItems</code>. It is here where you can create a new menu hierarchy.</p>
<p>The new class looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> MenuItem <span style="color: #008000;">:</span> ToolsMenuItemBase, IWinformsMenuHandler
<span style="color: #008000;">&#123;</span>
<span style="color: #0600FF; font-weight: bold;">public</span> MenuItem<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> Invoke<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">object</span> Clone<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
<span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">new</span> MenuItem<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #000000;">System</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Windows</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Forms</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToolStripItem</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> GetMenuItems<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
ToolStripMenuItem item <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> ToolStripMenuItem<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Menu Item&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
ToolStripMenuItem subItem <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> ToolStripMenuItem<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Sub item&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
subItem<span style="color: #008000;">.</span><span style="color: #0000FF;">Click</span> <span style="color: #008000;">+=</span> <span style="color: #008000;">new</span> EventHandler<span style="color: #008000;">&#40;</span>SubItem_Click<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
item<span style="color: #008000;">.</span><span style="color: #0000FF;">DropDownItems</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span>subItem<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
item<span style="color: #008000;">.</span><span style="color: #0000FF;">DropDownItems</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ToolStripSeparator<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
item<span style="color: #008000;">.</span><span style="color: #0000FF;">DropDownItems</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ToolStripMenuItem<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Sub item2&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">new</span> ToolStripItem<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#123;</span> item <span style="color: #008000;">&#125;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>When implementing <code> IWinformsMenuHandler</code> setting the properties of <code>ToolsMenuItemBase</code> will be useless. E.g. <code>this.Text = "Menu item"</code> will be relpaced by <code>ToolStripMenuItem item = new ToolStripMenuItem("Menu Item");</code>. Also <code>Invoke()</code> will never be called, but the event handler of your <code> ToolStripMenuItem</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iucon.eu/2008/11/ssms-adding-submenus-to-context-menu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New SSMS Addin: DataScripter</title>
		<link>http://www.iucon.eu/2008/11/new-ssms-addin-datascripter/</link>
		<comments>http://www.iucon.eu/2008/11/new-ssms-addin-datascripter/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 14:33:57 +0000</pubDate>
		<dc:creator>Schwedt</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Addin]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[SQL Server Management Studio]]></category>

		<guid isPermaLink="false">http://www.iucon.biz/blog/?p=93</guid>
		<description><![CDATA[I am glad to introduce a new addin for SSMS 2008 you might find useful. The addin attaches a new function to the ObjectExplorer&#8217;s context menu. You can easily generate INSERT statements for all data of a selected table. Find the setup and sourcecode on my codeplex project CodePlex: DataScripter]]></description>
			<content:encoded><![CDATA[<p>I am glad to introduce a new addin for SSMS 2008 you might find useful.</p>
<p>The addin attaches a new function to the ObjectExplorer&#8217;s context menu.</p>
<p>You can easily generate INSERT statements for all data of a selected table.</p>
<p><img src="http://www.iucon.eu/wp-content/uploads/2010/04/DataScripter.png" alt="DataScripter Screenshot" /></p>
<p>Find the setup and sourcecode on my codeplex project <a href="http://www.codeplex.com/SSMSAddins/Release/ProjectReleases.aspx?ReleaseId=19122" target="_blank">CodePlex: DataScripter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iucon.eu/2008/11/new-ssms-addin-datascripter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vorstellung der Adobe CS4 im E-Werk (Köln)</title>
		<link>http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/</link>
		<comments>http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 15:56:16 +0000</pubDate>
		<dc:creator>Schuetz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[CS4]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.iucon.biz/blog/?p=87</guid>
		<description><![CDATA[Vorige Woche Mittwoch wagten Carsten Schütz und Stefan Sockel den Weg nach Köln zum ersten Deutschlandtermin der Adobe Creative Suite 4 Tour. Wir hatten uns vorgenommen nicht nur mehr über die neuen Features der Adobe Instrumente zu erfahren, sondern auch einen &#8220;Shortcut To Brilliant&#8220;, also eine Abkürzung zur Brillianz, wie der mutige Untertitel der Veranstaltung verlautbarte, zu erreichen. Was [...]]]></description>
			<content:encoded><![CDATA[<p>Vorige Woche Mittwoch wagten Carsten Schütz und Stefan Sockel den Weg nach Köln zum ersten Deutschlandtermin der <a href="http://www.shortcut-to-brilliant.com" target="_blank">Adobe Creative Suite 4 Tour</a>. Wir hatten uns vorgenommen nicht nur mehr über die neuen Features der Adobe Instrumente zu erfahren, sondern auch einen &#8220;<em>Shortcut To Brilliant</em>&#8220;, also eine Abkürzung zur Brillianz, wie der mutige Untertitel der Veranstaltung verlautbarte, zu erreichen. Was das wohl bedeuten würde? Gespannt folgten wir der kurzen Einführungs-Keynote, die neben der obligatorischen Vorstellung der Sponsoren eine Übersicht über den kommenden Tag bot. Der von uns favorisierte Programmpunkt <strong><em>Erstellen interaktiver Anwendungen</em></strong> sollte erst am späten Nachmittag ganz zum Schluß stattfinden. Bis dahin allerdings sollte uns nicht langweilig werden!</p>

			<!-- generated by showtime WP plugin -->
			<script type='text/javascript'>
			
				var flashvars = {
					
				xml 			: 'http://www.iucon.eu/wp-content/plugins/showtime-slideshow/showtime/getxml.php?attr=id^87*source^medium*sourcehd^large*',
				
				width           : '550',
				height          : '275',
				classid         : 'st_0',

				rotationtime    : '5',
				transition      : 'SlideRight',
				transitiontime  : '0.5',
				transitionease  : 'QuarticEaseInOut',
				autoplay        : '',
				showcontrols    : 'on',
				controls        : '1224',
				textbgcolor     : '',

				showtext        : '',
				showalt         : '',
				shuffle         : 'on',
				scale           : 'showAll',
				target          : '_self'			
				
				
				};
				
				var params = {};
				params.allowFullScreen = 'true';
				params.bgcolor = '#000000';		
				params.quality = 'autohigh';		
				params.wmode = 'window';
				//params.base = 'dirname(__FILE__)';
				//params.allowScriptAccess = 'local';
			
				var attributes = {};
				attributes.styleclass = 'showtime';
												
				swfobject.embedSWF ('http://www.iucon.eu/wp-content/plugins/showtime-slideshow/showtime/st16.swf', 'st_0', '550', '275', '10.0.0', 'false', flashvars, params, attributes);
			</script>
	
					
			<!-- alternative content -->	
			<div id='st_0'>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_02-2/' title='blog_adobe2008_02'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_02-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_02" title="blog_adobe2008_02" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_03-2/' title='blog_adobe2008_03'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_03-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_03" title="blog_adobe2008_03" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_04-2/' title='blog_adobe2008_04'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_04-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_04" title="blog_adobe2008_04" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_05-2/' title='blog_adobe2008_05'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_05-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_05" title="blog_adobe2008_05" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_06-2/' title='blog_adobe2008_06'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_06-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_06" title="blog_adobe2008_06" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_07-2/' title='blog_adobe2008_07'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_07-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_07" title="blog_adobe2008_07" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_08-2/' title='blog_adobe2008_08'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_08-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_08" title="blog_adobe2008_08" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_09-2/' title='blog_adobe2008_09'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_09-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_09" title="blog_adobe2008_09" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_10-2/' title='blog_adobe2008_10'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_10-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_10" title="blog_adobe2008_10" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_11-2/' title='blog_adobe2008_11'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_11-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_11" title="blog_adobe2008_11" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_12-2/' title='blog_adobe2008_12'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_12-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_12" title="blog_adobe2008_12" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_13-2/' title='blog_adobe2008_13'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_13-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_13" title="blog_adobe2008_13" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_14-2/' title='blog_adobe2008_14'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_14-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_14" title="blog_adobe2008_14" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_15-2/' title='blog_adobe2008_15'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_15-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_15" title="blog_adobe2008_15" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_16-2/' title='blog_adobe2008_16'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_16-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_16" title="blog_adobe2008_16" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_17-2/' title='blog_adobe2008_17'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_17-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_17" title="blog_adobe2008_17" /></a>
<a href='http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/blog_adobe2008_01/' title='blog_adobe2008_01'><img width="150" height="150" src="http://www.iucon.eu/wp-content/uploads/2008/11/blog_adobe2008_01-150x150.jpg" class="attachment-thumbnail" alt="blog_adobe2008_01" title="blog_adobe2008_01" /></a>
</div>
					
			

<p>Die neuen Funktionen, idealisierten Arbeitsabläufe und selbst kleinere Veränderungen aller vorgestellter Programme von CS4 überzeugten durchgehend. Die Speaker, die stets zu Zweit den linken und rechten Rand der Bühne besetzten, wußten unterhaltsam und professionell ihr Produkt in Szene zu setzen. Wir gewannen den Eindruck, dass die Vortragenden weniger Vertriebsarbeit leisteten, sondern aus eigener Überzeugung Photoshop und Co. vorstellten.</p>
<p>Zu den neuen Features, die einem in Gedanken hängen bleiben, zählt wahrscheinlich auch das <em>Angstfreie Skalieren</em> bzw., so heißt die Funktion dann im lokalisierten PS CS4, <em>Inhalt beim Skalieren bewahren</em>. Diese Funktion ermöglicht es, ein Bild zu skalieren ohne dabei das Seitenverhältnis beizubehalten. Das klingt zunächst nach schlimmen Verzerren! Der Clou ist aber, dass PS Bildinhalte erkennt, und z.B. nur die Landschaft, nicht aber Gegenstände im Vordergrund skaliert. Eine wirklich tolle Funktion, vor allem wenn man auf einer Website ein Bild in einem extremen Querformat hat. Hier musste man bisher tricksen um ein brauchbares Ergebnis zu erzielen, das <em>Angstfreie Skalieren</em> nimmt einem hier einiges an Arbeit ab! Mehr über diese Funktion erfährt man auch im <a href="http://www.shortcut-to-brilliant.com/cgi-bin/WebObjects/Shortcut2Brilliant.woa/wa/displayPage?page=weblog" target="_blank">Shortcut To Brilliant Weblog</a>.</p>
<p>Das war nur ein Beispiel der vielen neuen Funktionen die im Laufe des Tages vorgestellt wurden. Unser Fazit: Ein informativer und, bei allen Marketingmaßnahmen die auf einen einströmen, konstruktiver Tag der einem die neue Revision der Creative Suite näher gebracht hat.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iucon.eu/2008/11/vorstellung-der-adobe-cs4-im-e-werk-koln/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTTPStatus beim dynamischen Laden eines Images abfragen</title>
		<link>http://www.iucon.eu/2008/10/httpstatus-beim-dynamischen-laden-eines-images-abfragen/</link>
		<comments>http://www.iucon.eu/2008/10/httpstatus-beim-dynamischen-laden-eines-images-abfragen/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 15:24:23 +0000</pubDate>
		<dc:creator>Schuetz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://www.iucon.biz/blog/?p=69</guid>
		<description><![CDATA[Wenn man in einer Flex-Anwendung ein Image dynamisch nachladen möchte, ist man evtl., je nach Kontext, darauf angewiesen, den Erfolg des Nachladens sicherzustellen. Das kann z.B. dann der Fall sein, wenn das Ausführen von weiteren Programmschritten davon anbhängt. Ein Ansatzpunkt ist das Abfragen des HTTPStatus. Über einen Listener, der an die entsprechende Image-Komponente attached wird, [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn man in einer Flex-Anwendung ein Image dynamisch nachladen möchte, ist man evtl., je nach Kontext, darauf angewiesen, den Erfolg des Nachladens sicherzustellen. Das kann z.B. dann der Fall sein, wenn das Ausführen von weiteren Programmschritten davon anbhängt. Ein Ansatzpunkt ist das Abfragen des <code>HTTPStatus</code>.</p>
<p>Über einen Listener, der an die entsprechende Image-Komponente attached wird, lässt sich das <code>HTTPStatusEvent</code> überwachen. Über das Property <code>status</code> kann dann der Erfolg des Nachladens überprüft werden.<br />
Einen Haken hat diese Methode allerdings: Der Flash Player erzeugt in den Browsern Netscape, Mozilla, Safari, Opera und IE (Mac) immer den Code 0. Das ist natürlich wenig hilfreich. Mann kann das <code>HTTPStatusEvent</code> jedoch dennoch nutzen, da zu jedem <code>HTTPStatus</code> der Listener anspricht. Fragt man also im Listener noch die bisher geladenen Bytes im Verhältnis zu allen Bytes (Dateigröße des Images) ab, kann man den Erfolg des Nachladens sicherstellen.</p>
<p>Der Actionscript-Code für das Anhängen eines Listener (an einer Image-Komponente):</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">...
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> loadedImage:Image = <span style="color: #000000; font-weight: bold;">new</span> Image<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
loadedImage.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>HTTPStatusEvent.<span style="color: #006600;">HTTP_STATUS</span>, handleImgLoadedHTTPStatus<span style="color: #66cc66;">&#41;</span>;
loadedImage.<span style="color: #006600;">source</span> = <span style="color: #ff0000;">&quot;http://dynamicsource.something&quot;</span>;
...</pre></div></div>

<p>Der entsprechende Code für die Handler-Funktion:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleImgLoadedHTTPStatus<span style="color: #66cc66;">&#40;</span>evt:HTTPStatusEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">switch</span> <span style="color: #66cc66;">&#40;</span>evt.<span style="color: #0066CC;">status</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">0</span>:
            <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>loadedImage <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; loadedImage.<span style="color: #0066CC;">bytesLoaded</span> == loadedImage.<span style="color: #0066CC;">bytesTotal</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	            <span style="color: #808080; font-style: italic;">// do something very important here...</span>
            <span style="color: #66cc66;">&#125;</span>
            <span style="color: #b1b100;">break</span>;
        <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">404</span>:
            <span style="color: #808080; font-style: italic;">// if status is send, Code 404 simply means: image has not been found!</span>
            <span style="color: #b1b100;">break</span>;
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Inspiriert durch den <a href="http://blog.flexexamples.com" target="_blank">Weblog von Peter deHaan</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iucon.eu/2008/10/httpstatus-beim-dynamischen-laden-eines-images-abfragen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

