Question

I have created a custom pagelayout. In my pagelayout I have a picture with image rendition id. The image with this imagerendition id (6) is available. Why does it not working?

<PublishingWebControls:EditModePanel ID="EditModePanel4" runat="server" PageDisplayMode="Display">
    <div class="article-content">
        <div class="newsArticleImage" style="float:right;padding:5px;">
           <PublishingWebControls:RichImageField ID="newsArticleImage" runat="server" FieldName="PublishingPageImage" RenditionId="6" />
        </div>
        <PublishingWebControls:RichHtmlField FieldName="PublishingPageContent" HasInitialFocus="True" runat="server"/>
        <b>Reacties:</b><br/>
        <SharePointPortalControls:SocialCommentControl ID="CommentControl" runat="server"/>
    </div>
</PublishingWebControls:EditModePanel>

enter image description here

This is my page. Like you see there is no querystring with imagerendition id 6.

enter image description here

PS. on my dev machine it is working. On acceptance environment I have this issue.

Was it helpful?

Solution 4

The issue was that I have 2 times the control PageFieldRichImageField:RichImageField. The first one is only visible in edit mode. The second one is only visible in display mode. The first one was not having the image rendition property. I modified it and now it is working fine.

OTHER TIPS

One of the prerequisites for Image Rendition is to have a BLOB cache enabled on the WFE. You could accomplish this by following the steps outlined in the article Configure cache settings for a web application in SharePoint Server 2013

To configure BLOB cache settings

  1. Verify that you have the following administrative credentials: You must be a member of the Administrators group on the local computer to configure the BLOB cache settings.

  2. Click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.

  3. In Internet Information Services (IIS) Manager, in the Connections pane, click the plus sign (+) next to the server name that contains the web application, and then click the plus sign next to Sites to view the web application or applications that have been created.

  4. Right-click the name of the web application for which you want to configure the disk-based cache, and then click Explore. Windows Explorer opens, with the directories for the selected web application listed.

  5. Right-click web.config, and then click Open.

  6. If the Windows dialog box appears, select Select a program from a list of installed programs, and then click OK.

  7. In the Open With dialog box, click Notepad, and then click OK.

  8. In the web.config Notepad file, find the following line:

  9. In this line, change the location attribute to specify a directory that has enough space to accommodate the cache size.

Note:

We strongly recommend that you specify a directory that is not on the same drive as where either the server operating system swap files or server log files are stored.

  1. To add or remove file types from the list of file types to be cached, for the path attribute, modify the regular expression to include or remove the appropriate file extension. If you add file extensions, make sure to separate each file type with a pipe (|), as shown in this line of code.

  2. To change the size of the cache, type a new number for maxSize. The size is expressed in gigabytes (GB), and 10 GB is the default.

Important:

It is recommended that you not set the cache size smaller than 10 GB. When you set the cache size, make sure to specify a number large enough to provide a buffer at least 20 percent bigger than the estimated size of the content that will be stored in the cache.

  1. To enable the BLOB cache, change the enabled attribute, from "false" to "true".

  2. Save the Notepad file, and then close it.

Instead closing RichImageField like this <PublishingWebControls:RichImageField />

Try closing like this

<PublishingWebControls:RichImageField>
</PublishingWebControls:RichImageField>

OR try with this link

http://bexgordon.com/?p=54

Change version in Register Tagprefix

Version=16.0.0.0 => SP Online

Version=15.0.0.0 => SP 2013

<%@Register Tagprefix="PageFieldRichImageField" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>

<PageFieldRichImageField:RichImageField runat="server" FieldName="942cf913-d3ad-4493-9754-e91cf53e3cd9" RenditionId="6">
</PageFieldRichImageField:RichImageField>

As BennySkogberg mentions, you have to enable your blob cache to have the rendition function.

So 1- check if your have the same blob configuration in "dev machine" vs "acceptance environment" on all your web front ends. Do iisreset if some changes are made.

2- if you have built you "acceptance environment" using a backup/restore of another environment, your blob cache may have lost its synchronization. A way of solving the problem is to create a new blob cache directory (In the web.config of each web front end server, => rename C:\Blobcache\14 => C:\AcceptanceBlobCache1\14 => create a new folder C:\AcceptanceBlobCache1\14 on your explorer => iisreset).

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top