\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{tareq\_elayyan} \pdfinfo{ /Title (vardot-developers.pdf) /Creator (Cheatography) /Author (tareq\_elayyan) /Subject (Vardot Developers 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}{2F71BD} \definecolor{LightBackground}{HTML}{F2F6FA} \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{Vardot Developers Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{tareq\_elayyan} via \textcolor{DarkBackground}{\uline{cheatography.com/57649/cs/15261/}}} \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}tareq\_elayyan \\ \uline{cheatography.com/tareq-elayyan} \\ \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 9th April, 2018.\\ 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} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Site Building Best Practices}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Plan your initial site}}: Always read the requirement specifications in detail. Clear any doubts so there is no assumptions about the functionality.\{\{nl\}\} You should know what content type you are going to create in the project, how many views need to there, what is the layout of the site, how many fields need to be created and how everything should appear in responsive.} \tn % Row Count 8 (+ 8) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Compare Similar Modules}} instead of installing the first module you find.} \tn % Row Count 10 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Don't Use Too Many Modules}}} \tn % Row Count 11 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Don't Hack}} core or any contrib module or any contrib theme or any contrib profile. Patches could be used.} \tn % Row Count 14 (+ 3) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Don't create new field (base), if field already exist,}} Ex: field\_image, field\_new\_image, field\_event\_image. Always try to reuse exist fields.} \tn % Row Count 17 (+ 3) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Don't Repeat Yourself ({\bf{DRY}}): \{\{link="http://deviq.com/don-t-repeat-yourself/"\}\}http://deviq.com/don-t-repeat-yourself/\{\{/link\}\}} \tn % Row Count 20 (+ 3) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Naming}}: When you create a new block/view, make sure that its name is human readable and understandable by the client.} \tn % Row Count 23 (+ 3) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Add Real Content for Testing}}} \tn % Row Count 24 (+ 1) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Always use {\bf{t()}} function for strings; this is important for translations. And {\bf{l()}} function to format any internal or external URL's.} \tn % Row Count 27 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Content Type Creation Guideline}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Content Type and View Modes}}\{\{nl\}\}1. Check content type name, description\{\{nl\}\} 2. Add the needed fields and configure them\{\{nl\}\}3. Add the SEO and metatags fields\{\{nl\}\}4. Configure the form display\{\{nl\}\}5. Configure the view modes needed for the content type\{\{nl\}\}6. Check content type Rabbit Hole settings (if it applies)\{\{nl\}\}7. Check content type moderation settings (if it applies)} \tn % Row Count 8 (+ 8) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Entity Queues}}\{\{nl\}\}8. Create an entity queue for the content type (if it is needed)\{\{nl\}\}9. Configure the entity queue settings} \tn % Row Count 11 (+ 3) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Views}}\{\{nl\}\}10. Create Listing view for the content type (Main View)\{\{nl\}\} 11. Create Home page view\{\{nl\}\}12. Create view to show Most popular nodes\{\{nl\}\} 13. Create view to show most recent nodes\{\{nl\}\}14. Execlude current node from both most recent and most popular views\{\{nl\}\}15. Create view to display related nodes according to Taxonomy terms\{\{nl\}\}16. Expose views Filter if needed} \tn % Row Count 19 (+ 8) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Node Page}}\{\{nl\}\}17. Set the node page (Full content) view mode and style it.} \tn % Row Count 21 (+ 2) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Landing Page / Section Page}}\{\{nl\}\}18. Create the content type Landing page / section page using page manager or landing pages} \tn % Row Count 24 (+ 3) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{URL Aliases}}\{\{nl\}\}19. Create Pathauto pattern for the content type\{\{nl\}\}20. Create Pathauto pattern for the taxonomy terms} \tn % Row Count 27 (+ 3) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Metatags}}\{\{nl\}\}21. Add and configure the content type metatags} \tn % Row Count 29 (+ 2) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Permissions}}\{\{nl\}\}22. Set the view, edit and delete permissions for Site admin, Content admin and editor\{\{nl\}\}23. Set the necessary permissions for SEO admin} \tn % Row Count 33 (+ 4) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Content Type Creation Guideline (cont)}} \tn % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Search Settings}}\{\{nl\}\}24. Check search results and indexing settings} \tn % Row Count 2 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Definition of DONE (DONE is DONE)}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{We only consider development task is done if and only if:} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{1. Functionally tested for all possible scenarios} \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{2. Tested on English} \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{3. Tested on all other languages, if applicable} \tn % Row Count 5 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{4. Tested on real demo content} \tn % Row Count 6 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{5. Tested on Mobile (responsive)} \tn % Row Count 7 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{6. Tested for browser compatibility} \tn % Row Count 8 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{7. Users permissions were tested for view, edit and delete.} \tn % Row Count 10 (+ 2) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{8. Includes "proper" and "final" copy/wording: Titles, descriptions, labels, messages, emails content/subject.} \tn % Row Count 13 (+ 3) % Row 9 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{9. HTML Markup is Accessible.} \tn % Row Count 14 (+ 1) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{10. CSS is atomic.} \tn % Row Count 15 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Version Control (Git) Best Practices}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{1. Never push code to master branch, Code merge should be handled through pull requests} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{2. Never merge code to master branch before testing on your local machine.} \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{3. Never push incomplete feature, functions, modules ....etc.} \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{4. Developers should check git status (tracked and untracked files) before pushing code.} \tn % Row Count 8 (+ 2) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{5. Git commit message is very important for history, and it's better to open task branch from it's jira ticket.} \tn % Row Count 11 (+ 3) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{6. Developers should check feature generated code before push the code} \tn % Row Count 13 (+ 2) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{7. Don't include \seqsplit{(files(sites/default/files)}, reports, IDEs directory, .swp, .tmp, .bak, \textasciitilde{}.nib, .DS\_Store, ...etc) in git repo.} \tn % Row Count 16 (+ 3) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{8. Don't commit permissions to git (always ignore permissions "git config core.filemode false")} \tn % Row Count 18 (+ 2) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{9. Always pull before committing new code to avoid conflicts, if you have a conflict solve on local then push the code.} \tn % Row Count 21 (+ 3) % Row 9 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{10. Don't commit big images or files to git.} \tn % Row Count 22 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Implementing Atomic Design in Varbase}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{1. Install \{\{link="https://www.drupal.org/project/varbase"\}\}Varbase\{\{/link\}\} via composer.} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{2. Create a new Vartheme subtheme for your project. \{\{link="https://docs.varbase.vardot.com/themes/create-new-vartheme-subtheme-for-a-project.html"\}\}Steps Here\{\{/link\}\}} \tn % Row Count 6 (+ 4) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{3. Install a style guide module. We are using \{\{link="https://bitbucket.org/Vardot/varbase\_styleguide"\}\}Varbase Style Guide\{\{/link\}\}} \tn % Row Count 9 (+ 3) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{4. Now you'll be able to see all styles on \seqsplit{/admin/appearance/styleguide}} \tn % Row Count 11 (+ 2) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{5. Edit (do not add) \textbackslash{}YOUR\_VARTHEME\_SUBTHEME\textbackslash{}less\textbackslash{}variables.less to match the design style guide. This should cover most of the atoms.} \tn % Row Count 14 (+ 3) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{6. Vartheme is following \{\{link="https://smacss.com/book/categorizing"\}\}smacss\{\{/link\}\} architecture in categorizing CSS rules.} \tn % Row Count 17 (+ 3) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{7. Change (DO NOT ADD) needed components in \textbackslash{}YOUR\_VARTHEME\_SUBTHEME\textbackslash{}CATEGORY\_DIR\textbackslash{}X.less} \tn % Row Count 19 (+ 2) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{8. Build \textbackslash{}YOUR\_VARTHEME\_SUBTHEME\textbackslash{}base\textbackslash{}your\_theme.base.less to cover rest variations.} \tn % Row Count 21 (+ 2) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{9. Do site building and test on real content.} \tn % Row Count 22 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Task Technical Workflow}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{1. {\bf{Create a new (git) branch:}} Go to the issue page on Jira and click on "Create branch" under "Development" in the right hand menu, page will redirect to bitbucket with fields already filled. Click on create branch then checkout the branch to your local.} \tn % Row Count 6 (+ 6) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{2. {\bf{Implement changes on local:}} Please make sure that all database changes can be deployed through files and managed through git.} \tn % Row Count 9 (+ 3) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{3. {\bf{Push your changes to the development environment:}} After you make sure the task is fully tested locally you will need to push it to the dev environment, this will require you to merge task branch into the development master/main branch through pull request.} \tn % Row Count 15 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Deployment Procedure}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{1. Schedule the release/deployment date (ONLY Sunday to Wednesday mornings). Deployments are not allowed on Thursdays unless an exception is provided.} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{2. A (git) tag should be created on the main branch to be used as a reference in the deployment.} \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{3. DB Backup should be taken from the production environment.} \tn % Row Count 7 (+ 2) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{4. Follow the steps in the \{\{link="https://drive.google.com/open?id=1uwMOSOqhA71VPwwYOIstyuHCpRwPwuyDwFPoSfTSBxY"\}\}Internal Deployment Checklist\{\{/link\}\}} \tn % Row Count 11 (+ 4) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{5. The developer should fill the \{\{link="https://goo.gl/forms/KzbCDnA29D0hGxjg2"\}\}Deployment Request Form\{\{/link\}\}} \tn % Row Count 14 (+ 3) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{6. A release should be created and configured on Jira.} \tn % Row Count 16 (+ 2) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{7. Make sure all tickets that you want to release are included in the release and assigned to the same "fixVersion".} \tn % Row Count 19 (+ 3) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{8. After the release is released, the PM will make sure to notify the client and release it on JIRA thereby closing all tickets.} \tn % Row Count 22 (+ 3) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{9. \{\{link="https://docs.google.com/spreadsheets/d/1zV2uDSYVE8NedqHhmVZ6neFsfb0SY7B9-kair0esn5M"\}\}Site\{\{/link\}\} or \{\{link="https://docs.google.com/spreadsheets/d/1yPuQGWqY5aWz4lfXYSl9d0P9MKNBr0basmubKsEyIzI"\}\}Work Package\{\{/link\}\} post-launch checklist should be filled the same day of the deployment.} \tn % Row Count 28 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Created by Vardot}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/tareq-elayyan_1523272647_share-logo.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Drupal Project Local Setup}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{1. Clone the project from BitBucket.} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{2. Download Drush aliases file and place it under your user ".drush" folder.} \tn % Row Count 3 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{3. Copy \seqsplit{example.settings.local.php} into your site directory (ie. default) and change database credentials.} \tn % Row Count 6 (+ 3) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{4. Create a database on your local machine and use the desired environment Drush command to sync DB.} \tn % Row Count 8 (+ 2) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{5. Use 'drush rsync' to sync project files from server to your machine or use Stage File Proxy module in case files size is too big.} \tn % Row Count 11 (+ 3) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{6. Create a virtual host for the project "project.local"} \tn % Row Count 13 (+ 2) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{7. Run "drush cr" or truncate the cache tables in DB after you fully complete the above steps.} \tn % Row Count 15 (+ 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}{Developer's Checklists}} \tn % Row 0 \SetRowColor{LightBackground} {[}Site{]} Pre-execution Checklist & \{\{link="https://docs.google.com/spreadsheets/d/18CDgQbKQqLsXrUvK2vj3F2kf1rAl9KO7KZmCkVrJwAM"\}\}link\{\{/link\}\} \tn % Row Count 6 (+ 6) % Row 1 \SetRowColor{white} {[}WorkPackage{]} Pre-execution Checklist & \{\{link="https://docs.google.com/spreadsheets/d/1EP4cOsyFDm1BNdqaVgZrLBfOmhbrYx3swaPXqIluYOw"\}\}link\{\{/link\}\} \tn % Row Count 12 (+ 6) % Row 2 \SetRowColor{LightBackground} {[}Site{]} Pre-launch Checklist & \{\{link="https://docs.google.com/spreadsheets/d/1840eQESy0G9R04ocqya9T5apqvjaK1av71kTFHLwtIc"\}\}link\{\{/link\}\} \tn % Row Count 18 (+ 6) % Row 3 \SetRowColor{white} {[}WorkPackage{]} Pre-launch Checklist & \{\{link="https://docs.google.com/spreadsheets/d/1AA9ocMfgUITEfZQ2jsjlriRPvwV1M0SCzmZmnzRqZR8"\}\}link\{\{/link\}\} \tn % Row Count 24 (+ 6) % Row 4 \SetRowColor{LightBackground} {[}Site{]} Post-launch Checklist & \{\{link="https://docs.google.com/spreadsheets/d/1zV2uDSYVE8NedqHhmVZ6neFsfb0SY7B9-kair0esn5M"\}\}link\{\{/link\}\} \tn % Row Count 30 (+ 6) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{x{2.38896 cm} x{2.58804 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Developer's Checklists (cont)}} \tn % Row 5 \SetRowColor{LightBackground} {[}WorkPackage{]} Post-launch Checklist & \{\{link="https://docs.google.com/spreadsheets/d/1yPuQGWqY5aWz4lfXYSl9d0P9MKNBr0basmubKsEyIzI"\}\}link\{\{/link\}\} \tn % Row Count 6 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}