London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

Read-only catalog

Vote:
 

In a scenario where the entire catalog is owned by a third-party system, e.g. a PIM, it would be nice if we could make the catalog read-only. Would it be possible to disable catalog editing alltogether or restrict it to certain fields?

#122465
Jun 03, 2015 8:50
Vote:
 

I don't think it's possible in CM, but for Catalog UI you can create your own content provider, inherit from CatalogContentProvider and simply does nothing in Save().

To make it truely "Read-only" then you might want to override the LinksRepository as well.

Another approach is to create an implementaion of CatalogEventListenerBase and prevent any modification by throwing exceptions. 

Regards.

/Q

#122469
Jun 03, 2015 10:52
Vote:
 

Hi Quan

Would the following be possible:

  • Hook into the LoadedContent event on products/variants
  • Get the ACL from IContentSecurable.GetContentSecurityDescriptor()
  • Remove all but Read access rights from the ACL for the product

I've put a POC together for this on content in the past and was wondering if this would work on Catalog entries too?

David

#122492
Jun 03, 2015 12:59
Vote:
 

Hi,

Unfortunately Commerce implemetation of ACL does not support that thing right now - so I don't think that'll be possible.

Regards.

/Q

#122495
Jun 03, 2015 13:18
Vote:
 

And to complete my question above, you can also override the ProviderCapabilities property to remove ContentProviderCapabilities.Create/Edit/Delete/Move/Copy enum, then in Catalog UI, options to edit content (move/copy/save...) will be disabled. 

/Q

#122588
Jun 05, 2015 15:31
Vote:
 

Just an idea :)

var contenEventHandler = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<EPiServer.Core.IContentEvents>();
                contenEventHandler.SavingContent+=contenEventHandler_SavingContent;

void contenEventHandler_SavingContent(object sender, ContentEventArgs e)
        {
            //Is it Commerce?
            e.RequiredAccess = AccessLevel.Administer;
            e.CancelAction = true;
        }

Regards

/K

#122653
Jun 09, 2015 11:38
Vote:
 

Is Episerver Commerce (Commerce UI, not Commerce Manager) going to have an implementation of ACL similar to the CMS one anytime soon? Meaning, an administrator would be able to set view/edit/create/updat/delete access rights on catalogs, nodes, products, etc?

#172237
Nov 28, 2016 14:47
Vote:
 

Hi,

It's in our backlog, but it would not happen anytime soon (I'm talking about 3-6 months period)

/Q

#172238
Nov 28, 2016 14:50
Vote:
 

Thank you Quan for your quick response :) 

#172239
Nov 28, 2016 14:53
Vote:
 

Hi!

Any news on this? Has ACL been implemented for Commerce?

#217135
Feb 18, 2020 9:16
Vote:
 

It has been implemented in Commerce 11.6.0 https://world.episerver.com/documentation/Release-Notes/ReleaseNote/?releaseNoteId=COM-49, limited to catalog and categories (entries inherit the setting from it true perent

#217136
Feb 18, 2020 9:19
Torbjörn Stavås - Feb 18, 2020 9:23
Thanks!
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.