-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Content Type Icon thumbnails cannot be generated when application is hosted in Content Cloud (DXP) #10
Comments
@mits-live But is there such path: |
@KevinJCandlert Does it work for you when you use 2.0.2? |
@marisks there is no such path as the application runs on a Linux-based container hosted in the DXP. In the container there is no App_Data subfolder at all. That is actually the problem - the Geta-plugin tries to use the file system for the cached data it uses, while on a Cloud environment (like DXP) there is only the file system of the container (which is read-only) and all the assets and the dynamic stuff (like images, thumbnails, log files, etc.) gets operated from the Azure Blobs storage... |
Ok. Then it seems that this is a bigger issue and requires quite a lot of changes. |
@marisks may be this is not that big - Optimizely CMS already has the two implementations FileBlobProvider and AzureBlobProvider. Both inherit the abstract class BlobProvider... The bigger change would be to utilize that BlobProvider abstraction instead of direct using the file system... |
GitHub issue is a ticket. I have added a label - enhancement that basically means that this is a feature request. |
Hello! Same problem, I self host Linux optimizely cms 12 in azure. If the path is not found: System.IO.DirectoryNotFoundException: Could not find a part of the path '/home/site/wwwroot/App_Data/thumb_cache\e6ac59f1-b55c-b3ee-97e7-e71cd6cd12e2.png'. (i did not have apppath folder) if path is found: System.IO.IOException: Invalid argument : '/home/site/wwwroot/img\6c6203e6-304c-32e2-5f5f-74295328d3c3.png' at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func example link: /Geta_Optimizely_ContentTypeIcons?BackgroundColor=%23F3C905&ForegroundColor=%23ffffff&Width=120&Height=90&FontSize=40&Character=61893&CustomFontName=&EmbeddedFont=fa5%2fwebfonts%2ffa-solid-900.ttf&UseEmbeddedFont=True&Rotate=None I guess the IO paths not working the same in Linux. Do we need disk cache? why not disable it? In memory cache? |
@LucGosso with the latest version? There was a fix for paths. |
yes, latest version. if not fixing the path problem, is it an ok option to serve image from memorycache? with new prop option.UseDiscCache = false |
The path problem was fixed. Do you use the latest version? For the alternative caching it would be better to have a more flexible way:
|
I use version 2.0.2 Thats a good plan. I dont have time for now, but lets see we find someone else in the community that wants to help out. |
@marisks, in v.2.0.2 there is a change to use the Linux-style paths like |
@mits-live As I understand Linux style paths work in all environments - Linux, Windows, and Mac. Using I thought that App_Data was part of every Optimizely CMS project (at least it was usually). Is it removed when deploying? |
@marisks Linux/Unix-style paths do work on Windows, mostly because the latest Windows OS versions provide support for it (look at the WSL) and using the declarations from the .NET framework itself is still the better way to ensure cross-OS compatibility (IMHO)... |
I'm using the latest version of Optimizely deployed to DXP server. Working fine for me. |
Interesting @elivnjak Could you help us, login to Kudu => https://[dxpINTEinstance].scm.azurewebsites.net/DebugConsole (you need access to dxp instance in azure portal) Browse to app_data folder, can you see any thumbs folder? with the icons? If not, where is the thumbs folder? How is your startup config for ContentTypeIcons? |
@LucGosso i have access to the Debug console but I dont see any of the website files within the folders. I think the DXP uses docker to host the websites. I have it set up as follows: StartUp.cs In the ConfigureServices method i have
In the Configure method i have:
In my appsettings.json i have:
|
looks like default you can access it on this url no? https://[dxpINTEinstance].scm.azurewebsites.net/wwwroot/ where is the thumb_cache? |
If i go into wwwroot all i see is one file - hostingstart.html We havent set up anything for appDataPath. I dont think its using the cached image. When i look at the url of the icons it is:
I think its using Embedded Fonts. |
Hi Together,
I'm experiencing an issue when the application (using CMS 12, EPiServer.CMS version 12.5.0) gets deployed to Integration/Preproduction/Production. The hosting is in DXP.
The Geta.Optimizely.ContentTypeIcons plugin uses the [appDataPath] variable to create the paths to the image thumbnails and to the used fonts, and this works perfectly on the local development environment. But when the application gets deployed on f.e. Integration, then the images associated to page/block types cannot be load anymore:
The corresponding exceptions are like these...
If using version 2.0.1 of the plugin:
System.IO.DirectoryNotFoundException: Could not find a part of the path '/app/App_Data/thumb_cache\831edaaf-49ab-5933-3456-c725623c8be1.png'.
After some manual fix on the CachePath value in the ContentTypeIconOptions:
System.IO.DirectoryNotFoundException: Could not find a part of the path '/app/App_Data/thumb_cache/831edaaf-49ab-5933-3456-c725623c8be1.png'.
I've seen, the fixes in the version 2.0.2 does not cover that problem, so what are the next steps on this?
Many thanks and kind regards,
MITS-Live
The text was updated successfully, but these errors were encountered: