41. Thank You
Developers
Engineers
QA
Management
Nate Yolles
Will D. White
Alec Sorensen
Gilbert Hernandez
Thomas Johnston
Stephanie Lie
Osama Ahmad
James Miller
Brodie Yazaki
Yuin Ee
Jefferson Luan
Ash Mishra
Yogesh Upadhyay
Dave Le
Nicole Ng
Tiffany Saelinh
Robert Handley
Avanish Sharma
Juhi Puri
Daniel Apodaca
Khanh Nguyen
Emily Tran
Jennifer Williams
Vishu Shetty
UED BAM Design
LinkedIn Marketing Dept
Vinay Dixit
Gina Groom
Special Thanks To:
David Delo
Jacob Heuser
Eugene O’neill
LinkedIn VCIO
Steve Johnson
Bay Area CQ Meetup
LinkedIn Facilities Team
LinkedIn Press Team
Notas del editor
WelcomeIntroductionThankAmitThank user group
All info taken from press.linkedin.com
You’re all familiar with the LinkedIn website.
It’s not built on CQ. It’s 10+ years of custom code and magic.
As we discuss LinkedIn and it’s mission with Adobe CQ, it’s important to keep two main facts in mind:LinkedIn has 277+ million members>2 new members per second sign up200 countries and territories around the world21 languages and counting3 million companies have pages1st main point: Linked in has a lot of membersMotto: members first
2nd main point:LinkedIn, like any company, is here to generate revenue. LinkedIn has employees to pay, rent to cover, and shareholders (like you and I) to answer to.A little foreshadowing on how LI uses CQ:Our 3 main revenue streams: Premium, Marketing, and Talent…
And not-so-coincidently, three of our biggest CQ sites are: premium.linkedin.com, marketing.linkedin.com, and talent.linkedin.com
A quick background on the team
UEDUnder UED is BAMMade up of web developers with a wide background of skills focusing on front end skills such as HTML, CSS, and JavaScript.
Our major sites:
And more
We have sites for certain major events and campaigns.We have sites and pages setup daily by our marketing team for any reason they can think of to drive traffic.
Sites were often developed by external agenciesDecided to bring all sites in-house with BAM’s supportSites were built on a number of CMS platformsMostly PHPEvery site required its own codebase, hard to make global updatesConstantly patchingDifferent release processes per CMS
Consultant Recommended:Consultant worked with Marketing Stakeholders and EngineeringIdentified a number of potential enterprise CMS platforms, recommended CQOffered a number of things our authors wanted:Lots of “out of the box” functionalityInline WYSIWYG style authoring interfaceEasy asset management (with the DAM)Instant PublishingThe demo was pretty snazzy
Hired the consultant to deliver our first appUsed their app to launch our first siteFamiliarized ourselves with Java while supporting the appBegan to notice issues as we scaled the appMostly just customized out of the box componentsRequired one application for each siteNot up to LinkedIn coding standardsPotential security vulnerabilities
Contributor Led Effort, in addition to existing workSought out experienced in-house app developers for guidanceUltimately decided to support all sites using a single applicationA global library of componentsUseable in any site contextAble to support non-English sites as wellConcluded that “out of the box” wasn’t good enoughNo more inline JS, CSS, and Java in our JSPs allowedSane authoring experience instead of deep nesting componentsNeeded to work in parallel with the app supporting the first site
Decided to built new instead of extend the existing app Avoid regressions No reliance on backwards compatibilityCleaner directory structure under our appIgnored the “Geomettrix” style directory structureMost pages were built using open “Blank Page” styled templatesTwo open parsys areas – “Hero” and “Content” area“Content Block” style components were easy to drop inComponents are tied more closely to “Content Blocks”Business logic for components was moved to _init.jsp files – moving to actual java classes per componentPresentational logic was removed or converted to c:tagsBegan splitting JSP files into reusable partials
Just show for 10~ seconds or so.
Just show for 10~ seconds or so.
Just show for 10~ seconds or so.
Just show for 10~ seconds or so.
Just show for 10~ seconds or so.
Just show for 10~ seconds or so.
Just show for 10~ seconds or so.
Just show for 10~ seconds or so.
Members firstSecurityHackers may see subdomains as a backdoorContent authors author content. Not the look or feel.
Content authors author content. Not the look or feel.
SVN + FILEVAULTAlready on SVN so stayed with it. Filevault was suggested by the vendor.It was a complicated processNo real understanding of filevault (no vlt revert #SHA abilities)Overriding and erasing of work due to complicated interactions between vault/svn/cqSvn up + vlt add/ci doesn’t work (vlt want’s you do to vlt up first) vlt up would change all the things that you brought down from svn
Moved to GIT-SVN + VLTUsed git-svnvsgit because our rb system was already integrated with svn and much easier to get aligned w/ other teams
Primarybenefits came from the mvn build process - ready benefits (easier integration/configuration of new processes)Secondary benefits came from branch dev - branchin