Episerver Commerce MetaDictionary internals

This is an excerpt from my book – Pro Episerver Commerce – which is now already 2/3 complete.

Dictionary types.

Previously we discussed on how properties work with catalog content. However – if you have dictionary types in your MetaClasses, they will work differently. In this section we will examine these special data types – this applies to Order system metaclasses as well.

As we all know – there are three types of dictionary in Episerver Commerce:

  • Single value dictionary: editor can select a value from defined ones.
In Commerce Manager, you can create new metafield with type of Dictionary, but without "Multiline" option

In Commerce Manager, you can create new metafield with type of Dictionary, but without “Multiline” option

Single value dictionary type is supported in the strongly typed content types – you’ll need to define a property of type string, with backing type of typeof(PropertyDictionarySingle)

 [BackingType(typeof(PropertyDictionarySingle))]
 public virtual string Color { get; set; }
  • Multi value Dictionary: editor can select multiple values from defined ones. The only different from Single value dictionary is it has the “Multiline” option enabled.

(more…)

How to be a C# developer

C# has never been considered as a cool language (fact: It was initially called COOL – C-like Object Oriented Language) – it’s a good language, very good indeed, but because of it is “created by Microsoft” and then “tied to .NET platform”, it lost the coolness to other languages – JavaScript, C, Scala, you name it.

The table has turned and the wind has changed. Microsoft has been making bold moves with all the open source projects that run multi platforms. Once known as the “evil” of software industry, Microsoft is changing their image to be good again. And with Xamarin being free – C# is the language to learn now – if you have not already. Being a very good OOP language with powerful functional programming features, and built on a mature platform and excellent tools and library, you can use C# for almost everything these days – mobile, desktop, server, and even client.

So how?

Visual Studio Community:

Visual Studio is simply one of the best IDEs out there, and while missing some of the features, Visual Studio Community is free – so it’s perfect choice if you are a student or simply learning the language. It can be downloaded from here:

https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx

(more…)

Episerver Commerce SearchProvider – demystifying

This post is an excerpt from my book, but it’s the short one. It looks like there is a confusion of where the searchprovider is used in Commerce

Many important features in Commerce Manager use index-based search provider to search for entries – it’s simply faster and more flexible to work with. They might not be truly “real-time”, but they’re close (with the right configuration). The only drawbacks are they require extra processing (for indexing entries), external files/configurations, but the advantages easily overweight any of those drawbacks.

There are three search providers provided by Episerver Commerce: LuceneSearchProvider, Solr35SearchProvider, and FindSearchProvider (four if you count SolrSearchProvider as well). LuceneSearchProvider comes as the default option with EPiServer.Commerce.Core, and it’s the only one does not require extra configurations.

(more…)

Git: In easy steps – Another book project

Git: In easy steps cover

Git: In easy steps cover

Well, I might start a living based on writing. If my books sell good enough. Yes, it’ll be available on Leanpub and you can register now to get a notification: https://leanpub.com/gitineasysteps.

In this Easter I decided to start a new book project, based on what I’ve been doing daily: Git in easy steps.

Who is this book for?

This book explains Git concepts in a simple way, with examples in Git Extensions – the Git client to beat. It will walk through the flow and see what should we do, and why. Needless to say, it’s a beginner book. If you are already a Git expert, look else. (Of course you are still welcome to buy this book, well, you know, to complete your collection).

(more…)

How Episerver Catalog content versions work

This is an excerpt from my book – Pro Episerver Commerce. Use http://leanpub.com/proepiservercommerce/c/Easter2016 to get 20% off the book during Easter holiday (Mar 24th – Mar 28th)

One of the most important features in CatalogContentProvider is it bring versioning to catalog content. It was somewhat limited with Commerce 7.5 (the languages handling was a bit sloppy), but it has been much more mature since Commerce 9. The versioning system in Commerce 9 is now more or less on par with versioning in CMS, and it’s a good thing.

If you’re new to Episerver CMS/Commerce, then it might be useful to know how version and save action work in content system. Of course, you can skip this section if you already know about it. The version status is defined in EPiServer.Core.VersionStatus. When you save a content, you have to pass a EPiServer.DataAccess.SaveAction to IContentRepository.Save method.

(more…)