Dynamicweb eCommerce API Workshop

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 liste kan du finde her nedenfor, men har du nogle ideér så tager jeg dem gerne med:

Åbn indberetning og send mig dine ønsker

Min liste af Dynamicweb eCommerce API problemer – 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’et til jf. disse problemstillinger.

Note 1)

Class Dynamicweb.eCommerce.Products.Group

Egenskaben ShopID ser ikke ud til at have nogen effekt når man kører Save(”GROUP1”) metoden

Eksempel:

Dynamicweb.eCommerce.Products.Group g = new Dynamicweb.eCommerce.Products.Group();
g.ID = objGroup.Number.ToString();
g.LanguageID = "LANG1";
g.Name = objGroup.Name;
g.Number = objGroup.Number.ToString();
g.ShopID = "SHOP1";
g.Save( objGroup.Number.ToString() );

Workaround

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.

Eksempel:

ShopGroupRelation sgr = new ShopGroupRelation();
sgr.GroupID = g.ID;
sgr.ShopID = "SHOP1";
sgr.Save( "SHOP1", g.ID );

Note 2)

Class Dynamicweb.eCommerce.Products.Product

Egenskaben p.Groups.Add(objProduct) har ingen indvirkning på produktet efter man har kørt Save() metoden.

Eksempel:

Dynamicweb.eCommerce.Products.Group g = new Dynamicweb.eCommerce.Products.Group();
g.ID = objGroup.Number.ToString();
g.LanguageID = "LANG1";
g.Name = objGroup.Name;
g.Number = objGroup.Number.ToString();
g.ShopID = "SHOP1";
g.Save( objGroup.Number.ToString() );

Dynamicweb.eCommerce.Products.Product p = new Dynamicweb.eCommerce.Products.Product();
p.Active = objProduct.IsAccessible;
p.Created = DateTime.Now;
p.DefaultPrice = double.Parse( objProduct.SalesPrice.ToString() );
p.Groups.Add( g );
p.ID = objProduct.Number;
p.LanguageID = "LANG1";
p.LongDescription = objProduct.Description;
p.Name = objProduct.Name;
p.Number = objProduct.Number;
p.PriceType = Dynamicweb.eCommerce.Products.ProductPriceType.FixedPrice;
p.ShortDescription = objProduct.Description;
p.Stock = double.Parse( ( objProduct.Available != null ) ? objProduct.Available.Value.ToString() : "0" );
p.Type = Dynamicweb.eCommerce.Products.ProductType.Stock;
p.Updated = DateTime.Now;
p.Volume = double.Parse( objProduct.Volume.ToString() );
p.Save(objProduct.Number, "");

Workaround

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.

Eksempel:

ProductGroupRelation pgr = new ProductGroupRelation();
pgr.GroupID = g.ID;
pgr.ProductID = p.ID;
pgr.Save( p.ID, g.ID );

Note 3)

Notification: Dynamicweb.Notifications.eCommerce.Cart.Line.Decreased

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?

Eksemplel:

[Dynamicweb.Extensibility.Subscribe(Dynamicweb.Notifications.eCommerce.Cart.Line.Decreased)]
public class MyCartDeleted : Dynamicweb.Extensibility.NotificationSubscriber
{
objUser.FactoryNo = "";
objUser.StoreSession();
}

Workaround

Ingen. Vi har ikke kunnet se nogen former for mulighed i at omgåes dette problem fordi den redirecter til ”Empty basket”-siden.

Note 4)

Notification: Dynamicweb.Notifications.eCommerce.Cart.Line.Removed

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?

Eksemplel:

[Dynamicweb.Extensibility.Subscribe(Dynamicweb.Notifications.eCommerce.Cart.Line.Removed)]
public class MyCartDeleted : Dynamicweb.Extensibility.NotificationSubscriber
{
objUser.FactoryNo = "";
objUser.StoreSession();
}

Workaround

Ingen. Vi har ikke kunnet se nogen former for mulighed i at omgåes dette problem fordi den redirecter til ”Empty basket”-siden.

Note 5)

Notification: Dynamicweb.Notifications.eCommerce.Cart.Deleted,

Når man bruger funktionen ”Empty Basket” får man ingen Notification.

Eksemplel:

[Dynamicweb.Extensibility.Subscribe(Dynamicweb.Notifications.eCommerce.Cart.Deleted)]
public class MyCartDeleted : Dynamicweb.Extensibility.NotificationSubscriber
{
objUser.FactoryNo = "";
objUser.StoreSession();
}

Workaround

Ingen. Vi har ikke kunnet se nogen former for mulighed i at omgåes dette problem fordi den redirecter til ”Empty basket”-siden.

Note 6)

Ecom BekræftelsesEmails

Meget få datoer fungerer når man prøver at skrive dem ud

Eksemplel:

Disse datotags fungerer fx ikke:
<!--@Ecom:Order.Date.LongDayName-->
<!--@Ecom:Order.Date.LongDate-->
<!--@Ecom:Order.Date.MediumDate-->
<!--@Ecom:Order.Modified.LongDate-->
<!--@Ecom:Order.Modified.MediumDate-->

Workaround

Hvis man OGSÅ udskriver <!–@Ecom:Order.Date–> vil disse tags alligevel udskrive den rigtige dato:
<!--@Ecom:Order.Date.LongDayName-->
<!--@Ecom:Order.Date.LongDate-->
<!--@Ecom:Order.Date.MediumDate-->

Note 7)

Import/Eksport modul problemer

Import/Eksport akvititeterne ”File Destination” og ”XML File Destination” skriver filer ud i UTF-16 (jf. udtalelse fra Lasse Ebert i Engage Forum) og ikke i UTF-8

Eksempel:

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)

Workaround:

Vi har været nødt til at lave vores egen Import/Eksport aktivitet for at kunne håndtere det.

, , ,

4 Kommentarer

  • Hej Kevin,

    Dine input blev gav, som det altid er tilfældet, når det kommer fra dig, god mening, så de blev ukritisk lagt i backloggen til “Projekt API forbedringer” der skulle med i v7.1.

    Da jeg stoppede, var vi stadig i gang med at løfte eCommerce gui til Dynamicweb 7 look samt implementere nogle nye lækre features i eCommerce backenden, og API forbedringerne var planlagt som et af de efterfølgende projekter. Hvad der så siden er sket, kan jeg desværre ikke kommentere på, men med mindre, der er blevet foretaget en omprioritering af opgaverne, skulle der gerne være lidt nørd godter at hente i den næste version (som jeg just er ved at downloade beta udgaven af;))

    Mvh.
    Lars

  • […] This post was mentioned on Twitter by Nicolai Pedersen, Kevin Steffer. Kevin Steffer said: Har du input/feedback på #Dynamicweb eCom API så vil jeg godt ta' det med til en DW API Workshop http://bit.ly/dt3Og3 […]

  • Kevin Steffer siger:

    @Lars, har misset totalt, at du har skiftet arbejdsgiver – så det ved et tilfælde på LinkedIN, det er ikke fordi jeg vil hænge dig ud. Det er i den bedste mening en forklaring på der er tabt en tråd ved dit skifte, shit happens. Jeg må se, om jeg kan få en anden til at samle tingene op :)
    Jeg glæder mig også meget over at kunne se at Sebastian er blevet eCom Product Owner.

  • Hej Kevin,

    No worries, sådan tolkede jeg det heller ikke:) Jeg fik ikke lige tjekket op på api’et i beta versionen, men hvis det halter lidt, kan det være, der kan nå at komme noget med i final:)

    Mvh.
    Lars

Skriv et svar

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>