\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{Samuel Levesque (Sharepointerie)} \pdfinfo{ /Title (sharepoint-developer-cheat-sheet.pdf) /Creator (Cheatography) /Author (Samuel Levesque (Sharepointerie)) /Subject (SharePoint Developer Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{0072C4} \definecolor{LightBackground}{HTML}{EFF6FB} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{SharePoint Developer Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Samuel Levesque (Sharepointerie)} via \textcolor{DarkBackground}{\uline{cheatography.com/20859/cs/3739/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}Samuel Levesque (Sharepointerie) \\ \uline{cheatography.com/sharepointerie} \\ \uline{\seqsplit{sharepointerie}.com} \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 30th March, 2015.\\ Updated 8th May, 2016.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{x{2.33919 cm} x{2.63781 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{General querystring tricks}} \tn % Row 0 \SetRowColor{LightBackground} Web Part Maintenance Page & ?contents=1 \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} Open Page Modal & ?isdlg=1 \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} Setting Initial Ribbon & \seqsplit{?InitialTabId=Ribbon.Library} \tn % Row Count 5 (+ 2) % Row 3 \SetRowColor{white} Set page mode & ?mode=edit \tn % Row Count 6 (+ 1) % Row 4 \SetRowColor{LightBackground} Set page view & ?PageView=Personal \tn % Row Count 7 (+ 1) % Row 5 \SetRowColor{white} Set the tool pane view & ?ToolPaneView=2 \tn % Row Count 9 (+ 2) % Row 6 \SetRowColor{LightBackground} Set the mobile view & ?mobile=1 \tn % Row Count 11 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Web Part Maintenance Page is usefull to remove a web part when a bad webpart causes the whole page to crash. \newline \newline Open Page Modal : allow you to open in a dialog without the chrome. Setting Initial Ribbon will display the specific tab as selected when the Server ribbon is rendered. \newline \newline Set the page mode will allow you to switch between the edit or the view mode. \newline \newline Set the page view will allow you to switch between the Personal view or the Shared view.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.14011 cm} x{2.83689 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{URL location in SharePoint}} \tn % Row 0 \SetRowColor{LightBackground} View content and structure & \seqsplit{/\_layouts/sitemanager}.aspx \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} View the user information list & \seqsplit{/\_catalogs/users/simple}.aspx \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} View the taxonomy hidden list & \seqsplit{/Lists/TaxonomyHiddenList/AllItems}.aspx \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} Log in as another user & \seqsplit{/\_layouts/15/closeConnection}.aspx?loginasanotheruser=true \tn % Row Count 9 (+ 3) % Row 4 \SetRowColor{LightBackground} Save a site as a template & \seqsplit{/\_layouts/savetmpl.aspx} \tn % Row Count 11 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{3.4839 cm} x{1.4931 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Tokens at the beginning of a URL in SP2013}} \tn % Row 0 \SetRowColor{LightBackground} URL of the ControlTemplates virtual folder for the current website & \textasciitilde{}controlTemplates \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} URL of the Layouts virtual folder for the current website & \textasciitilde{}layouts \tn % Row Count 6 (+ 3) % Row 2 \SetRowColor{LightBackground} URL of the current website & \textasciitilde{}site \tn % Row Count 7 (+ 1) % Row 3 \SetRowColor{white} URL of the parent site collection of the current website & \textasciitilde{}sitecollection \tn % Row Count 9 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{3.58344 cm} x{1.39356 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Tokens at the beginning of a URL in SP2010}} \tn % Row 0 \SetRowColor{LightBackground} Web site (SPWeb) relative link & \textasciitilde{}site \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} site collection (SPSite) relative link & \textasciitilde{}sitecollection \tn % Row Count 4 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{3.4839 cm} x{1.4931 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Tokens at the beginning of a URL in an App}} \tn % Row 0 \SetRowColor{LightBackground} URL of the parent site collection of the current website & \textasciitilde{}sitecollection \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} URL of the current website & \textasciitilde{}site \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} URL of the app web of an app for SharePoint & \textasciitilde{}appWebUrl \tn % Row Count 5 (+ 2) % Row 3 \SetRowColor{white} URL of the ControlTemplates virtual folder for the current website & \textasciitilde{}controlTemplates \tn % Row Count 8 (+ 3) % Row 4 \SetRowColor{LightBackground} URL of the host web & \textasciitilde{}hostUrl \tn % Row Count 9 (+ 1) % Row 5 \SetRowColor{white} URL of the logo of the host web & \textasciitilde{}hostLogoUrl \tn % Row Count 11 (+ 2) % Row 6 \SetRowColor{LightBackground} URL of the Layouts virtual folder for the current website & \textasciitilde{}layouts \tn % Row Count 14 (+ 3) % Row 7 \SetRowColor{white} URL of a remote web application in an app for SharePoint & \textasciitilde{}remoteAppUrl \tn % Row Count 16 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.38896 cm} x{2.58804 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{List querystring tricks}} \tn % Row 0 \SetRowColor{LightBackground} Finding the Id (Guid) of a List & \seqsplit{?List=\%7B26534EF9\%2DAB3A\%2D46E0\%2DAE56\%2DEFF168BE562F\%7D} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} Finding the internal name of a column & \seqsplit{?Field=fieldInternalName} \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} Filter a list & \seqsplit{?FilterField1=fieldName\&FilterValue1=value} \tn % Row Count 8 (+ 3) % Row 3 \SetRowColor{white} Sort a list & \seqsplit{?SortField=fieldName\&SortDir=Desc} \tn % Row Count 10 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{To find the Guid of a list you must change "\%7B" to "\{", change all "\%2D" to "-" and change "\%7D" to "\}" \newline \newline To filter a list you must set internal field name in the the FilterField parameter (not the display name) and the value in the FilterValue parameter. You can specify multiple filter : FilterField1, FilterField2 etc... \newline \newline You can use the SortField and SortDir parameters to sort on any column in the view either Desc or Asc.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{3.43413 cm} x{1.54287 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Tokens that can be used inside a URL in SP2013}} \tn % Row 0 \SetRowColor{LightBackground} URL of the ControlTemplates virtual folder for the current website & \{ControlTemplates\} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} ID of an item in a list or library (an integer) & \{ItemId\} \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} URL of the item being acted upon & \{ItemUrl\} \tn % Row Count 7 (+ 2) % Row 3 \SetRowColor{white} URL of the Layouts virtual folder for the current website & \{Layouts\} \tn % Row Count 10 (+ 3) % Row 4 \SetRowColor{LightBackground} ID of the current list (a GUID) & \{ListId\} \tn % Row Count 12 (+ 2) % Row 5 \SetRowColor{white} Recurrence index of a recurring event & \{RecurrenceId\} \tn % Row Count 14 (+ 2) % Row 6 \SetRowColor{LightBackground} URL of the current website & \{Site\} \tn % Row Count 15 (+ 1) % Row 7 \SetRowColor{white} URL of the parent site of the current website & \{SiteCollection\} \tn % Row Count 17 (+ 2) % Row 8 \SetRowColor{LightBackground} URL of the current website & \{SiteUrl\} \tn % Row Count 18 (+ 1) % Row 9 \SetRowColor{white} HTTP Request URL & \{Source\} \tn % Row Count 19 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{3.68298 cm} x{1.29402 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Tokens that can be used inside a URL in SP2010}} \tn % Row 0 \SetRowColor{LightBackground} Integer ID that represents the item within a list & \{ItemId\} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} URL of the item being acted upon. Works only for documents in libraries & \{ItemUrl\} \tn % Row Count 5 (+ 3) % Row 2 \SetRowColor{LightBackground} GUID that represents the list & \{ListId\} \tn % Row Count 6 (+ 1) % Row 3 \SetRowColor{white} URL of the Web site (SPWeb) & \{SiteUrl\} \tn % Row Count 7 (+ 1) % Row 4 \SetRowColor{LightBackground} Recurrence index & \{RecurrenceId\} \tn % Row Count 9 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{3.4839 cm} x{1.4931 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Tokens that can be used inside a URL of an app}} \tn % Row 0 \SetRowColor{LightBackground} OAuth context token for the app & \{AppContextToken\} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} URL of the app web in an app for SharePoint & \{AppWebUrl\} \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} Client cache control number (client tag) for the current website & \{ClientTag\} \tn % Row Count 7 (+ 3) % Row 3 \SetRowColor{white} Logo for the host web of an app for SharePoint. & \{HostLogoUrl\} \tn % Row Count 9 (+ 2) % Row 4 \SetRowColor{LightBackground} Title of the host web of an app for SharePoint & \{HostTitle\} \tn % Row Count 11 (+ 2) % Row 5 \SetRowColor{white} URL of the host web of an app for SharePoint & \{HostUrl\} \tn % Row Count 13 (+ 2) % Row 6 \SetRowColor{LightBackground} ID of an item in a list or library (an integer) & \{ItemId\} \tn % Row Count 15 (+ 2) % Row 7 \SetRowColor{white} URL of the item being acted upon & \{ItemUrl\} \tn % Row Count 17 (+ 2) % Row 8 \SetRowColor{LightBackground} Current language/culture of the host web of an app for SharePoint & \{Language\} \tn % Row Count 20 (+ 3) % Row 9 \SetRowColor{white} ID of the current list (a GUID) & \{ListId\} \tn % Row Count 22 (+ 2) % Row 10 \SetRowColor{LightBackground} Full build version number of the SharePoint farm & \{ProductNumber\} \tn % Row Count 24 (+ 2) % Row 11 \SetRowColor{white} Recurrence index of a recurring event & \{RecurrenceId\} \tn % Row Count 26 (+ 2) % Row 12 \SetRowColor{LightBackground} URL of a remote web application in an app for SharePoint & \{RemoteAppUrl\} \tn % Row Count 28 (+ 2) % Row 13 \SetRowColor{white} URL of the current website & \{Site\} \tn % Row Count 29 (+ 1) % Row 14 \SetRowColor{LightBackground} URL of the parent site of the current website & \{SiteCollection\} \tn % Row Count 31 (+ 2) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{x{3.4839 cm} x{1.4931 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Tokens that can be used inside a URL of an app (cont)}} \tn % Row 15 \SetRowColor{LightBackground} URL of the current website & \{SiteUrl\} \tn % Row Count 1 (+ 1) % Row 16 \SetRowColor{white} HTTP Request URL & \{Source\} \tn % Row Count 2 (+ 1) % Row 17 \SetRowColor{LightBackground} Resolves five standard tokens & \{StandardTokens\} \tn % Row Count 4 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{The following tables for use in either apps for SharePoint or farm solutions. In addition, some tokens are usable only in apps. For more information about them, see \{\{link="https://msdn.microsoft.com/en-us/library/office/jj163816.aspx"\}\}URL strings and tokens in apps for SharePoint\{\{/link\}\}.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}