<?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>Websiteudvikler &#187; API</title>
	<atom:link href="http://websiteudvikler.dk/post/tag/api/feed" rel="self" type="application/rss+xml" />
	<link>http://websiteudvikler.dk</link>
	<description>website development, CMS, e-commerce, data integration and web analytics</description>
	<lastBuildDate>Thu, 02 Feb 2012 22:21:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Dynamicweb 8 i beta med nyt API og Online Marketing Center</title>
		<link>http://websiteudvikler.dk/post/dynamicweb-8-i-beta-med-nyt-api-og-online-marketing-center.html</link>
		<comments>http://websiteudvikler.dk/post/dynamicweb-8-i-beta-med-nyt-api-og-online-marketing-center.html#comments</comments>
		<pubDate>Thu, 03 Nov 2011 21:02:09 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Dynamicweb]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Microsoft .NET]]></category>

		<guid isPermaLink="false">http://websiteudvikler.dk/?p=623</guid>
		<description><![CDATA[Primært så er Dynamicweb 8 dog et motorskifte forstået på den måde, at selve Dynamicweb koden bliver skiftet ud og omstruktureret til fordel for, at komme op på nyere teknologi, så systemet nu skal køre på Microsofts .NET Framework 4.0]]></description>
			<content:encoded><![CDATA[<p>Dynamicweb 8, som lanceres i januar 2012, er nu gået i Beta test og jeg har i noget tid kigget på deres CTP release.</p>
<p><a href="http://farm7.static.flickr.com/6222/6309816151_5dfb23e35e.jpg"><img class="alignnone" title="Dynamicweb 8 Login" src="http://farm7.static.flickr.com/6222/6309816151_5dfb23e35e.jpg" alt="" width="500" height="307" /></a></p>
<p>Dynamicweb 8 kommer med nogle opdatering til modulerne og et nyt modul, Online Marketing Center, som giver mulighed for, at sætte dine ukendte besøgende lidt i system baseret på nogle informationer, som de både tager med sig, men også lidt om deres tidligere besøg.</p>
<p><a href="http://farm7.static.flickr.com/6222/6309863413_fcf124620d.jpg"><img class="alignnone" title="Dynamicweb 8 Online Marketing Center" src="http://farm7.static.flickr.com/6222/6309863413_fcf124620d.jpg" alt="" width="500" height="307" /></a></p>
<p>Primært så er Dynamicweb 8 dog et motorskifte forstået på den måde, at selve Dynamicweb koden bliver skiftet ud og omstruktureret til fordel for, at komme op på nyere teknologi, så systemet nu skal køre på Microsofts .NET Framework 4.0. Hvad der helt praktisk bliver nyt i Dynamicwebs API kan du følge med i på Dynamicwebs Udviklingschef og medstifters blog <a title="Nicolai Pedersen" href="http://nicolaipedersen.com" target="_blank">http://nicolaipedersen.com</a> hvor der allerede findes flere blogpost om Refactoring af Dynamicwebs API.</p>
<p>Som udvikler på Dynamicweb platformen synes jeg, at dette tiltag er længe ventet. Jeg havde håbet, at Dynamicweb ville have gjort dette arbejde de nu har gjort tilbage til, da de konverterede deres ASP version til .NET, men nu begynder det at ligne noget, der bliver bedre at arbejde med.<br />
En bedre struktur i API&#8217;ets områder, et mere moderne .NET 4 framework som byder på rigtig mange forbedringer og genveje i forhold til at Dynamicwebs eksisterende API bygger primært på .NET 1.1 men også .NET 2.0. Det betyder, at vi nu kan bruge LINQ og selvfølgelig også alle de nye ting som anonyme typer, dynamic type, option parametre og en masse mere, som er kommer dels i .NET 3.5 og 4.</p>
<p>Beta testen viser p.t. at hvis du har fået udviklet på din løsning og dermed har en custom-løsning, så er du nødt til at få din Dynamicweb partner til at teste en opdatering. Der er lavet nogle ret fundamentale ting om i Dynamicwebs API og bare skiftet fra .NET 2 og til .NET 4, giver mig altså nogle problemer, som at Dynamicweb ikke kan finde mine moduler og mine tilpasninger, men hvis jeg åbner mine projektet og opgradere dem til Framework 4.0 og retter et par fejl, så kører det igen, så der ligger forhåbentlig ikke det store i det.</p>
<p>Men standardløsninger, bør være lige til, og bliver også de første som får glæde af den Online Marketing Centeret.</p>
<p>Har du spørgsmål til din Dynamicweb løsning uanset om du har dit eget website i Dynamicweb eller om du er Dynamicweb Partner, så bare spørg, jeg vil gerne undersøge nogle ting for dig &#8211; helt uforpligtende naturligvis.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://websiteudvikler.dk/post/dynamicweb-8-i-beta-med-nyt-api-og-online-marketing-center.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamicweb søgefiltre bliver bedre efter en workshop</title>
		<link>http://websiteudvikler.dk/post/dynamicweb-soegefiltre-bliver-bedre-efter-en-workshop.html</link>
		<comments>http://websiteudvikler.dk/post/dynamicweb-soegefiltre-bliver-bedre-efter-en-workshop.html#comments</comments>
		<pubDate>Tue, 17 May 2011 18:32:06 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Webudvikling]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Dynamicweb]]></category>
		<category><![CDATA[Ecommerce]]></category>

		<guid isPermaLink="false">http://websiteudvikler.dk/?p=602</guid>
		<description><![CDATA[Dynamicweb workshoppen kastede en workaround af sig samme dag, og endnu en opdatering i sigte indenfor en uges tid - rigtig godt gået Dynamicweb, tak!]]></description>
			<content:encoded><![CDATA[<p>Workshoppen i dag hos Dynamicweb koncentrerede sig om to ting. Først havde vi strengt brug for en mulighed for sprogstyring af filtrene og det lovede Dynamicweb, at det kunne vi få i dag.</p>
<p>Her til aften er der så tikket en mail ind med en hotfix release 19.2.3.1, hvor det nu er muligt at lave extensions til filtre, hvilket betyder, at vi nu har mulighed for at oversætte filtrene. Det er f&#8230;.. pisse godt gået Dynamicweb, at i inden for meget kort tid, stemmer de rigtig folk sammen om en workshop for at få input, og så leverer i &#8211; det er så lækkert!</p>
<p>Tusind tak til Kristian Knudsen, Jeppe Eriksson Agger, <a href="http://volpav.wordpress.com/" target="_blank">Pavel Volgarev</a> og fedt også at høre inputs fra Lars Sørensen (Bleau A/S).</p>
<p>I næste uge vil der komme endnu en hotfix release, hvor det så bliver muligt at oversætte data i ProductCategory modulet samt at paginering fejlen vil være løst.</p>
<p>Det ser vi frem til.</p>
<p>Der blev også tid til, at snakke lidt omkring JSON og XML output fra søgninger op med det nye Lucene indeks. Og Pavel var skarp og fandt lidt i gemmerne, som jeg lige vil dele.<br />
I søgninger på produkter kan du tilføje et paragraphID og o=json eller 0=xml til URL&#8217;en, så får du output som JSON og XML. Lækker detalje, hvis du skal lave AJAX søgninger.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://websiteudvikler.dk/post/dynamicweb-soegefiltre-bliver-bedre-efter-en-workshop.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dynamicweb eCommerce fornyelse i Notification på Completed Order</title>
		<link>http://websiteudvikler.dk/post/dynamicweb-ecommerce-fornyelse-i-notification-paa-completed-order.html</link>
		<comments>http://websiteudvikler.dk/post/dynamicweb-ecommerce-fornyelse-i-notification-paa-completed-order.html#comments</comments>
		<pubDate>Sun, 31 Oct 2010 19:06:07 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Dynamicweb]]></category>
		<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Webshop]]></category>

		<guid isPermaLink="false">http://websiteudvikler.dk/?p=542</guid>
		<description><![CDATA[Læs om, hvorfor du ikke længere i Dynamicweb eCommerce nye indkøbskurv "Cart V2" kan gemme bruger data i Sessions i Cookies, hvis der er online betaling på løsningen og data skal bruges igen i en Notification Subscriber som lytter på at Ordre bliver gennemført.]]></description>
			<content:encoded><![CDATA[<p>I mit arbejde med den nye indkøbskurv også kaldet &#8220;Cart V2&#8243; er jeg stødt ind i en nyhed omkring en Notification på når en Order (Cart) er Completed og dermed gennemført, som kostede en del grå hår, så jeg håber jeg kan spare dine.</p>
<p><a href="http://websiteudvikler.dk/post/dynamicweb-ecommerce-fornyelse-i-notification-paa-completed-order.html#solution">Gå direkte til løsningen</a></p>
<h2>Nyheden i Dynamicweb eCommerce Cart V2</h2>
<p>Til Cart v2 er der kommet en ny Notification Subscriber &#8220;Dynamicweb.Ecom7.Cart.Notifications.CheckoutDoneOrderIsComplete&#8221;. Denne bliver fyret af, når ordren er betalt i mit tilfælde og kunden dermed har gennemført sin ordre.</p>
<p>Så jeg skulle implementere en ellers triviel lille detalje når en ordre var betalt, så skulle jeg lige sende en mail ud til kunden, så jeg gemte nogle indstillinger i brugerens Session under checkout og ville så udføre følgende når ordre.</p>
<pre>
public override void OnNotify( string notification, Dynamicweb.Extensibility.NotificationArgs args )
{
    string settings = HttpContext.Current.Session["settings"].ToString();
    SendMail(settings);
    base.OnNotify( notification, args );
}
</pre>
<p>Altså at tage fat i min Session igen og så sende en e-mail ud, men min detalje fejlede konsekvent! ARGH! Nå, jeg tjekkede ecom log&#8217;en jeg tjekkede ordre loggen og sidst måtte jeg lige lave min egen lille try/catch:</p>
<pre>
public override void OnNotify( string notification, Dynamicweb.Extensibility.NotificationArgs args )
{
    try
    {
        string settings = HttpContext.Current.Session["settings"].ToString();
        SendMail(settings)
    }
    catch ( Exception ex )
    {
        LogToFile.Log( ex.ToString(), "/eCom/CheckoutHandler/CustomLog", LogToFile.LogType.ManyEntriesPerFile );
    }
    base.OnNotify( notification, args );
}
</pre>
<p><a name="solution"></a></p>
<h2>Løsningen til Cart V2</h2>
<p>Og så fandt jeg ud af, at min Session ikke eksisterede! Den var null, ØV, hvordan nu det?</p>
<p>Jo, efter noget grundig eftertænksomhed, fandt jeg frem til, at denne Notification ikke bliver fyret af af min brugers browser!!! Men af et &#8220;callback&#8221; fra min betalings-gateway i dette tilfælde &#8220;Quick Pay&#8221;, det fandt jeg ud af, ved at kontrollere REMOTE_ADDR server variablen.</p>
<p>Så prøv at huske følgende:</p>
<p>Hvis du arbejder med Cart V1 i Dynamicweb eCommerce, så har du en Notfication Subscriber på &#8220;Dynamicweb.Notifications.eCommerce.Order.Steps.Completed&#8221; og denne bliver altså fyret af af din brugers browser.</p>
<p>Hvis du arbejder med Cart V2 i Dynamicweb eCommerce, så har du en Notification Subscriber på &#8220;Dynamicweb.Ecom7.Cart.Notifications.CheckoutDoneOrderIsComplete&#8221;, og denne bliver altså fyret af af din betalings-gateways server, hvis du altså har online betaling på selvfølgelig.</p>
<p>Jeg håber denne blogpost kan spare dig for lidt grå hår og CPU forbrug i knolden!</p>
]]></content:encoded>
			<wfw:commentRss>http://websiteudvikler.dk/post/dynamicweb-ecommerce-fornyelse-i-notification-paa-completed-order.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Dynamicweb modul til at fjerne statistik script</title>
		<link>http://websiteudvikler.dk/post/dynamicweb-modul-til-at-fjerne-statistik-script.html</link>
		<comments>http://websiteudvikler.dk/post/dynamicweb-modul-til-at-fjerne-statistik-script.html#comments</comments>
		<pubDate>Thu, 23 Sep 2010 21:08:07 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[Webudvikling]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Dynamicweb]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://websiteudvikler.dk/?p=506</guid>
		<description><![CDATA[I udviklingen af et website i Dynamicweb løb jeg ind i et problem, som tog tid at opklare men heldigvis kunne løses relativ nemt, nemlig med et lille modul.]]></description>
			<content:encoded><![CDATA[<p>I udviklingen af et website i <a href="http://www.dynamicweb.dk" target="_blank">Dynamicweb </a>løb jeg ind i et problem, som tog tid at opklare men heldigvis kunne løses relativ nemt, nemlig med et lille modul.</p>
<h2>Vores situation med Flash indlæsning af XML data</h2>
<p>Vi ville indlæse <a href="http://www.w3.org/XML/" target="_blank">XML</a> data fra en Dynamicweb løsning ind i en Flash film som lå på et andet domæne navn.</p>
<p>www.domain1.com (<a href="http://www.adobe.com/products/flashplayer/" target="_blank">Flash</a> viser data fra XML output fra www.domain2.com/Default.aspx?ID=123)</p>
<p>Når vores bruger nu er på www.domain1.com og skal have hentet en side fra www.domain2.com, så startes der en ny <a href="http://en.wikipedia.org/wiki/Session_(computer_science)#HTTP_session_token" target="_blank">session</a> på www.domain2.com, og når der startes en ny session på en Dynamicweb løsning, så er der et fint javascript i slutning af dit indhold.</p>
<p>Uheldigvis gør dette javascript i vores tilfælde vores XML ugyldig og Flash filmen kunne ikke læse XML&#8217;en (klart!), men hvis vi trykkede F5, så fungerede det (klart! vi har jo en kørende session på www.domain2.com, og dermed laves der ikke noget javascript på vores side 2. gang).</p>
<h2>Udviklet løsning med Dynamicweb API</h2>
<p>Vi var så heldige at Dynamicweb API&#8217;et giver os mulighed for at bestemme om dette javascript skulle med ud på siden eller ej.</p>
<p>Med en PageTemplateExtender kan vi udføre flg.:</p>
<div id="_mcePaste"><span style="color: #0000ff;">public override void</span> RenderTemplate( Dynamicweb.Templatev2.<span style="color: #99ccff;">Template</span> Template )</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste"><span style="color: #0000ff;">base</span>.PageView.StatisticsJsScript = &#8220;&#8221;;</div>
<div id="_mcePaste">}</div>
<p>Men vi kan ikke bare fjerne det konsekvent, så der måtte noget mere til for at det kunne ville gælde for den side, som leverede noget XML.</p>
<p>Derfor lavede jeg et lille modul, hvor vi kan registrere de ID-numre på sider, hvor javascriptet konsekvent skal fjernes fra.</p>
<p>Kan du bruge sådan et modul eller måske har du lyst til at bygge videre på det til et anden formål, så skriv til mig på <a href="mailto:kevin@websiteudvikler.dk?Subject=DwPageStatsRemover&amp;Body=">kevin@websiteudvikler.dk</a>. Jeg håber snart Dynamicweb giver mulighed for at du kan downloade modulet på <a href="http://engage.dynamicweb-cms.com" target="_blank">engage.dynamicweb-cms.com</a> på noget Market Place (se evt. <a href="http://pterkildsen.com/2010/09/15/validating-links-in-dynamicweb-cms/">http://pterkildsen.com/2010/09/15/validating-links-in-dynamicweb-cms/</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://websiteudvikler.dk/post/dynamicweb-modul-til-at-fjerne-statistik-script.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Åbent &#8220;brev&#8221;/blogindlæg til Dynamicweb eCommerce Team</title>
		<link>http://websiteudvikler.dk/post/abent-brev-blogindlaeg-til-dynamicweb-ecommerce-team.html</link>
		<comments>http://websiteudvikler.dk/post/abent-brev-blogindlaeg-til-dynamicweb-ecommerce-team.html#comments</comments>
		<pubDate>Mon, 31 May 2010 18:47:18 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Dynamicweb]]></category>
		<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Microsoft .NET]]></category>

		<guid isPermaLink="false">http://websiteudvikler.dk/?p=458</guid>
		<description><![CDATA[I mit forsøg på at få Dynamicweb til at forstå, at de skal pleje webudviklere noget mere, og skabe nogle bedre forudsætninger for samarbejde med Dynamicweb, så vi undgår, at alle partnere programmere de samme features, moduler osv. er jeg nu nået endnu et skridt i den rigtige retning.
Se en demo på et integrations modul til E-conomic og læs om, hvorfor jeg viser en demo af modulet.]]></description>
			<content:encoded><![CDATA[<p>I mit forsøg på at få <a href="http://www.dynamicweb.dk" target="_blank">Dynamicweb</a> til at forstå, at de skal pleje webudviklere noget mere, og skabe nogle bedre forudsætninger for samarbejde med Dynamicweb, så vi undgår, at alle partnere programmere de samme features, moduler osv. er jeg nu nået endnu et skridt i den rigtige retning.</p>
<p><strong>Opfordring</strong>: Er du webudvikler og Dynamicweb Partner så lad mig høre om din mening til mine tanker om at Dynamicweb burde starte et udvikler community som fx <a href="http://sourceforge.net/" target="_blank">SourceForge</a>, <a href="http://www.codeplex.com" target="_blank">Codeplex</a>, <a href="http://www.stackoverflow.com" target="_blank">StackOverflow</a> etc..</p>
<p>I denne omgang startede det med, at jeg fik en henvendelse fra <a href="http://dk.linkedin.com/in/mortensnedker" target="_blank">Morten Snedker</a> for nogle uger siden, som gik på, at vi havde lavet integration mellem <a href="http://www.dynamicweb.dk/eCommerce-28807.aspx" target="_blank">Dynamicweb eCommerce</a> og<a href="http://www.e-conomic.dk" target="_blank"> e-conomic</a>. E-conomic er et online webbaseret regnskabsprogram, og vi har et par kunder, som har anvendt e-conomic i flere år, og har fulgt udviklingen af <a href="http://www.e-conomic.com/accountingsoftware/addons/api" target="_blank">e-conomics API</a> siden start.</p>
<h2>Dynamicweb eCommerce API Workshoppen gav mig et hint</h2>
<p>På workshoppen var vi inde på at snakke om, hvad Dynamicweb kunne gøre for os webudviklere. Jeg nævnte, som jeg også skrev i en <a title="Nyt fra workshoppen Dynamicweb eCommerce API" href="http://websiteudvikler.dk/post/nyt-fra-workshoppen-dynamicweb-ecommerce-api.html" target="_self">tidligere  blogpost</a>, at jeg synes, de burde åbne deres udvikling mere op, så vi kunne få et sparringsnetværk på benene, hvor vi kunne være med i processen og bidrage til udviklingen af systemet, moduler og features, hvilket er en stor styrke i udviklingen af software på platforme som bl.a. SourceForge og Codeplex.</p>
<h2>Integrationsmodulet mellem Dynamicweb eCommerce og E-conomic</h2>
<p>Mortens henvendelse gik på, at Dynamicweb ville igang med at udvikle et integrationsmodul til E-conomic, og at han lige ville høre lidt om vores erfaringer med det, da vi står på E-conomics website som integrationspartner. Jeg fik givet Morten lidt input og så kom det fra en klar himmel, nu har jeg muligheden for at vise dem, hvad det er jeg mener med hele det koncept jeg savner om, at få åbnet deres udvikling op.</p>
<p>Jeg skrev til Morten, at vi har lavet et modul til integration mellem Dynamicweb eCommerce og E-conomic i ny version baseret på .NET 3.5/4 og Dynamicweb 7, om det ikke ville give mening, at de tog et kig på vores idéer. &#8211; Så ringede <a title="Tobias Høst" href="http://dk.linkedin.com/pub/tobias-h%C3%B8st/3/139/9b0" target="_blank">Tobias</a> (Commercial Lead på Dynamicweb eCommerce) og vi fik en snak om situationen og blev enige om, at jeg skulle prøve at demonstrere, det vi har lavet i form af en screencast.</p>
<h2>Modul demo på Dynamicweb eCommerce integration til E-conomic</h2>
<p>Du kan her se hele min demo &#8211; en demo i 6 kapitler á 5 min. varighed (pga. at det er lavet lidt hurtigt med <a href="http://www.jingproject.com/" target="_blank">Jing</a>)</p>
<h3>Kapitel 1<br />
Intro om modulets opbygning, indstillinger, lidt E-conomic opsætning</h3>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Ies-IMiIO-M&amp;hl=da_DK&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/Ies-IMiIO-M&amp;hl=da_DK&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>Kapitel 2<br />
E-conomic Settings kontrolpanel, overførsel af varegrupper og varer, lave en ordre på vores vare</h3>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/9LDOF-lwpco&amp;hl=da_DK&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/9LDOF-lwpco&amp;hl=da_DK&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>Kapitel 3<br />
Overførsel af Dynamicweb ordre til E-conomic, intro til priser i E-conomic, opbygning af koden og extension modellen<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/pu4uQ7hoOv0&amp;hl=da_DK&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/pu4uQ7hoOv0&amp;hl=da_DK&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></h3>
<h3>Kapitel 4<br />
Gennemgang af OrderSync koden med debugger<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/CBJdjnlUD4k&amp;hl=da_DK&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/CBJdjnlUD4k&amp;hl=da_DK&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></h3>
<h3>Kapitel 5<br />
Demo af extenders på ProductSync<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/uC5sJq0aHuU&amp;hl=da_DK&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/uC5sJq0aHuU&amp;hl=da_DK&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></h3>
<h3>Kapitel 6<br />
Fortsættelse af demo af extenders på ProductSync og afrunding<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/f94RwNikilk&amp;hl=da_DK&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/f94RwNikilk&amp;hl=da_DK&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></h3>
<p>Hvad synes du, tror du ikke på at modulet ville kunne blive godt?</p>
<p>Et hvert output nedenfor er meget værdsat.</p>
<p>Med venlig hilsen<br />
Kevin Steffer</p>
]]></content:encoded>
			<wfw:commentRss>http://websiteudvikler.dk/post/abent-brev-blogindlaeg-til-dynamicweb-ecommerce-team.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nyt fra workshoppen Dynamicweb eCommerce API</title>
		<link>http://websiteudvikler.dk/post/nyt-fra-workshoppen-dynamicweb-ecommerce-api.html</link>
		<comments>http://websiteudvikler.dk/post/nyt-fra-workshoppen-dynamicweb-ecommerce-api.html#comments</comments>
		<pubDate>Thu, 20 May 2010 21:58:54 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Webudvikling]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Dynamicweb]]></category>
		<category><![CDATA[Ecommerce]]></category>

		<guid isPermaLink="false">http://websiteudvikler.dk/?p=421</guid>
		<description><![CDATA[<img class="alignleft size-full wp-image-423" title="Dynamicweb eCommerce" src="http://websiteudvikler.dk/wp-content/uploads/2010/05/eComdimmer.png" alt="Dynamicweb eCommerce" width="199" height="80" />I går onsdag d. 19. maj 2010 var jeg til Dynamicweb eCommerce API Workshop, læs lidt om, hvad der kom ud af det.]]></description>
			<content:encoded><![CDATA[<p><a href="http://websiteudvikler.dk/wp-content/uploads/2010/05/eComdimmer.png"><img class="alignleft size-full wp-image-423" title="Dynamicweb eCommerce" src="http://websiteudvikler.dk/wp-content/uploads/2010/05/eComdimmer.png" alt="Dynamicweb eCommerce" width="199" height="80" /></a>I går var jeg til Dynamicweb eCommerce API Workshop, hvor agendaen lidt var, at Dynamicweb ønskede de inviterede partneres input på erfaring med vores udvikling, problemer og ønsker til funktionalitet.</p>
<h2>Cart V2</h2>
<p>Vi fik kort demonstreret lidt nyt fra 7.1 bla. en helt ny kurv &#8220;CartV2&#8243;, hvor det nu er muligt at lave sine egne steps, men rent API mæssigt ligger der også et helt nyt namespace tilrådighed Dynamicweb.Ecom7.Cart. Og her ser det ud til, at vi endelig har fået noget af det vi råbt efter en lang række notifications, så vi kan lave en hel del baseret på de notifications som bliver fyret af under de events, som brugen aktivere. På overfladen ser det ret gennembearbejdet ud, så det glæder jeg mig meget til at få afprøvet.</p>
<h2>Den nye brugerstyring kan være løsningen</h2>
<p>I vores dialog omkring de udfordringer vi havde med tilpasning af funktionalitet, var der rigtig meget, som peget på Extranet modulet, som API mæssigt var alt for dårligt, og vi øfte var nodt til at programmere direkte på databasen, for at opnå den funktionalitet vi skulle bruge, så blev rigtig mange af vores problemer henvist til, at vi bare skulle bruge det nye Dynamicweb.Modules.UserManagement namespace. Den nye brugerstyring, som blev introduceret i Dynamicweb 7, og der er ingen tvivl om at eksisterende løsninger med mange brugere, har det svært med at blive konverteret til den nye brugerstyring, men det lyder til at det er værd at bruge nogle kræfter på.</p>
<h2>Et åbent udvikler community</h2>
<p>Jeg har til flere møder med Dynamicweb ønsket fra dem, at de fik åbnet op for deres udvikling, også for partnere imellem. Vi var næsten enige bordet rundt, at vi ikke havde noget i mod at dele ud af snippets, Best Practice scenarier og tutorials m.m. Jeg er tidligere blevet fejet lidt til side med, at der arbejdes på et nyt partnersite &#8220;Engage&#8221;, bevarres, det er nu lanceret, og der er lagt op til en hel del funktionalitet, men helt gennemført er det ikke &#8211; Dynamicweb svarer hertil, at det er pga. interne ressourcer, at det ikke helt er kommet op at stå.</p>
<p>Mine behov for at udvikler community i Dynamicweb regi er, at Dynamicweb får skabt en community platform, hvor partnere, udviklere, frontend-udviklere kan samles omkring Dynamicweb generelt, men endnu mere ERFA, udveksling, vidensdeling osv. omkring det at programmere og extende Dynamicweb, vi skal ALLE udvikle de missing features, som vores kunder ønsker &#8211; min approach er, at det bør være muligt partnere imellem, at starte nogle modul-projekter op, som man i fællesskab videreudvikler på, meget i stil med den måde der gøres i Open Source miljøerne så som på <a href="http://www.sf.net" target="_blank">www.sf.net</a> og <a href="http://www.codeplex.com" target="_blank">www.codeplex.com</a>, hvor enhver kan starte et projekt op og ellers give øvrige udviklere tilladelse til at udvikle med på projektet.</p>
<p>Der er sikkert nogle forretningsmæssigt konsekvenser, som der skal tages en beslutning om, men jeg har til dato kun hørt positivt om mit forslag, så måske mit forslag ikke er kommet videre i Dynamicweb organisationen &#8211; men det har jeg en klar tro på, at det kommer nu!</p>
<p>Under vores dialog, var vi faktisk helt der henne, hvor sådan et community ville kunne bidrage til Dynamicweb moduler, modul forbedringer osv.</p>
<h2>Et ønske om true OOP</h2>
<p>Der blev også ønsket, at det kunne være helt vildt godt, hvis vi kunne override en masse metoder på eksisterende klasser, så man havde en standard funktionalitet, at tage udgangspunkt i, og dermed blot kunne ligge en tilpasning ind i standard funktionaliteten, ved at override en enkelt metode. JAAAAA! Please <img src='http://websiteudvikler.dk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I morgen er der TechReview på Dynamicweb 7.1, og det glæder jeg mig rigtig meget til &#8211; jeg vil se om jeg kan formidle de nye headlines via twitter, så hop ind og følg mig på <a href="http://twitter.com/webudvikler" target="_blank">http://twitter.com/webudvikler</a></p>
<p>God pinse</p>
]]></content:encoded>
			<wfw:commentRss>http://websiteudvikler.dk/post/nyt-fra-workshoppen-dynamicweb-ecommerce-api.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dynamicweb eCommerce API Workshop</title>
		<link>http://websiteudvikler.dk/post/dynamicweb-ecommerce-api-workshop.html</link>
		<comments>http://websiteudvikler.dk/post/dynamicweb-ecommerce-api-workshop.html#comments</comments>
		<pubDate>Thu, 06 May 2010 22:06:22 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Webudvikling]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Dynamicweb]]></category>
		<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Webshop]]></category>

		<guid isPermaLink="false">http://websiteudvikler.dk/?p=403</guid>
		<description><![CDATA[Jeg fik en invitation til Dynamicweb eCommerce API Workshop og jeg har længe haft sendt nogle issues til Product Owner Lars Sørensen hos Dynamicweb (nu ansat i Bleau), og Dynamicweb er altså ikke kommet så langt med min liste, at jeg har fået noget feedback, så det håber jeg selvfølgelig at jeg kan få. Min [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg fik en invitation til Dynamicweb eCommerce API Workshop og jeg har længe haft sendt nogle issues til Product Owner <a href="http://dk.linkedin.com/in/hejgaard" target="_blank">Lars Sørensen</a> hos Dynamicweb (nu ansat i Bleau), og Dynamicweb er altså ikke kommet så langt med min liste, at jeg har fået noget feedback, så det håber jeg selvfølgelig at jeg kan få.</p>
<p>Min liste kan du finde her nedenfor, men har du nogle ideér så tager jeg dem gerne med:</p>
<p><a title="Åbn indberetning" href="https://spreadsheets.google.com/viewform?formkey=dEtPU2dkZ2VyUy1LV0pNTDctUEVvclE6MQ" target="_blank">Åbn indberetning</a> og send mig dine ønsker</p>
<p>Min liste af Dynamicweb eCommerce API problemer &#8211; jeg har dog ikke testet om nogen af disse er blevet rettet i nylige releases, men jeg har så igen ikke fået en tilbagemelding fra Dynamicweb at de har rettet API&#8217;et til jf. disse problemstillinger.</p>
<h1>Note 1)</h1>
<h2>Class Dynamicweb.eCommerce.Products.Group</h2>
<p>Egenskaben ShopID ser ikke ud til at have nogen effekt når man kører Save(”GROUP1”) metoden</p>
<h3>Eksempel:</h3>
<p><code class="brush: csharp;">Dynamicweb.eCommerce.Products.Group g = new Dynamicweb.eCommerce.Products.Group();<br />
g.ID = objGroup.Number.ToString();<br />
g.LanguageID = "LANG1";<br />
g.Name = objGroup.Name;<br />
g.Number = objGroup.Number.ToString();<br />
g.ShopID = "SHOP1";<br />
g.Save( objGroup.Number.ToString() );</code></p>
<h2>Workaround</h2>
<p>Man skal selv kende til jeres database og så vide at der findes en tabel som holder på ShopGroupRelations og dertil har i også design en klasse, men det er ikke intuitivt at man skal vide sådan en information og slet ikke når egenskaben ShopID nu findes på Group klassen.</p>
<h3>Eksempel:</h3>
<p><code>ShopGroupRelation sgr = new ShopGroupRelation();<br />
sgr.GroupID = g.ID;<br />
sgr.ShopID = "SHOP1";<br />
sgr.Save( "SHOP1", g.ID );</code></p>
<h1>Note 2)</h1>
<h2>Class Dynamicweb.eCommerce.Products.Product</h2>
<p>Egenskaben p.Groups.Add(objProduct) har ingen indvirkning på produktet efter man har kørt Save() metoden.</p>
<h3>Eksempel:</h3>
<p><code>Dynamicweb.eCommerce.Products.Group g = new Dynamicweb.eCommerce.Products.Group();<br />
g.ID = objGroup.Number.ToString();<br />
g.LanguageID = "LANG1";<br />
g.Name = objGroup.Name;<br />
g.Number = objGroup.Number.ToString();<br />
g.ShopID = "SHOP1";<br />
g.Save( objGroup.Number.ToString() );</code></p>
<p><code>Dynamicweb.eCommerce.Products.Product p = new Dynamicweb.eCommerce.Products.Product();<br />
p.Active = objProduct.IsAccessible;<br />
p.Created = DateTime.Now;<br />
p.DefaultPrice = double.Parse( objProduct.SalesPrice.ToString() );<br />
p.Groups.Add( g );<br />
p.ID = objProduct.Number;<br />
p.LanguageID = "LANG1";<br />
p.LongDescription = objProduct.Description;<br />
p.Name = objProduct.Name;<br />
p.Number = objProduct.Number;<br />
p.PriceType = Dynamicweb.eCommerce.Products.ProductPriceType.FixedPrice;<br />
p.ShortDescription = objProduct.Description;<br />
p.Stock = double.Parse( ( objProduct.Available != null ) ? objProduct.Available.Value.ToString() : "0" );<br />
p.Type = Dynamicweb.eCommerce.Products.ProductType.Stock;<br />
p.Updated = DateTime.Now;<br />
p.Volume = double.Parse( objProduct.Volume.ToString() );<br />
p.Save(objProduct.Number, "");</code></p>
<h2>Workaround</h2>
<p>Man skal selv kende til jeres database og så vide at der findes en tabel som holder på EcomGroupProductRelation og dertil har i også design en klasse, men det er ikke intuitivt at man skal vide sådan en information og slet ikke når egenskaben Groups nu findes på Product klassen hvor man kan tilføje grupper til listen.</p>
<h3>Eksempel:</h3>
<p><code>ProductGroupRelation pgr = new ProductGroupRelation();<br />
pgr.GroupID = g.ID;<br />
pgr.ProductID = p.ID;<br />
pgr.Save( p.ID, g.ID );</code></p>
<h1>Note 3)</h1>
<h2>Notification: Dynamicweb.Notifications.eCommerce.Cart.Line.Decreased</h2>
<p>Når den sidste ordrelinje slettes eller nedskrives til 0-antal og kurven slettes får man ingen Notification. Vi har også stillet os selv det spørgsmål: om man ikke også bør få en Dynamicweb.Notifications.eCommerce.Cart.Line.Removed og en   Dynamicweb.Notifications.eCommerce.Cart.Deleted?</p>
<h3>Eksemplel:</h3>
<p><code>[Dynamicweb.Extensibility.Subscribe(Dynamicweb.Notifications.eCommerce.Cart.Line.Decreased)]<br />
public class MyCartDeleted : Dynamicweb.Extensibility.NotificationSubscriber<br />
{<br />
objUser.FactoryNo = "";<br />
objUser.StoreSession();<br />
}</code></p>
<h2>Workaround</h2>
<p>Ingen. Vi har ikke kunnet se nogen former for mulighed i at omgåes dette problem fordi den redirecter til ”Empty basket”-siden.</p>
<h1>Note 4)</h1>
<h2>Notification: Dynamicweb.Notifications.eCommerce.Cart.Line.Removed</h2>
<p>Når den sidste ordrelinje slettes eller nedskrives til 0-antal og kurven slettes får man ingen Notification. Vi har også stillet os selv det spørgsmål: om man ikke også bør få en Dynamicweb.Notifications.eCommerce.Cart.Deleted?</p>
<h3>Eksemplel:</h3>
<p><code>[Dynamicweb.Extensibility.Subscribe(Dynamicweb.Notifications.eCommerce.Cart.Line.Removed)]<br />
public class MyCartDeleted : Dynamicweb.Extensibility.NotificationSubscriber<br />
{<br />
objUser.FactoryNo = "";<br />
objUser.StoreSession();<br />
}</code></p>
<h2>Workaround</h2>
<p>Ingen. Vi har ikke kunnet se nogen former for mulighed i at omgåes dette problem fordi den redirecter til ”Empty basket”-siden.</p>
<h1>Note 5)</h1>
<h2>Notification: Dynamicweb.Notifications.eCommerce.Cart.Deleted,</h2>
<p>Når man bruger funktionen ”Empty Basket” får man ingen Notification.</p>
<h3>Eksemplel:</h3>
<p><code>[Dynamicweb.Extensibility.Subscribe(Dynamicweb.Notifications.eCommerce.Cart.Deleted)]<br />
public class MyCartDeleted : Dynamicweb.Extensibility.NotificationSubscriber<br />
{<br />
objUser.FactoryNo = "";<br />
objUser.StoreSession();<br />
}</code></p>
<h2>Workaround</h2>
<p>Ingen. Vi har ikke kunnet se nogen former for mulighed i at omgåes dette problem fordi den redirecter til ”Empty basket”-siden.</p>
<h1>Note 6)</h1>
<h2>Ecom BekræftelsesEmails</h2>
<p>Meget få datoer fungerer når man prøver at skrive dem ud</p>
<h3>Eksemplel:</h3>
<p>Disse datotags fungerer fx ikke:<br />
<code>&lt;!--@Ecom:Order.Date.LongDayName--&gt;<br />
&lt;!--@Ecom:Order.Date.LongDate--&gt;<br />
&lt;!--@Ecom:Order.Date.MediumDate--&gt;<br />
&lt;!--@Ecom:Order.Modified.LongDate--&gt;<br />
&lt;!--@Ecom:Order.Modified.MediumDate--&gt;</code></p>
<h2>Workaround</h2>
<p>Hvis man OGSÅ udskriver &lt;!&#8211;@Ecom:Order.Date&#8211;&gt; vil disse tags alligevel udskrive den rigtige dato:<br />
<code>&lt;!--@Ecom:Order.Date.LongDayName--&gt;<br />
&lt;!--@Ecom:Order.Date.LongDate--&gt;<br />
&lt;!--@Ecom:Order.Date.MediumDate--&gt;</code></p>
<h1>Note 7)</h1>
<h2>Import/Eksport modul problemer</h2>
<p>Import/Eksport akvititeterne ”File Destination” og ”XML File Destination” skriver filer ud i UTF-16 (jf. udtalelse fra Lasse Ebert i <a href="http://engage.dynamicweb-cms.com/Forum-5.aspx?action=ShowThread&amp;ThreadID=1626">Engage Forum</a>) og ikke i UTF-8</p>
<h3>Eksempel:</h3>
<p>Lav noget output med æøå i og brug ”File destination” aktiviteten til at få output ud i en fil. Konsekvensen er at æøå ikke vises korrekt. Bruger vi ”XML File destination” står der godt nok fint i XML-declaration encoding=”utf-8”, men filen er dannet med UTF-16 encoding og ikke UTF-8, hvilket igen giver fejl ved brugen af filen (kan ses hvis man åbner den i IE)</p>
<h2>Workaround:</h2>
<p>Vi har været nødt til at lave vores egen Import/Eksport aktivitet for at kunne håndtere det.</p>
]]></content:encoded>
			<wfw:commentRss>http://websiteudvikler.dk/post/dynamicweb-ecommerce-api-workshop.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

