•AccessdatafromexternalsourcessuchasAzureusingBusiness ConnectivityServices(BCS)
AbouttheAuthors... xx
AbouttheTechnicalReviewer ... xxi
Acknowledgments ... xxii
Introduction ... xxiii
Part1:IntroducingOffice365 ...1
Chapter1:GettingStartedwithOffice365 ...3
Chapter2:UsingAdvancedFeatures...37
Chapter3:Office365Overview ...77
Part2:CreatingSharePointOnlineSolutions ...101
Chapter4:CustomizingSharePoint...103
Chapter5:CreatingDeclarativeWorkflows...159
Chapter6:CreatingSiteswithAccess2010...229
Chapter7:ExcelServices ...253
Chapter8:AccessingExternalData...279
Part3:BuildingSharePointSolutionswithVisualStudio ...329
Chapter9:SharePointContent...331
Chapter10:DevelopingSharePointApplications ...367
Chapter11:DevelopingSilverlightandJavaScriptApplications ...397
Part4:DevelopingMessagingApplications ...419
Chapter12:DevelopingExchangeOnlineSolutions ...421
Chapter13:DevelopingLyncApplications ...443
Part5:CreatingaCustomOffice365Solution ...467
Chapter15:CreatingaWebDatabase ...481
Chapter16:IntegratingOffice365Technologies ...543
Chapter17:CreatingaPublicWebSite ...599
AppendixA:SharePointPrimer ...627
AppendixB:AdditionalResources...641
Introduction
• Access
• Excel
• Visio
• InfoPath
• SharePointDesigner
• VisualStudio
Eachchapterinvitesyoutoworkthroughtheexerciseyourselfwithstep-by-stepinstructions. Youcansimplyreadthechapterandlearnagreatdeal.Butfollowingalongwillbeevenmorebeneficial. Duringthisprocessweexplainsomeofthehowsandwhys.
Prerequisites
ToworkthroughtheexercisesinthisbookyouneedanOffice365account.Afewofthesolutionsrequire oneoftheEnterpriseplans,butmostcanbeimplementedonanyplan.Someofthechaptersrequire additionalOfficeproductssuchasAccessorExcel.TheseareincludedwithsomeoftheOffice365plans andcanbeaddedtoothersforamonthlyfee.
Tip
You can get a free 30-day trial subscription for either the Small Business or Enterprise plan. If you need
more time, you can generally get a 30-day extension. Also, the Small Business plan is a monthly subscription, and
you can cancel it at any time.
Introducing Office 365
This section is a high-level overview of the Office 365 platform, which provides a great
deal of functionality out of the box. This is intended for readers who are relatively
new to Office 365. Before building custom applications it’s a good idea to understand
the initial feature set so you can envision how the new solutions fit into the big
picture.
Many of the Office 365 features are exposed to custom applications through custom
controls, web services, or managed APIs. These building blocks simplify the building of
some great custom applications. The functionality of each of the server components
(SharePoint, Exchange, and Lync) is impressive on its own. But combining them in a
fully integrated environment makes these tools even more fun to develop with.
Chapter 1 provides a high-level walkthrough of a basic Office 365 platform. This will
give you a good idea of how each of the components contributes to the overall
platform. Chapter 2 demonstrates some of the advanced configuration options, such as
using a custom domain name. Chapter 3 explains how each server component works in
terms, primarily, of how it can be used by a developer. I’ll begin to show how the
Getting Started with Office 365
NoteTheSmallBusinessandEnterprisesolutionsareoftenreferredtoasPplansandEplans,respectively.
TheseletterdesignationsareusedwhenpurchasingOffice365subscriptions.ThereareseveralEplansandeach
usercanbelicensedforadifferentEplanbasedontheirneeds.TherearealsoKplans,whicharekioskplansthat
havelimitedabilityatamuchreducedcost.Throughoutthisbook,Iwillusetheterms
SmallBusiness
and
Enterprise
todifferentiatebetweenthetwobasicofferings.Foraconcisecomparisonofthesesolutions,seethe
articleathttp://blogs.technet.com/b/lystavlen/archive/2011/09/23/office-365-comparing-p-and-e-plans.aspx.AdministeringanOffice365Account
Figure1-1.TheinitialOffice365portalpage
Figure1-2.TheOffice365Adminpage
TheAdminpageprovideslinksformanaginglicensesandgeneralsystemconfiguration.Youcan checkonplannedmaintenance,enteraservicerequest,andverifybillinginformation.
AddingaUser
Figure1-3.Step1ofcreatinganewuser
WhensettingupanOffice365account,youspecifyadomainname,whichisactuallyasubdomain underonmicrosoft.com.FormyaccountIchoseapress365.Thismeansthatallofthelogins(ande-mail addresses)willbesomeone@apress365.onmicrosoft.com.
TipIfyoualreadyhaveadomainname,youcanconfigureOffice365touseitinstead.Iwillexplainhowtodo
thisinthenextchapter.ThisisavailableforbothSmallBusinessandEnterpriseaccounts.
Figure1-4showsthenextformwhereyou’llspecifywhetherthisaccountisanadministratorornot. Youshouldhaveatleasttwoadministratorssothereisabackupincaseoneisn’tavailable.
Administratorscancreateaccounts,resetpasswords,andsetgeneralconfigurationsettings.
NoteAtthislevel,auseraccountiseitheranadministratorornot.However,youcancreateusergroupsin
SharePointtoconfigurerole-basedsecurity.IwilldemonstratethisbrieflyinChapter2.
Inthethirdformyouassignlicensesforeachoftheserverproducts.WiththeSmallBusinessplan, thepricingisaflatper-personrateandeveryoneislicensedforallproducts,asshowninFigure1-5.
Figure1-5.Step3ofcreatinganewuser
Inthefinalform,showninFigure1-6,youspecifyifyouwanttheuserdetailssuchasloginand passwordtobee-mailedandtheaddresstowhichtheyshouldbesent.
Figure1-6.Step4ofcreatinganewuser
Whenthefinalformissubmitted,theloginandpasswordofthenewuserisdisplayedintheResults page,asshowninFigure1-7.
Figure1-7.Newuserresults
UsingtheBulkAddFeature
Username Firstname Lastname Displayname Jobtitle Department Officenumber Officephone Mobilephone Fax
Address City
TheonlycolumnsthatyoumustsupplydataforaretheUser name,whichistheactualloginand includesthe@domaindesignation,andtheDisplay name,whichishowthisuser’snamewillbedisplayed. Theotherfieldsareusefulbutnotrequired.
ManagingUsers
Onceyouhavecreatedyourinitialsetofuseraccounts,youcanusetheUserslinktoviewtheuser accounts.ThiswilldisplaytheUserspage,showninFigure1-9.
Figure1-9.Managingtheexistingusers
Ifauserforgetstheirpassword,you’llusethispagetoresetitforthem.Onlyadministratorscan resetpasswords,whichisanotherimportantreasontohaveatleasttwoadministrators.Ifyouronly administratorforgetstheirpassword,you’llneedtocallcustomersupport.Theresetfunctionwill generateanewtemporarypassword,whichyou’llsendtotheuser.Theuserwillneedtochangetheir passwordwhentheylogin.
Youcanalsousethispagetoedittheuser’sattributes,suchasphone,title,ordepartment,andset themupasanadministrator.Youcanalsoblockauserfromaccessingthesystem.Thisisusedwhenyou needtotemporarilyblockauserwithoutpermanentlyremovingtheiraccount.
LoggingInfortheFirstTime
Afteryouhavecreatedauseraccount,you’llneedtoprovideeachuserwiththeirloginandtemporary password.Toaccessthesystem,allusers(includingadministrators)mustgototheloginpage,whichis
Figure1-10.Userloginpage
The“Rememberme”checkboxwillstoretheusernamethatyouusedinacookiesoitwillbepre-filledwhenyouwanttologinagain.Selectingthe“Keepmesignedin”checkboxwillkeepyousignedin evenafterclosingthebrowser.Youwillbeabletogodirectlytoyourhomepagewithoutreenteringyour credentials.Thisisanicefeatureifyou’reusingadedicateddesktop.Youshouldnotusethe“Keepme signedin”optionifyou’resharingaworkstation,however.
Thefirsttimeyoulogin,theChangePasswordpagewillbedisplayed(seeFigure1-11).
Figure1-11.Changingtheinitialpassword
UsingOutlookWebApp
Oncesignedin,thefirstthingyou’llprobablywanttodoisreadyoure-mail.FromtheHomepage,click theInboxlinktostarttheOutlookWebApp.
ConfiguringOutlookWebApp
ThefirsttimeyouusetheOutlookWebAppyou’llneedtosetupsomeconfigurationoptionsusingthe dialogboxshowninFigure1-12.
Figure1-12.ConfiguringOutlookWebApp
Thetimezoneisneededtoproperlydisplaymeetingtimes.AlltimesinExchangearestoredusing theCoordinatedUniversalTime(UCT).Theyaredisplayedtoeachuserbasedontheirtimezone.Ifyou scheduleameetingwithpeopleinmultipletimezones,eachuserwillseethestarttimeintheirlocal time.
SendingE-mail
andforwardedthelogininformationtotheusersotheycouldaccesstheiraccount.Thisisdemonstrated inFigure1-13.
NoteIsentthistoJonathan’snewOffice365e-mailaddress.Hewon’tbeabletoreadituntilhehasloggedin
toOffice365.Inalivescenario,Iwouldneedtosendthismessagetoanalternativee-mailaddress(notin
Office365).
UsingtheCalendar
UsetheCalendarlinkontheHomepagetoviewyourcalendarandschedulemeetings.Inthe
appointmentshowninFigure1-14,JonathanhasscheduledameetingwithCorbinandme.Justlikean on-premiseExchangesolution,theSchedulingAssistantshowswheneachattendeeisavailable.
Figure1-14.Schedulingameeting
Figure1-15.Displayingameetingreminder
UsingtheSharePointSites
TheinitialOffice365SmallBusinessaccountissetupwithtwoSharePointsites.TheTeam Siteisan internalsiteusedforsharingdocumentswithinateam.Onlylogged-inusershaveaccesstothissite. Thereisalsoanexternal,public-facingwebsitecalledWebsitethatisavailabletoallusers,eventhose thatarenotloggedin.
UsingtheTeamSite
Figure1-16.TheinitialTeamSite
Figure1-17.Creatinganewdocumentlibrary
UsingSharedDocuments
Figure1-18.Theinitialdocumentlibrary
CautionIfyouhaveclientversionsoftheseOfficeapplicationsinstalledlocally,theselinkswillprobablynot
workcorrectly.WhenopeninganOfficedocumentinOffice365,theclientapplicationswillbeusedifavailable.
Thelinksspecifyatemplatefilethatislikelynotavailabletotheclientapplicationssotheapplicationwillfail.
Instead,createanewdocumentusingtheclientappsbutsaveittothedocumentlibrary.Iwillexplainthisfurther
inChapter2.
ModifyingthePublic-FacingWebSite
Figure1-19.Thedefaultpublic-facingwebsite
IfyouselecttheWebsitelinkinthenavigationbaroftheTeamSite,you’llseethelistofwebpages includedinthissite.ThedefaultsetofpagesisshowninFigure1-20.
YoucanusetheSharePointdesignfeaturestoeditthesepagesandcreateadditionalpages.For example,selectingtheHomepagewillallowyoutoeditthepageusingthefeaturesprovidedintheDesign taboftheribbon(seeFigure1-21).IwillexplainthesefeaturesinChapter4.
Figure1-21.UpdatingtheHomepage
UsingLync
LaunchingLyncfromOutlookWebApp
Inabrowser-onlyenvironmentfromtheOffice365platformyoucanusealimitedsubsetofthese features,namelypresenceindicatorsandinstantmessage.WiththeOutlookWebApp,forexample,you canseethepresenceindicators,asillustratedinFigure1-22.
Figure1-22.StartinganinstantmessageconversationfromOutlookWebApp
Figure1-23.Aweb-basedLyncconversation
OutlookknowstoinitiatetheconversationwithmebecauseIwastheonewhosentthee-mail.
DownloadingtheLyncClient
Figure1-24.InstalingtheLync2010clientapplication
Selecttheappropriatelanguage,chooseeitherthe32-bitor64-bitversion,andclicktheInstall buttontodownloadandinstalltheLync2010client.
InstallingtheSign-InAssistant
Figure1-25.InstallingtheOnlineServiceSign-InAssistant
Figure1-26.LoggingintoLync
UsingtheLyncClient
TheLyncclientapplicationisexactlythesameonethatyouwouldusewithanon-premiseinstallation ofLyncServer2010.InOffice365,theserverishostedinthecloudandtheclientapplicationconnectsto itjustasifitwereon-premise.
UsingthePresenceIndicators
Figure1-27.Viewingfrequentcontacts
TipYoucanloadaphotoorotherimagethatotherswillseefromtheirLyncclient.Uploadanimagefilefrom
yourprofilepageonOffice365orfromtheLyncclient.
Figure1-28.Changingyourcurrentstatus
Ifyouhoverthemouseoveroneofthecontacts,contactdetailswillbedisplayed,asshownin Figure1-29.
UsingLyncConversations
Lyncallowsyoutocommunicateinrealtimebetweentwoormoreindividuals.Thiscommunicationis referredtogenericallyasaconversation.Instantmessaging,videoconferencing,andscreensharingare alltypesofconversations.Whenyouinitiate(oraccept)aconversation,theLyncclientlaunchesanew windowtomanagetheconversation.AninstantmessageconversationisshowninFigure1-30.
Figure1-30.Aninstancemessageconversation
NoticethatthebackgroundbehindJonathan’spictureisredandthetextreads“Inameeting.”Lync isintegratedwiththecalendarinExchangeandupdatestheuser’sstatusbasedonthecalendarevents.
UsingScreenandApplicationSharing
Lync2010allowsyoutoshareyourdesktopwithoneormoreindividuals.Therehavebeenmanytimes thatIwastalking(orchatting)withsomeoneandthoughtifIcouldjustletthemseewhatwasonmy screen,itwouldsimplifythewholeconversation.WithLync2010thisiseasy.
Lyncallowsseveraloptionsforscreensharing.Youcanshare
Asingleapplicationwindow Yourmainmonitor
Yoursecondarymonitor Allmonitors
Figure1-31.Startingascreen-sharingconversation
CautionThisiswarningyouthattheconversationparticipantswillbeabletoseeeverythingcurrentlyonyour
screen.Youcanturnthiswarningoffbutitisagoodremindertodoublecheckwhatiscurrentlybeingdisplayed.
Eachparticipantwillthenreceiveasharingrequestthattheycaneitheracceptordecline,asshown inFigure1-32.
Oncetherequesthasbeenaccepted,theconversationwindowisexpandedtoshowtheareabeing shared,asdemonstratedinFigure1-33.
Figure1-33.Ascreen-sharingconversation
YoucanclicktheRequestControllinkinthetop-rightcornertorequestpermissionfromthe screen’sownertotakecontroloftheapplicationbeingdisplayed.Youcanthenuseyourkeyboardand mousetocontroltheapplicationthatisrunningontheotheruser’sdesktop.Whenyou’redone,click thelinkagaintoreturncontroltothescreen’sowner.
UsingaWhiteboard
Figure1-34.Awhiteboardconversation
ConfiguringtheOutlookClient
IfyouhaveOfficeclientapplicationssuchasOutlookandWordinstalledonyourclient,youcanuse theseinsteadofthewebapps.Thiswillworkthesamewayasifyouhadanon-premiseExchangeor Lyncserver.Youcanusebothaswell.Forexample,youcanusetheclientappswhenyou’reintheoffice andusethewebappsfromhomeorwhenyou’retravelling.
AddinganOutlookAccount
Figure1-35.CreatinganOutlookaccountwithExchangeOnline2010
Figure1-36.Newaccountsetup
ThisusuallyrequiresyoutocloseOutlookandrestartitforthischangetotakeeffect.Whenyou restartOutlook,itwillpromptyouforyourOffice365credentials,asshowninFigure1-37.
Figure1-37.EnteringExchangecredentials
ConfiguringOutlook2007
YoucanaccesstheOffice365ExchangeOnlineserverfromOutlook2007aswellasthe2010version. However,Outlook2003andpreviousversionsarenotsupported.
IfyouareusingOutlook2007youwillprobablygetanerrorliketheoneshowninFigure1-38.
Figure1-38.ErroraddingaccountwithOutlook2007running
Ifthishappens,youmustcloseOutlookandconfigurethenewe-mailaccountwhenOutlookisnot running.Todothat,clicktheMailiconinthecontrolpanel.Thiswilldisplaythewindowshownin Figure1-39.
Figure1-39.UsingtheMailSetupapplication
Figure1-40.Warningaboutmailchanges
UsingtheOutlookClient
WhenusingtheOutlookclientapplication,thedatastillresidesontheExchangeOnlineserverjustlikeit didwiththeOutlookWebApp.Changesmadeineitherapplicationareimmediatelyavailableinthe other.Themeetingrequestthatwascreatedearlier,forexample,isdisplayedinFigure1-41usingthe Outlookclientapplication.
Youcanalsoreplytoane-mailusinganinstantmessage.Todothat,usetheReplywithIMlink showninFigure1-42.
Figure1-42.UsingtheReplywithIMfeature
TipThefollowingarticleprovideshelpwithconfiguringamobilephonetouseOffice365:
http://onlinehelp.microsoft.com/en-us/office365-smallbusinesses/ff637559.aspx.Summary
IpresentedaquickoverviewofthestandardfeaturesofOffice365.Itisbynomeansanexhaustivelistof featuresbutitshouldgiveyouasenseofwhatyoucandorightoutofthebox.Oneofthenicebenefitsof Office365isthatthecomponentsarefullyintegrated.Forexample,therearepresenceindicatorsin OutlookandSharePoint,whichrelyonLync.Bydefault,theOfficeWebAppsreadandwritefiles from/totheshareddocumentlibrariesinSharePoint.
Using Advanced Features
Addingacustomdomainname. Usingsinglesign-on.
ConfiguringtheadvancedExchangeOnlinefeatures. ManagingtheSharePointpermissions.
InstallingOfficeProfessionalPlus.
NoteForthisexampleIwillbeusingadifferentOffice365accountthanIusedinthepreviouschapter.
AddingaDomain
ClicktheAddadomainlink,whichwilldisplaythepageshowninFigure2-1.
Figure2-1.Addingadomain
Figure2-2.Confirmingthedomaindetails
Office365usesaverificationprocesstoensurethatyoucanconfiguretheDNS.Youwillbeaskedto addaTXTrecordtoDNS.ThiswillhavenoeffectonhowtheexistingDNSworks.Office365willthen queryyourDNStoseeifthatrecordisthere.
Figure2-3.Verifyaccesstothedomain
TipEachregistrarusuallyprovidesafacilityforconfiguringDNSbuttheyallworkdifferently.Office365triesto
providespecificinstructionsbasedonwhereyourdomainisbeingmanaged,sothetextyouseemaybedifferent
fromwhatisshownhere.Usethistextasaguidebutyourparticularregistrarmayrequiresomeadjustmentsto
theseinstructions.
Formyregistrar,theTXTrecordwasaddedusingthepageshowninFigure2-4butyourswilllikely bedifferent.
Figure2-4.AddingaTXTrecordtoDNS
Allowafewminutesforthisrecordtobeadded.Theinstructionssaytowaitatleast15minutesbutI havefoundittousuallytakelesstimethanthat.IfyouclicktheVerifybuttonanditwasnotabletofind thisrecord,waitalittlelongerandclicktheVerifybuttonagain.
MovingtheNameServers
Oncetheverificationprocesshascompleted,you’rereadytomaketheactualadjustments.Youwill updatetheregistrar’sdatabasetoreferencenameserversprovidedbyOffice365.Thismeansthatall requestsforthisdomainwillbesenttoDNSserversonOffice365.AnyDNSconfigurationwillthenbe handledwithinOffice365.
NoteThiswillworkdifferentlywithanEnterpriseaccount,asIwillexplainlaterinthischapter.
Figure2-5.InstructionsforconfiguringDNS
Figure2-6.Movingthenameservers
Afterthesechangeshavebeenmade,clicktheNextbuttonontheOffice365adminpage.This shouldaddthisdomaintoyouraccount.
TipBepatient.TheTXTrecordsthatareusedforverificationareusuallyavailableinafewminutes.However,
whiletheotherDNSchangescanbemadeinminutes,itoftentakeshoursorevendaysbeforethechangesare
fullypropagated.Youmightfindthatit’sworking…sortof.Duringthistransitionsomethingswillwork,while
otherswon’t.Justbepatientandgiveitplentyoftimeforeverythingtoworksmoothly.
ViewingtheDomaininOffice365
Figure2-7.Listingtheexistingdomains
Figure2-8.TheDNSrecordsinthenewnameserver
ChangingtheSharePointAddress
TomovetheURLofyourSharePointsitesyou’llneedtomakeanadditionalchange.Younowhavetwo domains(theoriginaldomainandthenewcustomdomain).Ifyouwantyourpublicwebsitetousethe newdomain,youmustconfigureSharePointOnlinetouseit.
Figure2-9.Changingthewebsiteaddress
CautionThiswillmoveboththepublicsiteaswellastheTeamSitetothisaddress.TheURLfortheTeamSite
willuseyourcustomdomaininthe
/teamsitefolder.Forexample,myTeamSitewillbeat
www.thecreativepeople.com/teamsite
.Thesearebothpublicaddresses;however,theTeamSiteisonly
availabletoauthenticatedusers.Ifanyonetriestoaccessthissite,theywillbeforwardedtotheOffice365login
page.
Again,likeotherDNSchanges,thiscantakesometimetopropagate.ThemessageshowninFigure 2-10islettingyouknowthatthechangecantakeupto24hourstocomplete.
AddingUserstotheNewDomain
Thelaststepinthisprocessistomoveexistinguserstothenewdomain.Allexistinguserswillstillbeon theinitialdomain(thatincludes.onmicrosoft).Tomovetheirloginsande-mailaddressestothenew domain,youjustneedtochangethedomainintheUsersetup(seeFigure2-11).
Figure2-11.Movingausertothenewdomain
UsinganEnterpriseAccount
IfyouhaveanEnterpriseaccount,youcanalsouseyourowndomainnamebuttheprocessisdifferent. TheprimarydifferenceisthatyouwillleavetheDNSatitscurrentlocationbutconfigureittopointto theappropriateOffice365servers.Thisgivesyoumoreflexibility.Forexample,youcoulduseone domainfore-mailandadifferentoneforLync.
AddingaDomain
ThisfirststepisaddingadomaintoyourOffice365account.FromtheAdminpage,clicktheDomain link;youshouldseetheinitialdomainlisted,asshowninFigure2-12.
NoteForthisexampleIamusingadifferentOffice365account.Thisone,
apress365E,wassetupasan
Enterpriseaccount.
EnterthenewdomainnamejustlikewithaSmallBusinessaccount.Inthiscase,Ipurchasedanew domainnamefromNetworkSolutionssoI’llbeusingtheirwebsitetoconfigurethisdomain.The registrardetailsareshowninFigure2-13.
Figure2-13.Addinganewdomain
Figure2-14.Verifyingthenewdomain
Figure2-15.Verificationfailuremessage
TipIftheverificationprocesstakesawhile,youcanlogofftheOffice365websiteandcomebacktoitlater.
FromtheDomainManagerpage,thenewdomainwithbelistedas“PendingVerification.”Ifyouclickthe
Troubleshootdomainbutton,theVerifypagewillbedisplayedandyoucancontinuetheprocess.
ConfiguringtheNewDomain
Oncetheverificationprocessiscomplete,you’llthenneedtospecifythedomainintentusingthepage showninFigure2-16.ThetermdomainintentsimplymeanstheOffice365servicesthatareintendedfor thatdomain.
Figure2-16.UsingExchangeandLyncwiththenewdomain
Figure2-17.Thenewdomainhasbeenadded
UpdatingtheDNSRecords
Figure2-18.TheDNSrecorddetails
YouwillthengotoyourexistingDNSserverandentertherecordsthatarelisted.Whenyou’redone, clicktheNextbutton(inOffice365)andyoushouldseetheFinishpageshowninFigure2-19.
Figure2-19.Thedomainsetupiscomplete
AddingaThird-LevelDomain
TomovethepublicwebsiteonSharePointOnlinetothecustomURLyou’llneedtoaddanother domain.You’lladdathird-leveldomain,www.apress365.cominmycase.(Toclarify,.comisthefirstlevel, apress365isthesecondlevel,andwwwisthethirdlevel.)Justprefixthefirstcustomdomainnamewith www.AddanewdomaininyourOffice365accountusingthisname,asshowninFigure2-20.
Figure2-20.Creatingathird-leveldomain
Sincethisisasub-domainundertheoneyoujustadded,thereisnoneedtorepeattheverification process.SpecifytheSharePointOnlineserviceonly,asshowninFigure2-21.
Figure2-21.UsingthisdomainforSharePointonly
Figure2-22.Thedomainhasbeenadded
ConfiguringthePublicSharePointSite
IntheSmallBusinessaccount,explainedinChapter1,bothaTeamSiteandapublic-facingwebsite werecreatedforyou.WiththeEnterpriseaccount,onlytheTeamSiteissetupbydefault.Youwillnow createthepublic-facingwebsiteintheEnterpriseaccountandthenconfigureittousethecustom domainnamethatyoujustadded.ThisismorecomplicatedwiththeEnterpriseplansbecauseofthe increasedflexibility.Youwillneedtofirstcreateuseraccountsthatwillbesetupasthesiteownerand administrator.Youwillalsoneedtocreateanewsitecollection.Iwillexplainthesestepsnow.
CreatingaGlobalAdministrator
Beforeyoucreatethewebsite,you’llneedtosetuponeormoreaccounts.InanEnterpriseaccount, eachsitecollectioninSharePointmustbeassignedanowner.Youcanalsodefineoneormoresite administrators.
Figure2-23.Creatingaglobaladministratoronthenewdomain
CreatingaNewSiteCollection
WithaSmallBusinessaccount,youhaveasinglesitecollectionthatcontainsboththepublicwebsite andtheinternalTeamSite.WithanEnterpriseaccount,youwillcreateseparatesitecollections.Each sitecollectioncanbeconfigureddifferentlyintermsofownersandadministrators,installedfeatures, andresourcequotas.(Iwillexplainquotasinmoredetailinthenextchapter.)
FromtheAdminpage,clicktheManagelinkundertheSharePointOnlinesection.Thenclickthe “Managesitecollections”link,whichwilldisplaythepageshowninFigure2-24.
Asyoucansee,asingleinternalsitecollectionwascreatedforyou.IfyouclickontheURLfield, you’llseethepropertiesofthatsitecollection(seeFigure2-25).
Figure2-25.Thesitecollectionproperties
Closethatdialogbox,clicktheNewbuttonintheribbon,andclickthePublicWebsitelink,as showninFigure2-26.
Figure2-26.Addingapublicwebsite
Thelistofsitecollectionsshouldnowincludethepublicwebsite,asshowninFigure2-28.
Figure2-28.Viewingthelistofsitecollections
ThelaststepistoupdateyourDNSservertopointtothiswebsite.Inthesitecollectionlist,select thenewwebsiteandthenclicktheDNSInformationbuttonintheribbon.Thiswilldisplaythedialog boxshowninFigure2-29.
Figure2-29.ViewingtheCNAMEdetailsforDNS
Thistellsyoutheactualaddressofthiswebsite.Inmycase,thiswas
Figure2-30.TheCNAMErecordsinDNS
DesigningthePublicWebSite
Figure2-31.Thepubicwebsite’shomepage
Toeditthissite,clicktheMemberLoginlinkinthenavigationpane.Ifyouarenotalreadyloggedin, youwillbetakentotheOffice365loginpage.ThenyourwebsitewillbeopenedusingSharePoint Online,asshowninFigure2-32.
Clickononeofthepagesanditwillbeopenedforediting,asshowninFigure2-33.
Figure2-33.EditingtheHomepage
Nowthatyouhaveaddedthecustomdomainandhaveconfiguredthepublic-facingwebsite, you’rereadytosetuptheExchangeandLyncapplications.
UsingSingleSign-On
Figure2-35.Displayingthemailboxproperties
Figure2-36.Addingane-mailaddress
Enterane-mailaddressandselecttheappropriatedomain.InFigure2-36,I’madding webmaster@apress365.com.Anye-mailssenttothewebmasteraddresswillgotomyinbox.
AddingaRoomMailbox
Youcanalsocreateaspecialtypeofmailboxcalledaroom.Youusetheseforschedulingresourceslikea meetingroomorsharedequipmentsuchasaprojector.Thesemailboxeswillhaveacalendarassociated withthemsoyoucanseewhentheyareavailable.Whenschedulingameetingyoucanincludetheseas attendeesandcheckforavailabilityjustlikeotherattendees.
Thedifferencewiththesemailboxesisthatyoudon’tsignintoaninbox.Consequently,youcanadd thesetoExchangewithouttheneedforanadditionaluserlicense.However,thismeansthereisnoinbox tosendthemeetinginvitationto,sotherearetwooptionsforacceptingthemeetinginvitation.
Automaticallyacceptorrejectbasedonavailability:Iftheroomorresourceis availableduringthetimeperiodrequested,theinvitationisautomatically accepted.Otherwise,theinvitationisdeclined.
Assignoneormoredelegatestothisresource:Theinvitationwillgototheirinbox andtheycanacceptordeclinetheinvitationonbehalfoftheresource.
Figure2-37.Addingaroommailbox
CreatingaDistributionGroup
Figure2-38.Addinganewdistributiongroup
TipThereisnoinboxassociatedwithadistributiongroup;whenane-mailissenttothegroup,itismerely
copiedtoeachmemberofthegroup.Consequently,youdon’tneedauserlicensewhencreatingadistribution
group.
AddingExternalContacts
YoucanaddexternalcontactsinExchange,whicharee-mailaddressesthatarenotpartofyour organization.Thiswillincludethemintheaddressbook,butnomailboxissetupfortheseaddresses norcantheylogininOffice365.Theyareincludedsimplyforconveniencewhensendingane-mail.
Toaddanexternalcontact,clicktheExternalContactbuttonandthenclicktheNewlink.Thiswill displaytheExternalContactdialogboxshowninFigure3-39.
CreatingaMigrationPlan
IhavedemonstratedthebasicsforconfiguringanewExchangeOnlineserverwithOffice365.However, ifyouhaveanexistinge-mailsystemyouwillneedtocreateamigrationplan.Thisplanwilldescribethe processyou’lluseformovingyourusersfromtheexistinge-mailsystemtoOffice365.Thereareseveral optionsavailableandtherightoneforyouwilldependonthesystemyouaremigratingfromandthe numberofusersthatwillbemoved.Thisisbeyondthescopeofthisbook;however,Isuggestyoureview thearticleathttp://help.outlook.com/en-US/140/ms.exch.ecp.EmailMigrationStatusLearnMore.aspxas agoodstartingpoint.
ConfiguringRole-BasedSecurityinSharePoint
Nowyou’llconfiguretheexistingSharePointsitestodefinetheusersandtheiraccesslevels.Asyou createnewSharePointsites,youwillwanttorestrictaccesstotheappropriateusers.Forasmallteam,it maybesufficienttogiveeveryoneaccesstoeverything.Forlargerorganization,youwilllikelywantto limitsomeone’saccess.Forexample,eachdepartmentmaysetuptheirownTeamSitewithaTaskslist, Calendar,andShared Documentslibrary.Typically,thiswouldberestrictedtoonlymembersofthat department.CreatingandmanagingusergroupsinSharePointOnlineisdonejustlikeastandardon-premiseSharePointServerinstallation.Iwillprovideaverybriefintroductionhere.
Figure2-40.Viewingthesitesettings
Clickthe“Peopleandgroups”linktodisplaythePeopleandGroupspage.Selectagroupinthe navigationpaneandthemembersofthatgroupwillbelisted.NoticethattheTeamSiteMembersgroup, forexample,doesn’thaveanyoneinthegroupyet.
TipBydefault,noneoftheSharePointgroupshaveanymembers;you’llneedtoaddtheappropriatepeopleto
thegroups.Youhaveaccesstothesitebecauseyouareaglobaladministrator.However,non-administrators
won’tbeabletoseetheTeamSiteuntilyouaddthemtothegroup.
Figure2-41.DisplayingtheTeamSitemembers
IntheGrantPermissionsdialogbox,addtheappropriateuserstothisgroup,asshownin Figure2-42.
Figure2-42.AddinguserstotheTeamSiteMembergroup
Figure2-44.InstallingOfficeProfessionalPlus
SavingDocumentstotheTeamSite
WhenusingtheclientapplicationsyoucanstillsavethefilesdirectlytotheSharePointsite.Thereare severalbenefitstodoingthis.
Thedocumentsarestoredinasharedlocation,makingthemavailabletoother teammembers(subjecttothesitepermissions).
YoucanaccessthemwiththeOfficeWebAppswhennotatyourworkstation. Thefilesarebackedupautomatically.
Figure2-45.ClickingtheSavetoSharePointbutton
Figure2-46.TheSavetoSharePointwindow
NoteInChapter7IwilldemonstratesomeoftheadvancedfeaturesofpublishinganExceldocumentto
SharePointusingthePublishOptionsbutton.
Select“Browseforalocation”andclicktheSaveAsbutton.ThiswilllaunchtheFiledialogbox. EntertheaddressoftheSharePointsitethatyouwanttouse.Inthisscenario,Iwanttosaveittothe SmallBusinesssiteIsetupatthebeginningofthechaptersoIentered
Figure2-47.EnteringyourOffice365credentials
Onceloggedin,thedialogboxshoulddisplaytheexistinglistsandlibrariesonthissite.Selectthe appropriatelibraryandclicktheSavebutton.You’llbepromptedtoselectacontenttype.Selectthe appropriateonedependingonthetypeofdocumentyou’resaving,asdemonstratedinFigure2-48.
IfyougototheTeamSite,you’llseethenewdocumentincludedintheselecteddocumentlibrary. Thisisavailabletoanyonewhohasaccesstothislibrary.
Officewillrememberthislocation.IfyousaveanotherOfficedocumentsuchasWordorExcel,you shouldseethislibrarylistedintheRecentLocations(seeFigure2-49).
Figure2-49.ThelibraysavedasaRecentLocation
Wheneveryoucreateanewdocumentyoucaneasilysaveittothesamedocumentlibraryby selectingthislocationandclickingtheSaveAsbutton.
Summary
InthischapterIexplainedsomeoftheadvancedconfigurationoptionslikesettingupacustomdomain foryouraccount.ThesefeaturesinOffice365allowyoutouseittoreplaceanexistingon-premiseOffice solution.TheEnterpriseaccountrequiresmoreworktosetupbutitprovidesmoreflexibilityin
configuringyoursystem.
Office 365 Overview
BeforeyoudiveintodevelopingsomeniftyapplicationsonOffice365,IwanttofirstexplainwhatOffice 365isandhowitworks.Ifyou’vemadeanyOfficecustomizationspreviously,youwilllikelyfindthat Office365worksprettymuchthesameway.Iwillpointoutthedifferencesaswegoalong.
Office365Architecture
Office365isaninterestingcollectionofbothserverandclientapplicationsthatallowsyoutoexperience afullyintegratedOfficesolution.Thisisprovidedasahostedsolution,whichrequireslittleornoIT infrastructure.
TraditionalOfficeServerEnvironment
Figure3-1.ThetraditionalOfficeserverenvironment
Youwouldhave
AnExchangeservertohandleincomingandoutgoinge-mails. Oneormorefileserversforstoringdocuments.
ASharePointserverforcollaborationfeaturessuchasshareddocumentsandtask lists.
ALyncservertosupportinstantmessagingandonlinemeetings.
Forlargerorganizationsyouwouldlikelyclustertheseserverstoprovideredundancyaswellas increasedcapacity.SoinsteadofasingleExchangeserver,forexample,youmighthavetwoormore.You canseethatthenumberofserversyouwouldneedcouldbecomeextensive.
OneachoftheclientworkstationsyouwouldinstalltheOfficeclientapplicationssuchasOutlook, Word,Excel,andOneNote.Tosupportremoteusers,youwouldneedtoprovideavirtualprivate network(VPN),whichwouldallowthemtoconnectintoyournetworkandworkjustlikethelocalusers.
TheOffice365Environment
AllofthefunctionalitydescribedinFigure3-1canbeeasilyprovisionedonOffice365.Thesamefeature setimplementedonOffice365wouldlooklikeFigure3-2.
Figure3-2.TheOffice365solution
Themostobviouschangeinthisenvironmentisthattheservershavebeenmovedtoahosted environment.Insteadofanon-siteserverrunningExchangeServer2010,forexample,you’lluse ExchangeOnline2010,whichishostedonaremoteserverfarm.TheseonlineversionsoftheOffice serverproductsareimplementedwiththesamecodebaseastheiron-sitecounterparts.Whenyouset upanOutlookclient,youmustspecifythelocationoftheExchangeserver.InanOffice365
environment,youprovidetheURLthatwasspecifiedwhenyourOffice365accountwascreated.The factthattheserverisnowhostedoff-siteisessentiallytransparent.Youcansendandreceivee-mails, checkthecalendarsofteammembers,andschedulemeetingsjustlikeyouwouldinatraditionalon-site Exchangesolution.
NoteTherearesomelimitationsregardingthesizeoffilesyoucanstoreonOffice365.Forexample,the
largestfileyoucanuploadis250MB.Formoredetails,seethearticleat
http://office.microsoft.com/en-us/sharepoint-online-enterprise-help/sharepoint-online-software-boundaries-and-limits-HA102694293.aspx
.
Thereareacoupleofreallynicebenefitsthatareinherentinacloud-basedsolution:supportfor remoteusersandrole-basedaccess.NoticethatthereisnoVPNsupportinFigure3-2becauseitisnot needed.ClientsaccesstheOffice365servers(ExchangeOnline2010,SharePointOnline2010,andLync Online2010)throughanInternetconnection.Office365doesn’tcarewhetheryouareconnectingfrom work,yourhome,thepubliclibrary,oryourfavoritecoffeeshop.
theOutlookapplicationfromanon-sitePCwhileusingthewebappfromaremotelaptopormobile device,asdemonstratedinFigure3-3.
Figure3-3.AccessingExchangeOnline
Thekeypointtorememberhereisthatthedataisstoredinthecloud.Whicheverapplicationyou use,itisaccessingthesamedata.
TipInChapter12,Iwillshowyouhowtobuildyourowncustome-mailclient.Whiletheuserexperiencewill
bedifferent,thedataresidesontheserverandcanstillbeaccessedthroughtheothere-mailclientapplications.
Office365alsoprovidesalightweightweb-basedversionofWord,Excel,OneNote,andPowerPoint. Thesehavealimitedfeaturesetcomparedtotheirclient-basedcounterpartsbutreadandwritefilesin thesameformat.Thisallowsyoutocreate,view,andeditafileusingthewebappandthenopenitwith theclientapplicationtoperformadvancededitingcapabilities.Otheruserscanthenviewthemodified documents.
StoringDocumentsinSharePoint
tobebackedup.Fromanapplicationperspective,thismeansthatallyourdocumentsmustbestoredin
Figure3-4.UsingOffice365andAzure
TheOffice365platformprovidestheofficeautomationandteamcollaborationtoolsthatyou’lluse tomanageyourbusiness.Yourmission-criticalapplications,includingcustomsolutions,canbe deployedontheWindowsAzureplatform.Userscanthenconnecttobothtoperformtheirdailytasks. InChapter8,I’llshowyouhowyoucanalsoaccessdatainAzurefromwithinOffice365usingBusiness ConnectivityServices(BCS).
Office365OnlineServers
Theserverproducts(ExchangeOnline2010,LyncOnline2010,andSharePointOnline2010)formthe coreoftheOffice365platform.Asadeveloper,youwillbeusingandextendingthefeaturesprovidedby theserverstoimplementcustomapplications.Asmentioned,theseproductsareverysimilartotheiron- premisecounterparts.Thedifferencesstemprimarilyfromthefactthattheyarerunninginamulti-tenantenvironment.It’salittlebitlikelivinginalargeapartmentbuilding;havingcloseneighbors placessomerestrictionsonwhatyou’reallowedtodo.
SharePointOnline2010
ScopedaccesstotheSharePointobjectmodel.
Limitedaccesstoexternal(non-SharePoint)resourcessuchasthefilesystem basedonCodeAccessSecurity(CAS)policies.
Nocode-basedworkflows,whichuseWorkflowFoundationin.NET3.5.
Theserestrictionsprovideisolationofeachsolutionsoonesolutionisnotnegativelyaffectedby another.
Figure3-5.SharePointObjectModelhierarchy
InOffice365,theSharePointfarmandwebapplicationarealreadysetupsoyoudon’tneedto configureormaintainanyofthefeaturesdefinedattheselevelsofthehierarchy.Youwill,however, createsitesaswellasalltheitemsbelowthis,suchaslistsandlistitems.Sandboxedsolutionscanaccess theobjectmodelatthesitecollectionlevelandbelow.Accesstothefarmorwebapplicationisblocked sincethiswouldaffectothersolutionshostedonthesameSharePointfarm.
ExecutinginaSandboxedEnvironment
Figure3-6.Executingasandboxedsolution
WhenarequestisexecutedintheSharePointserver,itispassedtotheUserCodeService (SPUCHostService.exe).Inafarmsolution,thiscallstheSharePointDLL(Microsoft.SharePoint.dll) directly.Inasandboxedsolution,however,thisispassedtotheSandboxWorkerProcess
(SPUCWorkerProcess.exe).Thisprovidestwoimportantfunctions.First,requestsforanynon-SharePoint resourcessuchasthefilesystemarefilteredthroughtheCASpolicy.Therequestisrejectediftheneeded accessisnotallowed.Secondly,itverifiesthattheSharePointobjectsbeingusedarewithinthescope allowedforsandboxedsolutions.CallsthatmanipulatetheSPFarmobject,forexample,willbeblocked.
NoteThereisagoodarticleat
http://msdn.microsoft.com/en-us/library/gg552610.aspx#BKMK_ExecutionModel
thatexplainssomeoftheunder-the-coverdetailsof
SharePointServer2010.
Animportantpointtorememberhereisthattheserestrictionsareenforcedatruntime.
ResourceRestrictions
NoteFormoreinformationonresourcelimits,seethearticleat
http://msdn.microsoft.com/en-us/library/gg615462.aspx
.
Figure3-7.TheSolutionGallery
Inthiscase,thegalleryisemptybecausetherearenousersolutionsinstalled.Touploadanew solution,clicktheUploadSolutionbuttonintheribbon,whichwilldisplaytheUploadSolutiondialog boxshowninFigure3-8.
Throughoutthisbook,youwillbedevelopingsolutionpackagesandloadingthemtoyour SharePointOnlineserver.YoucanalsodownloadsolutionsfromOffice.combyclickingthe“Browse Office.com”buttonintheribbon.Forthisdemonstration,IwilldownloadasolutionfromOffice.com.I haveselectedtheClassroomandStudyGroupsolution,asshowninFigure3-9.
Figure3-9.SelectingtheClassroomandStudyGroupsolution
Figure3-10.Twoadditionalsitetemplates
Figure3-11.ThenewClasssite
Youcanseehoweasyitistoloadanduseacustomsolutionwithoutrequiringadministrative access.IfyougobacktotheSolutionGallery,youcanseethenewsolutionandhowmanyresourceunits havebeenexpendedsofar(seeFigure3-12).
Figure3-12.TheupdatedSolutionGallery
DeployingasolutionpackagetoSharePointrequiresbothuploadingandactivating.Thefollowing termsareusedtodescribethestepsofthisprocess:
ActivationDeploysfilesandregisterseventreceivers.Sitecollectionfeaturesare alsoactivated;Sitefeatures,however,mustbeindividuallyactivatedoneachsite. Deactivationdisablesthefeatures.
DeleteremovesthefeaturesfromtheSolutionGallery.
UpgradedeploysthesolutionwiththesameIDbutadifferentname,andnew featureswillbeactivated.
DevelopingSolutionsinVisualStudio2010
VisualStudio2010includessomesignificantenhancementstofacilitateSharePointdevelopment.Iwill demonstratethesefeaturesinlaterchapters.Hereisashortlistofsomeofthemostimportantones:
IntelliSense:Ifyouspecifyasandboxedsolutionwhencreatinganewproject, IntelliSensewillautomaticallylimityouraccesstoSharePointobjectstoonly thosethatarecompatiblewithsandboxedsolutions(atthesitecollectionlevel andbelow).
SolutionPackaging:Createssolutionpackage(.wsp)filesthatarereadyforeasy uploadandactivation.
F5Debugging:Afterdevelopingyoursolution,justpressF5tobuild,deploy,and debugyourcode.ThisrequiresalocalSharePointinstancefordebugging.
TipYoushouldalsodownloadthePowerTools,whichareavailablefromat
http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9
.Thisprovides
Figure3-13.RecommendeddevelopmentenvironmentforSharePointOnline2010
YouuseVisualStudiotobuildthesolutionandautomaticallydeployanddebugitfromwithinthe IDE.Whenyouhavefinishedunittesting,youthenuploadthesolutiontoaspecialsitecollectionon Office365thatisusedfordevelopmentandtesting.Thetestteamthenaccessesthesolutionthereand performsendusertesting.Onceithasbeentested,thesitecollectionownercandeploythesolutionto theliveSharePointsite.
CustomizationScenarios
SharePointOnlineprovidesavarietyofwaysdevelopcustomsolutions.Iwillexplaineachofthesein detailthroughoutthisbookwithpracticalexamplesthatyoucanfollow.Ifyouhaveexperience developinginSharePoint,you’llfindthatSharePointOnline2010isveryfamiliar.ThetechniquesI’ll coverinclude:
SharePointDesigner:ThisisapowertoolforeditingSharePointsites.SharePoint DesignerallowsyoutocreateandeditSharePointobjectssuchaslists,fields,and contenttypes.
DeclarativeWorkflows:Imentionedearlierthatyoucan’tcreatecode-based workflows(usingWFin.NET3.5).However,youcancreatedeclarativeworkflows usingSharePointDesigner.YoucanalsodesignaworkflowusingVisio,importit intoyourSharePointsite,andthenuseSharePointDesignertoimplementit.You cancreatecustomactionsandalsouseInfoPath2010tocreatecustomworkflow forms.
AccessWebDatabases:YoucancreateawebdatabaseinAccess2010,including tables,forms,queries,andreports,andthenexportthedatabasetoSharePoint Online.Thisisagreatwaytoquicklyimplementasophisticatedwebapplication.
ExcelServices:SharePointOnlineallowsyoutoexposeanExcelspreadsheetora subsetofoneonyourSharePointsite.
VisualStudio:YoucanalsodevelopsolutionsusingVisualStudio2010.This allowsyoutoaccesstheSharePointobjectmodelusingfamiliarC#syntax.You canalsouseLinqtoSharePointtoretrieveandmanipulateyourlistsandlist items.VisualStudio2010providesprojectitemsforcreatingcontenttypes,lists, andWebParts.ThesecanbeverifiedusingstandardF5debugging.Yourproject canbepackagedintoasolutionpackage(.wsp)foreasydeployment.