Quantcast
Channel: Using Optimizely Platforms
Viewing all 8020 articles
Browse latest View live

Support for the Async Session state module when using Visitor groups

$
0
0

Visitor groups can either use the session or cookies to store state, but in the former it only supports one session storage, namely the out of the box one, SessionStateModule. The default one is not a good match for load balanced environments, read more about the limitations in Episerver's own documenttation here. Luckily Microsoft has developed an Async one that is a better match for load balanced environments and is very easy to setup and use.

Unfortunately the built in Visitor groups does not support switching to the async version and you'll have to use cookies. You can go around it by implementing your class that registers the session start event to the Critera events, but it seems like it would be more fitting if Episerver could support it out of the box. I blogged how to setup it up here.


New feature: Display Groups in content areas

$
0
0

There is needs for organizings blocks by grouping them within content areas, for different reasons, mostly to comply with design. For example manual zebra striping or any more advanced stuff.

Since there already is visitor groups implemented the UI could be identical. The difference would be that you select a display group instead of visitor group.

The display groups (options) should be coded, not defined in admin or something, since it is a directive from the editor to the code on how to render — it’s a rendering contract so to speak.

Default behaviour for built-in renderer might be wrapper with display group as class name.

The group could be handled in custom content area renderers to enable using the group in the rendering process.

The content areas should be able to define which display groups is available for that content area.

Editor should be able to add as many  groups they wish, one display group (option) could exist in more than one group in the same content area.

For now we have to do workarounds — but this would be the ideal solution of the needs we often see.

Unable to find version '11.18.0' of package 'EPiServer.CMS'

Bundle Price

Property list not being able to save/publish

$
0
0

CMS 11.14.2

Ive implemented an IList<MenuItem> but it is not triggering the "Save/publish" button on change/add, what am I missing? 

Ive implemented the necessary items i think: 

[Display(Order = 340, GroupName = TabNames.Menu)]
[EditorDescriptor(EditorDescriptorType = typeof(CollectionEditorDescriptor<MenuItem>))]
public virtual IList<MenuItem> TopBannerMenu { get; set; }
[PropertyDefinitionTypePlugIn]
public class MenuItemListProperty : PropertyListBase<MenuItem>
{
}
public class PropertyListBase<T> : PropertyList<T>
{
        private readonly IObjectSerializer _objectSerializer;
        private Injected<ObjectSerializerFactory> _objectSerializerFactory;
        public PropertyListBase()
        {
            _objectSerializer = _objectSerializerFactory.Service.GetSerializer("application/json");
        }
        protected override T ParseItem(string value)
        {
            return _objectSerializer.Deserialize<T>(value);
        }
}

No javascript error in console, other property lists in solution are working. 

BF MetaClass as child of organization, fields to show

$
0
0

Hello all, 

I created a BF metaclass 'OrganizationRights' in code as a child of an organization. Now when I add a record to the system, "nothing" is shown in the organizations childclass view. I can see that 2 records are there, but how can I manage what columns will be shown here?

I have a General view for the class that displays some information.

Where to start?

$
0
0

My agency has been hired to build a new site for our client using Insite Commerce Version 5.
I am having a hard time finding any documentation or tutorials on how to even begin.
Can someone point me to any info to get me started?

Thanks

Personalization scoping question

$
0
0

Hi everyone

I am currently scoping Personalization features for one of our clients.

User story:

We have a customer site (based on EpiServer, let’s call it site) and separate shop web application (not in EpiServer, let’s call it shop). Customer would like to add personalization based on his client’s interaction with shop. So, we display personalized products on site. Second part is to display personalized content based on client interaction with site.

During scoping problem and reading documentation some question has appear 😊

  1. Do personalization features require Profile Store and Tracking to work?
  2. There is a tracking Api for Profile Store and for Personalization, should we use Tracking Api when user is on site, and Personalization Api when user is browsing shop?
  3. If we use Tracking API and Personalization API will both be available in Visitor Intelligence?

In general, do You have any recommendation how we should approach this solution?

My vision is something like this:

When client is browsing site, we should use Tracking to store his integration with site, and when customer access shop we use Personalization API to track his integrations with shop.

Sorry for long post, but I am trying to get a perspective on this matter.


DXP PreProd Data Refresh Automation

$
0
0

Is there a service to autmoate an environment's data refresh as we're looking to do monthly Pre-Prod updates with PROD data (database and blobs).

Or is this currently just a request ticket with Epi to schedule each refresh?

Search in PurchaseOrder

$
0
0

Hi
I trying to create a SQL query that I can execute with 

var searchOptions = new OrderSearchOptions
{
CacheResults = false,
StartingRecord = 0,
RecordsToRetrieve = 10000,
Namespace = OrderNamespace.OrdersNamespace
};
var parameters = new OrderSearchParameters();
var sqlQueryFilter = new StringBuilder();
sqlQueryFilter.Append("OrderGroupId IN (SELECT ObjectId From OrderFormEx ");
sqlQueryFilter.AppendFormat("WHERE OrderFormEx.MyField = '{0}' )", DataToFind);
parameters.SqlWhereClause = sqlQueryFilter.ToString();
OrderContext.Current.Search<PurchaseOrder>(parameters, options);

I need to query also a field in OrderFormEx.
Any idea how to create the sqlQueryFilter?

Thanks 

How to warmp the application into DXP whenever deployed new build

$
0
0

Hi Team,

I am currently facing performance issues for first request whenever latest deployed or Web app restarted in DXP.

I am facing performance issue with MVC partial views as well. So always first request is taking min 5 to 10 seconds to load. This is for every partial view request.(i.e. If we have 10 ajax calls then each call first requet taking time).

What is the best way to warmup the application to avoid performance issues with first request. Can someone provide any steps to do it?

Does my partial views issues will also resolve? If we configure warmup steps.

Thanks,

Suresh B

Custom "Visitor Groups" styling in Dashboards interface for CMS

$
0
0

Hi Episerver support,

We're having a hard time figuring out how we can apply custom styling to the Visitor Groups page in the CMS Dashboards interface. 

We have a custom styling module which loads succesfully into the "Edit" part of the CMS Dashboard, so that part works as intended.

It has however been challenging for us to discover how to get this module into the "Admin" and "Visitor Groups" parts of the CMS Dashboard.

We are trying to solve this issue with the standard styling of visitor groups:

The styling unfortunately means that it is impossible to select any of the criteria not shown in the visible part of the box. Therefore, we wanted to override the styling to apply the following:

#criteriaCategoryContainer.epi-criteriaCategoryContainer {
    heightauto;
}

Which, when we do it directly through Developer Tools, appears to solve the issue. However, as mentioned, getting this custom styling into the Visitor Groups dashboard has proven troublesome. The documentation (https://world.episerver.com/documentation/developer-guides/CMS/client-resources/) doesn't seem to make any mention of the "Admin" or "Visitor groups" parts of the dashboard, and the other people asking the same question online go without an answer, e.g.:

https://world.episerver.com/forum/developer-forum/Developer-to-developer/Thread-Container/2018/9/easiest-way-to-theme-admin-gui/

https://world.episerver.com/forum/developer-forum/-Episerver-75-CMS/Thread-Container/2019/10/override-admin-ui-css--anyone-know-how-11-5-3/ 

We tried the approach outlined here as well: 

https://world.episerver.com/forum/developer-forum/-Episerver-75-CMS/Thread-Container/2015/5/inject-jscss-into-cms-edit-view/ 

Which stipulates that custom styling can be included without being in a 'module', but this approach has not worked for us at all so far. 

The only approach we haven't tried is setting up a complete custom theme. We are wary of this approach since it would make upgrading Episerver harder, as we would need to maintain that custom theme ourselves, instead of just overriding specific stylings as needed. 

Episerver CMS version: 11.14.1.0.

Statusicons do not appear in page selector

$
0
0

Is there a way to make the statusicons appear in the page selector widget?

For example the red clock icon that shows that a page is unpublished/expired. This appears in the page tree on the right side of the page name, but in the page selection window where the editor chooses a page for a content area or a page to create a link to, there is no such symbol next to the pages, which causes references to expired pages sometimes. 

I am using version 11.18.1.

Send form data to another email id based on a condition

$
0
0

Hi,

I have a requirment to send the form data to a different email if a checkbox on the form is checked. I see that we can add multiple email address to which the form data must be submitted. But is there a way I can conditionally send the data to just one of the email ids?

Service API bulk catalog import fails to create relations

$
0
0

We are having an issue with our product import. We are using Service API bulk import to import a catalog.xml file that has both entries and relations in it.

I have been investigating this for a couple of days and I'm stuck. The XML we send looks good and if I import it again (via Service API or Commerce Manager) the relations are correctly created. No matter how many times I try to import it again, I never get the behaviour that relations are missing. It's only when I run through our job that send them in in batches of 500 products and 250 relations that I get the error. And it's not even the same files / products that causes it, it seems random, which is a headache. I tried to turn down the batch size to 1 but to my surprise I still got missing relations.

What I have now turned to that at least works, is bulk importing the entries and then using Service API REST API to create the relations.

What I do to debug it is to look in the relations table and see if there are any new products (the import resets the create date to today) that does not have a parent.

select *
from CatalogEntry CE
left join CatalogEntryRelation R on CE.CatalogEntryId = R.ChildEntryId
where StartDate > '2020-09-02'
and R.ParentEntryId is null and ClassTypeId = 'Variation'


Custom object index to find service

$
0
0

Hi Team,

As per my requirement, I am indexing custom objects into EpiServer find.

So here, I am indexing 50 records at a time. My question is, what is the best practice to index max objects at a time. Do we get any issues if we index more multile objects at a time?

private readonly IClient _client;

public void GetDataToRebuildIndex()
{
var list = _findRepository.GetDataToRebuildIndex();
int totalRecords = list != null ? list.Count() : 0;
if (totalRecords > 0)
{
int indexPageSize = 50;
int pageNumbers = Convert.ToInt32(Math.Ceiling(totalRecords / Convert.ToDouble(indexPageSize)));
for (int i = 0; i < pageNumbers; i++)
{
_client.Index(list.Skip(i * indexPageSize).Take(indexPageSize));
}

}

}

Index containing types from DynamicContentModelsAssembly (13.2.8)

$
0
0

I have started seeing weird types in the index:

MyProject.Web.Features.Product.Models.DefaultVariationContent_DynamicProxy, DynamicContentModelsAssembly

I also have the correct type indexed, which is:

MyProject.Web.Features.Product.Models.DefaultVariationContent, MyProject.Web

Might this be a bug? If not, how can I get rid of those DynamicProxy types?

Is there a way to add custom settings for website

$
0
0

I would like to add some custom settings for websites which I want to manage in website management. Is this possible? 

  • I can add custom object in SiteDefiniton Items as key value, but that has to be in code and I cannot change them by going to CMS admin.
  • I would like it to be like settings we add in StartPage. I cannot use StartPage for storing the settings because when I need these settings, StartPage will not be instantiated before that. 
  • I have multiple websites. Each of them needs these settings. Settings values will be different.

DXP deployment and model sync not done?

$
0
0

Hi,

have anyone else experienced problems with model sync during DXP deployment? We seems to have the following issue quite often (=or always) with at least one of our customer:

  • We do deployment to production (tried both PaaS portal and deployment API approach)
  • When doing from PaaS portal, we test the new version before the swap
  • With API deployment we just test after the whole deployment is completed
  • In both cases we have been using the "Use maintenance page" option as suggested by Episerver

In both cases, when we have model changes (new properties added to page types for example), the changes seem to be missing after the deployment, and will only come visible after launching restart for the site from PaaS portal. We've checked from admin and from the changed page itself to see if model changes are there.

We've had a ticket open for this in support, suggestion was to make sure our assembly version is correctly increased in updates. That we do, as suggested, but still it seems that we always need to do (additional) site restart after deployment. Annoying.

According to this Episerver article the deployment slot is first stopped, then the deployment is done, and then slot is started. My understanding would be that in this process the site is starting when initial load is hitting causing normal initialization and model sync to happen. 

Am I missing something here?

For us the extra restart is really a pain in you-know-where because we would like to use deployment API and schedule deployments during night time, but if (manual)site restart is needed, it always requires someone to be available to do that. And the warmup time for our site is quite long (multisite etc) so restart during business ours is always bad.

Ideas?

EPiServer.ServiceApi.Commerce.5.4.5 GetOrganization endpoint does not return meta fields (properties)

$
0
0

Hello.

We are using ServiceApi to get organization details through a http request (/episerverapi/commerce/customers/organization/). We added some fields on the Business object Organization but they are not present in the response.

We decompiled the endpoint and found that we do not have e field Properties on OrganizationModel class (like we have on OrderGroup for example on the episerverapi/commerce/orders/orderGroupId call).

We would like to get/set some custom fields on the OrganizationModel business object using the ServiceAPI  (and not a custom endpoint) like ExtOrganizationId field.

The serviceAPI response for /episerverapi/commerce/customers/organization/:

Is there a workaround to get and set those custom fields untill (if) this feature will be done?

Thank you!

Viewing all 8020 articles
Browse latest View live