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

LangugeRouting with Client.Get()

$
0
0

Hi!

I'm using Find 13.0.5 and trying out the new LanguageRouting. I have a class with a LanguageRouting property that has has the LanguageRoutingAttribute. When I index such an entity without setting the LanguageRouting property, I can do Client.Get(id) and get a response back. But when I add the LanguageRouting and then call Client.Get(id) I get nothing back. There's an overload in Client.Get() that takes language routing as the second argument, but when looking at the implementation that argument is ignored. And passing the argument still returns null.

Is this a bug or am I missing something?


LanguageManager (Language Add-On): Add all children does not seem to work in CMS

$
0
0
Hi, I am evaluating this add-on for our translators. In order to make the export faster, I would like to use the "Add all children" and "Add related contents that need translation" options in the "Add to translation" dialog. Apparently even though my CMS page the many descendants, it does not add anything at all to the project, not even the page I clicked on. If I do not check these checkboxes, the page itself gets added correctly. The same functionality is working as expected in Commerce, all descendants get added to the project. How to make it work in CMS? Using LanguageManager version 3.3.0, Episerver CMS 11.11. Thank you in advance!

English catalog cannot be loaded and url is not correct.

$
0
0

Hi, 

We have launched a cms/commerce site for half year ago. Currently we are adding a customer portal site which shares the same codebase. The customer portal site has a new startpage in cms and new catalog in commerce. 

A product can be existed in the site1 catalog (boxxx) and customer portal site catalog (epirxxx), what we have done is added a relation from site 1 to customer portal site.

The problem that we face at this moment, the site 1 catalog cannot be expanded when I choose the english version of a product.

(Site 1 boxxxx catalog doesn't have English as available languages, I added afterwards when we created the customer portal site)

Ohter problem is when I clicked the "View on website", the categories are skipped in the url. 
http://local.epixxx.xxxx.com/bandningsmaskin-px-202-std/. It become a 404 site. 

The correct one should be http://local.epixxx.xxxx.com/epixxx-branded/maskin/bandmaskin/bandningsmaskin-px-502

Hope someone can answer my questions. 

Thanks inadvance,

ChiChing

Programmatically remove expired block content from edit mode

$
0
0

I am trying to make a scheduled job that will remove expired content from content area or xhtml string to clean up the edit mode of unused blocks, but not move it to the recycle bin because maybe someday it will be used again. 

I found many posts here on World and on various blogs about getting the references to specified content but nothing that would show me the way to actually remove them. I am close but something is still missing. I also think there is more cleaner way of sloving this but couldn't find any Repository or Service that would clean up list of ReferenceInformation returned by GetReferencesToContent method.

Here is the code:

var contentLoader = ServiceLocator.Current.GetInstance<IContentLoader>();
var contentTypeRepository = ServiceLocator.Current.GetInstance<IContentTypeRepository>();
var contentRepository = ServiceLocator.Current.GetInstance<IContentRepository>();
var contentModelUsage = ServiceLocator.Current.GetInstance<IContentModelUsage>();
var contentType = contentTypeRepository.Load<MyBlockType>();
var contentUsages = contentModelUsage.ListContentOfContentType(contentType);
// get distinct content references without version
var contentReferences = contentUsages
	.Select(x => x.ContentLink.ToReferenceWithoutVersion())
	.Distinct()
	.ToList();
// fetch data from DB
var instances = contentReferences
	.Select(contentReference => contentLoader.Get<IContent>(contentReference)).Where(x => (x as IVersionable)?.StopPublish < DateTime.Now)
	.Select(x => x.ContentLink);
foreach (var contentReference in instances)
{
	//I assume that if the next collection of ReferenceInformation could be cleared and saved as such, it would solve the problem without looping through all page properties
	var usages = contentRepository.GetReferencesToContent(contentReference, true);
	foreach (var usage in usages)
	{
		var original = contentRepository.Get<ContentData>(usage.OwnerID, usage.OwnerLanguage);
		var clone = (ContentData)original.CreateWritableClone();
		var oldLink = contentRepository.Get<BlockData>(usage.ReferencedID).ToString(); // to be replaced with string.Empty if found in XhtmlString
		foreach (var property in content.Property.Where(x => x.PropertyValueType == typeof(ContentArea) || x.PropertyValueType == typeof(XhtmlString)))
		{
			if (property.PropertyValueType == typeof(ContentArea))
			{
				if (((ContentArea)original[prop])?.Items?.Any(x => x.ContentLink.CompareToIgnoreWorkID(usage.ReferencedID)) ?? false)
				{
					//remove content area item with the contentLink as same as expired content.
				}
			}
			if (prop.PropertyValueType == typeof(XHtmlString))
			{
				//parse string and replace with string.Empty if content reference to expired content was found.
			}
			//Here I've tried to save, check out, publish, force new version, bitwise action on enum (but this enum was not marked with [Flags] attribute so in reality not sure if it even should work.
			contentRepository.Save((IContent)clone, SaveAction.Publish, AccessLevel.NoAccess);
			//without next piece of code GetReferencesToContent in second for each loop returns usage as it was never tampered with.
			//on top of all, ContentSoftLinkIndexer is marked as Internal API and could be changed without notice.
			var contentsoftlinkindexer = ServiceLocator.Current.GetInstance<ContentSoftLinkIndexer>();
            var contentSoftLinkRepo = ServiceLocator.Current.GetInstance<IContentSoftLinkStatusService>();
            var links = contentsoftlinkindexer.GetLinks(content).Where(x => !x.ReferencedContentLink.CompareToIgnoreWorkID(contentreference)).ToList();
            contentSoftLinkRepo.SaveLinkStatus(links);
			//This resets usage of the expired content but doesn't remove it from content Area in edit mode
		}
	}
}

Whitelist for autocomplete

$
0
0

Hi. In an EPiserver project I working on, we use EPiserver.Find as search provider. We also use the autocomplete api as described under statistics ( https://world.episerver.com/documentation/developer-guides/find/search-statistics/).

We find that the users are searching for stranges things and we need to limit the results in the autocomplete list.

It is possible to get only the phrases added in the autocomplete panel in Episerver.find as a whitelist  without searching in the statistics data?

Slow startup on Azure

$
0
0

Hi,

We're in the process moving our Episerver sites to Azure. The sites runs on a set of VMs (Iaas) and connecting to a SQL server (Paas).

The Episerver sites takes longer to startup on Azure, about twice as much as the sites hosted in the non-Azure environment.  Both the CPUs and the SQL server DTU are not under pressure.

When hitting /secui/shell/debug/showtimemeters/ the DataInitialization, ModelSyncInitialization and ShellInitialization takes the longest on the Azure environment. 

Has anyone had a performance issue when moving Episerver to Azure?

Thanks,

Danie

Get Summarised Text Not Working for Custom Data Element

$
0
0

Hi everyone,

I've built some custom form elements that are pretty much exactly the same to their base class but with an added property on, all seems good however when I tick the option to display the summary message with a list of all the form elements and their values before the message doesn't appear to pull through my custom DateTime elements value, all other custom elements work correctly though. I can see in the EPiServerFormsSamples.js that the showSummarizedText function is not returning this specific value.

Any ideas would be much appreciated.

Thanks

Commerce Manager - cannot add Lineitem to existing Order

$
0
0

Commerce 12.11.0

When I try to add a line item to an existing Order in Commerce Manager, I get the following error

The Product '' does not have a valid max quantity setting and was removed from your cart.

The variation has the Inventory Min and Max Quantity set to 0 and not Tracked. 

Increasing the max quantity doesn't resolve the error.

The error only occurs in Commerce Manager, adding the same item to cart via the front end website works. 


Alternative to unifiedFile in EPIServer 10

$
0
0

Is there anyone expert in EPIServer.

I need help to migrate code from Version 6 to 10.

I have this code in my file and it gives error after i migrated to Version 10.

public void Initialize(InitializationEngine context)
    {
        UnifiedFile.UnifiedFileCheckedIn += UnifiedFile_UnifiedFileCheckedIn;
    }

It gives error on UnifiedFile.The name unifiedfile does not exist in current context.

Like this many errors related to it.

What is alternative for this?

Backups of DXC databases and blobs from PaaS Portal

$
0
0

Once in a while (sometimes more often), I find myself requesting backups of databases and blobs from a production site in Episerver DXC.

Currently I have to request those backups as a support case, but I would very much like to do that myself from the PaaS Portal. Same goes for the blob storage with media assets.

Maybe it could give me a short-term download link for the BACPAC files (like it does for log files). Maybe it could place the files in a blob container like service desk does now. Or maybe it could do something completely else.

Image not get deleted from folder though removed from CMS

$
0
0

I have deleted assets (an image )to trash, it goes awayh from assest tab under "For this Block" tab, the file exists in the folder though.

Insall Ektron error

$
0
0

Hi,

I am getting the following error while installing the ektron.

ERROR! Unable to locate the Starter Sites Directory using the path: C:\Program Files (x86)\Ektron\CMS400v90\Sites!

OS: Windows 7, SQL SERVER 2012, .Net Framework 4.7

Kinldy suggest the resolution.

How to change View of EPiServer froms?

$
0
0

How to change View of EPiServer froms?

Getting real-time connection message very often

$
0
0

I am getting the below message very often. It does not prevent the CMS  to work though.

"A real-time connection could not be established with the server. This may be caused by incorrect configuration. Please see the User interface section in the user guide for further information."

Increased performance for viewing scheduled job in admin

$
0
0

Problem:

If you are in admin and click on a scheduled job with a lot of text in history tab, Episerver will respond very slow. This can occur for instance for the Episerver Find schuduled job which can create huge amount of text in the history tab per job in admin. Limiting the number of chars to 2000 for the message worked wonders for performance though. So suggestion is to either set a fixed limit to x number of chars for description of the scheduled job or some other similar change to avoid this issue. Should be an easy fix. 

Workaround is to create an SQL script to remove history items which includes a text that is above 2000 chars.  


Caching compatible with VisitorGroups and A/B Tests?

$
0
0

Hello Everyone,

I'm wondering what people are doing in terms of the title in their solutions.

I've been tasked with improving our caching config to better SEO the site (from a page load speed POV) and I'm trying to wrap my head around a suitable way forward without screwing everything up :)

We're on DXC running CMS v11.11 right now, we've got static content and assets being cached at the CDN (with versioning to provide the cache invalidation), but the last piece of the puzzle I believe will be the page level caching. I'm given the understanding that this page level caching, or lack thereof, is holding the site back to really experiencing the gains that the other caching should be providing.

I've read through EPiServer's DXC training material (coursebook v17.10 so it's a little dated) and that points to David's DonutCaching blog and then Jon's version for EPiServer. Both of which go back a little further - there are comments on this blog that a VisitorGroup method in David's approach is deprecated.

So yeah, has anyone implemented a robust solution which caches the html responses but also works with visitor groups and a/b tests?

 

New form button is disabled in Forms tab of EPiServer form

Failing Assembly installer

$
0
0
I am trying to install episerver 4.61 on winXP and I have no episervers allready installed.

I have moved the v3 and 3.5 .net framwork maps however during the end on the installation at "Running Assembly installer for /bin/EPiServer.dll" it gives me an error saying:

Cannot install files: Installationen misslyckades och en återställning har utförts. [Indatasträngen hade ett felaktigt format.]

Translated:

Cannot install files: Installation failed and rollback have been preformed. [The indata string had an incorrect format.]

 

Any help woude be greatly appreciated.

Exception when Imports one or many catalogs, metadata and dictionaries from an xml source

$
0
0

Hi,

I am using CatalogImportExport class to import catalogs, metadata and dictionaries from an xml source to episerver commerce and sometime it work but sometime it throw an exception like below

Could you please give me a hand

My code

using (var catalogXmlStream = new MemoryStream())
{
catalogXDoc.Save(catalogXmlStream);
// set stream pointer to beginning
catalogXmlStream.Seek(0, SeekOrigin.Begin);

// import back by episerver import export
CatalogImportExport cie = new CatalogImportExport();
cie.Import(catalogXmlStream, true);
}

The job is running. - Starting execution of: Plus.Web.Business.ScheduleTasks.NewScheduledJob.APIServiceENEGScheduledJob
Invalid operation. The connection is closed.
<br>
at System.Data.SqlClient.SqlInternalConnectionTds.ValidateConnectionForExecute(SqlCommand command)
at System.Data.SqlClient.SqlInternalTransaction.Rollback()
at System.Data.SqlClient.SqlTransaction.Rollback()
at Mediachase.Data.Provider.TransactionScope.ThreadStaticTransactionScope.Dispose()
at Mediachase.Data.Provider.TransactionScope.Dispose(Boolean disposing)
at Mediachase.Data.Provider.TransactionScope.Dispose()
at Mediachase.MetaDataPlus.Internal.CatalogMetaObjectRepository.UpdateBatch(IDictionary`2 metaObjectsByLanguage)
at Mediachase.Commerce.Catalog.ImportExport.Import.MetaDataReader.AcceptChanges(Dictionary`2 metaObjects)
at Mediachase.Commerce.Catalog.ImportExport.Import.NodesReader.Read(ImportCatalogNodeCache relationCache)
at Mediachase.Commerce.Catalog.ImportExport.Import.Importer.Import(Stream stream, String sourceDirectory, Boolean overwrite)
at Electrolux.Core.Catalog.Import.EdenImportService.Import(String language, IEdenCatalogConfigs catalogConfigs, IEdenMappingConfigs mappingConfigs, IEdenURLBasePathConfigs urlBasePathConfigs, XmlNode node)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Electrolux.Core.Catalog.Import.EdenImportService.Import(String language, IEdenCatalogConfigs catalogConfigs, IEdenMappingConfigs mappingConfigs, IEdenURLBasePathConfigs urlBasePathConfigs, XmlNode node)
at Electrolux.Web.Business.ScheduleTasks.NewScheduledJob.NewEDENAPIServiceScheduledJobBase.Execute()

Thanks

Thao Pham

Updating crawler's start URL - will indexed WebContent on old URL domain be removed from index?

$
0
0

I have a Crawler connector where I've updated the Start URL from domain1.se to domain2.se. Do I need to clear the index by myself or will the crawl process clear the previously indexed domain1 items once a new crawl on domain2 completes?

While crawl is running it looks like items from domain1 are still in untouched in index while items from domain2 are being added.

I guess I will find out later today but could save some time by clearing manually right away if that's what's needed.

Viewing all 8020 articles
Browse latest View live