I have a catalogue which uses most of the features that I provided by Epi Server Commerce 7.5 like Categories, Products, Variants, etc.
My products must have some references to wiki articles. The number of wiki articles is more then 250 milions.
Wiki articles can't be sold so we were wondering how to keep those articles in the catalogue.
I could create them as simple categories. On the other hand we could use BFF (we could create custom entities with Business Foundation Framework).
Do you have any suggestion on what would be better for our scenario?
Are there any performance benefits if we use a specific BFF object for every wiki article or we could just use simple category types.
Our wiki articles have only two fields - a name and url. Any idea on that?
If it is good to use BFF, could you provide me a good article on how BFF object could be created.
If I understand your problem correctly, you can add two new metafields (name and url) then add them to metaclass(es) you want to use. After that you set those metafields which values from wiki articles.
I might miss some important notes from your situation, so please get back to me if I misunderstood you :)
Hi Quan Mai,
Thanks for the update. The solution that you describe could be very useful to me.
The issue that I see is that every meta class that we create must inferit CatalogNode or CatalogEntry.(both types have some predefined fields)
I was wondering if we could avoid that.
Actually my questions would be about Business Foundation Framework.
As far as I know BFF supports some feature which could help us to create custom entities in the catalogue.
Is it possible to implement those requirements with BFF?
If yes, are there any benefits in terms of perfomance?
I was able to spend some time on Epi Server Commerce documentation and I noticed that BFF is implement on top of Meta Data Plus engine.
Does it mean that BFF uses internally all features provided by Meta Data Plus engine and it is just something like ORM on top of Meta Data Plus engine?
example : in my scenario I could create a meta class which represents a wiki article. If I decide to use BFF it seems that this meta class will be created internally so there are no basic differences between these two approaches, right?
It looks like I (started) understanding your question. You want to create custom entities, in this case, wiki articles, which to be stored and manipulated in your Commerce site, right?
Business Foundation is recommended for "dynamic" objects. Which is to define objects that can be changed by time. It's core of what will called MetaField and MetaClass (actually they are both MetaObject, so do PurchaseOrder, Cart...)
BF provides an abstraction about data, which should be at the cost of performance. You can consider it or Dynamic data store, which should provide LINQ access to objects.
I'm not an expert on BF, but if you have questions, feel free to ask, I will forward your question to my teammates if neccesary. :)
Thanks for the update