\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{spurthy.prabhakar} \pdfinfo{ /Title (getting-started-with-skdp.pdf) /Creator (Cheatography) /Author (spurthy.prabhakar) /Subject (Getting Started with SKDP 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}{2143A3} \definecolor{LightBackground}{HTML}{F1F3F9} \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{Getting Started with SKDP Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{spurthy.prabhakar} via \textcolor{DarkBackground}{\uline{cheatography.com/123097/cs/23093/}}} \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}spurthy.prabhakar \\ \uline{cheatography.com/spurthy-prabhakar} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 12th June, 2020.\\ 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*}{2} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Update the Query Fields Worksheet}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{8.4cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/spurthy-prabhakar_1591273087_CS-4.PNG}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{For Salesforce fields to be used and referenced in the digital platform, we need them to be queried from the Salesforce database. The exhaustive list of queries are stored in the Query Fields tab in the {\bf{Configurations}} spreadsheet. \newline Add {\bf{Suffix}} to the Financial Account Role query.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Connectors}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{So far, {\bf{Suffix}} has been added to the Financial Account Role query in the Configurations sheet and to the appropriate layout in the Modules sheet.some custom UI level rules around {\bf{Suffix}} has also been adjusted. \newline % Row Count 5 (+ 5) What connects what we see on NAO screen and the Salesforce schema? Connectors!% Row Count 7 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Saving value from NAO screen into Salesforce field}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{8.4cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/spurthy-prabhakar_1591274622_CS-5.PNG}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{To save the value enters by the Advisor in the Suffix field on the screen into the Suffix field on Financial Account Role, a Connector needs to be updated. \newline Based on the scenario, different Connector sheets are to be updated. \newline To save from NAO to FAR and given NF is the custodian in question, we will need to look at the {\bf{mapNAOOwnerNF}} tab.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Loading the value from SF field into NAO screen}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{8.4cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/spurthy-prabhakar_1591276008_CS-6.PNG}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{To load the field level value back to the NAO screen on edit of FA, a (reverse) Connector needs to be updated. \newline To load from FAR suffix field to NAO and given NF is the custodian in question, we will need to look at the {\bf{mapFARoleToNAONF}} tab.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Prefilling values from Contact on Load of NAO}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{This requires update of a connector sheet to map values from the underlying Contact record associated with the role into the screen when NAO loads. \newline % Row Count 3 (+ 3) Given NF is the custodian in question, MapOwnerModulesNF is the sheet to be updated to prefill {\bf{Suffix}} from Contact.% Row Count 6 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{More about Connectors}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\{\{link="https://theathenegroup.atlassian.net/wiki/spaces/AKB/pages/211813541/Connector+Sheet"\}\}Click here to gain a deeper understanding on Connectors\{\{/link\}\}% Row Count 4 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{A Note about Modules worksheets}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Based on which screen you want the field in, different Modules sheets are to be updated.. \newline % Row Count 2 (+ 2) For Account Instructions/Account Details screens and given NF is the custodian in question, {\bf{NFS NAO}} worksheet is to be updated.% Row Count 5 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{A Note about Built-In functions}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{SKIF, SKAND, etc. are SKDP defined built-in functions. Refer to the Built-in spreadsheet in the google folder To see the exhaustive list of SKDP built-in functions and what each of them does.Your own built-in functions can be written on separate worksheets of the Built-In spreadsheet if your implementation demands it.% Row Count 7 (+ 7) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{A Note on Picklists tab of Modules}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{If Suffix were a picklist field with values Mr., Mrs. and Miss, these picklist values would be defined in the Picklists sheet. \newline % Row Count 3 (+ 3) \{\{link="https://theathenegroup.atlassian.net/wiki/spaces/AKB/pages/211748232/Module+Sheet"\}\}Click here and refer to section {\bf{Module's Sheet picklist}}\{\{/link\}\}% Row Count 7 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Note on Saving to JSON versus Discrete Field}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Which Connector to update when also depends on whether the screen value is being saved into/loaded from the actual field or from the Json Long Text field present in the object.% Row Count 4 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Note on Orchestrations}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Orchestrations are a collection of Modules. \newline % Row Count 1 (+ 1) Orchestrations are updated at the beginning of each impementation to bring up a bundle of screens specific to the product company. \newline % Row Count 4 (+ 3) If any new screen is to be added, the orchestrations will have to be updated with the newly added screen. \newline % Row Count 7 (+ 3) \{\{link="https://theathenegroup.atlassian.net/wiki/spaces/AKB/pages/211878991/Orchestration+Sheet"\}\}More about Orchestrations sheet\{\{/link\}\}% Row Count 10 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Note on Components}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Components sheet defines all the UI components used in Modules. Eg: sk-inputtext. \newline % Row Count 2 (+ 2) Our own Components can be defined if our implementation demands it.% Row Count 4 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}