Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Â
Good vs Evil SharePoint Customizing
1. Good vs. Evil
Admins⊠Developers
Developers AdminsâŠ
Good vs. Evil
Customizing your site without going to⊠Well, you get the point!
2. âąConsultant with 17 years of IT experience
âąMCITP
âąSharePoint & Solution Sales
âąSharePoint 2007 & 2010 Administration
âąLotus DominoNotes Administrator for 12 years
âąMigrations, Assessments, Discovery, Implementations, etc.
âąWorks with 3rd party partners to deliver end to end solutions to clients.
âąBlog: http://www.notjustsharepoint.com
âąEnjoys speaking at user groups and events!!
âąCo-host on SPTV http://mysp.tv
âąTHE BOOKâŠyes in my spare time co-authoring a book on Managed
Metadata!!
Stacy L. Deere
Focal Point Solutions, LLC.
Owner
3. Agenda
âą Show of hands (Be Honest!)
âą What I mean by Good vs. Evil in customizations
âą Something to start making you thinkâŠhmmm
âą Design vs. Branding
âą Survey Facts by Forrester
âą Conflicted Anyone?
âą Whose right or whose wrong (Which way do I go?)
âą Some short storiesâŠ
âą Making the right customization decision.
âą Proceed with Caution
âą GovernanceâŠ.yes I said it!
âą Best Practices
âą Q&A
âą Contact Information
6. What did you think I meant?
We had a project plan I did interviews
We did UAT It went through QA
We did discovery It was on time!
It was under budget!! It worked for othersâŠ
8. Design vs. Branding
Design is the visual appearance of a page. Where artistic style, design
principles are put into place to creatively and effectively display each element
of the page. How the customer responds to the feeling they get when clicking
on a Web page is very important. It can determine whether a visitor chooses
to continue to explore the site or move on to the next site.
Branding is a strategy. The âbehind the scenesâ work that goes on in the first
stages of site development. Branding encompasses detailed competitive
analysis, business goals, evaluation, marketing collateral design and target
audience definition. It gives the site direction and objectives and is essential
to the success of the site.
9. Some Survey Facts
Provided by Forrester
âą Customers are quickly adopting SharePoint 2010. Fifty-seven percent of
respondents using SharePoint had already upgraded to SharePoint 2010, a
fast pace for a platform product available for only 14 months. Adoption is
strong across industries and sizes of enterprise.
âą Most of our survey respondents start with SharePointâs most familiar
âworkloadsâ before proceeding to more comprehensive use of the
platform. Customer-facing websites and custom applications were used
the least widely. For about half the respondents, SharePoint took longer
than expected to implement for a variety of reasons.
âą About three-quarters of respondents said that IT and business sponsors
are satisfied with SharePoint. This indicates to us that most customers are
willing to tolerate some issues for strategic initiatives like a SharePoint
implementation. SharePointâs business value for these respondents
outweighs its hassles, and SharePointâs future looks bright.
11. The Conflict
âą SharePoint can be a productive platform for business applications.
SharePoint can help your teams deliver applications fast in three ways. First, with a little
customization of the human interface, SharePoint's out-of-the-box applications can work for
many situations. Second, SharePoint's basket of developer services for applications involving
collaboration, social media, website creation, workflows, document management,
information distribution, search, and reporting dashboards can speed completion of projects.
Third, you can delegate simple sites and workflows, as well as content updating, to
businesspeople.
âą Customization challenges stability, performance, and upgrades of your
shared service. The more custom code in your SharePoint farm, the greater the risks to
the integrity of that farm. A SharePoint environment is a shared service, providing
applications to many departments, teams, and groups. One group's decision to enhance its
SharePoint site with custom code can compromise availability and performance of every
other group's applications. Also, as customers using MOSS 2007 are discovering, some
human-interface customizations are impossible to port to SharePoint 2010.
13. The Story
Fleeing the wars that devastated their home planet of Cybertron, most of the Autobots
made Earth their temporary home. Under the leadership of the powerful robot, Optimus
Prime, the heroic Autobots battled fearlessly against the assaults of the evil
Decepticons, protecting their new human friends.
Ok not the story you were looking for?
Good vs. Evil
Customizing your site without
going toâŠ.well you know!
14. Customer wanted to addremove announcementsâŠ
Template needs to be reusableâŠhardcoded URLâs?
THE EVIL
Users who are they?
FACTS!!!
Packaging? Whatâs that?
Customer wanted to update a linkâŠ
Story Time Over doing Social MediaâŠ
Yes these are all true!
17. Basic Customizations (OOTB)
Allows the end user that is familiar with SharePoint to create sites, lists and
web parts through the user interface fairly easily to produce something that
meets their requirements.
Strengths
â Quick to create
â Basic SharePoint Knowledge
â Encourages consistencyâŠ.the "SharePoint way"
Weaknesses
â Little to no flexibility (You will make compromises!)
â Repeating your customizations in a solution are limited - manual repetition of
creation steps or templates.
18. SharePoint Designer (SPD)
Allows power users to get a bit more creative to use more advanced options
in such as custom workflows and the use of data sources.
Strengths
â More Options
âą Easier to fulfill more requirements
â Creation and changes to master pages and page layouts (Look and Feel)
Weaknesses
â Difficult to deploy customizations to other sites â Example: A custom workflow
created in SPD is applied to a specific list and cannot be reused on another list.
The only option is to manually recreate the workflow again for the next list.
â If the power user is untrained a lot of damage can be done very quickly
â Once files are customized by SPD they cannot be changed by custom code
19. Custom Development
Requires a skilled SharePoint developer to write it but it is the most powerful
option that opens up the full SharePoint API, web services and any other code
you want to use to customize your solutions.
Strengths
â Provides the most options
â Customizations can be packaged up as features that are easily deployed and
reused in multiple solutions
â Deployment can be controlled and governed more easily as customizations
can only be deployed by people with SharePoint admin permissions
Weaknesses
â Requires a skilled SharePoint developer
â Takes longer to achieve the same results
20.
21. Warning Signs
âą Dev. thinks building a package for deployment means a site template.
(Reminder - You canât change a site template once you choose it)
âą Hardcoded URLâs
âą Dev states he canât create a master page on the server and when
instructed to do it from his computer he says I donât use Microsoft.
âą Changing a link or announcement requires you to know code.
âą Developer knows development but does not know SharePointâŠ
âą Style changes should not be done in the Master Page. Thatâs what the
css is for (aka style sheet)
âą Do Not modify the corev4 (This is the OOTB style sheet for SP)
âą Do Not change any OOTB files make a new one.
âą Avoid the rabbit hole of non-stop customization requests and tweaks.
â Thereâs always going to be a new version or phase
23. Governance - Customization
âą Document approved customization tools.
â Example, decide whether to allow the use of Microsoft SharePoint
Designer 2010 and specify which site elements can be customized, and
by whom.
âą Manage your source code â use a source control system, and
set standards for documenting the code.
âą Coding Best Practices (Dev. Standards)
âą Set testing and verification standards (Dev, QA, Production)
âą Required packaging and installation methods.
â Control the use of sandboxing -- enables site owners to host custom
solutions in a partially trusted context so they do not affect the rest of
your SharePoint implementation.
24. Governance - Customization
âą Define what kinds of customizations are going to be
supported.
âą Example, you might want to allow the use of Web parts to
integrate Microsoft Silverlight 3 applications together with
SharePoint sites.
For more information about kinds of customizations and
their potential risks, see Governance and customization and
for managing customizations, see the white paper SharePoint
Products and Technologies customization policy
(http://go.microsoft.com/fwlink/p/?linkid=92311).
25. Governance - Branding
âą If you are designing an information architecture and a set of
sites for use across an enterprise, consider including branding
in your governance plan.
âą A formal set of branding policies helps ensure that sites
consistently use enterprise imagery, fonts, themes, and other
design elements.
â SharePoint Server 2010, you can import a Microsoft PowerPoint 2010
theme directly into a SharePoint site, which automatically applies the
theme to all sub-sites.
26. Practice does not
make PerfectâŠ
A Perfect Practice
makes Perfect!!
27. Best Practices
âą Collaborate with your colleagues in content management.
âą No 1 and rebuild situations!
âą Define an application-development role, and always think
ahead.
âą Have an Application Lifecycle
âą Custom Development - choose your third-party partners.
âą Test integration into your platform and workloads.
âą Get in front or at least think about the future!
âą Mandate UAT Testing
âą LISTEN TO YOUR USERS!!
28. Q&A
Good vs. Evil
Customizing your site without
going toâŠ.well you know! Superman gets confused at
timesâŠdoes that mean heâs human?
29. Twitter: @sldeere
Blog: http://notjustsharepoint.com
Twitter: My_sptv
http://mysp.tv
Email: sdeere@focalpointsolutions.co
LinkedIn: http://www.linkedin.com/in/stacydeere
My Bat Signals
Otherwise known as Contact Info.
To sum it up if you feed evilâŠevil will win.If you feed goodâŠgood will win.So if you donât start out following best practices chances are you never will.
Design âIs the artistic style or appearance of a page.Branding â Is a strategy that goes behind the scenes to achieve the goal of the site.
511 surveyrespondents1. 57% had already upgraded to SP2010 within 14 months. Largest and earliest adoption seen.Customer-facing sites and custom applications are the least used.Took longer than expected to implement3Qtrs of the respondents said IT and the business users were satisfied. Customers tolerated the hassles of the implementation because the business value outweighed them.
The great contradictionâŠsame articleSharePoint is awesome it does all these great things and it delivers applications fast!!Further downâŠ.the more customizations you add to your SharePoint farm the integrity of your farm goes down and stability and performance issues can occurâŠand letâs not forget the hassle of migrations.
Discussion area!!Who decides in your company?Should this be a question?Shouldnât this already be stated somewhere?
Add\\Remove Announcements â Only able to update using SP Designer, User had no documentation and not contact.Template needs to be reusable⊠Hard coded all the URLâsUsers who are they? What do the users know?? (Seriously that was said to me!!)Customer wanted to update a link in their site⊠SP Designer, custom permissions, no documentation and again no contact for assistance.Packaging? Whatâs that? Do you mean a site template?Over doing Social MediaâŠ.Yes it is powerful but be careful and lock it down.
Site Champions are able to take on this role with little to no assistance from IT.
More training needed but still the ability to take some load off of IT.
If you do not have a skilled SharePoint Developer on staff think about the future and the lifecycle of your application. Contractors are great people and many of them do a great job but the more customizations you do the more support you will need.
Collaborate with your colleagues in content management.Design your technical and information architectures for the long haul. No one and rebuild situations.Define an application-development role, and always think ahead.Custom Development - choose your third-party partners.Do you have a lot of third-party code? Test integration into your platform and workloads.Get in front or at least think about the future - Office 365Mandate UAT TestingLISTEN TO YOUR USERS!!