Calendar type – Sharepoint Designer – Design view

enter image description here


I am trying a add a header on a date on calendar so instead of just the date number it would have a text after. eg “15 – Meeting day” instead oj just “15”

I am able to edit this part from the developer tool but not on sharepoint designer as the design view is not showing for a calendar type (?) but would show on html type. Any advise?

Thanks in advance.

SharePoint Designer 2010 – Conditional Formatting on List

I have been asked to apply conditional formatting to a list in SharePoint 2010 to change the font colour if the difference is 7 or less when you minus the date in the Date Valid column from todays date. So…

Today – Date Valid <= 7 

I can apply simple conditions but I think the one I have been asked for would need to be done in the Advanced Condition window and I haven’t been able to figure out what it would be.

Does anyone know what the condition would be?

SharePoint designer 2013 will not install

Using a clean install of Win 10 Pro. Install of O365 2016 desktop apps (downloaded from O365 Admin portal) went fine, but attempts to install SharePoint Designer 2013, InfoPath 2013, Visio 2013, and Project 2013 all failed. Each show the following error:


Visio version: en_visio_professional_2013_x86_1123796

Project version: ProjectProfessional_x86_en-us

All office installs are 32 bit

Any suggestions on how to install the above?



How to get Total count of a person column in SharePoint Designer 2013

I have a list named “PendingApproval” in SharePoint 2016 on-premises. When the user login in to the system then in the home page I have to show total Pending Approval request for this loggedin user. I have to filter this by RequestedBy column which is Person type column. In SharePoint Designer I can filter the data by “RequestedBy” column but I am unable to get Total Number of request/count. How can I do this with SharePoint Designer 2013.

I have tried with Data View & Display Item form. I have used <xsl:value-of select="count($ RequestedBy)" /> but nothing is coming.

Let’s say there are 3 request for user SP1 in PendingApproval list, so the output will the 3

My Code:

<WebPartPages:DataFormWebPart runat="server" IsIncluded="True" AsyncRefresh="True" FrameType="None" NoDefaultStyle="TRUE" ViewFlag="8" Title="PendingApproval" PageType="PAGE_NORMALVIEW" ListName="{958ED955-7861-4A22-A727-4EC48F4BBC56}" Default="FALSE" DisplayName="PendingApproval" __markuptype="vsattributemarkup" __WebPartId="{534BCC5E-21EF-46D2-B4A8-29803F4A8224}" id="g_534bcc5e_21ef_46d2_b4a8_29803f4a8224" pagesize="1" __AllowXSLTEditing="true" WebPart="true" Height="" Width="">     <DataSources>         <SharePoint:SPDataSource runat="server" DataSourceMode="List" UseInternalName="true" UseServerDataFormat="true" selectcommand="&lt;View&gt;&lt;Query&gt;&lt;Where&gt;&lt;Eq&gt;&lt;FieldRef Name=&quot;RequestedBy&quot;/&gt;&lt;Value Type=&quot;Integer&quot;&gt;&lt;UserID/&gt;&lt;/Value&gt;&lt;/Eq&gt;&lt;/Where&gt;&lt;/Query&gt;&lt;/View&gt;" id="PendingApproval1"><SelectParameters><WebPartPages:DataFormParameter Name="ListID" ParameterKey="ListID" PropertyName="ParameterValues" DefaultValue="{958ED955-7861-4A22-A727-4EC48F4BBC56}"/><asp:Parameter Name="StartRowIndex" DefaultValue="0"/><asp:Parameter Name="nextpagedata" DefaultValue="0"/><asp:Parameter Name="MaximumRows" DefaultValue="1"/></SelectParameters><DeleteParameters><WebPartPages:DataFormParameter Name="ListID" ParameterKey="ListID" PropertyName="ParameterValues" DefaultValue="{958ED955-7861-4A22-A727-4EC48F4BBC56}"/></DeleteParameters><UpdateParameters><WebPartPages:DataFormParameter Name="ListID" ParameterKey="ListID" PropertyName="ParameterValues" DefaultValue="{958ED955-7861-4A22-A727-4EC48F4BBC56}"/></UpdateParameters><InsertParameters><WebPartPages:DataFormParameter Name="ListID" ParameterKey="ListID" PropertyName="ParameterValues" DefaultValue="{958ED955-7861-4A22-A727-4EC48F4BBC56}"/></InsertParameters></SharePoint:SPDataSource>     </DataSources>     <ParameterBindings>                                 <ParameterBinding Name="ListID" Location="None" DefaultValue="{958ED955-7861-4A22-A727-4EC48F4BBC56}"/>                                 <ParameterBinding Name="dvt_apos" Location="Postback;Connection"/>                                 <ParameterBinding Name="ManualRefresh" Location="WPProperty[ManualRefresh]"/>                                 <ParameterBinding Name="UserID" Location="CAMLVariable" DefaultValue="CurrentUserName"/>                                 <ParameterBinding Name="Today" Location="CAMLVariable" DefaultValue="CurrentDate"/>                                 <ParameterBinding Name="dvt_startposition" Location="Postback" DefaultValue=""/>                                 <ParameterBinding Name="dvt_firstrow" Location="Postback;Connection"/>                                 <ParameterBinding Name="dvt_nextpagedata" Location="Postback;Connection"/>                             </ParameterBindings>     <datafields>@Title,Title;@ProcessName,ProcessName;@RequestedBy,RequestedBy;@RequestedByName,RequestedByName;@RequestDate,RequestDate;@StatusAtMyTask,StatusAtMyTask;@RequestID,RequestID;@EmployeeID,EmployeeID;@RequestedByEmail,RequestedByEmail;@RequestLink,RequestLink;@IsOverdue,IsOverdue;@ID,ID;@ContentType,Content Type;@Modified,Modified;@Created,Created;@Author,Created By;@Editor,Modified By;@_UIVersionString,Version;@Attachments,Attachments;@File_x0020_Type,File Type;@FileLeafRef,Name (for use in forms);@FileDirRef,Path;@FSObjType,Item Type;@_HasCopyDestinations,Has Copy Destinations;@_CopySource,Copy Source;@ContentTypeId,Content Type ID;@_ModerationStatus,Approval Status;@_UIVersion,UI Version;@Created_x0020_Date,Created;@FileRef,URL Path;@ItemChildCount,Item Child Count;@FolderChildCount,Folder Child Count;@AppAuthor,App Created By;@AppEditor,App Modified By;</datafields>     <XSL> <xsl:stylesheet xmlns:x="" xmlns:d="" version="1.0" exclude-result-prefixes="xsl msxsl ddwrt" xmlns:ddwrt="" xmlns:asp="" xmlns:__designer="" xmlns:xsl="" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal">     <xsl:output method="html" indent="no"/>     <xsl:decimal-format NaN=""/>     <xsl:param name="dvt_apos">'</xsl:param>     <xsl:param name="ManualRefresh"></xsl:param>     <xsl:param name="dvt_firstrow">1</xsl:param>     <xsl:param name="dvt_nextpagedata" />     <xsl:param name="UserID">CurrentUserName</xsl:param>     <xsl:variable name="dvt_1_automode">0</xsl:variable>        <xsl:template match="/" xmlns:x="" xmlns:d="" xmlns:asp="" xmlns:__designer="" xmlns:SharePoint="Microsoft.SharePoint.WebControls">         <xsl:choose>             <xsl:when test="($  ManualRefresh = 'True')">                 <table width="100%" border="0" cellpadding="0" cellspacing="0">                     <tr>                         <td valign="top">                             <xsl:call-template name="dvt_1"/>                         </td>                         <td width="1%" class="ms-vb" valign="top">                             <img src="/_layouts/15/images/staticrefresh.gif" id="ManualRefresh" border="0" onclick="javascript: {ddwrt:GenFireServerEvent('__cancel')}" alt="Click here to refresh the dataview."/>                         </td>                     </tr>                 </table>             </xsl:when>             <xsl:otherwise>                 <xsl:call-template name="dvt_1"/>             </xsl:otherwise>         </xsl:choose>     </xsl:template>      <xsl:template name="dvt_1">         <xsl:variable name="dvt_StyleName">RepForm3</xsl:variable>         <xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row"/>         <xsl:variable name="dvt_RowCount" select="count($  Rows)"/>         <xsl:variable name="RowLimit" select="1" />         <xsl:variable name="FirstRow" select="$  dvt_firstrow" />         <xsl:variable name="LastRow" select="$  FirstRow + $  dvt_RowCount - 1" />         <xsl:variable name="IsEmpty" select="$  dvt_RowCount = 0" />         <xsl:variable name="dvt_IsEmpty" select="$  dvt_RowCount = 0"/>          <xsl:choose>             <xsl:when test="$  dvt_IsEmpty">                 <xsl:call-template name="dvt_1.empty"/>             </xsl:when>             <xsl:otherwise>                 <table border="0" width="100%">                     <xsl:call-template name="dvt_1.body">                         <xsl:with-param name="Rows" select="$  Rows"/>                         <xsl:with-param name="FirstRow" select="1" />                         <xsl:with-param name="LastRow" select="$  dvt_RowCount" />                      </xsl:call-template>                 </table>             </xsl:otherwise>         </xsl:choose>         <xsl:call-template name="dvt_1.commandfooter">             <xsl:with-param name="FirstRow" select="$  FirstRow" />             <xsl:with-param name="LastRow" select="$  LastRow" />             <xsl:with-param name="RowLimit" select="$  RowLimit" />             <xsl:with-param name="dvt_RowCount" select="$  dvt_RowCount" />             <xsl:with-param name="RealLastRow" select="number(ddwrt:NameChanged('',-100))" />         </xsl:call-template>     </xsl:template>     <xsl:template name="dvt_1.body">         <xsl:param name="Rows"/>         <xsl:param name="FirstRow" />         <xsl:param name="LastRow" />         <xsl:for-each select="$  Rows">             <xsl:variable name="dvt_KeepItemsTogether" select="false()" />             <xsl:variable name="dvt_HideGroupDetail" select="false()" />             <xsl:if test="(position() &gt;= $  FirstRow and position() &lt;= $  LastRow) or $  dvt_KeepItemsTogether">                 <xsl:if test="not($  dvt_HideGroupDetail)" ddwrt:cf_ignore="1">                     <xsl:call-template name="dvt_1.rowview" />                 </xsl:if>             </xsl:if>         </xsl:for-each>      </xsl:template>     <xsl:template name="dvt_1.rowview">         <tr>             <td>                 <table border="0" cellspacing="0" width="100%">                     <tr>                         <td width="25%" class="ms-vb">                             <b>RequestedBy:</b>                         </td>                         <td width="75%" class="ms-vb">                             <xsl:value-of select="@RequestedBy" disable-output-escaping="yes" />                         </td></tr><tr>                         <td width="25%" class="ms-vb">                             <b>count(@RequestedBy):</b>                         </td>                         <td width="75%" class="ms-vb">                              <xsl:variable name="count" select="count(@RequestedBy)" />                          </td></tr>                     <xsl:if test="$  dvt_1_automode = '1'" ddwrt:cf_ignore="1">                         <tr>                             <td colspan="99" class="ms-vb">                                 <span ddwrt:amkeyfield="ID" ddwrt:amkeyvalue="ddwrt:EscapeDelims(string(@ID))" ddwrt:ammode="view"></span>                             </td>                         </tr>                     </xsl:if>                 </table>             </td>         </tr>     </xsl:template>     <xsl:template name="dvt_1.empty">         <xsl:variable name="dvt_ViewEmptyText">There are no items to show in this view.</xsl:variable>         <table border="0" width="100%">             <tr>                 <td class="ms-vb">                     <xsl:value-of select="$  dvt_ViewEmptyText"/>                 </td>             </tr>         </table>     </xsl:template>     <xsl:template name="dvt_1.commandfooter">         <xsl:param name="FirstRow" />         <xsl:param name="LastRow" />         <xsl:param name="RowLimit" />         <xsl:param name="dvt_RowCount" />         <xsl:param name="RealLastRow" />         <table cellspacing="0" cellpadding="4" border="0" width="100%">             <tr>                 <xsl:if test="$  FirstRow &gt; 1 or $  dvt_nextpagedata">                     <xsl:call-template name="dvt_1.navigation">                         <xsl:with-param name="FirstRow" select="$  FirstRow" />                         <xsl:with-param name="LastRow" select="$  LastRow" />                         <xsl:with-param name="RowLimit" select="$  RowLimit" />                         <xsl:with-param name="dvt_RowCount" select="$  dvt_RowCount" />                         <xsl:with-param name="RealLastRow" select="$  RealLastRow" />                     </xsl:call-template>                 </xsl:if>             </tr>         </table>     </xsl:template>     <xsl:template name="dvt_1.navigation">         <xsl:param name="FirstRow" />         <xsl:param name="LastRow" />         <xsl:param name="RowLimit" />         <xsl:param name="dvt_RowCount" />         <xsl:param name="RealLastRow" />         <xsl:variable name="PrevRow">             <xsl:choose>                 <xsl:when test="$  FirstRow - $  RowLimit &lt; 1">1</xsl:when>                 <xsl:otherwise>                     <xsl:value-of select="$  FirstRow - $  RowLimit" />                 </xsl:otherwise>             </xsl:choose>         </xsl:variable>         <xsl:variable name="LastRowValue">             <xsl:choose>                 <xsl:when test="$  LastRow &gt; $  RealLastRow">                     <xsl:value-of select="$  LastRow"></xsl:value-of>                 </xsl:when>                 <xsl:otherwise>                     <xsl:value-of select="$  RealLastRow"></xsl:value-of>                 </xsl:otherwise>             </xsl:choose>         </xsl:variable>         <xsl:variable name="NextRow">             <xsl:value-of select="$  LastRowValue + 1"></xsl:value-of>         </xsl:variable>         <td nowrap="nowrap" class="ms-paging" align="right">             <xsl:if test="$  dvt_firstrow &gt; 1" ddwrt:cf_ignore="1">                 <a>                 <xsl:attribute name="href">javascript: <xsl:value-of select="ddwrt:GenFireServerEvent('dvt_firstrow={1};dvt_startposition={}')" />;</xsl:attribute>                 Start</a>                 <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>                 <a>                 <xsl:attribute name="href">javascript: history.back();</xsl:attribute>                 <img src="/_layouts/15/images/prev.gif" border="0" alt="Previous" />                 </a>                 <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>             </xsl:if>             <xsl:value-of select="$  FirstRow" />              - <xsl:value-of select="$  LastRowValue" />             <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes" xmlns:ddwrt="">&amp;nbsp;</xsl:text>              <xsl:if test="$  LastRowValue &lt; $  dvt_RowCount or string-length($  dvt_nextpagedata)!=0" ddwrt:cf_ignore="1">                 <a>                 <xsl:attribute name="href">javascript: <xsl:value-of select="ddwrt:GenFireServerEvent(concat('dvt_firstrow={',$  NextRow,'};dvt_startposition={',$  dvt_nextpagedata,'}'))" />;</xsl:attribute>                 <img src="/_layouts/15/images/next.gif" border="0" alt="Next" />                 </a>             </xsl:if>         </td>     </xsl:template> </xsl:stylesheet>   </XSL> </WebPartPages:DataFormWebPart> 

SharePoint Designer 2013 Workflow: Reading Check In comment, programmatic elevation of permissions, alternatives?

I’ve created a workflow for a review process, that copies a file into a “working” library, takes the check-in comment through Rest API (with elevated permissions and full appinv access) and then saves it as part of the comments history log (Among many other things, but this is the problem specifically).

This has been working great and dandy UNTIL, I’ve packaged it and need to deploy as template, I’ve noticed that the workflow ID changes and this means that each time a new site (Project site) is created, needs to send a mail/flag somehow someone from IT to elevate permissions in the appinv for that specific site collection (manual Admin appinv authorization).

I know how to do all of the above very well, with the exception that it’s not going to work for a massive deployment. With all of the above said this are the questions:

  • Can I get the Check In Comment through a SharePoint Designer 2010 or 2013 in any other way that does not mean using Rest API?
  • Is it possible to programmatically elevate permissions? I found this resource but I can’t seem to make anything out of that, it’s a powershell and should be run on a timer?
  • Any other ideas?

My first suggestion was, could we create a new field and add the comment there followed by a no, it has to be the Check In Comment sadly.

Thank you!