6 Proven Steps to the Best Out of Search in 2013 Paul Olenick Strategic Consultant AvePoint SPC265 agenda Who am I? Who are you? Intro to and demo ofsearch experience [DEMO] Search experience backbone 6 ways to the most out of search [DEMO] Pro tips, tricks and best practices Q&A .Strategic Consultant, AvePoint . MVP (2012, 2013) .MCTS – 2007 - 2013 . 2010 Enterprise Architect's Guidebook (WROX) . Shop Talk Moderator shoptalk.com . & Enterprise Search Blog olenick.com Who am I? MCTS(rgb)_530 Who are you? E n t e r p r i s e S t a n d a r d Founion More features Origins of 2013 Search Cross - Site Publishing Content Search WP Faceted Navigation eDiscovery Analytics Demo Tour of OTB end - r experience 2013 search experience backbone Result Types Result Sources DisplayTemplates Query Rules Result Types Result Sources DisplayTemplates Query Rules .A specific subset of the local index (scopes) .Results from a remote search engine (federation) Result Result Sources .Easy way to identify different types of individual results .Obvious: Word Doc, Items from your CRM .Not - so - obvious: Documents authored by CEO created in last 30 days C:\PAUL~1.OLE\Appa\Local\Temp\SNAGHTML603fb8fb.PNG Result Types Sources .Templates for rendering individual results .HTML/JavaScript C:\PAUL~1.OLE\Appa\Local\Temp\SNAGHTML603fb8fb.PNG WebpageDisplay Template Discussion ItemDisplay Template Webpage Item Hover Panel Display Template Webpage Result Type Discussion Result Type DisplayTemplates .Change default behavior on intent Query Conditions What queries should be handled? C:\darrina\Appa\Local\MetroStyleAddIn\\Checklist.wmf Query Actions What happens when a rule matches? C:\darrina\Appa\Local\MetroStyleAddIn\\Computing.wmf Publishing Options Is the rule active and for how long? C:\darrina\Appa\Local\MetroStyleAddIn\\Like.wmf •Promote results (best bets) •Show blocks of additional results •Change ranking on the fly •Rewrite the query Query Rules 6 ways to the most out of search Visually distinguish types of content 1 Federate 2 http://search.live.com/results.aspx? q=site:en.wikipedia.org{searchTerms}&format=rss 3 Configure search verticals Surface meaningful Business Refiners 4 search to roll up content 5 https://olenickspc2 /sites/ContosoMedical /sites/Contoso /Products Products List (ContosoProductsContent Type) Products List (ContosoProductsContent Type) CQWP Where Content Type = ContosoProducts X https://olenickspc2 /sites/ContosoMedical /sites/Contoso /Products Products List (ContosoProductsContent Type) Products List (ContosoProductsContent Type) Search Web Part abases Other Farms File Shares Return results on intent 6 Tips and best practices Governance – Do it! The quality of your search results and ability to take advantage of search features is directly related to how well your content is tagged and structured Become a query language expert! filetype:docx author:"JohnSmith" "acquisition" NEAR(n=3) "debt" http://msdn..com/en-us/library/office/ee558911.aspx#kql_operators WORDS(TV, Television) (cat OR dog) XRANK(cb=100) thoroughbred SharePo* ful query variables http://technet..com/en-us/library/jj683123.aspx Query Variable Description {r.Name} Display name of the r who issued the query. For example, this value can be d to query content of the managed property Author. {r.Email} Email address of the r who issued the query. For example, this value can be d to query content of the managed property WorkEmail. {Today+/-} A e calculated by adding/subtracting the specified number of days to/from the e when the query is issued. e format is YYYY-MM-DD. For example, this value can be d to query content of the managed property LastModifiedTime Working with display templates •Pseudo code •Don’t touch the JS •Editors –choose your favorite •Mapped Folders vs. MasterpageGallery •Publishing feature 322 2013 Search display templates and query rules Matthew McDermott Tomorrow9AM 3000 Changing the look of Search Display Templates and CSR CoreyRoth Tomorrow 10:30 AM Troubleshooting •Diagnostic display template •Test page for every search center Related s # Title Audience Type Level 382 Managing Search Relevance in 2013 and O365 IT Pro Best Practices 300 2015 Away to search and discover information Power r Roadmap 200 306 Best practices for Hybrid Search deployments IT Pro Best Practices 300 336 Search architecture and sizing in 2013 IT Pro Best Practices 300 414 Search content enrichment and extensibility in 2013 Developer How To 400 360 Effective Search deployment and operations in 2013 IT Pro Best Practices 300 340 2013 Search Analytics Developer Deep Dive 300 402 Develop Advanced Search-Driven 2013 Apps Developer Best Practices 400 375 How to manage and troubleshoot Search: A practical guide IT Pro Best Practices 300 321 Customizing Search experiences with Azure Hosted a and Bing Maps IT Pro Best Practices 300 265 6 Proven Steps to the Best Out of Search in 2013 Power r Best Practices 200 405 Futuristic Search applications Kinect and Yammer! Developer Deep Dive 400 207 Best practices for Information Architecture and Enterprise Search IT Pro Best Practices 200 322 2013 Search display templates and query rules Developer Deep Dive 300 3000 Changing the look of Search Display Templates and CSR Developer Best Practices 300 320 Configuring Hybrid Search with 2013 and Online IT Pro Best Practices 300 217 Making Collaboration Rock by Increasing Discoverability Power r Adoption 200 Q&A All display templates and other assets from today’s demos can be downloaded at: http://paulolenick.codeplex.com/ paul.olenick@avepoint.com olenick.com @ OlenickSP http://www.techinasia.com/techinasia/wp-content/uploads/2009/07/Twitter1.png http://blog.emints.org/wp-content/uploads/2011/08/wordpress-logo.png shoptalk.com MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. 7 Tenets of Highly Scalable 2013 Apps Edin Kapi c Architect Beezy SPC393 Office 365 Platform Contextual Apps Robust O365 API’s Flexible Tools Documents People | Groups Mail Tasks Calendars REST Web Services Edin Kapic Works for Beezy in Barcelona, Spain President of Catalonian r Group(SUG.CAT) Geek , sailor , philosopher sug.cathttp://blog.xamarin.com/wp-content/uploads/2013/02/_MVP_logo.png https://scontent-a-cdg.xx.fbcdn.net/hphotos-ash2/528958_399305150134080_1045519093_n.jpg I wonderifthisbeercouldbe SharePintcompatible http://marketingland.com/wp-content/ml-loads/2012/06/new-twitter-logo.png @ekapicwww.edinkapic.com scalability [ ske.l.'b.l.t. ] n, the ability of something to adapt to increased demands Scalability Hey boss, we have 1M newfor our web app!! ... and they all sign up tomorrow ! Scalability ( answered ) Non - scalable Scalable http://www.catster.com/files/fields/600px-cat-napping-on-window-sill.jpg http://2.bp.blogspot.com/-nap6uqH0MyM/TnYXy_JmGgI/AAAAAAAABzM/GqB18xsj5JE/s1600/759555c27437b023015fc8e18fc564dd.jpg Scalability # fail http://www.blogcdn.com/blog.games.com/media/2012/03/photo.png https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-frc3/557744_438988082837299_1598631117_n.png Scalability # awesome http://blogs-images.forbes.com/terokuittinen/files/2012/05/omg.jpg Week1 Week2 Week3 Week 4 Week 5 Week6 Week7 Drawings/second 0 3 50 333 1660 3000 5400 Total drawings(M) 0 5 12 50 500 1000 2200 R/W latency(ms) 0 0,5 0,5 0,6 0,7 0,7 0,9 Servers 6 6 6 18 54 72 90 2013 Apps Architecture Cloud - The components of a provider-hosted app are hosted on any web server or hosting service. http://blog.acando.com/wp-content/themes/thesis_185/custom/rotator/SP2013_logo_blog_360x260.png The components of an autohosted app are hosted on Windows Azure and SQL Azure Can’tfine-tunethearchitecture Can’tsellautohostedapps is now just another external system Minimize round trips What can we learn from Star Wars ? With the cloud, potential scalability you have… …but architectfor it you … …out of the box it comes not. Photo Credit: JD Hancock http://www.flickr.com/photos/83346641@N00/5813423429 http://creativecons.org/licenses/by/2.0/ Single point of failure by design Photo Credit: Brian Neudorff http://www.flickr.com/photos/14125773@N00/6821487081 http://creativecons.org/licenses/by/2.0/ I find your lack of failover disturbing Photo Credit: JD Hancock http://www.flickr.com/photos/83346641@N00/3618602355 http://creativecons.org/licenses/by/2.0/ And now back to our regular program 2013 app architecture 2013 scalableapp architecture .Avoiding Roundtrips 1.Effective caching mechanisms 2.Content - Delivery Networks and BLOB storage .Avoiding Bottlenecks 3.NoSQL storage 4.Sharding 5.Waiting in a queue 6.Acting asynchronously .Avoiding Single Point of Failure 7.Redundant Design 3 Guidelines , 7 Tenets http://truckeerivertaxi.com/images/roundtrip.png http://www.brooklynexposed.com/images/sized/images/uploads/main/Bottleneck-LOGO-r2-600x315.jpg http://us.cdn3.123rf.com/168nwm/area123/area1231203/area123120300059/12882001-frayed-rope-on-a-white-background.jpg SUMMARY 2013 s calable app architecture http://truckeerivertaxi.com/images/roundtrip.png http://truckeerivertaxi.com/images/roundtrip.png http://truckeerivertaxi.com/images/roundtrip.png http://truckeerivertaxi.com/images/roundtrip.png http://www.brooklynexposed.com/images/sized/images/uploads/main/Bottleneck-LOGO-r2-600x315.jpg http://www.brooklynexposed.com/images/sized/images/uploads/main/Bottleneck-LOGO-r2-600x315.jpg http://www.brooklynexposed.com/images/sized/images/uploads/main/Bottleneck-LOGO-r2-600x315.jpg http://www.brooklynexposed.com/images/sized/images/uploads/main/Bottleneck-LOGO-r2-600x315.jpg http://us.cdn3.123rf.com/168nwm/area123/area1231203/area123120300059/12882001-frayed-rope-on-a-white-background.jpg http://us.cdn3.123rf.com/168nwm/area123/area1231203/area123120300059/12882001-frayed-rope-on-a-white-background.jpg http://us.cdn3.123rf.com/168nwm/area123/area1231203/area123120300059/12882001-frayed-rope-on-a-white-background.jpg http://us.cdn3.123rf.com/168nwm/area123/area1231203/area123120300059/12882001-frayed-rope-on-a-white-background.jpg Avoiding roundtrips http://truckeerivertaxi.com/images/roundtrip.png Effective caching mechanisms .Caching is the cheapest way to avoid unnecessary roundtrips .Stale a Effective caching mechanisms .Local cache .Small, static a, very frequently accessed .Distributed cache .Everything that you reasonably can Local and distributed cache .Example of effective cache mechanism Domain Name System (DNS) http://upload.wikimedia.org/wikipedia/cons/thumb/0/09/DNS_in_the_real_world.svg/1000px-DNS_in_the_real_world.svg.png Content delivery networks (CDN) .Bigbinary storage in the cloud .Bypass the Processing .Public BLOBs can be accessed by URL .Shared Signatures .Private BLOBs can be accessed by a special URL BLOB storage .Big binary storage close to the r .No to serve from the cloud .First r pays the “toll”, others it free .Offload .Images .Scripts .Media Files .Versioned URLs Content delivery network (CDN) http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/cunityserver-blogs-components-weblogfiles/00-00-00-72-42-metablogapi/4442.image_5F00_275B8023.png Demo BLOB bypassing Avoiding bottlenecks http://www.brooklynexposed.com/images/sized/images/uploads/main/Bottleneck-LOGO-r2-600x315.jpg Avoiding storage locks Storage lock ( defined ) http://hellogiggles.com/wp-content/uploads/2011/10/airplane_restroom_occupied_sign_42-17900437.jpg Storage types Relational SQL Azure ImmediateConsistency Document/NoSQL TableStorage Eventual Consistency .Cand - Query responsibility segregation pattern .d in CSWP and CQWP CQRS .Partitionyour a across multiple abases or storages .JOINs across shards .SQL Azure Federations Sharding Shards A-F G-O P-Z a Access Partitionkeys Waiting in a queue Request/response model does not scale well PhotoCredit: Guiseppe Milo http://www.flickr.com/photos/87690240@N03/10658478643 Queuing benefits Decoupling Retries and node failure recovery Throttling and DDOS prevention Autoscaling Web Back-End MessageQueue Azure queues Azure Storage queues .Low-Level .Pass messages between roles and sites .Fully decoupled R/W operations .Automatic Load Balancing Service Bus queues .High-Level .Messaging framework with queues .Publisher-Subscriber .Transactions Azure storage queue anatomy Acting asynchronously Ladies and Gentleman Mr. Syncand Mr.Async (waiters) Acting asynchronously We can optimize the server throughputwith asynccallsto the next tier Just got easier in NET 4.5 with async /await Web Tier a Tier Web Tier Thread #1 a Tier Request1 Response1 Request2 Thread #1 Request1 Response1 Request2 Demo Asynchronous processing Redundant design http://us.cdn3.123rf.com/168nwm/area123/area1231203/area123120300059/12882001-frayed-rope-on-a-white-background.jpg Redundant design If any single node goes down, your app continue unhindered Some delay is acceptable Idempotentoperations Load-balancing http://upload.wikimedia.org/wikipedia/cons/5/54/PC-Netzteil_%28redundant%29.jpg Image: RainerKnäpper, License:artlibre AzureTrafficManager Redundant design example http://www.wired.com/insights/wp-content/uploads/2012/03/farmville-logo.jpg Summary 2013 scalable app architecture .Avoiding Roundtrips 1.Effective caching mechanisms 2.Content - Delivery Networks and BLOB storage .Avoiding Bottlenecks 3.NoSQL storage 4.Sharding 5.Waiting in a queue 6.Acting asynchronously .Avoiding Single Point of Failure 7.Redundant Design 3 Guidelines , 7 Tenets http://truckeerivertaxi.com/images/roundtrip.png http://www.brooklynexposed.com/images/sized/images/uploads/main/Bottleneck-LOGO-r2-600x315.jpg http://us.cdn3.123rf.com/168nwm/area123/area1231203/area123120300059/12882001-frayed-rope-on-a-white-background.jpg SUMMARY Additional s essions SPC385: Building Apps with Windows Azure Platform as a Service (Kirk Evans, Tuesday March 4, 1:45 PM) SPC419: Developing Cloud-Hosted Apps with MVC5 (Bob German, Wednesday March 5, 9:00 A M ) SPC302: Advanced Development Patterns for Apps (Nathan Miller, Wednesday March 5, 1:45 PM) Additional resources ScalabilityRules: 50 Principlesfor ScalingWeb Sites Martin L. Abbott, Michael T. Fisher HighScalability http://highscalability.com/ OngoingDemoScalableApp https://bitbucket.org/ekapic/scalable-app http://img3.douban.com/lpic/s6343493.jpg Available at the SPC14 Bookstore ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. 10 Steps to a happier cloud app migration Mark Rackley Solutions Architect Summit 7 Systems Eric Harlan Sr. PFE Eric Harlan Father Husband Blogger Author Speaker Sr.PFE Thrill Seeker (currently unfulfilled ) SKIER Mark Rackley Father Husband Developer Blogger Pluralsight Author Speaker Hillbilly I <3 BACON Step 1) Which Cloud is right for you? Step 2) Identifying Gaps Step 3) Understanding the Social Strategy Step 4) BCS for Cloud Step 5) Search for Navigation Step 6) SkyDrive…err… OneDrive Step 7) BI Story Step 8) Cloud Administration Step 9) Understand Development Hurdles Step 10) Hybrid/Private Cloud Step 11) Bacon? Agenda, if you choose to accept it And you https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/43401 e/Time: Thurs. 6 th , 10:30 ID: SPC293 “ in the clouds –select, mix, and deploy what’s right for you” Speaker: Christian Buckley Quick Link : http://bit.ly/1eJAWAO For a less technical go to… e/Time: Tues. 4 th , 3:15 ID: SPC358 “ Developing future-focd, on-premises solutions” Speaker: Bob German Quick Link : http://bit.ly/1ftUhao For a more technical go to… https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38009 Step 1. Pick your Poison Which Cloud is right for you? Private Cloud Full Access Farm Solutions Sandbox Solutions Price point Expensive to run Expensive to maintain Traditional We know what we know We expect innovation and greatfeatures Azure (rhymes with badger) Hyper - V for the cloud If you’re d to a virtual environment, you’re ready for Azure A few quirks Full Access Farm Solutions Sandbox Solutions Price Point Seemingly expensive but in the grand scheme of things, not so much Variable cost that are hard to understand up front Online Limited Access No Farm Solutions Limited Sandbox Solutions (XML Only) Price point Totally on access Or “seats” Support is up and coming Minimum at the moment Forums? Demo Azure for Load Auto Scaling e/Time: Thurs 6 th 9am ID: SPC3392 “ Solutions and Architectures on Azure…” Speakers: Kirk Evans/Brenda Carter Go to Speaker https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/48958 https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38054 Quick Link : http://bit.ly/NXpY5P Step 2. Identifying SPO Gaps Where are the SPO gotchas Federation Midsize Business plan or higher for AD integration Enterprise E1 or higher for Yammer Migration costs on size and number of items Lots of vendors, some are the same core engine Farm Features There are NO farm solutions in Online You can't access the file system in Online 3 rd party solutions 99.99% chance they will not upgrade to Online https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/40159 e/Time: Wed 5 th 3:15 ID: SPC215 “Tips & Tricks to make the most out of your site and maximize adoption” Speakers: Laura Rogers Jennifer Mason Quick Link: http://bit.ly/1bDGToP Go to Speaker https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/40158 Step 3. Understanding your Social Strategy Social News Feeds You choose what you see by default (on premise) Increased load placed on environment with on prem newsfeeds (distributed cache) Currently no migration of Yammer a into Newsfeeds Yammer There WILL be tons more advancement here. (RAPID upgrades) No on premise install None of the Above. Face it. Less efficiency in the work place Decreased features sets in on premise. e/Time: Thursday 6 th 10:30am ID: SPC392 “Measuring Business Value with Yammer” Speakers: Chris Gideon, Danielle Decatur Quick Link : http://bit.ly/1c09AGZ For more information go to… https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/40165 https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/40245 Step 4. BCS for the Cloud SEC! BCS External lists Extensibility is in t he Client side object model Apps App scoped External Content Type Create WCF End Point to Expose the a source VS or (cough cough) SPD) to create an External Content type Create Secure Store service mapping r to WCF Create an External list the External Content Type Dev/3 rd party solutions .Net assembly connectors are not supported in O365 e/Time: Wed. 5 th , 10:45 ID: SPC361 “ Creating Cloud Hosted Line Of Business Applications…..” Speakers: Todd Baginski, Michael Sherman Quick Link : http://bit.ly/1j6E4wa For more information go to… https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38130 http://www.conference.com/_catalogs/masterpage/SPC14/img/r.png Step 5. Search & Navigation Search Navigation Web Part Aggregate a From Multiple S ites rs don’t know they are changing sites C reate Powerful Filters Filter by Content Type Customize Results with Display Templates HTML and JavaScript Demo Search Navigation to Aggregate a by Content Type https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38018 e/Time: Wed. 5 th , 10:30 ID: SPC3000 “ Changing the look of Search Display Templates and CSR” Speaker: Corey Roth Quick Link : http://bit.ly/1gcD1Im For more information go to… Step 6 . SkyDrive OneDrive OneDrive For Business Storage Drive, My site storage? Controllable, achievable a Security How do you keep/retain/archive It’s the same story regardless of DropBox vs GoogleDrive vs OneDrive vs Amazon Apps and Solutions REST/CSOM API for building custom apps to access OneDrive a. https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38091 e/Time: Tues. 4 th , 10:45 ID: SPC347 “ OneDrivefor Business extensibility: building great apps and solutions” Speaker: Rob Howard Quick Link : http://bit.ly/1hi6aVb For more information go to… Step 7 . BI ? Business Intelligence Traditional BI Reporting Services, Performance Point Static report definition Majority of BI done in Excel Power BI Excel connected to Internal or Public a sources Create and Upload Workbook to a Management Gateway syncs a between On Prem and Cloud Reports work like search (“How much did spend on bacon in 2012”) Caveats of Power BI Office 365 Only Not included, additional cost https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38049 e/Time: Thurs. 6 th , 10:30 ID: SPC369 “ Operational reporting and dashboarding Business Intelligence Solutions” Speaker: John White Quick Link : http://bit.ly/1mIRKCm For more information go to… Step 8. Cloud Administration Who do I /Will I still be employed? Who do I to hire? Azure – The same people you now for on premise Online – a strategists, BI, Admins Am I still valuable? Unbelievably valuable 100% to do with how your company s and it’s a. What do I to learn? Online – Cmdlets , feature inaccessibility Azure – Everything you knew before as well as virtual networking & Resource management e/Time: Wed 5 th 10:45 ID: SPC2995 “ Online Management and Control“ Speaker: Chris Bortlik Quick Link : http://bit.ly/O21DM8 Go to Speaker https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/40149 Step 9. Understand Development Hurdles Azure You can still Farm Solutions! Rewrite or recompile required Sandbox Solutions Recompile required Apps! Access to App Store and you write your own apps Office 365 Farm Solutions are not an option! Embrace the App Model, Embrace the App Model Zero access to the file system Sandbox Solutions Code o fficially “deprecated” but still there XML (configuration) is supported Apps! Embrace the App Model, Embrace the App Model Access to App Store and you write your own apps The App Model Provider Hosted Apps Pick your poison, PHP, Java? Who cares?!?! OAuth can be a pain Auto - Hosted Apps Azure is your friend Still not quite ready for prime time Hosted Apps It’s all client side development Permissions can’t be elevated Start Client Side Dev NOW Rapidly growing API REST, CSOM, SPServices Many resources available jQuery and other 3 rd Party Libraries TypeScript (#SPC288 – Matt Bremer) Rapidly Maturing Practices Patterns & Practices - AngularJS , Breeze Single Page Apps (SPAs + Hosted Apps = AWESOME) Start Client Side Dev NOW Scripts migrate well Sometimes no modifications required 2007,2010, and 2013 Be careful of changes to the DOM You see changes to rendered pages without notice Changes include attribute values, styles, etc. M inimal Download Strategy Can prevent scripts from being executed https ://sp_site/ _layouts/15/start.aspx# /SitePages/newpage.aspx Disable feature at Site level to prevent possible issues Demo Client side development techniques http://github.com/mrackley/SPClientSideDev e/Time: Wed 5 th , 3:15 ID: SPC325 “Real - world examples of FTC to CAM transformations ” Speaker: Steve Walker, Vesa Juvonen Quick Link : http://bit.ly/1cd5D7t For more information go to… https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38134 https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/43296 Step 10. Hybrid/Private Cloud “This leaves just a third 33% [of total Enterprises] with positive plans for cloud, of whom almost all 29% are planning a hybrid solution .” – AIIM 2013 Hybrid Federation with O365 External presence made soooo much easier A sand box that doesn’t cost a ton. Federation with Azure ting the theme yet? Its pretty much the same. Federating directory synchronization Scenarios Colleges/Student/Alumni External contractors e/Time: Tues. 4 th , 9:00am ID: SPC411 “ Office 365 identity federation Windows Azure and Windows Azure Active Directory” Speaker: Spencer Harbar Quick Link : http://bit.ly/1hr0z1q For more information go to… https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38009 https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38116 Office 365 Platform Contextual Apps Robust O365 API’s Flexible Tools Documents People | Groups Mail Tasks Calendars REST Web Services ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action Random child High fiving air. Ok he’s just playing a video game. Likely hood Mark will 1 2 3 4 58% 9% 23% 10% Foot in mouth syndrome © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. 10 Steps to a happier cloud app migration Mark Rackley Solutions Architect Summit 7 Systems Eric Harlan Sr. PFE Eric Harlan Father Husband Blogger Author Speaker Sr.PFE Thrill Seeker (currently unfulfilled ) SKIER Mark Rackley Father Husband Developer Blogger Pluralsight Author Speaker Hillbilly I <3 BACON Step 1) Which Cloud is right for you? Step 2) Identifying Gaps Step 3) Understanding the Social Strategy Step 4) BCS for Cloud Step 5) Search for Navigation Step 6) SkyDrive…err… OneDrive Step 7) BI Story Step 8) Cloud Administration Step 9) Understand Development Hurdles Step 10) Hybrid/Private Cloud Step 11) Bacon? Agenda, if you choose to accept it And you https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/43401 e/Time: Thurs. 6 th , 10:30 ID: SPC293 “ in the clouds –select, mix, and deploy what’s right for you” Speaker: Christian Buckley Quick Link : http://bit.ly/1eJAWAO For a less technical go to… e/Time: Tues. 4 th , 3:15 ID: SPC358 “ Developing future-focd, on-premises solutions” Speaker: Bob German Quick Link : http://bit.ly/1ftUhao For a more technical go to… https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38009 Step 1. Pick your Poison Which Cloud is right for you? Private Cloud Full Access Farm Solutions Sandbox Solutions Price point Expensive to run Expensive to maintain Traditional We know what we know We expect innovation and greatfeatures Azure (rhymes with badger) Hyper - V for the cloud If you’re d to a virtual environment, you’re ready for Azure A few quirks Full Access Farm Solutions Sandbox Solutions Price Point Seemingly expensive but in the grand scheme of things, not so much Variable cost that are hard to understand up front Online Limited Access No Farm Solutions Limited Sandbox Solutions (XML Only) Price point Totally on access Or “seats” Support is up and coming Minimum at the moment Forums? Demo Azure for Load Auto Scaling e/Time: Thurs 6 th 9am ID: SPC3392 “ Solutions and Architectures on Azure…” Speakers: Kirk Evans/Brenda Carter Go to Speaker https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/48958 https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38054 Quick Link : http://bit.ly/NXpY5P Step 2. Identifying SPO Gaps Where are the SPO gotchas Federation Midsize Business plan or higher for AD integration Enterprise E1 or higher for Yammer Migration costs on size and number of items Lots of vendors, some are the same core engine Farm Features There are NO farm solutions in Online You can't access the file system in Online 3 rd party solutions 99.99% chance they will not upgrade to Online https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/40159 e/Time: Wed 5 th 3:15 ID: SPC215 “Tips & Tricks to make the most out of your site and maximize adoption” Speakers: Laura Rogers Jennifer Mason Quick Link: http://bit.ly/1bDGToP Go to Speaker https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/40158 Step 3. Understanding your Social Strategy Social News Feeds You choose what you see by default (on premise) Increased load placed on environment with on prem newsfeeds (distributed cache) Currently no migration of Yammer a into Newsfeeds Yammer There WILL be tons more advancement here. (RAPID upgrades) No on premise install None of the Above. Face it. Less efficiency in the work place Decreased features sets in on premise. e/Time: Thursday 6 th 10:30am ID: SPC392 “Measuring Business Value with Yammer” Speakers: Chris Gideon, Danielle Decatur Quick Link : http://bit.ly/1c09AGZ For more information go to… https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/40165 https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/40245 Step 4. BCS for the Cloud SEC! BCS External lists Extensibility is in t he Client side object model Apps App scoped External Content Type Create WCF End Point to Expose the a source VS or (cough cough) SPD) to create an External Content type Create Secure Store service mapping r to WCF Create an External list the External Content Type Dev/3 rd party solutions .Net assembly connectors are not supported in O365 e/Time: Wed. 5 th , 10:45 ID: SPC361 “ Creating Cloud Hosted Line Of Business Applications…..” Speakers: Todd Baginski, Michael Sherman Quick Link : http://bit.ly/1j6E4wa For more information go to… https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38130 http://www.conference.com/_catalogs/masterpage/SPC14/img/r.png Step 5. Search & Navigation Search Navigation Web Part Aggregate a From Multiple S ites rs don’t know they are changing sites C reate Powerful Filters Filter by Content Type Customize Results with Display Templates HTML and JavaScript Demo Search Navigation to Aggregate a by Content Type https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38018 e/Time: Wed. 5 th , 10:30 ID: SPC3000 “ Changing the look of Search Display Templates and CSR” Speaker: Corey Roth Quick Link : http://bit.ly/1gcD1Im For more information go to… Step 6 . SkyDrive OneDrive OneDrive For Business Storage Drive, My site storage? Controllable, achievable a Security How do you keep/retain/archive It’s the same story regardless of DropBox vs GoogleDrive vs OneDrive vs Amazon Apps and Solutions REST/CSOM API for building custom apps to access OneDrive a. https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38091 e/Time: Tues. 4 th , 10:45 ID: SPC347 “ OneDrivefor Business extensibility: building great apps and solutions” Speaker: Rob Howard Quick Link : http://bit.ly/1hi6aVb For more information go to… Step 7 . BI ? Business Intelligence Traditional BI Reporting Services, Performance Point Static report definition Majority of BI done in Excel Power BI Excel connected to Internal or Public a sources Create and Upload Workbook to a Management Gateway syncs a between On Prem and Cloud Reports work like search (“How much did spend on bacon in 2012”) Caveats of Power BI Office 365 Only Not included, additional cost https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38049 e/Time: Thurs. 6 th , 10:30 ID: SPC369 “ Operational reporting and dashboarding Business Intelligence Solutions” Speaker: John White Quick Link : http://bit.ly/1mIRKCm For more information go to… Step 8. Cloud Administration Who do I /Will I still be employed? Who do I to hire? Azure – The same people you now for on premise Online – a strategists, BI, Admins Am I still valuable? Unbelievably valuable 100% to do with how your company s and it’s a. What do I to learn? Online – Cmdlets , feature inaccessibility Azure – Everything you knew before as well as virtual networking & Resource management e/Time: Wed 5 th 10:45 ID: SPC2995 “ Online Management and Control“ Speaker: Chris Bortlik Quick Link : http://bit.ly/O21DM8 Go to Speaker https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/40149 Step 9. Understand Development Hurdles Azure You can still Farm Solutions! Rewrite or recompile required Sandbox Solutions Recompile required Apps! Access to App Store and you write your own apps Office 365 Farm Solutions are not an option! Embrace the App Model, Embrace the App Model Zero access to the file system Sandbox Solutions Code o fficially “deprecated” but still there XML (configuration) is supported Apps! Embrace the App Model, Embrace the App Model Access to App Store and you write your own apps The App Model Provider Hosted Apps Pick your poison, PHP, Java? Who cares?!?! OAuth can be a pain Auto - Hosted Apps Azure is your friend Still not quite ready for prime time Hosted Apps It’s all client side development Permissions can’t be elevated Start Client Side Dev NOW Rapidly growing API REST, CSOM, SPServices Many resources available jQuery and other 3 rd Party Libraries TypeScript (#SPC288 – Matt Bremer) Rapidly Maturing Practices Patterns & Practices - AngularJS , Breeze Single Page Apps (SPAs + Hosted Apps = AWESOME) Start Client Side Dev NOW Scripts migrate well Sometimes no modifications required 2007,2010, and 2013 Be careful of changes to the DOM You see changes to rendered pages without notice Changes include attribute values, styles, etc. M inimal Download Strategy Can prevent scripts from being executed https ://sp_site/ _layouts/15/start.aspx# /SitePages/newpage.aspx Disable feature at Site level to prevent possible issues Demo Client side development techniques http://github.com/mrackley/SPClientSideDev e/Time: Wed 5 th , 3:15 ID: SPC325 “Real - world examples of FTC to CAM transformations ” Speaker: Steve Walker, Vesa Juvonen Quick Link : http://bit.ly/1cd5D7t For more information go to… https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38134 https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/43296 Step 10. Hybrid/Private Cloud “This leaves just a third 33% [of total Enterprises] with positive plans for cloud, of whom almost all 29% are planning a hybrid solution .” – AIIM 2013 Hybrid Federation with O365 External presence made soooo much easier A sand box that doesn’t cost a ton. Federation with Azure ting the theme yet? Its pretty much the same. Federating directory synchronization Scenarios Colleges/Student/Alumni External contractors e/Time: Tues. 4 th , 9:00am ID: SPC411 “ Office 365 identity federation Windows Azure and Windows Azure Active Directory” Speaker: Spencer Harbar Quick Link : http://bit.ly/1hr0z1q For more information go to… https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38009 https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38116 Office 365 Platform Contextual Apps Robust O365 API’s Flexible Tools Documents People | Groups Mail Tasks Calendars REST Web Services ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action Random child High fiving air. Ok he’s just playing a video game. Likely hood Mark will 1 2 3 4 58% 9% 23% 10% Foot in mouth syndrome © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. A Strategic and Pragmatic Conversation on Governance Eric Riz Executive Vice President Concatenate Inc. SPC300 Information Management Know what a you have, and how to manage it Agenda The Governance Journey Align to a journey thatsense for your organization IT Governance Why is it important and what has changed? Application Management Know your limits and work from the same set of expectations Strategies and Next Steps Let’s strategic and step-out-success Why You’re Here - Strategy There is no scenario where should be deployed without planning or governance considerations very quickly becomes a mission critical application, with or without you. You be prepared or disaster will strike Governing is not just throwing a team toher or rehashing old policies It is a procedure and a business analyst job function, not a one - time project The sooner you can develop a strategy around each element, the better Don’t let additional governance s deter you from ; with more requirements comes more included governance functionality Designing an appropriate information architecture is your most important task and cannot be overlooked Every r’s permissions be considered and set up Assign responsibility for maintenance or it won’t done Which are you? Small 1-100 Employees Medium 100 –1000 Employees Large 1000+ Employees What are you ? Operations IT C-Level people_2 people_11 people_13 Implementations Finance people_7 people_8 What’s Your Responsibility? What’s your Journey? Business - Critical Information Surfaced, Maintained Enterprise Wide Business Intelligence and Dashboards Transform to a place where work s done Enterprise Wide Information Hub Internal Cunication, Knowledge Management Enterprise Wide Portal Adoption Strategic C, Roadmap, Alignment Executive Buy - in and Business Alignment Executive Buy - In C:\hannahr\Dropbox\MOD Servers Metro Icon Library\victor melniciuc\PNGs\_Infrastructure-05.png Portal Adoption Information Hub W:\Open Engagements\Productivity\MS-Unified Cunications\#1601 BizProd MOD Team Core Content Work\New Iconography\Words\Build_060512.png BI & Dashboards Strategic Knowledge Management Enterprise Work Portal Operational Excellence Managed, Repeated, Achieved Enterprise Wide Strategic Operations Integration Defined , Created , Managed and Automated Enterprise Wide Critical Process Automation Critical Processes Strategic Operations 50% 15% 5% 20% 10% © 2014 Concatenate Inc.. All rights . Governance Success? Pragmatic Governance For any information technology department, governance is a prerequisite for enterprise collaboration and automation. It is a set of policies, roles, responsibilities, and processes that ensures an organization conducts and manages its affairs in a structured, con, regulated manner. Strategic and Pragmatic Governance What is governance for an enterprise application? What you do A suggested way TO do it Make sure you DO it Policies Guidance Enforcement http://www.qubebelastingadvies.nl/images/bg4.jpg Why is This Important? Hybrid Cloud Apps What Happens If .Your a is in one country and you are in another one .People create random, ad - hoc sites as they please .Apps are deployed on location, not policy CHAOS Types of Chaos Point me to Chaos Traffic Chaos Did you know?2 Did you know?2 C:\joeb\Desktop\stoplight_BG.png C:\joeb\Desktop\Untitled-6.png Where and Why does Governance Fail .Too restrictive .Not reviewed often enough .Not aligned strategically .Not being maintained with “the times” .Unforeseen external factors .With the changing capabilities in the marketplace, your governance plan scale to leverage capabilities and offerings What are your business goals ? Have you created an IT Strategy ? Differences Mobile / BYOD Information Management Farm Management Custom Solutions Security Hybrid / Cloud \\\Projects\\Cloud Power \Design\_PNG\Scale.png Social \\\Projects\\Cloud Power \Design\_PNG\Professionals.png Apps 2010 2013 2013 - In a Nutshell IT Governance Information ManagementApps .Security with external rs; who can do it and why? . Hybrid - How can companies leverage online with on premise ? .Supporting IT services - Offsite storage and a redundancy .Corporate a - Where do apps store your information? Making or Uping your Plan .SLA's be created/modified to address the changed model .Policies .Guidance .Enforcement Hybrid Why Hybrid? Keep sensitive a on premise Rich - Custom Applications Capacity and Flexibility External Collaboration .Start considering your governing rules and how they can be applied in the context of your company ? Supporting Services - IAAS Caveats •Any a related to finance of the organization cannot reside outside of our country •Natural reality that organizations will continue to adopt and grow into the cloud. IAAS and cloud quotes •Slow throughput impact the rs SLAs ITGovernanceInformation Management Apps C:\mastone\Documents\Business\PMM\Templates - General Office\Images\WIN12_Claudia_05.png Information Management • Architecture Policies and Standards • Content in Existing Pages or Sites • Social Tags and Ratings • Mobile The majority of our clients have indicated Information Architecture was a primary concern Inconsistency is a virus 19 …which grows throughout your organization 19 This is about governing the content and information that rs store in your systems each day Mobile Reach Smart devices are becoming primary devices; how do you structure information and make it accessible to be consumed in a natural way for end rs? Best Practices • Determine Initial principles and goals • Classify your business information • Develop an education strategy • Develop an ongoing plan ITGovernanceInformation ManagementApps .Apps aren’t strategic .Create Islands and silos of yester - year .Apps vs. Solutions .Know when to buy vs. build Apps for everyone Defining Governance Value r Profiles and s Service Architecture Business and Technical s C:\sakuu\Documents\Ballmer WPC\AI\work.png \\\Projects\\Cloud Power \Design\_PNG\Tower.png Workload Strategies Technical Architecture Information Architecture and Mgmt Governance and Compliance \\\Projects\\Cloud Power \Design\_PNG\Scale.png \\\Projects\\Cloud Power \Design\_PNG\Lower_Energy_Costs.png Corporate Culture Change \\\Projects\\Cloud Power \Design\_PNG\Professionals.png UX - Oriented Design Capabilities COE and Cunity Areas and Solutions Solve Problems Application governance for the solutions you provide What apps do you have? What are you building? Who’s managing the build? Where is the a? What security is required? In 2013 .Services .Plays into service governance in creating rules to manage how services can be deployed .What services do we to have in place for a successful deployment? .Deployment .How does it differ in this model? Want to have governance around .Track installations .Block installations .Current Software Upes .Site collection upes .Service level descriptions .Analyzing .Customizing .Piloting and testing .Supporting Policy Considerations Summary How is Governance Viewed? It’s critical and we have a team in place to support it A necessary evil that we have to follow As a Checklist Not Understood Positive or Negative We’re SO enthusiastic about GOVERNANCE! Why Do We Care? Stuff I have information, which I store on our server I have paper records, which I store in my office I have a team that s to see the results of my work My team has paper records Other Stuff No two personal file systems are the same My company has never audited our of My office looks like the wild-west We’re SO enthusiastic about GOVERNANCE! {ADD CONTENT} {ADD CONTENT} Associate policy features with site collection policies, then associate that policy with a content type, list or library Policies Associate a set of policy features directly with a content type, and then add that content type to one or more lists or libraries C:\Justin\Desktop\_Work_in_Progress\_MS\1407\checkmark.png Policy Features Retention Policies Auditing Labeling Available Features Policies and Features Strategies Cloud is introducing hybrid and IAAS App stores are satisfying immediate business s Mobile devices and tablets are creating on the Go r experiences .IT changed landscape has created opportunities for business to solve problems today Governance in your Organization? Who’s leading the charge? People Who will access information, and when? Culture What is the threshold for your organization? Processes What can we automate to facilitate governance? Technology Effective and actions is critical .What are you creating? .What problem does it solve? .How will it be secured? .What a will it provide/surface? Process and Policies Talk with us about how Concatenate can turn into the backbone of your business Upcoming Events Social Twitter @rizinsights @weconcatenate Follow on LinkedIn Concatenate Inc SPTechConSan Francisco April 22 -25 European Conference 5-8 Fest NYC June 18-20 Connect Eric Riz, MVP Executive Vice President Email ericr@concatenateinc.com Email info@concatenateinc.com Telephone (416) 972-0202 250 Thank You MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Achieving better business productivity through Apps for Office Jason Himmelstein , MVP Senior Technical Director, Atrion SPC294 Jason’s contact & vitals •Senior Technical Director, • Server MVP • PTSP •Blog: www.longhorn.com •Twitter: @lhorn •LinkedIn: www.linkedin.com/in/jasonhimmelstein •SlideShare: http://www.slideshare.net/jasonhimmelstein •Email: jase@longhorn.com •Author of Developing Business Intelligence Apps for Developing Business Intelligence Apps for –http://bit.ly/BI Booth #2140 Booth #2140 Learn about the Cloud App model & its ROI Understand the real world value of Apps for Office Unlock the power of your investment Drive company productivity toheights Goals for today .Evolution of Applications .Intro to Apps for Office .Value Proposition of Apps for Office .Demo .Real World Scenario .Discuss the newly announced Agenda for the The Evolution of Applications Application Evolution .2003 – What is an Application? . was not an Application Platform, except web parts .Investments were in portals and content .2007 – Everything is an Application! .Push to embrace for LOB applications .Experience was to write custom server side code .2010 – Choose the right Application . and Developer Tools come toher .Silverlight, CSOM and othercapabilities .Partially trusted code reduces impact and risk to farm .2013 – Redefine Application as App… .Client side experience via html or iFrame .Leverage CSOM and REST APIs from Azure and other clients .Investments in app discovery and management via store Architecture of customizations Full Trust Solutions No real control Support is difficult Upgrades are challenging Securing code to run in hosted environments is effectively impossible Custom Code SP Code More custom code: aspx, dlls, web services, GAC SP Code Sandboxed Custom Code Sandbox Partial control Way too strict for developers Hard to maintain and expand Managed by your self App Model Control, Trust, Manage App code (client or server) SP Code Isolated App client side code Host/language independent Management and upe easily doable per app Emphasizes reusability No server side or sandbox code, greatly improved CSOM Mail Merge 4.jpg Office over the years… Office Improvements .Ribbon accessibility .Backstage .Account integration .Sync to .Co-authoring .Apps for Office .Evolution of Applications .Intro to Apps for Office .Value Proposition of Apps for Office .Demo .Real World Scenario .Discuss the newly announced Agenda Meet Apps for Office What is an app for Office? .Basically a webpage that is hosted inside an Office client application inserted from the Ribbon C:\JHIMME~1\Appa\Local\Temp\SNAGHTMLcc8385.PNG An App in Action Manifest + webpage = an app for Office Mail Apps C:\JHIMME~1\Appa\Local\Temp\SNAGHTML9d45507.PNG Content Apps Task Pane Apps Supported app types Application Supported types Excel 2013 •Task pane •Content Excel Web App •Task pane •Content Word 2013 •Task pane Outlook 2013 •Mail OWA for Devices •Mail Outlook Web App •Mail PowerPoint 2013 •Task pane Project Professional 2013 •Task pane .Evolution of Applications .Intro to Apps for Office .Value Proposition of Apps for Office .Demo .Real World Scenario .Discuss the newly announced Agenda Leveraging your existing investment #SPC294 .Word .PowerPoint .Excel .Project .Office 365 . Familiar tools yourknow .JavaScript .C# .PHP .Python Required skillset Re- your existing skillsets #SPC294 What did you just say? Yes, PHP & Python… Or any other backend language you Agnostic to your backend, Apps for Office can be d to interact with your LOBsystem a web service & JavaScript Productivity Demo Climbing without a net a Cloud Services Business Applications Files Cloud Services Business Applications Files LOB Application Browser Service Application Sad Sam Happy Sam The value of the Office App .Evolution of Applications .Intro to Apps for Office .Value Proposition of Apps for Office .Demo .Real World Scenario .Discuss the newly announced Agenda •Analyze your businesss& existing Applications •Create a web service layer •Create an App for Office •Train your rs •Track productivity Connect your Line of Business Apps Meet Kim... and her painful process #SPC294 #SPC294 #SPC294 #SPC294 #SPC294 How can Apps for Office make Kim’s job easier? #SPC294 #SPC294 #SPC294 #SPC294 #SPC294 #SPC294 .Evolution of Applications .Intro to Apps for Office .Value Proposition of Apps for Office .Demo .Real World Scenario .Discuss the newly announced Agenda the Office Store #SPC294 Leveraging Apps on-Premises #SPC294 Lifecycle of an App for Office .Decide on the purpose of the app .Identify the a and a source for the app .Identify the type of app and Office host applications .Design and implement r experience & r interface .Create an XML manifest file on the App .Install and test the app .Publish the app .Uping the app .Sunset the app http://upload.wikimedia.org/wikipedia/cons/e/e7/Roberts_Rules_1st.jpg So where are we going with Apps for Office? Office 365 Platform Contextual Apps Robust O365 API’s Flexible Tools Documents People | Groups Mail Tasks Calendars REST Web Services Roadmap for the future .Expanding Office 365 APIs .Office 365 UX API capabilities .Better integration with Azure .Expanded tooling capabilities with Visual Studio Recended s .Tuesday 145p -#SPC385: Building Apps with Windows Azure Platform as a Servicewith Kirk Evans .Wednesday 9a -#SPC300: A strategic and pragmatic conversation on governancewith Eric Riz .Wednesday 1045a -#SPC361: Creating Cloud Hosted Line Of Business Applications with Apps for Office, O365, Azure, and WP8with Todd Baginski & Michael Sherman .Wednesday 5p -#SPC335: Rich extensions to Apps Access with Arjun Raja & Gary Devendorf .Thursday 1030a -#SPC270: When should we out-of-the-box, add third-party apps or build custom solutions? with Richard Harbridge ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action Come to the Atrion Booth #2140 & see me after the Jason’s contact & vitals •Senior Technical Director, • Server MVP • PTSP •Blog: www.longhorn.com •Twitter: @lhorn •LinkedIn: www.linkedin.com/in/jasonhimmelstein •SlideShare: http://www.slideshare.net/jasonhimmelstein •Email: jase@longhorn.com •Author of Developing Business Intelligence Apps for Developing Business Intelligence Apps for –http://bit.ly/BI Booth #2140 Booth #2140 © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Adjust the Perspective with Responsive Design for Cathy Dew Consultant, MVP Planet Technologies SPC203 Defining Responsive What is Responsive Design? Design and Development should respond to the r’s behavior and environment on screen size, platform and orientation Consists of a: Mix of Flexible Grids and Layouts Flexible Images and Media CSS and Media Queries What is Adaptive Web Design? Similar to Responsive with One Major Difference Adaptive focs on identifying breakpoints and foc content delivery differently for each predefined size Device Types & Break Points Break points are the different screen sizes for your devices Why Responsive By 2014, Mobile Internet will take over Desktop Internet Usage. What are the device/browser s? What type of Site is it? How much do I to know to create a Responsive site? When to Create Responsive? What are the challenges we face? Design Manager creates an HTML master – separation of HTML and .master files Typically Lots of Devices Type of Sites Extra r Experience and Branding effort and costs Not good for intranets Challenges Sample Responsive Site - LGOntario.ca How Does It Work Grid Layout Twitter Bootstrap 960 Grid System Grid System Generator Flexible CSS Grid Many More Make a responsive site with images that resize and layouts on media Making it Flexible img { max-width: 100%; } Limitations IE 6 and below isn’t supported Broader issues with Windows IE 7 and lower Firefox 2 and lower Windows 7 and Higher Fixed . Media Queries Despite our work with flexible grid layout and flexible images our site might have issues when displayed small or widescreen Media Types defined by W3C Media Query @media screen and (min - width: 1024px) Asks 2 questions of the browser Media type (screen) Query – in parenthesis feature and value Review Site Design Concepts Know the Implications of Decisions Each r Experience Decision has Implications and Ramifications in a Environment Navigation consistency Top Navigation Quick Launch Navigation Breadcrumbs Permissions Site Template Ribbon Suite Bar Search Pages – Display Templates for Search Results Pages My Sites Responsive Sites Maryland.gov MarshfieldClinic.org CFAInstitute.org Putting the Design in Place Wireframes are a great tool for separating Design and Function – start with a basic SP site and customize from there Design Methods Your Designs for Functionality & Content – NOT Design Design Methods Your Designs for Functionality & Content – NOT Design Design Methods Balsamiq 2013 Team Site Template from Flucidity http://flucidity.azurewebsites.net/2013/02/-2013-balsamiq-mock-up- template/ Visio Adobe Creative Suite Axure Wireframe Tools Create a r Experience Artifact Plan Create Mockups .Navigation Collapse .Content Relocation .Search .Page Title .Logo .Footer .Ribbon Create Mockups .Navigation Expanded .Search .Logo .Contents .Ribbon Create the Design Artifacts Demo Browsers that Support RWD https://developer.mozilla.org/en- US/docs/Tools/Responsive_Design_ View http://blog.divshot.com/post/29829585371/chrome-developer-tools- responsive-design http://media.tumblr.com/tumblr_m8pry0VTSD1qbu276.jpg Great tools for checking your designs! MattKersley.com/responsive/ Quirktools.com/screenfly/ Screenqueri.es/ Responsinator.com/ C:\Heather\Appa\Local\Temp\SNAGHTMLed6ba76.PNG Questions? MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Advanced — and easy ! — BI with Excel and SQL Server a mining Rafal Lukawiecki Project Botticelli Ltd rafal@projectbotticelli.com @ rafaldotnet Objectives Introduce a mining Show how Excel and SQL Server make it easy TheinformationisforinformationalpurposesonlyandtheopinionsandviewsofProjectBotticelliRafalLukawiecki.Thematerialpresentedisnotcertainandvaryonseveralfactors. no,,or,astotheinformationinthispresentation. Portions©2014ProjectBotticelliLtd&entirematerial©2014Corpunlessnotedotherwise.Someslidescontainquotationsfromcopyrightedmaterialsbyotherauthors,asindividuallyattributedorasalreadycoveredbyCopyrightownerships.Allrights.,Windows,WindowsVistaandotherproductnamesareorbeintheU.S.othercountries.TheinformationisforinformationalpurposesonlyandthecurrentviewofProjectBotticelliLtdasoftheeofthispresentation.BecaProjectBotticelli&respondtochangingmarketconditions, itshouldnotbeinterpretedtobeaconthepartof,andandProjectBotticellicannotguaranteetheaccuracyofanyinformationprovidedaftertheeofthispresentation.ProjectBotticellino,,or,astotheinformationinthispresentation.E&OE. projectbotticelli.png projectbotticelli.png Video tutorials a Mining Introduction to BI & Big a DAX MDX Excel BI PPTs: projectbotticelli.com/ppt SPC offers! Redeem by Mar 7: 1 month free COMP1M2014VEGAS (limit 250) $50 off 50OFF2014VEGAS (limit 250) 15% off 15OFF2014VEGAS (no limit) Register on projectbotticelli.com What does a mining do? Explores a Finds patterns Performs predictions Typical s Predictive analytics Seek profitable customers Understand customer s Anticipate customer churn Predict sales & inventory Build effective marketing campaigns Detect and prevent fraud Correct a Demo Detecting anomalies Excel and SQL Server Inputs (typical) 1 to 10,000s of columns: Attributes Age, gender, post code, no of kids, income Flags Has purchased 10 or more wids, was a student, did not buy purple things… Aggregates Total spend, count of purchases, number of relations Relationships Total spend by a related person O utput Concept being studied as a singlecolumn… L ifetime profit, risk of fraud, time to churn, satisfaction, likelihood to purchase X, probability of transaction failure… …or a set of values from a column Products likely to buy, people to recend… …or, no output! When looking for groupings, clusters, outliers How? 1.Define a model 2.Train model (process cases) 3.Valie results Mining Model Gel - Gel3 rectangles mint Mining Model Gel - Gel3 rectangles mint Gel - Gel3 rectangles mint Mining process funnel verticle DM Engine a page GEL Starburst MS-yellow 3 tail fan gradient arrow split up blue arrow up funnel verticle DM Engine Training a a for predictions Mining Model With predictions back - end a mining tool SQL Server Analysis Services 2008, 2008 R2, 2012, 2014 For 2012+: Deploy multidimensional mode B ut no cubes are d front - end a mining tools Office + free a Mining Add - ins Excel: full power, but no concept of a project Excel Power Query: great for mashing up, transforming Excel Power Pivot: good for deriving a Visio: for Visio rs SSDT (SQL Server a Tools) Full power and project concept Remembers parameters etc SQL Server Management Studio DMX, a Mining Extensions, for people who prefer scripting I also R for model valiion & statistics http://cran.r project.org / Analysis Services Server Mining Model a Mining Algorithm a Source Mining process and architecture Excel/Visio/SSRS/SSIS/Your App OLE DB/ADOMD/XMLA Deploy SSDT Excel Visio SSMS App a Algorithms in SSAS Algorithm Description Decision Trees Finds the odds of an outcome on values in a training set, presents visually Association Rules Identifies relationships between cases Clustering Classifies cases into distinctivegroups on any attribute sets Naïve Bayes Clearly shows the differences in a particular variable for various a elements Sequence Clustering Groups or clusters a on a sequence of previous events Time Series Analyzes and forecasts time- a combining the power of ARTXP (developed by Research) for short-term predictions with ARIMA for long-term accuracy. Neural Nets Seeks to uncover non-intuitive relationships in a Linear Regression Determines the relationship between columns in order to predict an outcome Logistic Regression Determines the relationship between columns in order to the probability that a column will contain a specific state Demo A tour of a mining algorithms Excel and SQL Server Analysis Services Summary a mining helps discover reasons for successes and failures SQL Server: brain, Excel: interface & a prep tool projectbotticelli.com 1 month free: COMP1M2014VEGAS $50 off: 50OFF2014VEGAS 15% off: 15OFF2014VEGAS Limited to 250. Redeem by March 7. Follow: @rafaldotnet Email: rafal@projectbotticelli.com Discover: rafal.net MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com Summary a mining helps discover reasons for successes and failures SQL Server: brain, Excel: interface & a prep tool projectbotticelli.com 1 month free: COMP1M2014VEGAS $50 off: 50OFF2014VEGAS 15% off: 15OFF2014VEGAS Limited to 250. Redeem by March 7. Follow: @rafaldotnet Email: rafal@projectbotticelli.com Discover: rafal.net TheinformationisforinformationalpurposesonlyandtheopinionsandviewsofProjectBotticelliRafalLukawiecki.Thematerialpresentedisnotcertainandvaryonseveralfactors.no, ,or,astotheinformationinthispresentation. Portions©2014ProjectBotticelliLtd&entirematerial©2014Corpunlessnotedotherwise.Someslidescontainquotationsfromcopyrightedmaterialsbyotherauthors,asindividuallyattributedorasalreadycoveredbyCopyrightownerships.Allrights.,Windows,WindowsVistaandotherproductnamesareorbeintheU.S.othercountries.TheinformationisforinformationalpurposesonlyandthecurrentviewofProjectBotticelliLtdasoftheeofthispresentation.BecaProjectBotticelli&respondtochangingmarketconditions,itshouldnotbeinterpretedtobeaconthepartof,andandProjectBotticellicannotguaranteetheaccuracyofanyinformationprovidedaftertheeofthispresentation.ProjectBotticellino,,or,astotheinformationinthispresentation.E&OE. probwht-jpg.jpg Advanced development patterns for Apps Nathan Miller Architect SPC302 Richard diZerega Architect Office 365 Platform Contextual Apps Robust O365 API’s Flexible Tools Documents People | Groups Mail Tasks Calendars REST Web Services Objectives And Takeaways Objective(s): Describe complex tenancy considerations for provider - hosted apps Discuss techniques for dealing with security, identity, and integration between Office and apps Illustrate patterns and approaches for delivering complete solutions that leverage the breadth of the new app model Key Takeaways The app model can deliver uncompromised and highly complex solution Tenancy is relevant to almost any app and should be considered from the start Combining and Office apps can elevate solutions Introducing Helpdesk! Tenancy Isolated app resources Dedicated web application abase Likely includes a Tenancy abase to keep track of tenants and redirect to the tenant’s “space” Shared app resources Shared web application and abase ALL abase tables include TenantId column All services and be hardened to prevent cross - tenant hacks Cost vs. Security Helpdesk vs. HIPAA or Financial Hosting Criteria Provider - hosted for preservation and to avoid site bloat Demo App Installation and Provisioning Trials Limited access or time - bomb Utility.AppLicenseInformation Valie the app license token with Office Store (WCF or REST) ting started wizard Hand - hold r through the process of configuring critical app settings Facilitate role selection through followed/followers Demo a Great for a quick start, training, or demos Allow purge of demo a Demo ting Started Wizard Architecture – a and Services Entity Framework Decide on entities first or abase first SQL Azure Still consider localdb during debugging Be cautious of functional differences SQL Azure requires IP configuration in administration REST enabled WCF All services perform “Tenant check” and require context Most services are exposed with public and private end - points and POST for most services Consider binding conflicts with (ex: App Remote Events) Architecture – UI and Branding JavaScript libraries helpdesk.con.js helpdesk.a.js helpdesk.ui.js helpdesk.ui.templates.js Chrome control vs. brand Add link back to host web without chrome control Responsive UI and touch - first Heavy of < ul > layout 320px sections for easy mobile adaptation (even modals) Large buttons and dirty flag navigation AppParts Surface ful info to native sites (ex: Alerts) Architecture – Security and Roles Tenant The concept of a tenant should be complete transparent to tenants Prevent cross - tenant hacks r vs. Engineer Both UI and Services should be security trimmed by role UI should be Engineer - aware, but not dependent on client - side variable People - Pickers and Tax - Pickers Provide a familiar experience for selecting rs Post - back only operations Critical operations not exposed as REST services Reset Tenant, Load Demo a, etc Demo Helpdesk Architecture Mail Apps Project structure Add to full solution or develop as separate project calls The app ed “app - only” permissions to allow Outlook to call APIs Develop UI first When possible, app functional outside of Outlook to make debugging easier Demo Closing a Ticket and Mail Apps Excel App Identity and Context Host Excel document (containing app) from the AppWeb Leverage Office.context.document.url to determine tenancy JSON . Office table Developed generic way to convert JSON a to Office table Allows Excelto import raw ticket a and report against it Demo Statistics, Reporting, and Excel Apps Additional Tips and Tricks .Consider scenarios wherenavigate directly to the app without a context token and leverage the app redirect in for ting context .Think about authentication to other areas you will leverage (ex: AppWeb and MySiteHost ) .Keep a hackers mind when delivering predominately client - driven UI .Start with multiple tenants so tenancy issues are apparent from the very beginning .Make the effort to streamline provider - hosted publishing early on Want Helpdesk… https://github.com/EntDev/SPHelpdesk Coming soon!!!! Mention #SPC302 on SPC Yammer Network ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. AMD: 13 Million rs. 54 Million page views. AMD.com on 2013. Done. Katie Bowman – Web Infrastructure Manager, Marketing Gil Canare – Digital Marketing Manager Michael Mielke – IT Architecture Manager Bruce Weatherford – Sr. Member of Technical Staff AMD SPC353 What We’ll Cover .Background .Features .Infrastructure .Scalability P ioneers technology that frees people to push the limits of what is possible AMD.COM Monthly Stats* .15.3m unique visitors .21.7m visits .72m page views .7.3m downloads .~10k total pages .13 languages 19% 7% 48% 12% 14% North America LATAM EMEA China APJ * Source: Adobe Analytics as of Dec 2013 Why Migrate From 2007 Support 2007 no longer under mainstream support Limitations Feature set not competitive with current systems Publishing Content deployment not consistent and taking over an hour Customization Customizations in system ca support issues Why 2013 Cost Significantly lower than investment required for other systems Team Knowledge and Experience Deep expertise on both Marketing and IT teams Feature List Closely matched our s and requirements Relationship Close existing working relationship with How We Did It Build cross - functional agreement AMD Marketing and IT joint decisions and working teams Try before you buy Two weeks at Technology Center to review features and capabilities and build proof of concept Review assumptions and past decisions Examined approach to customizations and content deployment Developed custom migration tool Migrate select content out of 2007 and into 2013 Features What We d and What We Didn’t d ManagedNavigation Search Content BySearch Web Part Variations Und Content Deployment Cross-SitePublishing & Catalogs Design Manager Device Channels Apps d Feature: Managed Navigation Successes Challenges Friendly URLs Separatesend-r information architecture from administrative organization Allowsforeasysite restructuring ImprovedSEOoptimization Does not work OOTB with breadcrumb control Createdcustom control Displays rootsite in global navigation Discoveredbug with feature (Fixed by private fix in 7 weeks, included in the October 2013 CU) d Feature: Search Successes Challenges Superior search accuracy over 2007 Siteadmins have more control over search configuration than previous versions Query Rules allowsite administrator configuration of promoted results Wanted more flexibility than OOTBsearch center provided Doesnot support friendly URLs in search navigation (Will be fixed in April 2014 CU *) Displays draft pages in searchnavigation,but gives errorswhen clicked (Will be fixed in April 2014 CU *) Notenough control over query suggestions *Source: support case d Feature: Content b y Search Successes Challenges Replaced most ContentQuery Web Parts Queriespowerful and flexible Query othersite collections Query any property More robust,functionaldisplay templates HUGE TIME SAVER! Display Templates not welldocumented at build time Editing managedproperties requires central admin rights Thoroughbrowser and OS testing required for Display Templates d Feature: Variations SUCCESSES CHALLENGES Fasterand more stable than 2007 Propagationsettings at variation root Simpler,selective propagation between variations Does not support automatic and selective variationsimultaneously Selective acceptance and publishing intar variation Successes Challenges Fasterand more stable than 2007 Simpler,selective propagation to individual variations Selective acceptance and publishing intar variation Improvedmanageability of regional sites and their sizes Propagationsettings at variation root does not allow for different settings at the list and library level Manual steps required whenmoving content abases between prod and non-prod environments Re-usable content not displayed correctly in the Turkish (tr-tr) locale (Will be fixed in April 2014 CU *) *Source: support case d Feature: Variations Und Feature : Cross - Site Publishing SUCCESSES CHALLENGES Fasterand more stable than 2007 Propagationsettings at variation root Simpler,selective propagation between variations Does not support automatic and selective variationsimultaneously Selective acceptance and publishing intar variation Challenges Outcome No preview of unpublished content Cannot connect to a catalog created in variation Moving content abase between environments requires catalog reconnection and reconfiguration Did not fit our business process Little to no multi- content search queries whereed Will re as business s change Und Feature : Catalogs SUCCESSES CHALLENGES Fasterand more stable than 2007 Propagationsettings at variation root Simpler,selective propagation between variations Does not support automatic and selective variationsimultaneously Selective acceptance and publishing intar variation Challenges Outcome Requires at least one managed metaa column to connect Limited variation support Cannot have multiple connections to a single catalog Requires of cross-site publishing to realize full benefits lists and search queries Und Feature : Design Manager SUCCESSES CHALLENGES Fasterand more stable than 2007 Propagationsettings at variation root Simpler,selective propagation between variations Does not support automatic and selective variationsimultaneously Selective acceptance and publishing intar variation Challenges Outcome Design packages include all publishing site columns, content types, page layouts, master pages Creates problems when uninstallingdesign package Automatically applies master page from installed design package Master page code insertedin page layouts cancomplicate master page upes s further refinement d Designer Und Feature : Device Channels SUCCESSES CHALLENGES Fasterand more stable than 2007 Propagationsettings at variation root Simpler,selective propagation between variations Does not support automatic and selective variationsimultaneously Selective acceptance and publishing intar variation Challenges Outcome Large, anonymous r base and specific case does not require custom device channel(s) ragent strings conflict with Akamai content distribution network rendering Did not fit our business process responsive web Infrastructure Design Approach .Referenced Product Line Architecture with MCS .Modified intranet guidance and best practices for external site requirements .Captured requirements and decisions with design documents .Service description .Functional specification .Build guide .Functional testing plan .Performance testing plan .Server Configuration .: 4 Cores, 16GB RAM, Windows Server 2012 Standard .SQL: 8 Cores, 32GB RAM, Windows Server 2008 R2 Enterprise Infrastructure Comparison 2007 2013 Content Deployment Yes No No. of Farms 6 3 Customizations 18 2 Typeof Servers Physical Virtual ServerTiers 3 4 Install and Configuration Manual Automatic Network Configuration 1 DMZ 4 Transaction Zones Authentication Internaldomain controllers Read-onlydomain controllers (RODC) in DMZ SQL Configuration SQL Clustering (Active/Passive) AlwaysOnAvailability Content Deployment LANDMZInternet 2007Authoring Farm 2007Production FarmCustomerAMDContentAuthorCorporate DomainDMZ Domain 2007 Duplicate LAN and DMZ farms (Dev, QA, Prod) Authoring in LAN and content deployed to DMZ 2013 Single set of farms ( Dev , QA, Prod) Authoring directly in DMZ LANDMZInternet 2013Production FarmCustomerAMDContentAuthorCorporate DomainDMZ Domain Publishing Site Configuration .Implemented as 3 web applications .d AAMs for anonymous and authoring access (ex. support.amd.com and support - auth.amd.com) .Single site collection for each web application .Limited customizations .Implemented 2 farm solutions (Literal translations management and r input form) vs. 18 previously . Apps not recended for anonymous sites Server Tiers and Roles 4 tiers of servers .Front end services .Search .Back end services .abases Search Tier – 2 Servers- Admin- Index (one partition, two replicas) - Query ProcessingBack End Services Tier – 2 Servers- Search Crawl- Search Content Processing- Analytics- Central Administration- r Profile Synchronization- r Profile Service- Workflow Management- Distributed Cache- BDCLANDMZ Transaction ZonesInternetCustomerAMDContentAuthor Administratorabase Tier- 3 Availability Groups- Synchronous Mirroring- Windows Server Failover ClusteringWeb/Front End Services Tier – 4 Servers- MMS- Translation- Secure Store- State Service Automated Install And Configuration .Documented configuration in detail .Automated almost all of our build process AutoSPInstaller from Codeplex .Install pre - requisites and – in parallel and remote mode .Install .Create and configure farm .Create and configure web applications .Install and configure Services .d AutoSPInstaller GUI from Codeplex to configure AutoSPInstaller XML file * * Be careful with version compatibility issues Post - Installation PowerShell Scripts Scripts Add farm administrators group accounts De-provision and reprovisiondistributed cache server Recreate usage and health application Add web applications policies for admin group Delete default IIS and application pools Disable certificaterevocation list check! Disableweb applications online presence settings Enable continuous crawl on key content sources Reduce timing of variation timer jobs Secure Network Configuration .Multiple Transactions Zones / VLANS .Limited open protocols and ports between zones .Leveraged Read- only Domain Controllers LANDMZ Transaction ZonesInternet 2013Production Farm(Corporate Domain) CustomersAMDContentAuthorAkamaiCaching and AcclerationApplications ServersCorporate Domainabase ServersSQL Availability Groups(Corporate Domain) Internet Infrastructure Transaction ZoneDNSSMTPRODCRODCLoad BalancerLoad Balancer and Custom RedirectRedirectServers ConfiguringRead-Only Domain Controllers .Identify Firewall Ports .Add firewall rules to allow connectivity between , SQL and RODC .88 (TCP), 135 (TCP), 389 (TCP & UDP), 445 (TCP), 5722 (TCP), 49152 - 65535 (TCP/Dynamic Ports) .Configure Active Directory .Create AD subnets for each subnet where the and related SQL servers reside .Create AD site that contains the two DMZ RODC that serve the and related SQL servers .Configure the password replication policy (PRP) for the RODC to cache . service accounts .SQL service account . and related SQL server machine accounts . nltest / dsdc :< domain > to confirm servers are one of the correct RODCs .Minimal documentation on with .http://support..com/kb/970612 .People picker is unable to resolvein a trusted forest if the only domain controller can access is read - only. .Unable to let manage service accounts .Join servers to domain before switching to RODC . see a temporary warning message when addingto groups .“Sorry, we’re having trouble reaching the server” Read-OnlyDomain Controllers Lessons .New option for high availability and disaster recovery .Recended by MCS and supported future DR scenario .Replaces disaster recovery options such as mirroring and log shipping .s Windows Server Failover Clustering (WSFC) services and SQL Server 2012 .TechNet Articles .Configure SQL Server 2012 AlwaysOn Availability Groups for 2013 .http://technet..com/en-us/library/jj715261.aspx .Supported high availability and disaster recovery options for abases ( 2013) .http://technet..com/en-us/library/jj841106.aspx SQL Server AlwaysOn Availability abase Availability Groups Group abases Configurationand Service Application Includes configuration, central administration content, and service application abases (excluding search applications) .Configuration .Central Administration Content .Secure Store .Usage .State .Managed Metaa .Taxonomy .Machine Translation Search Application All search abases .Search Administration .Search Analytics .Search Crawl .Search Link Content All web content abases excluding Central Administration content .support.amd.com Content .www.amd.com Content .search.amd.com Content abase Implementation 3 Availability Groups Across 2 Virtual Servers Windows Server Failover Clustering (WSFC) clusterNode 0ANode 0BSQL Sever InstanceSQL Sever InstanceConfig, CA and Service Apps availability groupContent abases availability groupSearch Application availability groupSecondary Replica (RO) Primary Replica(RW) Secondary Replica (RO) Primary Replica(RW) Secondary Replica (RO) Primary Replica(RW) Listener NameListener PortListener IPSQL Client AliasListener NameListener PortListener IPSQL Client AliasListener NameListener PortListener IPSQL Client Alias Achieving Scalability .Benefits .Caches content on cache servers worldwide for optimal global performance .Absorbs majority of static page and content traffic .Configurable by page type and page with cache/no - cache and expiration rules .Clear the cache when publishingpages .Lessons learned .Significantly reduces server and network load .Complicates troubleshooting . cache errors . require manual cache clears to display content .Significant investment on our usage Akamai Content Distribution Network . caching .Enabled blob caching for images, JavaScript, and CSS (visa AutoSPInstaller) .Increased object caching setting from 100 to 200 for lists, site settings, etc. .Set output cache to store page output to 5 minutes globally .IIS compression .Enabled dynamic and static compression Caching and Compression .Plan ahead .Determine caching and compression strategy .Pay attention to page size implications .Be familiar with web developeranddebugging tools and techniques .Execute load testing .Engage a test professional and determine load test strategy .Select load test generation tool and load test suite .Create load cases and identify % of total expected load for each case .Determine % of load coming from each region or country .Determine number of concurrentfor each test run – start small .Execute load test . tool to measure page load times from different locations worldwide Lessons Learned Next Steps and Lessons Learned What Next AMD.com Complete www site migration Shop.AMD.com Re - architect and migrate where - to - buy site Partner Portal Set - up external secure infrastructure and migrate partner site Digital Asset Management Implement asset browse, search, & upload functionality Implement asset browse, search, & upload functionality Lessons Learned Simplify Avoiding customizations significantly reduced time to deploy and issues to address Manage Leveraging business process to manage complexity instead of system Focus only the features you not just beca they’re available Explore Re - examining previous decisions can result in more optimal results Implement asset browse, search, & upload functionality MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Anyone can build a App with Access Jeff Conrad – Senior SDET Chris Usher – SDET – Access Product Team SPC204 Objectives Introduce Access 2013 and Access Services Learn how to build a centric apps with Access 2013 Key Takeaways Access 2013 creates apps End - rs can create these apps These are centrally managed secure apps Access 2013 web apps are different than Access desktop abases Objectives And Takeaways Problems with Access Desktop Apps Unknown/uncontrolled a applications Bad/broken end-r applications Inefficient business processes Backlog of IT requests No a access control/backup Difficult application sharing Lack of upgrade path Why should you Access to create apps? Access 2013 Platform Overview Desktop Access Apps d by millions today a stored in a local file Requires Access software to view and edit a Rich functionality with VBA Fully supported in 2013 Access 2013 Web Apps Brings Access abases into a new web-connected era a stored in SQL for Office 365 or on-premise server Accessible everywhere through any browser Easy sharing and no code “Add-ins” of functionality for some Office programs Placed within the document or in the task pane Access apps can contain Apps for Office Related SPC335 –Rich extensions to Apps Access Apps for Office Fully functioning apps that run on the web within Hosted on sites in the cloud Access apps are Apps Related SPC338 –The ‘how to’ guide for selling and managing Apps built Access Apps for S Pro Dev Power r \\\Projects\\Cloud Power \Design\_PNG\Professionals.png Familiar Toolset Across Skill Levels Access Services 2013 The easiest way for a non- developer to build and publish apps for Visual Studio A great end-to-end development experience for highest customization “Napa” Office 365 Development Tools A lightweight, in-browser development experience Apps for Office Apps for \\\Projects\\Cloud Power \Design\\PNGs\Optimized.png Access Apps: Virtues of Simple + Structured Structured Access Simple Low up-front investment Easy to evolve and iterate Easy adoption One version of the truth Easy to collaborate Powerful analysis Keeps a clean Hard to collaborate Difficult to analyze Multiple versions of the truth Keeping a clean is a chore High up-front investment Hard to evolve and iterate Hard to adopt Virtues Vices Demo Build a App in 60 seconds with Access table templates 1. Create a custom web app 2. Add some tables Table Templates Build a App in 60 Seconds 3. Ready to go on premises on Office 365 Creates Consumes Architecture Overview Web Browser Access Client Access Services Tables & a SQL DB Azure Azure 2012+ Access 2013 Web Apps 1.New App Model 2. deployment 3.SQL back - end Web App Model SQL abase Simplified design experience Pre - defined Table Templates Build a functioning app in 60 seconds Navigation elements automatically generated Simple, code - free configuration and customization New app model Polished, professional results Apps automatically have an attractive, easy - to - interface Consistent r experience across all apps Access Apps = Apps Same cross - browser support Same multi - r accessibility: m any people working on the same app at once Same Active Directory - permissions Same Store and App Catalog for distribution and discovery Same simple install/uninstall Same central IT control Same branded and customizable themes Same cloud - hosting through Office 365 deployment The gold - standard for relational abases Speed and reliability Transparent to end r: if you don’t care, you don’t to know con tools for advanced reports and custom integrations Developers can e xisting skills to customize Future upgrade path SQL back - end View and Edit a abase Design Access Services File:Internet Explorer 9.svg File:Mozilla Firefox 3.5 logo 256.png File:Google Chrome 2011 computer icon.svg Advanced Reporting & Integration •Desktop Access Reports •Excel •Power View •Crystal Reports •Custom Websites (.NET, PHP, etc.) SQL Azure Demo theapp model Polished, Professional r Interface 4. Add and edit items 3. Search and filter 2. Choose view 1. Choose table Polished, Professional r Interface Autocomplete Control asheet Drill-Through Popups Summary View Related Items Control Action Bar Demo Customizing the app Start customization from browser Open your app in Access to make design modifications Creating design elements Home .Create .Advanced Query Blank View List View asheet View Macro a Macro On Start Macro Expand Navigation Pane to view app objects Creating tables 3 ways to started with a a head start with Table Templates Start from scratch with a Blank Table an existing a source Migration of existing applications Earlier version of Access Just the a and some relationships Navigation and UI are auto - generated for you Excel spreadsheets Other sources Like SQL Server or Lotus Notes Demo Consuming Lists Linking to Lists Limitations of current release Read - Only No a Macro support List be in the same site collection Lists are the only a - linking sources currently supported Lookup field Demo Leverage Azure: Analyze with Excel and SQL Server Link to Blog article SQL Login Unobscured table names and field names Enable Connections Real SQL Server Power Visualize a in Excel Authorize in Access Allow other programs to connect to the SQL Server abase that powers your Access app. You’ll find all the necessary credentials in one place. Connect anywhere Enter the SQL Server connection information from Access into your analysis program, and you’ll find all your abase’s queries and tables available. SQL Server is an industry standard, so you have a choice of tools, from Excel to Crystal Reports. Analyze and Report Take advantage of the powerful charting and analysis tools that Excel already provides, or analyze your a in a program of your choice. Backup, Packaging, and Publishing Install on another site Save as App Package Export a through Access Client Publish to the Store Save As App Package What’s next for Access Apps? Completed work Cascading combo box feature Submitting Access 2013 Apps to the Store Coming Soon … Apps for Office integration App Upgrade/Lifecycle story Internal Access Web App Examples Reorganization of Office and Windows divisions Ship readiness tracking app for product features Attorney tracking app TAP program tracking for support Exchange service issue tracking Training tracking and feedback Demo Examples of other types of apps Team Admin now has a feature rich app created quickly the power of Access 2013, , and Office 365. Objectives Introduced to Access 2013 and Access Services Learned how to build a centric apps with Access 2013 Key Takeaways Access 2013 creates apps End - rs can create these apps These are centrally managed secure apps Access 2013 web apps are different than Access desktop abases With Access web apps, the end-r s the experience they want and IT s the control that they want. In Review: Objectives And Takeaways Breakout s Tuesday 9:00 – 10:15 AM Palazzo Ballroom A - H SPC348 – Upe on InfoPath and forms Tuesday 5:00 – 6:15 PM Palazzo Ballroom K, L SPC338 – The ‘how to’ guide for selling and managing Apps built Access Wednesday 5:00 – 6:15 PM Marcello 4401 - 4506 SPC335 – Rich extensions to Apps Access Related Content Book Resource Access 2013 Inside Out Over 600 pages covering Access 2013 web app topics Available at the book store MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Application Lifecycle Management in Office and SPC273 Eric Charran Regional Architect @ mougue Ayman El - Hattab Technical Manager AvePoint @ aymanelhattab Enterprise Collaboration Strategist Meet Ayman El - Hattab MVP since 2010 ALM Ranger (2012) Author, Blogger, Speaker https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38004 AvePoint www.aymanelhattab.com @aymanelhattab http://images.pearsoned-ema.com/jpeg/large/9780672337338.jpg http://www.informit.com/ShowCover.aspx?isbn=0672333252 Regional Architect Meet Eric Charran and ALM Ranger Author, Blogger, Speaker @mougue https://hubb.blob.core.windows.net/a70c2f81-bd51-42ad-818d-43e2fc414102-profile/38028 Tahoe Digital Dashboard Outlook Today Objectives And Takeaways Objective(s ): Understand Office and Application development considerations Understand how to apply application lifecycle management principles to apps How to adapt development practices to create apps Key Takeaway(s): App Model is (AM) is here to stay There are ways to apply ALM practices to AM solutions The Journey 2003–What is an Application? was not an Application Platform, except Web Parts Investments were in MOSTLYportals and content 2007–Everything is an Application! Push to embrace for LOB applications Custom server side code 2010–Choose the right Application and Developer Tools come toher Silverlight, CSOM and othercapabilities Partially trusted code reduces impact and risk to farm 2013–Redefine Application as App Client side experience via HTML or iFrame Leverage CSOM and REST APIs from Azure and other clients Investments in App discovery and Management via store Deployments 2013 2010 2007 Current State of Apps @ Customers Challenges in the app space Lots of options (VSTO, FTC, Sandbox, AM) with little guidance on what to choose Pain with FTC and Sandbox solutions Customers have Office Add - ins, VSTO or custom client automation solutions Pain with FTC Deployment and ALM challenges Performance considerations Platform rigidity in upgrade, patching, migration scenarios Inability to move customizations to O365 Pain with Sandbox Small API footprint Increased complexity of environment setup and management Challenging UX when app is shut down for good reasons Deprecation of Sandbox Solutions with Code Current State of Apps @ Customers Pain with Office Office Add - ins require “touching” desktop/machines Device - specific (supported OS), not agnostic All the responsibility of managing a custom app deployed to machines Integration with LOB systems Multiple legacy deployments/versions result in compatibility challenges Application Model (AM) Benefits Customizations run OUTSIDE Decouples customizations/solutions from the platform Agility to upgrade/patch app AND separately Implementation independence (JavaScript, HTML, Ruby, PHP, C#) Solutions can be deployed to both O365 AND on - premises Monetization through familiar “store” model to expose and publish apps Challenges It’s aworld, right? (JavaScript and HTML5 is back combined with REST) Customers can’t port or wrap their App in AM What to do with all the existing FTC/Office Add - ins? Programming against a refreshing platform No customcode on the server Reducesthe ramp time for building Apps Leverage hostingplatform features inApps Isolation–Private vs. Public clouds Types of Apps Apps for Office Content Apps Task Pane Apps Mail Apps Project Apps Apps Auto Hosted Deployed to and hosted in a dedicated Azure subscription Hosted s client side technologies such as JavaScript, REST, HTML 5 Provider Hosted Deployed to and hosted on on - premises or cloud hosted (Azure) platforms Development Environments Developer Site Napa Office 365 Development Tools -hosted AppAutohosted AppProvider-hosted AppOffice 365 Development Environments Visual StudioOffice Developer Tools Client Components On-Premises Developer Site(s) -hosted AppProvider-hosted AppOn - Prem Development Environments 2013 Virtual Machines -hosted AppProvider-hosted AppServer-side solutionOn - Prem Development Environments Application Lifecycle Management (ALM) Application Lifecycle Management (ALM) Development Environment with Teams d to require separate VMs, VM - capable hardware O365 development sites (per developer) regardless of on - prem or O365 deployment on - prem developer sites (per developer) What to do with Napa in a team environment Build Processes Non - compiled code s build too (Continuous Integration) Build, deployment, and testing still done by TFS with some help Yes, you still have to “Trust It”, but… Coded UI Build Verification Tests (BVTs) still valie the build On-Premises Farm(Integration/Systems testing environment) Integration/Systems testing site collectionOffice 365 Online (Integration/Systems Testing site collection) Check in to Team Founion Server Deployment of compiled .app to tar environment Test executionSolution Deployment Visual StudioOffice Developer Tools Client ComponentsFeatures, Package, manifest, etc. Supporting files, certificate(s), etc. Pages, JavaScript, libraries, etc. Continuous Integration Build Process Template/Workflow Continuous Integration App Deploy PowerShell Scripts (requires Online Management Shell extensions) Team Founion Server or Visual Studio Online App Build DefinitionCoded UI/Build Verification Tests App Build Definition On-Premises Farm(Integration/Systems testing environment) Integration/Systems testing site collectionOffice 365 Online (Integration/Systems Testing site collection) Provider hosted infrastructure (Azure/ IaaS/on-premises web and a) Check in to Team Founion Server Deployment of compiled .app to tar environmentApprove application trust level Deployment of cloud hosted components to tar infrastructure Test executionSolution Deployment – Provider Hosted Visual StudioOffice Developer Tools Client ComponentsFeatures, Package, manifest, etc. Supporting files, certificate(s), etc. Pages, JavaScript, libraries, etc. Provider/Auto hosted Web Project App Project Demo Continuous Integration - hosted and Autohosted Apps Demo Continuous Integration Provider - hosted Apps Application Lifecycle Management (ALM) Testing Tenants can be different versions APIs between versions will be subject to roll out schedules Testing environment should be in the same tenant as “production” Regression testing should cover to provider - hosted components Coded UI Testing vs. Non Coded UI Testing Testing On-Premises Farm(Development Site Site Collection) Office 365 Online (Development Site Site Collection) Development Environment Napa Office 365 Development ToolsVisual StudioOffice Developer Tools Client ComponentsExecute TestsProvider hosted infrastructure (Azure/ IaaS/on-premises web and a) Cloud-hosted Development EnvironmentApplication Deployment On-Premises Farm(Integration/Systems testing environment) Office 365 Online (Integration/Systems Testing site collection) Integration/Systems testing environment On-Premises Farm(UAT/QA testing environment) Office 365 Online (UAT/QA Testing site collection) Provider hosted infrastructure (Azure/ IaaS/on-premises web and a) Cloud-hosted Testing Environment(s) One Azure subscription with multiple services deployed (integration/system and UAT/QA services) App Build Definition Execute Tests Application Deployment Release Manager Test Scripts/Manual TestingApplication DeploymentTesting Team Founion Server or Visual Studio Online Demo Automated Build/Deploy/Test Workflows Apps Evergreen and release cycle –Old model SP2013 O16 O17 O18 Tightly coupled customizations Upgrade Upgrade Upgrade Upgrade Specific upgrade project each timeversion is introduced Customizations have to be upgraded to access oncapabilities in product Will ca additional costs during each release cycle of customizations Customization upes ca downtime each time something is changed Complex ALM processes for ensuring quality of the code Evergreen and release cycle –NEW model SP2013 Loosly coupled customizations O16 O17 O18 Development You choose when and how applications are uped... Backwards compatibility for API level to move customizations cross versions Customizations don’t blockcapabilities from Customizations extend, not change Customizations can be uped with minimal impact on Customizations will utilize services from and other services, but won’t usually change out of the box services. Explore ALM Guidance White paper is here: http://msdn..com/en- us/library/office/dn567995.aspx Build Resources Continuous integration with TFS Build Definition Resources are here: http://officeci.codeplex.com/ Resources ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action Q&A Questions? Cents? Feedback? MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Authentication patterns for 2013 and Office 365 Nathan Miller Solutions Strategist SPC374 Israel Vega, Jr Architect Agenda Level Set and Catchup Identity Basics Authentication and Authorization Apps Advanced Patterns Extranets Cloud Configurations (O365 and Apps) The Previously…. On…. 7-00039_Master-8 Collaboration Business Intelligence Portal BusinessForms Search Content Management PlatformServices Workspaces, Mgmt, Security, Storage, Topology, Site Model \\SERVER3\Restrict\FTP_Root\Clients\White_Whale\2-20070_TAP_Airlift\Art\6-star pie cuts.png ShrPt_h_rgb.png ShrPt_h_rgb.png Cunities Search Sites Composites Content Insights - 6 on a leap year -6on a leap year i:0#.f|membership|r@domain.tld i:0#.w|domain\sAMAccountName Meanwhile… back at the ranch…. Demo - Connected Enterprise Overview Nathan Miller - Identity Basics Identity Parts r Type of Access Authentication Information Entitlement Information Profile Information Runtime Information \\\Projects\\Journey to the Cloud Campaign\102810 Drop\PUBLIC \Confidentiality.png Who Devices Remote LAN C:\sakuu\Documents\Ballmer WPC\AI\Home.png Home C:\sakuu\Documents\Ballmer WPC\PNGS\Timer.png Time C:\sakuu\Documents\Ballmer WPC\AI\work.png Office Location Planning Identities Where are yourStored? Active Directory Cloud Federated How will they present credentials to prove who they are? What will they access to? Only Applications Other Services How will I rid of them? Identity Core questions to ask 1.Do you really have to authenticate? 2.Does the authentication source matter or is the r ID enough? 3.Do you own the identity? 4.Do you own the r information? 5.How do they authenticate today? 6.Where do they authenticate from? 7.How do you want them to authenticate? 8.Will they always authenticate that way? 9.Is the information you for authorization enough or do you more? Con AuthZ & AuthN Patterns Pattern AKA Party time Anonymous Right this way(keep an eye out) Trackedanonymous If you got this far, I trust you Already verified somewhere else Who are you again? Single Sign once…everywhere He’s with me/VIP Association/federation Wait right here Trusted subsystem You look like someone I know Shadow account Let me do that for you Impersonation SPr The r Identity Authentication Information (STS) Profile Information (Email, SIP) Additional Runtime Information (Claims, Roles, Groups) r in App / Service Context r in SP Context PC r@domain.tld C:\chrisw\Desktop\Cloud Services 3.png NTLM/Kerberos Token (Classic Only) SAML Token (Windows Claims, FBA, SAML) Decouples from Authentication Support for multiple authentication providers on one URL Enables federation Why Claims? 2013 supports both claims and classic authentication Claims authentication Default authentication mode Recended mode Classic authentication Can only be managed in PowerShell –it’s gone from the UI Support for classic mode is deprecated and will go away in a future release Authentication Modes Authentication and Authorization for Apps 2013 OAuth with Apps OAuth is d to authenticate and authorize apps and services To authorize requests by an app for to access resources on behalf of a r. To authenticate apps in the Office Store, an app catalog, or a developer tenant. Also d in well known app principles , Exchange, Lync, Workflow Server Not d For r sign - in page Central Admin, Authentication Provider section People Picker App required permissions to access Content During installation the app requests its required permissions r installing the app grants the required permissions rs can grant only the permissions that they have r be able to grant ALL permissions required or install fails A pp permissions r + APP The App Identity – r Present App Identity OAuth r@domain.tld [Windows r OR FBA r OR SAML r] OR [Organizational ID (O365) AKA Azure AD (O365)] r r Identity Demo - Apps and Identity Patterns •Come right in •Right this way (keep an eye out) •If you got this far, I trust you •Who are you again? Cloud Infrastructure with Hybrid (Apps) Directory SyncActive Directory(On prem) Windows 2012 R2ADFS ProxyAzure CloudAzure ADAzure Auth PlatformWindows 2012 R2ADFS OnlineApp Server Oauth Id, Windows or ADFS• Expose Line of Business Apps to O365 • Leverage Identity that the most sense (Windows, OAuth ) • APP UI meshed With SP UI Work Personal/Consumer End r At Work My Credit Card Account At Home Organization ID My Devices IT admin Download Account VS Organizational Account Apps from Store .Trust to Azure ACS is required access Store Apps .Configuring ACS Server as a trusted authentication server .For O365 - It's automatically configured - nothing to do .For On Prem 2013 .General setup for apps (e.g. App Management Service Application, app isolation). .Connect to Azure Active Directory. .Create an App Principal in AAD and . http://blogs.msdn.com/b/besidethepoint/archive/2012/12/10/-low-trust-apps-for-on-premises- deployments.aspx Configuration for On Premise Apps can other Identity than what is passed through on OAuth Token App Publishing from On Premise s to be a Provider App (SP Apps or App Webs not through proxy due to wild card and Kerberos requirements) Consider Audience consuming Apps, especially in Hybrid scenarios Additional Notes on Apps Cloud and Advanced Patterns Extranet in 2013 Leveraging a Reverse Proxy 2012 R2 Replaces UAG / TMG guidance Windows TokenWindowsClaimClaims to Windows Token ServiceWindows Tokena Repository, SQL Server or SSAS FarmWFEAppSP SQL ServerWindows 2012 R2Remote Access ProxyActive Directory Demo - Publishing an Extranet with Windows 2012 R2 and ADFS Impersonation Nathan Miller Reverse Proxy vs. ADFS Integrated Leveraging ADFS trust in is different than Reverse Proxy. - ADFS integrated into is SAML - ADFS integrated into 2012 R2 (Reverse Proxy is Kerberos) to consider what else r is connecting to and howare managed. Cloud Identity Options Cloud Identity IDs only live in Azure AD / O365 Directory Sync with SSO Leveraging ADFS for Authentication and DirSyncor FIM Directory Sync with Password Sync DirSyncwith a Password Hash (Hash of a Hash) Demo – Cloud Identity Shadow Account Nathan Miller Cloud Infrastructure with ADFS Directory SyncActive Directory(On prem) Windows 2012 R2ADFS ProxyAzure CloudAzure ADAzure Auth PlatformWindows 2012 R2ADFS Online• Publish ADFS from On Premise to do Authentication • DirSync ADto Azure AD – O365 • Authentication request in O365 s rerouted to ADFS Cloud Infrastructure with Password Sync Directory SyncAzure CloudAzure ADSign-in Auth RequestsSync IdsFor Profiles, GALsW/Password HashAzure Auth Platform OnlineActive Directory(On prem) • DirSync ADto Azure AD – O365 • Password Sync is a Hash of the Hash O365 Hybrid Configurations Two Way Hybrid Topology Supports Search From On - Premise: On - premise can see local and online Results From Online: rs of the Online Search can see both results Configuration Also Supports -Business Connectivity Services (BCS) -DUET Enterprise Online A CENTERINTERNETINTRANET Online CAN QUERY Server 2013 Online Site collectionSearch: BidirectionalBCS: SupportedDuet: Supported Server 2013 CAN QUERY OnlinePrimary web applicationOffice 365 Tenant Server 2013PERIMETER NETWORKReverse proxyCUSTOMER NETWORKOutboundInboundSearch portal: Local + Remote search resultsLocal/RemoteSearch portal: Local + Remote search resultsLocal/Remote Resources Configuring Windows 2012 R2 Remote Access .http://technet..com/en-us/library/dn280944.aspx Connect to ACS for Low Trust Apps .http://blogs.msdn.com/b/besidethepoint/archive/2012/12/10/-low-trust-apps-for-on- premises-deployments.aspx MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be trade mar ks in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Azure IaaS and 2013 WCM: Better Toher Barry Waldbaum Frank Marasco BP & Search CoE ACS Architect SPC387 Objective Interested in sizing and scaling up internet sites on Azure? Do you have questions about the TechNet Internet Sites topologies? Agenda Introduction & Objective What is 2013 WCM? What does it look like ? Tests What are the TechNet tests? Results comparing physical hardware on premises vs . Azure IaaS Scaling down the environment Q&A Barry Waldbaum Pre - Developer/Integrator at several startups Scaling/Sizing & performance tuning (2008 via FAST in 2005) Search guy! Large scale search integrations Search & Business Productivity CoE Contact Email – Barry.Waldbaum@.com Expertise I <3 trouble Azure is awesome \\\Projects\\Cloud Power \Design\_PNG\Cloud_logo.png Frank Marasco Pre - Java/C/C++, C# WebSphere (2005) Field Guy in MCS Cloud Guy Contact Email – Frank.Marasco@.com Expertise I have to clean this up again… Cloud deliveries \\\Projects\\Cloud Power \Design\_PNG\Cloud_logo.png Scale lab for SPC2011 keynote Loaner equipment Borrowed lab space Not easy to re - deploy C:\pandrew\Pictures\From Paul Focus\Camera roll\WP_000473.jpg C:\docs\s\2010-09-17-scalability-testing\NEC-1080A-80-Cores-Loaded-82-Percent.png Deployment is much easier .MSDN subscriptions provide monthly consumption .Deployment scripts to help your envirent up quickly .Scaling up and down is much easier Recended solutions for Windows Azure .Development and Test .Disaster recovery of on - premises farms to Azure .Internet - faces sites .Applications Farms to support Office 365 or on - premises enviornment and Azure 2013 Web Content Management Content 2013 Search Driven Publishing! CATALOG DOCUMENTS C:\janhs\Appa\Local\\Windows\Temporary Internet Files\Content.Outlook\1XB8H63D\Yellowfield (4).png C:\janhs\Appa\Local\\Windows\Temporary Internet Files\Content.Outlook\1XB8H63D\WWIToday (4).png ARTICLES C:\janhs\Appa\Local\\Windows\Temporary Internet Files\Content.Outlook\1XB8H63D\Yellowfield (4).png ASSET LIBRARY C:\janhs\Appa\Local\\Windows\Temporary Internet Files\Content.Outlook\1XB8H63D\Yellowfield (4).png C:\janhs\Appa\Local\\Windows\Temporary Internet Files\Content.Outlook\1XB8H63D\Yellowfield (4).png NAVIGATION C:\janhs\Appa\Local\\Windows\Temporary Internet Files\Content.Outlook\4OAUFH1C\Home (2).png Search Usage Content Search Publishing Portal Search Driven Publishing (SDP) Dynamic content re through search r Experience \\\Projects\\Cloud Power \Design\_PNG\r.png Search Driven Publishing, more details Content is crawled at a schedule by the crawler, processed and then indexed. When a r loads a page with CSWP, a pre-defined query is sent to search. The CSWP s display templates to render the results. Content Search Publishing Portal r Experience \\\Projects\\Cloud Power \Design\_PNG\r.png Document libraries Lists Index Analytics Crawl & doc. processing Query processing Content Search WP (CSWP) Display Templates Query Independent Authoring and Publishing .Content can be red for different purposes The creator of a page can choose .Which content to show – query builder .How to show it – display templates the power of search .Analytics and recenions .Scaling and performance .Across site collection boundaries .Automatically uped SDP value proposition Demo Azure IaaS Internet Site built on SP2013 WCM 2013 Search Architecture Search Admin Content Portal Crawl Content P rocessing Index Query P rocessing WFE Analytics Processing FAST Search Index Unit of scale/role boundary Performance Testing .What's wrong with this picture? Pop Quiz 4 Millions Items Over 100 Categories defined 4 WCM Pages 3 CBS Web Parts / Per Page On - Premises to Azure Comparision On - Premises topology Adm CPC Web Crawl CPC Crawl All Physical (24/48GB 8 Core) Intel L5520/L5630 Index QPC Index QPC Index QPC Web Web CPC Crawl DC DC DC Azure Cloud Services Virtual NetworkWindows Azure Cloud ServiceIdentity Cloud ServiceSQL Cloud ServiceCloud ServiceTeam Founion Azure topology Adm CPC Crawl CPC Crawl CPC Crawl All Azure XL VMs (14GB 8 Core) AMD Opteron 4171 HE Web Web Web Index QPC Index QPC Index QPC DC DC DC DC DC .Dedicate cloud service .3 Web Servers .7 Application Servers .XL VM .14 GB .8 Core Architecture Services App Pool – SP_CT_APServices App Pool – SP_SA_APManaged Metaar Profile ServiceHttp://wcmspweb.cloudapp.netBusiness a ConnectivitySercured Store ServiceState ServiceSearchDefault GroupHttp://wcmspweb.cloudapp.net:200 (Product Catalog) C: 127 GB (OS) D: 604 GB (Page) E: 300 GB (SP Install) L: 100 GB (Logs) K: 50 GB (Blob) Distibuted CacheFront End Services C: 127 GB (OS) D: 604 GB (Page) E: 300 GB (SP Install) L: 100 GB (Logs) K: 50 GB (Blob Cache) I: 1024 GB (Index) Back End ServicesSearch Services .Placed in its own Cloud Service .2 SQL Instances (Always On) .XL VM .14 GB .8 Core .1 Windows Server .Medium VM .3.5 GB .2 Core .We really don’t care it for Quorum SQL Server Configuration C: 127 GB (OS) D: 604 GB (Page) E: 100 GB (SQL Install) F: 1024 GB(CT DB) G: 500 GB (CT DB Logs) H: 1024 GB (SPSA DB) I: 1024 GB (SP Search) J: 300 GB (TEMP DB) K: 300 GB (TEMP DB Logs) What we actually d a Sizing Details Drive Description Size (GB) F SP Content1 57.8 F SP Content2 42.2 G Content DB Logs 80 H MMS .10 H Usage 44.7 I Search –CrawlStore 14.5 I Search –Link Source 2.22 I Search–Administration .07 I Search –Analytics Reporting 50 J Temp DB 20 K Temp DB Log 20 .Storage Recenions .Avoid write caching Disks for abases. persistent drives .Avoid operating system drive for abases .Place yours abase and transaction log files on separate drives .Place tempdb on the separate drives .Format Drives with 64KB .abase Recenions .Latin1_General_CI_AS_KS_WS (Cant change it later) .Adjust SQL RAM .Pre - grow your abases SQL Server .Visual Studio Test Machines .Dedicated SQL .Visual Studio Agents and Controllers .Tests .80 rs .0 Thinking .4 pages .Each page has multiple CBS Web Parts .Multiple Search queries per page view Test Configuration Results 750 102 60 640 119 92 0 100 200 300 400 500 600 700 800 AVG REPONSE TIME (MS) RPS AVG CPU Azure On-Prem Which is better? What if… wechange our infrastructure? .Adjusted Topologies .Reduced Index .150,000 .Adjusted Load You want me to do what? Index Partion #0 ReplicaReplicaFront End ServicesQuery ProcessingContent ProcessingAdminCrawlAnalyticsBack End ServicesFront End ServicesQuery ProcessingContent ProcessingAdminCrawlAnalyticsBack End Services .2 Server Farm + SQL Server .80 Simulated rs .0 Think time Test Scenario 1 CPU AvailableMB PVS 66 3,920 47.1 We made cry… .2 Server Farm + SQL Server .40 Simulated rs .0 Think time Test Scenario 2 CPU AvailableMB PVS 97 3,194 73.4 .2 Server Farm + SQL Server .20 Simulated rs .0 Think time Test Scenario 3 CPU AvailableMB PVS 89.25 2,213 63.7 .2 Server Farm + SQL Server .10 Simulated rs .0 Think time Test Scenario 4 CPU AvailableMB PVS 85 3,194 73.4 What can I change… What can I do… Optimizing your deployment for traffic & Costs Consider cost and deploy according to requirements Inbound traffic is free, outbound traffic is not Standard Azure outbound traffic costs apply Shut down what you don’t Can be started and stopped as you see fit Scaling to meet your s Shut down extra capacity Remove the Servers from the topology Shut them down Only pay for disk consumption 7./GB month or 9.5. /GB month ( geo - redundant server) Start them back up Only when you them Add them back to the topology Lessoned Learned Azure Plan & Design first Cloud Services make it simple Don’t like app.cloudapp.net add a CNAME to point to your cloud service Leverage multiple storage accounts It’s important not to make changes to the network interface Domain Controllers in Azure Place SYSVOL and DIT’s on Azure persistent drives Start them first best practices. Start up order Goodies 2013 Automation Scripts https://github.com/windowsazure/azure-sdk-tools-samples 2013 on Windows Azure Infrastructure http://msdn..com/en-us/library/windowsazure/dn275958.aspx Tuning SQL Server 2012 for 2013 http://www.virtualacademy.com/Content/ViewContent.aspx?et=2591&m=2586&ct=15858#?fbid=kPcyFFbvbci Related s SPC298: & Azure IaaS SPC336: 2013 Search: Architecture & Sizing Key takeaways 2013 WCM run and is supported on Azure IaaS, o’ and it runs well too ! We can host Internet Sites in Azure… We can scale when ed… See you at the Sites & Portal booth’s & tables at Asks the Experts WED @6:15! Room Time Trends in Designing Portals for 2013 SPC2013 Palazzo M, N Mon3:45pm Make your portal social in 1-2-3! SPC378 Palazzo M, N Tue9:00am Search-driven publishing for Intranet Portals in Online SPC337 Murano3201 Tue1:45pm The Conference.com Site: From Sketch to Launch to Live! SPC224 Veronese 2401 Tue1:45pm Adjust the perspective with responsive designs for SPC203 Palazzo O, P Tue3:15pm Branding Internet facing web sites with in the cloud SPC290 Delphino4001 Tue3:15pm Building a Modern Portal in 75 Minutes! SCP399 Palazzo M, N Tue5:00pm 2013 Powering Web Sites and Mobile Apps SPC388 Palazzo M, N Wed10:45am Deliver adaptive and personalized experiences for your 2013 sites SPC228 Marcello 4401 Wed1:45pm E-cerce solutions with Dynamics for Retail & 2013 SPC359 Veronese 2401 Wed5:00pm Online Performance –Designing your Pages to be Fast SPC3993 Titian 2201 Thu9:00am Azure IaaSand 2013 WCM -better toher! SPC387 Veronese 2401 Thu10:30am The strategy behind building a successful social intranet SPC291 Lando4204 Thu12:00pm Sites & Portals Related s MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Best Practices for Breaking Down Organizational Barriers for Yammer Steve Nguyen @espnguyen Allison Michels @anicole87 SPC264 “I don’t want to share. I’m a knowledge hoarder.” - Operations Manager Narrate your work “We just licensed Office 365 and Yammer came with it.” - Chief Information Officer Enterprise Social to Deploy those workloads Time to Value is quick with social Change Management and Cunication tool for migrations C AR - F RESHENER R OYAL - P INE “My execs don’t it. They think people will just waste time.” - HR Professional Rubber meets the road… Visibility and Engagement of Team Members “How do I direct myon which tool to for which purpose?” - Network Administration Opportunity for choice For example… This is a starting point, but help to create this for your technology landscape. “We want to do a pilot” - IT Systems Manager C:\joeb\Desktop\Picture4.png C:\Annette.DUARTE\Desktop\Yammer\169938237_AF.jpg Work like a network. started today with Yammer. #worklikeanetwork C:\contractor\Desktop\skydrive.png C:\Annette.DUARTE\Desktop\Yammer\PNG\skype.png C:\Jonathan.DUARTE\Desktop\1.png C:\Jonathan.DUARTE\Desktop\.png What haven’t we covered? #SPC14 Enterprise Social Related Content See you at the 2 Social booth & 3 Social tables at Asks the Experts WED @6:15! Room Time A responsive organization stays ahead of the competition SPC104 Delphino4001 MON 2:00 Trek Bikes: pedaling past complex collaboration problems in the enterprise SPC386 Delphino4005 MON 2:00 's vision and roadmap for Enterprise Social SPC282 Delphino4005 MON 3:45 : Our Enterprise Social Journey SPC280 Lido 3001 MON 3:45 Nationwide: Building a World-Renowned Intranet with SP 2013 & Yammer SPC311 Murano3204 TUE 9:00 Real-world, best practices for making enterprise social successful SPC239 Delphino4005 TUE 9:00 Make your portal social in 1-2-3! SCP378 Palazzo M,N TUE 9:00 Overview of Yammer app development SPC332 Palazzo O, P TUE 9:00 Yammer External Networks: Engaging Customers and Partners SPC248 Murano3204 TUE 10:45 Cargill: Real-world challenges and value in introducing enterprise social SPC295 Delphino4001 TUE 10:45 Integrating Yammer and .NET SPC380 Palazzo O, P TUE 1:45 Work like a network: The power of Enterprise Social SPC112 Marcello 4401 TUE 3:15 Best practices for breaking down organizational barriers Yammer SPC264 Delphino4005 TUE 3:15 Overview of configuring Yammer SSO & Directory Sync SPC368 Titian 2201 TUE 3:15 Successful team collaboration with Yammer & SPC247 Delphino4005 TUE 5:00 Driving enterprise social from the bottom up SPC266 Delphino4005 WED 9:00 Developing socially connected apps with Yammer, and OpenGraph SPC371 Palazzo O, P WED 9:00 Giving voice to frontline workers via enterprise social SPC263 Delphino4005 WED 10:45 Yammer mining -dig in and "listen" to what your big *social* a is saying SPC3991 Murano3204 WED 1:45 How to become a Yammer Power r in 75 minutes SPC275 Delphino4005 WED 5:00 Knowledge Management with and Yammer SPC246 Delphino4005 THU 9:00 Measuring Business Value with Yammer SPC392 Delphino4005 THU 10:30 #WorkLikeANetwork Enterprise Social Resources Sites, Blogs & Twitter .Enterprise Social Customer Success-Yammer Success Center– EnterpriseSocial.com- The Responsive Org .Admin & IT-Developers-Yammer App Directory-Office Store-Yammer Ignite .Blogs: YammerOffice 365Twitter: @Yammer@Office365 Research/Whitepaper .Gartner: Magic Quadrant for Social Software in the Workplace- Evolution of the networked enterprise: McKinsey Global Survey results- Yammer’s 2013 Business Value Survey Results- The Rise Of Enterprise Social Networks Press .How Red Robin Transformed Its Business With Yammer- How Teach for America s the most out of Yammer on a shoestring bud- HK firm creates idea melting pot for 4,000 employees- LexisNexis found that employees who Yammer are way happier- Switching to Yammer let this company slash helpdesk calls and save $1.5 million a year- How got its own employees to Yammer Videos .Move Faster Toher .Transform the Way You Work with Yammer #WorkLikeANetwork MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. What if you could work like a network? C:\Annette.DUARTE\Desktop\Yammer\From Client\OfficePhoto3 copy.png C:\Annette.DUARTE\Desktop\Yammer\From Client\OfficePhoto1 copy.png C:\Annette.DUARTE\Desktop\Yammer\From Client\OfficePhoto4 copy.png C:\Annette.DUARTE\Downloads\153191034.jpg C:\Annette.DUARTE\Downloads\162897121.jpg C:\Annette.DUARTE\Desktop\Yammer\From Client\OfficePhoto5 copy.png C:\Annette.DUARTE\Downloads\165051197.jpg Best Practices for Breaking Down Organizational Barriers for Yammer Steve Nguyen @espnguyen Allison Michels @anicole87 SPC264 “I don’t want to share. I’m a knowledge hoarder.” - Operations Manager Narrate your work “We just licensed Office 365 and Yammer came with it.” - Chief Information Officer Enterprise Social to Deploy those workloads Time to Value is quick with social Change Management and Cunication tool for migrations C AR - F RESHENER R OYAL - P INE “My execs don’t it. They think people will just waste time.” - HR Professional Rubber meets the road… Visibility and Engagement of Team Members “How do I direct myon which tool to for which purpose?” - Network Administration Opportunity for choice For example… This is a starting point, but help to create this for your technology landscape. “We want to do a pilot” - IT Systems Manager C:\joeb\Desktop\Picture4.png C:\Annette.DUARTE\Desktop\Yammer\169938237_AF.jpg Work like a network. started today with Yammer. #worklikeanetwork C:\contractor\Desktop\skydrive.png C:\Annette.DUARTE\Desktop\Yammer\PNG\skype.png C:\Jonathan.DUARTE\Desktop\1.png C:\Jonathan.DUARTE\Desktop\.png What haven’t we covered? #SPC14 Enterprise Social Related Content See you at the 2 Social booth & 3 Social tables at Asks the Experts WED @6:15! Room Time A responsive organization stays ahead of the competition SPC104 Delphino4001 MON 2:00 Trek Bikes: pedaling past complex collaboration problems in the enterprise SPC386 Delphino4005 MON 2:00 's vision and roadmap for Enterprise Social SPC282 Delphino4005 MON 3:45 : Our Enterprise Social Journey SPC280 Lido 3001 MON 3:45 Nationwide: Building a World-Renowned Intranet with SP 2013 & Yammer SPC311 Murano3204 TUE 9:00 Real-world, best practices for making enterprise social successful SPC239 Delphino4005 TUE 9:00 Make your portal social in 1-2-3! SCP378 Palazzo M,N TUE 9:00 Overview of Yammer app development SPC332 Palazzo O, P TUE 9:00 Yammer External Networks: Engaging Customers and Partners SPC248 Murano3204 TUE 10:45 Cargill: Real-world challenges and value in introducing enterprise social SPC295 Delphino4001 TUE 10:45 Integrating Yammer and .NET SPC380 Palazzo O, P TUE 1:45 Work like a network: The power of Enterprise Social SPC112 Marcello 4401 TUE 3:15 Best practices for breaking down organizational barriers Yammer SPC264 Delphino4005 TUE 3:15 Overview of configuring Yammer SSO & Directory Sync SPC368 Titian 2201 TUE 3:15 Successful team collaboration with Yammer & SPC247 Delphino4005 TUE 5:00 Driving enterprise social from the bottom up SPC266 Delphino4005 WED 9:00 Developing socially connected apps with Yammer, and OpenGraph SPC371 Palazzo O, P WED 9:00 Giving voice to frontline workers via enterprise social SPC263 Delphino4005 WED 10:45 Yammer mining -dig in and "listen" to what your big *social* a is saying SPC3991 Murano3204 WED 1:45 How to become a Yammer Power r in 75 minutes SPC275 Delphino4005 WED 5:00 Knowledge Management with and Yammer SPC246 Delphino4005 THU 9:00 Measuring Business Value with Yammer SPC392 Delphino4005 THU 10:30 #WorkLikeANetwork Enterprise Social Resources Sites, Blogs & Twitter .Enterprise Social Customer Success-Yammer Success Center– EnterpriseSocial.com- The Responsive Org .Admin & IT-Developers-Yammer App Directory-Office Store-Yammer Ignite .Blogs: YammerOffice 365Twitter: @Yammer@Office365 Research/Whitepaper .Gartner: Magic Quadrant for Social Software in the Workplace- Evolution of the networked enterprise: McKinsey Global Survey results- Yammer’s 2013 Business Value Survey Results- The Rise Of Enterprise Social Networks Press .How Red Robin Transformed Its Business With Yammer- How Teach for America s the most out of Yammer on a shoestring bud- HK firm creates idea melting pot for 4,000 employees- LexisNexis found that employees who Yammer are way happier- Switching to Yammer let this company slash helpdesk calls and save $1.5 million a year- How got its own employees to Yammer Videos .Move Faster Toher .Transform the Way You Work with Yammer #WorkLikeANetwork MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. What if you could work like a network? C:\Annette.DUARTE\Desktop\Yammer\From Client\OfficePhoto3 copy.png C:\Annette.DUARTE\Desktop\Yammer\From Client\OfficePhoto1 copy.png C:\Annette.DUARTE\Desktop\Yammer\From Client\OfficePhoto4 copy.png C:\Annette.DUARTE\Downloads\153191034.jpg C:\Annette.DUARTE\Downloads\162897121.jpg C:\Annette.DUARTE\Desktop\Yammer\From Client\OfficePhoto5 copy.png C:\Annette.DUARTE\Downloads\165051197.jpg Best practices for Information Architecture and Enterprise Search Agnes Molnar International Consultant, ECM & Search Expert, Server MVP @molnaragnes SPC207 Agenda Information Overload Be the Hero of IA! Planning IA Planning Search Findability / Discovery Search Semantics Information Overload Information Overload http://www.greatnorthernprepper.com/wp-content/uploads/2012/11/documents_pile.jpg http://cdn.geekwire.com/wp-content/uploads/brain-bigstock-Brain-Function-with-gears-and-11863580.jpg > Information Overload Today The average person receives 63,000 words of information every day. Average length of a novel: 64.531 words If you wanted to read everything you’ve got in 2013, it would take you the first three months of 2014! Source: Robby Walker; Amazon Text Stats C:\Agnes\Appa\Local\Temp\enhtmlclip\Image(4).png Social Overload Emails Yammer LinkedIn Facebook Twitter … Be the Hero of IA! Information Architecture The art and science of organizingand labeling the CONTENT (documents, web sites, blog posts, abase entries, etc.) to support findabilityand usability Metaa Taxonomy Content Types Sites Lists Document Libraries Folders Document Sets Workflows Content Organizer Rules r Profiles Audiences … Information Architecture http://2.bp.blogspot.com/_GedqD27vlno/TB5w4OOlqBI/AAAAAAAAAwQ/Pm3uNKyIO_E/s1600/20100303_007.jpg Search Connectspeople to the information they to their jobs done http://timemanagementninja.com/wp-content/uploads/2011/05/Too-Much-Work.jpg You have , right? You have Search! http://upload.wikimedia.org/wikipedia/cons/1/13/Facebook_like_thumb.png Search is Easy!? http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPSearchCenterResults_14EB8CFF.png Find is the REAL Challenge! Demo: Find is the REAL Challenge Have you been in Oslo? Have you been in Oslo? Have you SEENOslo? 649 © DEVintersection. All rights . http://www.DEVintersection.com 650 © DEVintersection. All rights . http://www.DEVintersection.com Planning for IA Challenges in Effective IA Goals Motivations Owners Locations Knowledge Flows Complex Business Environment Context http://assets.inhabitat.com/wp-content/blogs.dir/1/files/2013/03/lego-closeup-537x328.jpg Tools and Techniques – rs Tools and Techniques – Content “Search Analytics are the Big a of Search” (Martin White, IntranetFocus ) Findability Search UI Elements Built on IA Refinement Result Type & Display Template On Hover Panel Query & Query Rules Search is Complex a Sourcea Sourcea Sourcea SourceContent SourceContent SourceContent SourceResult SourceResult SourceRemote Search indexLocal Search IndexIndexingFederationQuery RuleQuery RuleQuery RuleResult BlockResult BlockDisplay TemplatesRefinement PanelHover PanelmetaaResult Set Semantics in Search Semantic Search Semantic Search seeks to improve search accuracy by understanding searcher intent and the contextual meaning of terms Search Content r Context The Intent of Search Audience Taring r Taring Result Sources Query Rules Refiners Ranking Models MyCustomerContract #1Sales Presentation #1Sales Presentation #2Invoice #1Sales Presentation #3Requirements Specification #1Bug #1Release Notes #1r Manual #1Release Notes #2Invoice #1Invoice #2Payment #1Payment #2Invoice #3Sales ManagerJunior DeveloperFinancial Manager Demo: The Intent of Search Search Context – Metaa Crawled property: M etaa extractedfrom the documents/items during the crawl. Managed property : Created from crawled properties, controlledby Search Admins, helping rs perform more efficient and successful queries Search Context – Metaa Crawled Properties Mapped Properties Project Number Client Name Project Financial ID Project Number External Content CustomerNo ProjectNo Unstructured Content Project NBR ClientNumber ClientName List a Project ID ClientID Client Name Content Type Project ID Customer Metaa Quality Quality of Search depends on the Quality of Content Good and Consistent Metaa Auto - Tagging •Dictionary - •Statistical •Hybrid Big a – Big Search! Demo: Search Context - Metaa Wrap Up .Information Overload .Information Architecture + Search toher ! .FIND is the real challenge .Take an eye on Oslo! .IA Planning .r Focus .a Focus .“Golden Set” of content .Search Analytics .Search is complex .Semantics in Search (Content – r – Context) Key TakeAways Web: http://aghy.hu Email: aghy@aghy.hu Twitter: @molnaragnes Thank You! See you at the Searchbooths & Search tables at Ask the Experts WED @6:15pm! Room Time Customizing Search experiences with Azure Hosted a and Bing Maps SPC321 Veronese 2401 Wed3:15pm Futuristic Search applications Kinect and Yammer! SPC405 Palazzo M, N Wed3:15pm Search architecture and sizing in 2013 SPC336 Titian 2201 Wed5:00pm Effective Search deployment and operations in 2013 SPC360 Veronese 2401 Thu9:00am 2013 Search display templates and query rules SPC322 Palazzo M, N Thu9:00am Managing Search Relevance in 2013 and O365 SPC382 Veronese 2401 Thu12:00pm Search Related s MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Branding Internet facing web sites with in the cloud Randy Drisgill & John Ross MVPs Rackspace SPC290 .Manager - SP Branding & UX Team at Rackspace .Author . 2013 Branding & UI Design .http://bit.ly/SP2013Branding .Professional 2010 Branding .http://bit.ly/sp2010-brandingbook .Blog: .http://blog.drisgill.com .Twitter: .http://twitter.com/Drisgill .Orlando, FL Randy Drisgill .Technical Product Manager at Rackspace .Author . 2013 Branding & UI Design .http://bit.ly/SP2013Branding .Professional 2010 Branding .http://bit.ly/sp2010-brandingbook .Blog: .http://johnrossjr.wordpress.com/ .Twitter: .http://twitter.com/johnrossjr .Orlando, FL John Ross .Intro to Branding .Intro to SPO Public Sites .Low Effort Branding .Medium Effort Branding .High Effort Branding .Custom Code with Apps What are we going to talk about? Introduction to Branding .Started with ranchers branding their cattle .Moved to being a symbol of quality .Now a marketing term which describes the feeling and emotions elicited by something .Branding is why you Kleenex® instead of tissue and how someone can charge $2.00 for a cup of coffee Branding through the ages http://www.flixya.com/files-photo/a/p/k/apkasns2003936.jpg http://thegreatgeekmanual.com/images/geekhistory/june/-blibbet-logo.png http://images1.wikia.nocookie.net/__cb20101007022827/htmlcss/images/e/e6/_Logo.png .Website Branding: .The colors, fonts, logos, and supporting graphics that make up the general look and feel of a corporate website. .Branding for : .Master pages, page layouts, CSS, web parts, images, etc. Branding on the web C:\Randy\Appa\Local\\Windows\Temporary Internet Files\Content.IE5\VJNCLJQ5\MP900406957[1].jpg Approaches to Branding 2010 Full Effort Custom Master Pages, Page Layouts, XSLT Medium Effort Custom CSS Low Effort Page Editing & Themes Full Effort Custom Master Pages, Page Layouts, XSLT Medium Effort CSS Low Effort Page Editing & Themes C:\Randy\Appa\Local\\Windows\Temporary Internet Files\Content.IE5\DK6JMGYJ\MP900414045[1].jpg Approaches to Branding 2013 Full Effort Custom Master Pages, Page Layouts, Display Templates Medium Effort Design Manger for Publishing Sites Custom CSS & Background Images Low Effort Page Editing & Composed Looks Introduction to SPO & Public Sites .Small Business Plan (P Plan) .Designed for up to 25 employees who want: .One site collection for collaboration .One Public web site automatically created at the root .Enterprise Plans (E Plans) .Full access to create different types of site collections .Can turn on the publishing features .One Public web site automatically created at the root What flavor of comes with Office 365? .The one public facing website option you have with Online .http://yourname-public..com .Or a custom domain name can be d .Similar to a Server Publishing site but with several differences .A lot of the complexity is removed from SP to focus on just public facing website options What is a SPO Public Site? .Site Settings menu options are focd on Public sites .25 Site Settings links for Public Sites vs. 63 Settings links for regular site .Includes“Site” Ribbon menu . page editing and design a little easier .Includes a simple way to add custom CSS .Only one generic mobile Device Channel .Includes editable Header & Footer Elements that persist across pages .The ability to make the site Online or Offline .No Content Query Web Part or Content Search Web Part What is different about SPO Public Sites? Tour of a SPO Public Site Randy Drisgill .Includes many powerful features… but… .Geared for smaller brochure websites .Examples: Local Retail, Restaurant, Law Office, Medical Office, Realtor, Consulting .You can make almost any design work in SPO Public Sites .( if you are willing to spend the time) .Less settings & control than a farm install of .Probably not appropriate for large scale, dynamic, ecerce, or highly scalable sites What kind of websites can you make? Example SPO Public Sites www.officedemos.com www.why.com Randy’s Waffles Simple Branding Composed Looks .Similar to Themes in SP2010 .Very easy to change the look of your site .SPO Public Site includes many looks geared to small business .41 Looks vs. 18 Looks in standard SP sites Composed Looks Composed Looks .Pick a predefined Composed Look from: .Settings > Change the Look .From there you can change: .Background Image .Colors .Site Layout (or Master Page) .Fonts Composed Looks .Composed looks are NOT created with Office client .Unlike SP2010 Themes .They are preconfigured from the Composed Looks Gallery .Custom Colors and Fonts are defined in XML “Theme” Files Composed Looks Composed Looks Gallery / Change the Look Demo: Composed Looks Randy Drisgill Medium Branding the Design Manager .Ease of branding & design was a big feature in 2013 .You can tell beca the Design Manager is featured in the Site Actions drop down! .Available in sites with Publishing activated and SPO Public Sites .Work with Master Pages for shell of you design .Work with Page Layouts for the page content formatting Design Manager . Designer is no longer the only choice .Still available if you are most comfortable with it .Warning: Designer 2013 lacks the Design View .Map a drive to the Site > Master Page Gallery and edit away .Configure and Troubleshoot Mapped Drives in O365 - http://support..com/kb/2616712 . any tool you like to edit code .Adobe Dreamweaver . ion Web (Free – No longer being uped) .Text editors like: Notepad ++ .Frontpage and Hotdog Pro? (Someone please try and let us know !) Con Design Tools .Master Pages can now be edited in HTML .Design Manager can create a minimal master .Design Manager can convert existing HTML designs to functioning master pages .Converted HTML file is associated to Master Page .Every time you save the HTML file the Master Page upes HTML Master Pages & Page Layouts .d to add SP functionality to your Master Page .Cented HTML code that you add to HTML Master Page .Navigation .Breadcrumbs .Search Box .Title / Logo .Sign In .Web Parts .Header & Footer Elements – (Only for Public Sites) Snippet Gallery .HTML5 and CSS3 .Responsive Design CSS3 Media Queries .Display changes dynamically to a more mobile friendly view at small sizes .Web Fonts .Lobster 2 & Bitter Fonts from “G**gle Fonts” . .jQuery + FlowType Plugin .Text that resizes with browser Demo HTML Design Demo: Design Manager Randy Drisgill .Create HTML Design .Map network drive to Master Page Gallery .Instructions and Troubleshooting: http://support..com/kb/2616712 .Add HTML , Images, & CSS . Design Manager to convert to HTML Master Page .Edit HTML and add Snippets .Customize CSS to change the look .Publish all the files .Apply the Master Page to the site Overview of Steps .Check the DOCTYPE .Conversion likes uppercase like .Watch out for IE Hacks like .Conversion process s confd .JavaScript embedded on page can be bad .Conversion will sometimes cent out the code .Include a separate JavaScript file instead .Watch out for HTTP & HTTPS references .Authenticated SPO s HTTPS .Browser ignore HTTP calls thinking they are insecure .You can protocol relative reference like: //domain.com/jquery.js .Don’t for to Publish all your files .Anonymous folks won’t be able to see them HTML Master Page / SPO Gotchas Advanced Branding Doing Stuff the Old Fashioned Way . a Starter Master Page .StarterMasterPages.CodePlex.Com .Steps similar to Design Manager .Create HTML Design .Map network drive to Master Page Gallery .Instructions and Troubleshooting: http://support..com/kb/2616712 .Add starter master page, as well as images and CSS .Add HTML to Starter Master Page – Arrange functionality with custom HTML .Instead of Snippets - Add controls and move placeholders .Customize CSS to change the look .Publish all the files .Apply the Master Page Creating SP Branding Manually Custom Code in SPO Apps! Apps! Apps! .Self contained functionality web application .Written in con languages like HTML, JavaScript, & .NET connect to SP through REST and Client API’s .Enhance default functionality or UI .You can Apps full page or you can embed functionality on pages App Parts .Developers can write their own .Or find 3 rd party Apps for in the Office Store .Beware – Not all Apps work with SPO Public Sites / Anonymous rs What are Apps? .Bright Banner (Free) – Rotating banner with effects .Location Finder (Free and $9.99) – Mapping .Our Stock Price (Free) – Show current stock prices Example Apps .Cloud = Running on other people's servers .On - Prem has multiple meanings .Location .Build of SP that isn't SPO For more information: http://johnrossjr.wordpress.com/2014/02/25/-on- premises-or-in-the-cloud-why-not-both Cloud vs On - Prem Should you an SPO Public Site? Public Site FarmInstall / On Prem quick nice looking branding highly stylized / complexbranding Migrating Existing Branding Cross-site Publishing&Catalogs Custom Infrastructure s Small-scale brochure site ContentQuery or Search WP’s Legend: Good Choice Better Choice .Lots of options for branding Internet - facing sites .No matter your skill level... .Or requirements... .There's great options! . Online Public Sites .On - Prem w/ Azure or other options What'd we talk about? MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Build Solutions for Mobile Devices Josh Gavant Program Manager Open Technologies, Inc. SPC373 What is MS Open Tech? Android SDK – Files and Lists Android SDK – Mail, Calendar, and Contacts What can you do? ( GitHub ) Cordova App Agenda Office 365 Platform Contextual Apps Robust O365 API’s Flexible Tools Documents People | Groups Mail Tasks Calendars REST Web Services Mission services on non - platforms. Non - service on platforms. What? VM Depot – Linux on Azure Cordova and Angular on Windows HTTP/2.0, WebRTC , HTML5 Standards Cross - platform SDKs for Azure, and now for Office. Android SDK for Office 365 Why? Make it to O365 a into native Android apps. Make calling all those REST APIs easy! When? Preview already available. Where? GitHub : https://github.com/OfficeDev/Office-365-SDK-for- Android Files and Lists SDK Setup Install Java Developer Kit (JDK) Set environment variables Install Android Developer Tools (ADT) Extract, install resources with Android SDK Manager. Set up a virtual Android device. Install Eclipse EGit Add - on for Eclipse to make working with Git repos simple. Prepare Clone GitHub repos with EGit : Android SDK for O365 Azure Authentication Library for Android Import projects you into workspace. Resolve dependencies. Or alternatively… Download the compiled JARs and add them to your project. Demo Set up your development environment FileClient constructor FileClient ( serverUrl , serverRelativeUrl , credentials) .Files() .Files(String libTitle) .File(String path) .createFile(String path) .createFile(String fileName, booleanoverwrite, byte[] content) .delete(String path) .move(String sourcePath, String destPath, booloverwrite) .copy(String sourcePath, String destPath, booloverwrite) ListsClient constructor ListsClient ( serverUrl , serverRelativeUrl , credentials) .Lists(Query query) .List(String listName) .ListItems(String listName, Query query) .ListFields(String listName, Query query) .insertListItem(SPListItemlistItem, SPListlist) .upeListItem(SPListItemlistItem, SPListlist) .deleteListItem(SPListItemlistItem, SPListlist) Futures What is a Future? A Futureis a placeholder for a future result. Hookactions to the completion of a future. Or waiton the future to be completed. Methods return OfficeFutureobjects. Hook up to the results by .done and Actiondelegates Modify the UI from an Action runOnUIThread(). Why? Don’t freeze the UI! Futures OfficeFuture < SPListItem > result = client.ListItem (); result.done (new Action< SPListItem >() { @Override public void run( SPListItem item) { title = item.Title (); } }); OAuth for Devices Server Device Azure Authentication Library Step by step 1.Create an AuthenticationContext 2.Call acquireToken() 3.Handle onActivityResultand pass to AuthenticationContext 4.Waitfor token to be retrieved! For the Lists and Files SDKs : Create an OAuthCredentialand it in the constructors. Demo Create a Lists app Mail, Calendar, Contacts SDK Oa API The founion Setup on OaJClient https://github.com/MSOpenTech/OaJClient Autogenerationfrom $metaa a Maven plugin Build yourself… Install Java Developer Kit (JDK) and set environment variables Install Maven and set environment variables. Clone GitHub repo. Run mvnclean install. …or just download the JAR Add as reference to your project . Entry Point: Me Configuration .setServerBaseUrl(…) .setAuthenticator(…) Me. Calendar() / Events() Calendars() RootFolder() Inbox() / Drafts() SentItems() / DeletedItems() Contacts() Message . /set… properties copy/move() createReply() / createReplyAll() createForward() forward() send() …and many more Android’s AsyncTask AsyncTask < Params,Progress,Result > . doInBackground ( Params …) . onPostExecute (Result) Long - running task on background thread, post results back to the UI thread. Why? Don’t freeze the UI! Demo Create a Mail app What can you do? GitHub github.com/OfficeDev/Office-365-SDK-for-Android Submit Issues Contribute Documentation Fork and submit Pull Requests Samples from this presentation: github.com/joshgav/O365-Android-SDK-Samples Cordova App Cordova in a nutshell Package HTML/JS as native apps for Android, iOS, Windows, Windows Phone… Access to native functionality Camera, Geolocation , Accelerometer, Storage cordova create my - project platform add wp8 plugin add org.apache.cordova.camera build run http://cordova.apache.org/images/cordova_bot.png Demo Show a O365 Cordova App on Android and Windows Phone ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this presentatio n. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Build Your Own REST Service with Web API 2 Scot Hillier MVP Scot Hillier Technical Solutions, LLC SPC404 Scot Hillier scot@scothillier.net @ScotHillier From Bricks to Hos Web Parts Workflows Pages Libraries 2010 2013 App Parts -Hosted Apps Provider-Hosted Apps Agenda .Building RESTful Services .Building Oa Services .Securing WebAPI Services Building RESTful Services REST Constraints .Client - Server .Client pulls representations from the server .Separation of concerns .Stateless .Client provides all necessary context .Server returns all necessary state .Cache .Responses indicate whether or not they can be cached .eTag , e, Expires headers .Interface .Resources are accessible through URIs .Resources operations are through HTTP verbs .The same representations can be d for all operations .Resources are interconnected to allow linking .Layered .Resources are unaffected by proxy servers, gateways, etc . Introducing WebAPI .Framework and tooling for building HTTP - services .RESTful , Oa, custom .Part of ASP.NET MVC .s Controller and Routing paradigm .Tooling, wizards, scaffolding .Simplified creation of REST and Oa services .Simplified of Entity Framework to wrap abase operations .Can be a stand - alone service or part of an app .When added to an app, you make additional manual code upes Controller Client Model - Client - Controller with Web API Model a HTTP Controllers .Controllers inherit from ApiController .By default methods are mapped to HTTP verbs publicIEnumerable () {} publicstring(intid) {} publicvoidPost([FromBody]stringvalue){} publicvoidPut(intid, [FromBody]stringvalue){} publicvoidDelete(intid){} publicclassValuesController: ApiController Routing .Routes are controlled through maps .Routerdecisions if information is missing .By default methods are mapped to HTTP verbs config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults:{ id = RouteParameter.Optional} ); Responding .Content Negotiation is automatic .accept: "application/json" .accept: "application/xml" .Return IQueryable to support query syntax .Return HttpResponseMessage for headers and status publicIQueryable () { vard =List() {"a", "b"}; returnd.AsQueryable(); } publicHttpResponseMessage(intid) { returnRequest.CreateResponse(HttpStatusCode.OK, a[id -1]); } Calling with Managed Code Calling with J avaScript DEMO Creating and Testing a RESTful Service Building Oa Services Open a Protocol (Oa) .Standardized REST API for CRUD operations .Standardized a Types .Standardized URI format Oa Entity Model .Service Document $metaa .Entity Types define entities .Entity Key defines unique property .Associations link entities toher ("Contacts"); builder.EntitySet("Companies"); config.Routes.MapOaRoute("oa", "oa", builder.EdmModel()); DEMO Creating and Testing an Oa Service Securing WebAPI Services General Security Considerations .Secure Sockets Layer – always! .AuthN , AuthZ .Windows .FBA .Basic .Token .OAuth .Same Origin JavaScript .API Controllers directly in the app .Cross - Origin JavaScript .Cross - Origin Resource Sharing (CORS) Cross - Origin Resource Sharing .Allows JavaScript to make a call across domains .Superior to JSONP, which only supports .Supported in current versions of all major browsers .Browser and resource exchange headers .Origin header from browser .Access - Control - Allow - Origin header returned from resource .OPTIONS method d for “pre - flight” requests .Enabling in WebAPI2 .Install ASP.NET WebAPI2 CORS Nu Package .Enable CORS in WebApiConfig . [ EnableCors] attribute in controllers Cross - Origin Resource Sharing Pre-flight request Request Headers Response Headers Security Considerations .Secure Sockets Layer – always! .Always valie calling domain .Allowing all domains can open network to attack Service not valiing domains Page with malicious script Script gains access DEMO Cross Origin Resource Sharing On - Premises Apps and Services .SSL! .Server - to - Server (S2S) High Trust .Windows Authentication required .Designing a Service for solely by your app in same domain .Include WebAPI Controllers in same project .jQuery ajax calls work from JavaScript in Same Origin .Stand - Alone Services .Secure with Windows Auth or Simple Web Token .Enable CORS Cloud Apps and Services .SSL! .Token - Security .Simple Web Token .OAuth .Enable CORS for stand - alone services .SWT is just HTML form - encoded name - value pairs .Audience , the Relying Party. In this case your WebAPI endpoint .ExpiresOn , the token expiration .Issuer , the token issuing authority .Additional custom name - value pairs .HMACSHA256 , Hash - Method Authentication Code of all other name - value pairs in the token. Simple Web Tokens Audience=http://myserver.com/api Issuer=dev.wingtip.com ExpiresOn =1255913549 role=developer over18=true HMACSHA256=N4QeKa3c062VBjnVK6fb+rnwURkcwGXh7EoNK34n0uM= Simple Web Token Flow MVC5 App ( Token Issuing Service) WebAPI Service (Relying Party) Client Simple Web Token Flow MVC5 App ( Token Issuing Service) WebAPI Service (Relying Party) Client Attempt to access secured resource without a token Simple Web Token Flow MVC5 App ( Token Issuing Service) WebAPI Service (Relying Party) Client Redirected to Token Issuer Simple Web Token Flow MVC5 App ( Token Issuing Service) WebAPI Service (Relying Party) Client Log in and Request token Simple Web Token Flow MVC5 App ( Token Issuing Service) WebAPI Service (Relying Party) Client Receive access token Simple Web Token Flow MVC5 App ( Token Issuing Service) WebAPI Service (Relying Party) Client Access resource By passing token with call DEMO Simple Web Token Security Summary .Building RESTful Services .Building Oa Services .Securing WebAPI Services .SPC 413, Complex Problem Solving with HTML5 .Tuesday, March 4, 2014, 10:45 AM - 12:00 PM .Palazzo Ballroom A - H .http://curah..com/56000/-conference-2014-spc413-resources .SPC 400, 3 rd - Party JS Libraries You to Know .Tuesday, March 4, 2014, 3:15 PM - 4:30 PM .Palazzo Ballroom K,L .http://curah..com/56018/-conference-2014-spc400-resources . .SPC 404, Build your own REST service with WebAPI 2 .Wednesday, March 5, 2014, 10:45 AM - 12:00 PM .Palazzo Ballroom A - H .http://curah..com/56111/-conference-2014-spc400-resources s and Resources MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Building Apps with Azure PaaS Kirk Evans Architect, Modern Apps Center of Excellence .Cloud Patterns .Azure Web Sites .Azure Storage .Web Jobs Agenda @ kaevans Cloud Patterns Cloud Computing Software - as - a - Service consume SaaS Platform - as - a - Service build PaaS Infrastructure - as - a - Service host IaaS Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to market can be cumbersome Unpredictable Bursting Unexpected/unplanned peak in demand Sudden spike impacts performance Can’t over provision for extreme cases Compute Growing Fast Successful services s to grow/scale Keeping up w/ growth is big IT challenge Cannot provision hardware fast enough Compute Predictable Bursting Services with micro seasonality trends Peaks due to periodic increased demand IT complexity and wasted capacity Compute Pay only for what you Web Sites Web Sites .Build with ASP.NET, Node.js, Python, or PHP .Deploy in seconds with FTP, Git , or TFS .Start for free , scale up as your traffic grows Which do I choose? Web Sites Cloud Services Virtual Machines Ease of Control Our Scenario App Installed Attach ItemAdded ItemAdded 1 2 3 Azure Web Sites Kirk Evans @ kaevans Storage Windows Azure Storage Abstractions Tables Structured storage. A table is a set of entities; an entity is a set of properties. Queues Reliable storage and delivery of messages for an application. Blobs Simple named files along with metaa for the file. Drives Durable NTFS volumes for Windows Azure applications to . on Blobs. Azure Storage Our Scenario locations ItemAdded 1 PhotoLocation : TableEntity 2 List< PhotoLocation > 3 PhotoLocation 4 Azure Table Storage Kirk Evans @ kaevans Web Jobs Virtual Machines Worker Roles Web Sites Azure Batch Media Services Azure Storage Web Jobs Mobile Services Scheduler HDInsight/ Hadoop Web Jobs .exe - .NET assemblies compiled with WebJobs SDK . cmd , .bat, .exe ( windows cmd ) . sh ( bash) . php ( php ) . py ( python) . js ( node) Azure Storage Our Scenario locations jobs images ItemAdded 1 PhotoLocation : TableEntity 2 “ PartitionKey + RowKey ” 3 “ PartitionKey + RowKey ” 4 Stream 6 Stream 5 Azure Web Jobs Kirk Evans @ kaevans . started for free .10 free Azure web sites .40 MB free Azure SQL abase .Free one month trial .$200 credit .Full access to everything .MSDN Benefit .Credits every month Summary .My s .SPC298 – Introduction to and Windows Azure IaaS .SPC3992 - Solutions and Architectures on Windows Azure Infrastructure Services .Developer s .SPC393 - 7 Tenets of Highly Scalable 2013 Apps .SPC361 - Creating Cloud Hosted Line Of Business Applications with Apps for Office, O365, Azure, and WP8 .SPC419 - Developing Cloud - Hosted Apps with MVC5 .SPC409 – Deep dive: and Office App Security Model ( OAuth & S2S) .SPC325 – Real - world examples of FTC to CAM transformations Related Content .SDK, Tutorials, and Documentation .http://www.windowsazure.com/en-us/develop/net .Blogs .Creating a 2013 App With Azure Web Sites .Attaching Remote Event Receivers to Lists in the Host Web .Building a App as a Timer Job .Scaling up and scaling out in Windows Azure Web Sites .Best Practices for Windows Azure Web Sites .Introducing Windows Azure Web Jobs Links My s Related s http://officeams.codeplex.com Source for great reference app implementations Publishing channel for ready to examples on apps, which you can in your own projects ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Real - world challenges and value in introducing enterprise social Melanie Hohertz Online Cunications Lead Cargill SP295 Your 60 minutes Who? What? Why? Cargill, our team and our network Lessons learned Engagement, governance, measurement Today’s challenges Scale, pace, integration Who? What? Why? Darin Mark Chad Lise Steve Axel C:\tdeis\Appa\Local\Temp\vmware-tdeis\VMwareDnD\5e68f61a\42-18967538 full page.jpg Cargill Our purpose is to be the global leader in nourishing people 18K in 64 countries We stopped counting YamJams when we hit 20 . 35 % of our corporate leaders have YamJam experience. We’re a young network still pursuing our vision for value . what Cargill knows Dust explosion prevention Thermophilic acidophilic bacteria control Colza oil Kaizen SAP t - codes Digital signatures and e - invoicing PCS7 sequencing X - ray inspection systems Immunoglobins… Share, solve, innovate at scale Zero cat videos posted since August 2012. Your 60 minutes Who? What? Why? Lessons learned Engagement, governance, measurement Lessons learned Rocket science 1.Start strong 2. help 3.Set “just enough” policy 4.Measure 5.Persist Start strong Begin with the business case Seed groups Tar leaders and events all your channels Train and support Value begins here Share and leverage knowledge Increase cross - selling Faster responses to customer inquiries Discover expertise and existing resources answers without knowing who can help Improve operations with best practices Avoid duplication and rework Form global, virtual workgroups Advance projects faster Increase innovation and research productivity Ideate globally How? Seed and feed Tar leaders & events “None of this was business-as-usual at Cargill. And that’s good.” all your channels Train and support Network survival kit Groups New rs Help and Support Notes Start Here: Key Help Resources Yay, I’m in Yammer! What Now ? Files Etiquette Guide Upe Name, Photo and Profile help Cunications Administrative assistants IT Risk managers Power Cunity managers On the fence Gatekeepers IT is central We risk managers Meet Power r #1 It’s what they do Cunity management… And now, a few words on policy… About control… #Candor #In Memoriam Measure System analytics r reporting Examples B eat the “90 - 9 - 1” ratio for collaborative sites. Track your 7 - day results, not your 28 - day results. Nice to meet you Persist Habit Company norms Change fatigue “I’m a dinosaur” Change fatigue Are we there yet? Your 60 65? minutes Who? What? Why? Lessons learned Today’s challenges Scale, pace, integration Today’s challenges Scale Pace Integration It’s worth doing well Thanks! #SPC14 Enterprise Social Related Content See you at the 2 Social booth & 3 Social tables at Asks the Experts WED @6:15! Room Time A responsive organization stays ahead of the competition SPC104 Delphino4001 MON 2:00 Trek Bikes: pedaling past complex collaboration problems in the enterprise SPC386 Delphino4005 MON 2:00 's vision and roadmap for Enterprise Social SPC282 Delphino4005 MON 3:45 : Our Enterprise Social Journey SPC280 Lido 3001 MON 3:45 Nationwide: Building a World-Renowned Intranet with SP 2013 & Yammer SPC311 Murano3204 TUE 9:00 Real-world, best practices for making enterprise social successful SPC239 Delphino4005 TUE 9:00 Make your portal social in 1-2-3! SCP378 Palazzo M,N TUE 9:00 Overview of Yammer app development SPC332 Palazzo O, P TUE 9:00 Yammer External Networks: Engaging Customers and Partners SPC248 Murano3204 TUE 10:45 Cargill: Real-world challenges and value in introducing enterprise social SPC295 Delphino4001 TUE 10:45 Integrating Yammer and .NET SPC380 Palazzo O, P TUE 1:45 Work like a network: The power of Enterprise Social SPC112 Marcello 4401 TUE 3:15 Best practices for breaking down organizational barriers Yammer SPC264 Delphino4005 TUE 3:15 Overview of configuring Yammer SSO & Directory Sync SPC368 Titian 2201 TUE 3:15 Successful team collaboration with Yammer & SPC247 Delphino4005 TUE 5:00 Driving enterprise social from the bottom up SPC266 Delphino4005 WED 9:00 Developing socially connected apps with Yammer, and OpenGraph SPC371 Palazzo O, P WED 9:00 Giving voice to frontline workers via enterprise social SPC263 Delphino4005 WED 10:45 Yammer mining -dig in and "listen" to what your big *social* a is saying SPC3991 Murano3204 WED 1:45 How to become a Yammer Power r in 75 minutes SPC275 Delphino4005 WED 5:00 Knowledge Management with and Yammer SPC246 Delphino4005 THU 9:00 Measuring Business Value with Yammer SPC392 Delphino4005 THU 10:30 #WorkLikeANetwork Enterprise Social Resources Sites, Blogs & Twitter .Enterprise Social Customer Success-Yammer Success Center– EnterpriseSocial.com- The Responsive Org .Admin & IT-Developers-Yammer App Directory-Office Store-Yammer Ignite .Blogs: YammerOffice 365Twitter: @Yammer@Office365 Research/Whitepaper .Gartner: Magic Quadrant for Social Software in the Workplace- Evolution of the networked enterprise: McKinsey Global Survey results- Yammer’s 2013 Business Value Survey Results- The Rise Of Enterprise Social Networks Press .How Red Robin Transformed Its Business With Yammer- How Teach for America s the most out of Yammer on a shoestring bud- HK firm creates idea melting pot for 4,000 employees- LexisNexis found that employees who Yammer are way happier- Switching to Yammer let this company slash helpdesk calls and save $1.5 million a year- How got its own employees to Yammer Videos .Move Faster Toher .Transform the Way You Work with Yammer #WorkLikeANetwork MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Client - Side Rendering (CSR) demystified Wes Preston Owner / Consultant TrecStone , LLC. SPC318 Abstract 2013, both in Office 365 and on - premises, provides the ability to customize how list views and forms are displayed JavaScript and HTML without managed code. This includes a primer on implementing customizations through the Web interface with examples such as conditional formatting - custom options no longer available through the Designer tool. .Who? Developers AND Info Workers .Explain where CSR + JS Link fits into the toolset .Explain the basics of JS Link to implement CSR .Show some practical examples .Review, governance, and resources Objectives and Tar Audience Wes Preston Owner / Principal Consultant - TrecStone in Minneapolis, MN Certification, etc. MVP – Server (2009 - ) MCITP – Administrator 2010 MCTS – 2010, Configuration MCTS – WSS 3.0 and MOSS Configuration Contact: www.idubbs.com/blog @ idubbs http://idubbs.com/blog/wp-content/uploads/2009/02/mvp_horizontal_blueonly.png Raymond Mitchell Managing the ‘Second Screen’ experience Owner / Principal Consultant – IWSpace in Minneapolis, MN / Wisconsin ‘ ing ’ since 2000 Contact: www.iwkid.com @ iwkid .Overview .General Features .Making it work .Scenarios and Examples .Simple and Conditional Formatting .Item Override .Hide Form Fields .Row Highlighting .Building Item - specific content .Governance, References, and Wrap - up Agenda .rs can’t a view to do what they .rs requesting specific UX .r perception of ‘minor’ changes ed quickly . Designer no longer supports Design View changes The ‘Why’ . pre - 2013 handled display templates on the server XSLT. . 2013 moved rendering to the client/browser side JavaScript .List a + Rendering Template - > HTML .s established web technologies .JavaScript, HTML, CSS What is Client - Side Rendering (CSR) .Default rendering behavior is handled by JavaScript . has built - in hooks for customizing output .CSR customization requires injecting JavaScript into the page Enter ‘JS Link’… Customizing with CSR .JS Link is aweb part property .ONLY available in 2013 .All versions: Founion, Server, O365 .References one or more JavaScript files .~site /_catalogs/ masterpage /myJavaScript.js .~site / SiteAssets /myJavaScript.js . a URL token – not a relative path Overview – What is JS Link .a is still managed by the list, the schema, and the selected view (filtering and sorting) .JS Link facilitates changing the display of the a, NOT the underlying a The a Making it work .An app (list or library), Fields and Views .An app part .The JS Link web part property value .The Override (one or more JavaScript files) Core Components .PreRender – Modify client - side a before it is rendered .Overrides – Overriding how different components of the Fields or View will be displayed .PostRender – Traditional DOM manipulation Three Override Techniques .Fields .Items .Header .Footer .Group JavaScript – Override Opportunities Examples Demo Simple and Conditional Field Formatting . the Field override Simple and Conditional Formatting Field Override (function () { var overrideCtx = {}; overrideCtx.Templates = {}; overrideCtx.Templates.Fields = { 'Status':{'View': '<#= ctx.CurrentItem.Status #>'} }; SPClientTemplates.TemplateManager.RegisterTemplate Overrides ( overrideCtx ); })(); .'Status':{'View': '<#= ctx.CurrentItem.Status #>'} Simple and Conditional Formatting .Add rules to the formatting… Conditional Formatting Field Override overrideCtx.Templates.Fields = { 'Status ':{'View': ConditionalStatus }, 'Priority ':{'View': ConditionalPriority } }; function ConditionalStatus… Field Override function ConditionalStatus ( ctx ) { var ret; if ( ctx.CurrentItem.Status == "Active" ) { ret = "" + ctx.CurrentItem.Status + ""; } else {ret = ctx.CurrentItem.Status ;} return ret ; //HTML String } .Adding conditions, Multiple field overrides, and building output string Conditional Formatting Demo Item Override .Requires more work than Field overrides. You’re building out all the a and formatting Item Override Item Override (function () { var overrideCtx = {}; overrideCtx.Templates = {}; overrideCtx.Templates.Item = CustomItem ; overrideCtx.Templates.Header = "More of a 'digest ' form of output< br >< br >"; overrideCtx.Templates.Footer = "< br >"; SPClientTemplates.TemplateManager.RegisterTemplate Overrides( overrideCtx ); })(); Item Override function CustomItem ( ctx ) { var ret = "Issue Title: " + ctx.CurrentItem.Title + "" ; ret += "< br >Created e: " + ctx.CurrentItem.Created ; ret += "< br >Assigned To: " + ctx.CurrentItem [" AssignedTo "][0].title + ""; ret += "< br >" + ctx.CurrentItem.Cent ; return ret; } .Create a header .Build out the displayed a and structure HTML, CSS, and JavaScript . web design tools for building out the HTML .Create a footer Item Override Demo Hide Form Fields .I want the columns in the list, but don’t always want them available to rs. .There are three default forms created with each app .New Form, Edit Form, Display Form .Editing the forms pages themselves Hide Form Fields .We are limited in what we can easily do with traditional JavaScript .This scenario is a good opportunity to leverage jQuery or other libraries Hide Form Fields Hide Form Fields function HideFields () { $(" textarea [title=Cents']"). closest(" tr ").hide(); $(" div[title= 'Assigned To ']").closest(" tr ").hide(); } Hide Form Fields Before: Default After: Hide Fields .Identify when and where this approach can be d in your organization vs. other solutions .Be consistent with your broader jQuery approach .Hiding fields is not security. only does security down to the item level, we’re modifying the UI for a better UX Hide Form Fields - Governance Demo Row Highlighting .Conly done in the past with SPD to improve a visualization Row Highlighting Row Highlighting ( function () { var overrideCtx = {}; overrideCtx.Templates = {}; overrideCtx.OnPostRender = [ HighlightRowOverride ]; SPClientTemplates.TemplateManager.RegisterTemplate Overrides ( overrideCtx ); })(); Row Highlighting function HighlightRowOverride ( inCtx ) { for ( var i = 0; i < inCtx.Lista.Row.length ; ++ i ) { var listItem = inCtx.Lista.Row [ i ]; var iid = GenerateIIDForListItem ( inCtx , listItem ); var row = document.ElementById ( iid ); if ( listItem.Priority == "(1) High") { if (row != null) row.style.backgroundColor = " rgba (255, 0, 0, 0.5)"; } } inCtx.skipNextAnimation = true; } . PostRender – to add the formatting after the list has already rendered Row Highlighting Demo Build Item - Specific Links .rs want to start a workflow more easily: Build Links .Add a text field to the list “Poke” .Add thefield to the view being d . the URL of the page the web part is on - Source Build Links Build Links (function () { var overrideCtx = {}; overrideCtx.Templates = {}; overrideCtx.Templates.Fields = { 'Poke': { 'View' : WorkflowField } }; SPClientTemplates.TemplateManager.RegisterTemp lateOverrides ( overrideCtx ); })(); .Go to an item, start a workflow, the URL of the initiation form .We’ll be deconstructing this link and rebuilding it .This includes the ListID .This includes the TemplateID of the current workflow . the URL of the page you want to land on after the workflow starts .Figure out what the link name will be Build Links Build Links function WorkflowField ( ctx ) { var ret = ""; ret = "Poke"; return ret; } .Could create columns for different actions… Build Links What will you CSR for? Notes and Recap .There can be conflicts between MDS and code injected JS Link. .Make your code MDS - friendly (see blog post) Notes: Minimal Download Strategy (MDS) .Still to follow code guidelines . to establish someones for CSR/ JSLink .Where are the files? .Best practice for con libraries, locations, etc. .Code reviews? .Documentation: FAQ, examples, etc… Governance .SPC400: Scot Hillier – 3 rd party JavaScript libraries you to know .Tuesday @ 3:15 pm .SPC3000: Cory Roth – Changing the look of Search Display Templates and CSR .Thursday @ 10:30 am Related s .CSR / JS Link Primer – My Blog http://www.idubbs.com/blog/2012/js-link-for--2013-web-partsa- quick-functional-primer/ .JS Link – Hello World http://www.idubbs.com/blog/2014/js-link-hello-world/ .JS Link – Row Highlighting http://www.idubbs.com/blog/2014/js - link - highlighting - a - row - with - csr / .JS Link - Conditional Formatting http://www.idubbs.com/blog/2014/js-link-csr-view-conditional-formatting/ My Blog Posts .Mark’s Posts: http://geekswithblogs.net/SoYouKnow/archive/2011/07/28/a- dummies-guide-to--and-jqueryndashting- started.aspx http://www.hillbilly.com/Lists/Posts/Post.aspx?ID=47 .How to load jquery in the JSLink file http://www.rbradbrook.co.uk/Blog/Post/12/Customising-the- NewForm-with-JSLink .Hide the < tr > code: http://stackoverflow.com/questions/10010405/how-to-hide-a- field-in--display-form--on-the-field-name-jquery References – Hide Form Fields .Paul Hunt http://www.slideshare.net/Cimares/spssthlm--jslink-and-display- templates-for-itpros .Martin Hatch http://www.martinhatch.com/2013/08/jslink-and-display-templates-part- 1.html .Phil Jirsa – MVC Pattern with CSR http://36mph.com/100#more-100 References – Other JS Link and CSR .Modify Forms Content Types – Sarah Haase http://blog.splibrarian.com/2011/03/21/-content-types-to-modify-the- newform-aspx-and-editform-aspx-pages/ .jQuery and JS Link http://prasadpathak.wordpress.com/category/-/ .MDS http://blogs.msdn.com/b/sridhara/archive/2013/02/08/register-csr- override-on-mds-enabled--2013-site.aspx .List Type Reference (MS) http://msdn..com/en- us/library/..client.listtemplatetype(v=office.15).aspx References .Raymond Mitchell @ iwkid .Phil Jirsa @36mph .Mark Rackley @ mrackley .Sonya Koptyev @ sonyakoptyev .Jon Campbell @ MSFT_JonCamp Thanks! .Don’t for to submit your feedback .Submit questions and look for more information on the Yammer link page .Try these out !! Thank you! MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Collaborating with Office and Office Online Mike Morton Principal GPM Office Online SPC213 True or False: Mike Morton is personally responsible for putting in the dictionary? .I was an original member of the team .I worked on the team for the first 3 releases (1999 - 2007) .I specified many features .Document libraries .Lists (including custom fields, views, etc.) .Visual Blueprint and Navigation . Object Model .CAML (anyone remember that?) .Surveys, Calendar, Blogs, Wikis, Contacts, Tasks, Discussion Boards Facts .I have the patent for “Web Server Document Library” .US Patent #6915229 – look it up! More Facts Truth What is Office Online? C:\v-junyo\Desktop\Word Web App_Edit_Firefox.JPG Edit the same file in real time with friends or colleagues Real Office documents, presentations and spreadsheets on the Web .“Office Web Apps” - > “Office Online” .“Word Web App” - > “Word Online” .“Excel Web App” - > “Excel Online” .“PowerPoint Web App” – > “PowerPoint Online” .“OneNote Web App” - > “OneNote Online” .Why change the name? .The term ‘App’ was conf… often associated with app stores and devices .Easier for people to say and explain to their friends/colleagues Office Online – Aname and vision Collaborative Share with anyone with confidence. They will experience your work with the highest fidelity. Edit with others in real-time. Familiar Office features, UI, and experiencesthat customers know –even if you don’t have Office on your machine. W:\Open Engagements\Productivity\MS-Unified Cunications\#1601 BizProd MOD Team Core Content Work\New Iconography\Words\Draft\62212_words\IncreaseProductivity_062212_white-01.png Trusted Documents can be viewed and edited across browsers, platformsand devices without conversion or loss of formatting. Office Online Guiding Principles Office Online in the Enterprise Enterprise Information Workers Deskless Workers Rich features provide full messaging and collaboration capabilities that employees C:\v-clapal\Pictures\hero-collaboration.jpg Cost effective offering for workers who do not have a dedicated PC and messaging and collaboration capabilities today A brief history Release History Where do I find Office Online? http://office.com OneDrive Publicly available to anyone with a account http://office.com/ On-Premises Upes will be available for Office Web App Server deployments Interface with , Exchange, Lync, etc. Office 365 An option within Office 365 service OneDrivefor Business Where is Office Online? What devices can I with Office Online Office Online (Web) vs. Office apps (Native) .Office Online will provide the broadest reach and availability .Office will also build native apps that take advantage of the rich capabilities and form factors of popular devices .We do not think of it as an either/or question. We want Office to be available wherever our customers go. Demo –Office Online Mike Morton Office Online Roadmap Bringing Office Online Online Productivity Office Across Devices Social and Collaboration Office Ecosystem W:\Open Engagements\Productivity\MS-Unified Cunications\#1601 BizProd MOD Team Core Content Work\New Iconography\Words\Draft\061312_Word_\Social_061312_white-07.png Looking back More Office online: layouts, pictures/animations, a analysis Real time co- authoring Looking forward Most con authoring features Integrated cunications Change visualization Touch/iPad support Android tablet support Performance and r experience Direct Print New in Office Online Auto Save Changes saved automatically across all applications Real-time presence See where your co-authors are working Real-time changes See co-author’s changes to text and formatting as they happen Real - time Collaboration New in Office Online Excel Online Freeze pane and a valiion support, auto-complete, sorting ranges, re-order sheets and hide and unhide rows, columns and sheets. Word Online Find & Replace, Table formatting, Headers and Footers PowerPoint Online Newthemes/variants, transitions/animations, shape formatting and manipulation Investment areas in the latest release Authoring Tools New in Office Online Edit on Tablets Touch-enabled editing on tablets Broad Viewing Support on Phones Touch-enabled viewing from most phone browsers Investment areas in the latest release Viewing Editing Touch Enabled Browsers PCs/Macs Tablets Phones Across Devices Demo –Office.com Mike Morton How We Build Office Online .Office Online is built as a service first .New capabilities will come in frequently .Service can be uped daily, though on most days changes will be minor fixes or optimizations Frequent upes .a will help ensure that we are investing in capabilities with the highest positive impact .Experimentation and innovation are a fundamental aspect of Office Online .Examples – Autosave , Real - time co - authoring, Rename , Tell Me, etc . .We trythings first in the ‘consumer’ service a Informed .We expect to increase product quality through more frequent upes .Telemetry will show us the most impactful problems .We will not make changes frequently that we expect will require significant re - learning Product Quality Calls to Action . Office Online .If it has been more than a couple of months since you’ve last d it, you be surprised to see all the improvements! .Go to Office.com .While today this is a consumer experience, it demonstrates our c and direction for Office Online .Send us feedback . Click “Help Improve Office” on the status bar of Office Online .Want to participate in a usability study? Contact BeccaS@.com Calls to action Questions? MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Complex Problem Solving with theHTML5 APIs Scot Hillier MVP Scot Hillier Technical Solutions, LLC SPC413 Scot Hillier scot@scothillier.net @ScotHillier From Bricks to Hos Web Parts Workflows Pages Libraries 2010 2013 App Parts -Hosted Apps Provider-Hosted Apps Agenda .Responsive IFrames .postMessage .Single - Page App AJAX Navigation .h istory object .App Part Cunication .Server - Sent Events .Web Sockets .Improved Performance .Web Workers . Context .Web Storage .Geolocation HTML5 Quick Review A Simple HTML5 Page Asimpler DOCTYPE Asemantic element Afunctional element New HTML5 Semantic Tags .< header> .< nav> .< section> .< article> .< figure> .< dialog> .< aside> .< hgroup> .< time> .< footer>

New Functional Elements .New Elements Provide Functional Behavior .< canvas> .< svg> .< audio> .< video> .< source> .< cand> .< alist> .< embed> CSS3 Changes .CSS3 Adds ManyCSS Properties .Borders can have rounded corners .Element can have multiple backgrounds with greater placement precision .Colors can be ed with gradients and opacity .Text can have drop shadows and more control over text wrap .Partial adoption ofproperties has been going on for years .Some browsers supportproperties proprietary prefixes .-ms-Internet Explorer (Trident ) .-webkit-Google, Chrome & Safari (Gecko) .-moz-Firefox (Mozilla) .-o-Opera (Presto) APIs .Media .Drag and Drop .Offline Applications .Mime Type and Protocol Handler Registration .Canvas .Messaging .History .Server - Sent Events .Web Sockets .Web Workers .Web Storage Responsive App Parts Overview .Challenge .App Parts appear in IFRAMEs . controls the IFRAME size .App Part require different area than allotted .App Part should respond to different frame sizes .Solution .Media Queries with window.matchMedia .postMessage to request larger IFRAME .Allows for styling on device properties .width, height .device - width, device height .orientation .aspect - ratio .device - aspect - ratio .color .color - index .monochrome .resolution .scan .grid Media Queries Media Queries //media query with JavaScript varmq= window.matchMedia("(device-width:600px)"); mq.addListener(function () { //do something; }); postMessage .Allows text messages to be sent between windows .Works across domains .Message sends additional information .Domain of the window sending the message .Full URI of the sending window .A reference to the sending window object for two - way cunication .Security .Verify domain or URI before accepting .Purify the message to avoid script injection Senders and Receivers //sender varwin = document.ElementById ( "iframe"). contentWindow ; win.postMessage ( "Hello!"); //receiver document.addEventListener ( "message", function(e){ //e.domain, e.uri, e.a, e.source }, false ); //request iframeresize for app part window.parent.postMessage ( "resize({height},{width})", this.location.hostname ); 2013 listens for “resize” message DEMO Responsive App Parts AJAX Navigation Overview .Challenge .Single - Page Apps (SPA) are trending .No postbacks gives great r experience .No postbacks the browser navigation less .Solution .AJAX Navigation with history object .pushState and replaceState to manage history stack .Include custom state information .window.onpopstate to detect back and forward DEMO AJAX Navigation App Part Cunication Overview .Challenge .Web Parts can be “connected” through the UI .App Parts do not support connections .Solutions .Shared message broker with Server - Sent events .Shared message broker with Web Sockets Server - Sent Events .Server can stream (push) messages and a to JavaScript client .WebAPI service utilizes the PushStreamContent class .Responds to endpoint .Opens Stream to client publicHttpResponseMessage(stringappId){ HttpResponseMessageresponse = Request.CreateResponse(); response.Content=PushStreamContent((stream, httpContent, context) => { StreamWriterwriter =StreamWriter(stream); writer.WriteLine("a:hello"); writer.WriteLine(); }, "text/event-stream"); returnresponse; } Server - Sent Events .Client creates endpoint window.EventSource .Check for support if( window.EventSource ) .Internet Explorer does not support .Other major browsers do if (!!window.EventSource) { varsource =EventSource('http://dev.wingtip.com/api/chat/'); source.addEventListener('message', function (e) { console.log(e.a); }, false); } else { // polyfill } DEMO Connecting App Parts with Server - Sent Events Web Sockets .Two - way cunication between client and server . a WebSocket Server .Roll your own in C# .Alchemy http://alchemywebsockets.net/ .Client opens connection window.WebSocket Web Sockets varwebsocket = WebSocket ( "ws://myserver"); websocket.onopen = function (e) { alert( "Connected!"); }; websocket.onclose = function (e) { alert( "Disconnected"); }; websocket.onmessage = function (e) { alert( e.a ); }; websocket.onerror = function (e) { alert( e.a ); }; websocket.send ( "Hello"); DEMO Message Queuing with WebSockets Multithreading Overview .Challenge .JavaScript is historically single - threaded .Main thread can be blocked by long - running or intensive processes .Solution . Web Workers to spawnthread .Types .Dedicated ( Worker object), dedicated to one caller .Shared ( SharedWorker object), supports multiple callers .Capabilities .t his and self reference the Web Worker itself .importScripts allows referencing additional libraries .Restrictions .All cunication is via postMessage .Cannot access the DOM Web Workers Web Workers //client varworker =Worker( 'task.js'); worker.addEventListener ('message', function(e) { //e.ais the response message }, false); worker.postMessage (); //worker self.addEventListener ( 'message', function(e) { //do something and call back self.postMessage ( 'response'); }, false); DEMO Type Ahead Maintaining Context Overview .Challenge . Context be maintained across pages .Solution .Cache context with Web Storage .Add ful information with Geolocation Web Storage .Types .Local, persistent a through localStorage ., - storage through Storage .Store key - value pairs as strings .Keys be unique .Serialize/ deserialize objects with JSON stringify /parse .Can handle events for a changes Web Storage //save localStorage.setItem ( "key", "value"); Storage.setItem ( "myobj", JSON.stringify (object )); //retrieve varstring = localStorage.Item ( "key"); varobject = JSON.parse ( Storage.Item ( "myobj")); //storage event w indow.onstorage = function(e) { //e.key //e.oldValue //e.newValue //e.storageArea } DEMO Maintaining Context Summary .Responsive IFrames .postMessage .Single - Page App AJAX Navigation .h istory object .App Part Cunication .Server - Sent Events .Web Sockets .Improved Performance .Web Workers . Context .Web Storage .Geolocation . .SPC 413, Complex Problem Solving with HTML5 .Tuesday, March 4, 2014, 10:45 AM - 12:00 PM .Palazzo Ballroom A - H .http://curah..com/56000/-conference-2014-spc413-resources .SPC 400, 3 rd - Party JS Libraries You to Know .Tuesday, March 4, 2014, 3:15 PM - 4:30 PM .Palazzo Ballroom K,L .http://curah..com/56018/-conference-2014-spc400-resources .SPC 404, Build your own REST service with WebAPI 2 .Wednesday, March 5, 2014, 10:45 AM - 12:00 PM .Palazzo Ballroom A - H .http://curah..com/56111/-conference-2014-spc400-resources s and Resources MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Content Types, Managed Metaa, and You Lori Gowin Premier Field Engineer SPC226 .What are Content Types? .Why Content Types? .What is Managed Metaa? .Implementing Content Types and Managed Metaa .Planning .Implementation Agenda What are Content Types? Re - usable group of settings for a category of content Definition Content Type Components Template Custom Forms Metaa Columns Workflows Information Management Policies Document Information Panel Person as a Content Type •Human Template •Name : Bob Jones •Eye Color •Height •Hair Color •Favorite Color Metaa •Retire by 62.5 Years of Age Information Management Policy •Grow up •Education •Family Workflow Enterprise Content Types Site content types List content types Where Do Content Types Exist? .Item .Document .Pages .Articles .Tasks .Contacts comes with Content Types TIP Don’t modify the Out- of-the-box content types. You have some very unexpected and undesirable behavior. .Parent - Child relationship .Child content types inherit settings from parents. .Changes to parent content types will change child content types. *Note: Categories do not affect Parent-Child relationships. Content Type Relationships Why Content Types? Put same kind of content in multiple locations Put different kinds of content in the same location Categorize content for r Standardize behavior for types of content (workflows) Centralize settings and management. Roll up a Content Types Extend Capabilities Benefits Benefits for rs •Better descriptions of a •Easy to organize •Sort and filter views (especially helpful for large amounts of a) •Standards • it “idiot proof” •Automation •Aggregation Search Benefits •Metaa allows you to better search results •Filter/Restrict search results by content type What is Managed Metaa? .Provides the Content Type publishing for Enterprise content types. .Provides a framework for managing metaa terms .Taxonomy .Folksonomy Managed Metaa Service Manage Term Set Groups Manage Term Sets & Terms •Synonyms •Languages Arranging a hierarchy Term Store Administration .Navigation and Filtering .Indexed Queries .Consistency of Terms .Distribute management of terms Benefits of Managed Metaa Implementing Content Types and Managed Metaa Don’t rush through the planning phase or skip it! Plan Terminology .What terms will you throughout the organization .Do they to be standardized .Key to minimize confusion Team Business Unit Division Manager Agent Supervisor Department Team Member Chief Employee Invoices Contacts Meetings Contracts Press releases Evaluations Vacation Requests Letters Projects Procedures Memos Products *Remember: Content types and changes roll down, not up. Create your content type at the highest possible level of .Enterprise – Highest, can be d anywhere in the environment. .Site Collection – Can be d in any list, library, or site in that site collection. .Site/Web – Can be d in any list, library or sub - site/web of that site/web only. .List/Library – Can only be d in that list or library. Determine the Scope of the Content Type .Who will create content types .What Scope will they be able to create and manage? .Will metaa be stored? .Will it be for only that site or farm wide? .Will there to be others involved in managing the content type or term set? .Will it change often? *Don’t for to teach them and give them the tools to make them successful as well! Identify Owners and Managers Plan metaa and columns Plan templates Plan relationships •Plan metaa relationships •Plan content type relationships Define your Content Types .Pen & Paper . Content Type Planning Worksheet http://go..com/fwlink/p/?LinkID=165878 .Whiteboard .Mind Mapping Software .Visio .Excel .OneNote Planning Tools Demo Planning tools Implementing Content Types and Managed Metaa Create Term Sets and terms if ed Content types with the least amount of settings Content types with settings that will to be shared with other content types •Parents come first! Start at the Beginning .Create your site columns as ed .Don’t overlook the OOTB Site columns, many have already been created for you . Site Columns .Name your Content Types something meaningful .Don’t overlook the description of the content type, this will help yourwhen working with content types. .Place your content types into categories that are meaningful as well. This will help you to find them when you to make a change. .Don’t just “Custom Content Types” .If you have multiple divisions or sub - companies consider their names in the categories. Categories and Names Demo Implementing .Set List/Library settings to allow management of Content Types .Add yourContent Types .Edit Properties of each item and selectcontent type Fixing Current Lists and Libraries Q&A Thank you MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Content Types, Managed Metaa, and You Lori Gowin Premier Field Engineer SPC226 .What are Content Types? .Why Content Types? .What is Managed Metaa? .Implementing Content Types and Managed Metaa .Planning .Implementation Agenda What are Content Types? Re - usable group of settings for a category of content Definition Content Type Components Template Custom Forms Metaa Columns Workflows Information Management Policies Document Information Panel Person as a Content Type •Human Template •Name : Bob Jones •Eye Color •Height •Hair Color •Favorite Color Metaa •Retire by 62.5 Years of Age Information Management Policy •Grow up •Education •Family Workflow Enterprise Content Types Site content types List content types Where Do Content Types Exist? .Item .Document .Pages .Articles .Tasks .Contacts comes with Content Types TIP Don’t modify the Out- of-the-box content types. You have some very unexpected and undesirable behavior. .Parent - Child relationship .Child content types inherit settings from parents. .Changes to parent content types will change child content types. *Note: Categories do not affect Parent-Child relationships. Content Type Relationships Why Content Types? Put same kind of content in multiple locations Put different kinds of content in the same location Categorize content for r Standardize behavior for types of content (workflows) Centralize settings and management. Roll up a Content Types Extend Capabilities Benefits Benefits for rs •Better descriptions of a •Easy to organize •Sort and filter views (especially helpful for large amounts of a) •Standards • it “idiot proof” •Automation •Aggregation Search Benefits •Metaa allows you to better search results •Filter/Restrict search results by content type What is Managed Metaa? .Provides the Content Type publishing for Enterprise content types. .Provides a framework for managing metaa terms .Taxonomy .Folksonomy Managed Metaa Service Manage Term Set Groups Manage Term Sets & Terms •Synonyms •Languages Arranging a hierarchy Term Store Administration .Navigation and Filtering .Indexed Queries .Consistency of Terms .Distribute management of terms Benefits of Managed Metaa Implementing Content Types and Managed Metaa Don’t rush through the planning phase or skip it! Plan Terminology .What terms will you throughout the organization .Do they to be standardized .Key to minimize confusion Team Business Unit Division Manager Agent Supervisor Department Team Member Chief Employee Invoices Contacts Meetings Contracts Press releases Evaluations Vacation Requests Letters Projects Procedures Memos Products *Remember: Content types and changes roll down, not up. Create your content type at the highest possible level of .Enterprise – Highest, can be d anywhere in the environment. .Site Collection – Can be d in any list, library, or site in that site collection. .Site/Web – Can be d in any list, library or sub - site/web of that site/web only. .List/Library – Can only be d in that list or library. Determine the Scope of the Content Type .Who will create content types .What Scope will they be able to create and manage? .Will metaa be stored? .Will it be for only that site or farm wide? .Will there to be others involved in managing the content type or term set? .Will it change often? *Don’t for to teach them and give them the tools to make them successful as well! Identify Owners and Managers Plan metaa and columns Plan templates Plan relationships •Plan metaa relationships •Plan content type relationships Define your Content Types .Pen & Paper . Content Type Planning Worksheet http://go..com/fwlink/p/?LinkID=165878 .Whiteboard .Mind Mapping Software .Visio .Excel .OneNote Planning Tools Demo Planning tools Implementing Content Types and Managed Metaa Create Term Sets and terms if ed Content types with the least amount of settings Content types with settings that will to be shared with other content types •Parents come first! Start at the Beginning .Create your site columns as ed .Don’t overlook the OOTB Site columns, many have already been created for you . Site Columns .Name your Content Types something meaningful .Don’t overlook the description of the content type, this will help yourwhen working with content types. .Place your content types into categories that are meaningful as well. This will help you to find them when you to make a change. .Don’t just “Custom Content Types” .If you have multiple divisions or sub - companies consider their names in the categories. Categories and Names Demo Implementing .Set List/Library settings to allow management of Content Types .Add yourContent Types .Edit Properties of each item and selectcontent type Fixing Current Lists and Libraries Q&A Thank you MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Creating Cloud Hosted Line Of Business Applications with Apps for Office, O365, Azure, and WP8 Todd Baginski Michael Sherman Canviz Consulting, LLC. Who is this guy? Todd Baginski Vice President, Mobility & Solutions, CANVIZ Consulting Wannabe ski patroller & ski instructor and 8 Time MVP @toddbaginski http://www.canviz.com http://www.toddbaginski.com/blog http://promag.com/blog/todd-baginski-- development Who is this guy? Michael Sherman Sr. Architect, & Web, CANVIZ Consulting 10 - year geek ( dev , ops & arch.) 20 - year 12th Man (# gohawks ) @UWSherm http://www.linkedin.com/in/uwsherm/ http://www.canviz.com Office 365 Platform Contextual Apps Robust O365 API’s Flexible Tools Documents People | Groups Mail Tasks Calendars REST Web Services .Set the stage .How do Apps for Office, O365, and Azure make creating line of business apps in the cloud possible? .SuperUltraMega Demo .Innovation Management .Walkthrough .Wrap up Agenda Key Takeaways With the cloud app model for , Apps for Office, and Azure you can create cloud hosted line of business applications for a mobile workforce. Scenario Overview .Business Objectives .Company wishes to create a mobile enabled toolset to enable innovation management processes to generate a series of innovative ideas for products/additions to existing products .Iterate on the set of ideas to select the top 2 - 3 to prototype .Select a final design to hand off to Engineering for full implementation .Technical Objectives .Develop a 100% cloud - solution web browsers, Office applications and mobile devices to access the toolset Innovation Management is one of the top 10 business processes identified in a recent MS survey. Innovation Management Process Architecture Components Clients C:\Todd\Documents\Canviz\Clients\DPE\SP Camp Demo\Images\word 2013 logo.png C:\Todd\Documents\Canviz\Clients\DPE\SP Camp Demo\Images\windows 8 logo.png MS Word + Apps for Office MS Excel + Apps for Office Windows Phone 8 App Private O365 Site Cloud Windows Azure Access Control Service Windows Azure SQL abase Windows Azure Cloud Services/ Web Sites Contest information Leaderboard Announcements My Ideas Qualify, Triage, Assess ideas Collaboration Send notifications Create sites Provision sites Implement Apps for Office Authentication Store idea, contest, and financial a Qualify ideas Triage, , display results View Announcements, submit ideas C:\Todd\Documents\Canviz\Clients\DPE\SP Camp Demo\Images\windows 8 logo.png C:\Todd\Documents\Canviz\Clients\DPE\SP Camp Demo\Images\windows 8 logo.png C:\Todd\Documents\Canviz\Clients\DPE\SP Camp Demo\Images\windows 8 logo.png Innovation Management End - to - End Demo Core Technologies O365 Private Web Sites Apps for Office Office Windows Phone 8 Windows Azure •Web Sites •SQL abase •Mobile Services Fundamental Toolsets .ASP.NET MVC 5 .Entity Framework 6 .Visual Studio 2013 .HTML 5 .CSS 3 .JavaScript / JQuery / AJAX Private O365 Site .Custom Apps .ECM .Collaboration .Search .Workflow .e tc. It can do a lot! .Wireframe .Design .Architecture .Implementation How did you do that? Logo Top Nav Left Nav Header content which describes the contest News Bracket / Leaderboard Admin Links Company Tagline Standard SP Search My Ideas Site Title O365 Private Site Windows Azure .a Source .Windows Azure SQL abase .a Access Model .ASP.NET Web API .Web API s Entity Framework to Query Windows Azure SQL abase .UI Model .Windows Azure Web Site .HTML/ASP.NET MVC .Presented on Page Client Web Part Leaderboard Provider - hosted App .a Source .Windows Azure SQL abase .a Access Model .ASP.NET Web API .Web API s Entity Framework to Query Windows Azure SQL abase .UI Model .Windows Azure Web Site .HTML/ASP.NET MVC .Presented on Page Client Web Part My Ideas Provider - hosted App .a Source . Announcements List on O365 Private site .a Access Model .ASP.NET Web API .[ ContextFilter ] attribute passes Context seamlessly .Just decorate and code! .Web API s Managed CSOM to query Announcements List .UI Model .Windows Azure Web Site .HTML/ASP.NET MVC .Presented on Page Client Web Part Announcements Provider - hosted App .a Source .Windows Azure SQL abase .a Access Model .ASP.NET Web API .JSONP Service Controller .ASP.NET Web API s Entity Framework to execute Stored Procedures in the Windows Azure SQL abase .UI Model .HTML/JQuery .Part of the Master Page Admin Links Provider - hosted App How did you make it so pretty? It only took a day! .Remote provisioning branding pattern .Web API s Managed CSOM to .Provision root site and sub sites .Provision branding artifacts (Master Page, Images, CSS, JS, Page Layouts) .Create Announcements list and add Announcements .Create Tasks list and add Tasks .Clear and set home page contents .Add and install SP Apps .Add documents to document libraries in SP Apps via App Installed event .MSDN Code Samples Now Available! . Online Solution Pack for branding and provisioning Away to brand your sites! Windows Azure .Web Sites .ASP.NET MVC Web Site .ASP.NET Web API .ContextFilter .SQL abase .Entity Framework .Create Model From Cloud abase! .Mobile Services .Push Notifications You name it, I can do it! Apps for Office .What is an App for Office? .What can it do? .Mix and match There’s an App for that, even Office! Office Client Toolbar Office Document Body Task Pane App for Office App for Office .Architectural Patterns .Templates Sounds pretty cool, how do I make one? .a Source .Windows Azure SQL abase .a Access Model .JQuery invokes ASP.NET Web API .ASP.NET Web API s Entity Framework to .Query Windows Azure SQL abase .UI Model .Office.js .Office.context.document.url .Available after document is saved .Pre - provisioningdocuments ready to go! .Does not apply to Mail Apps for Office .Windows Azure Web Site .HTML / CSS / JQuery Here’s the pattern we d .Multiple Task Pane AFOs .From Store .Custom .Read/Write .Deploy .Provider - hosted SP App Word App For Office – Qualify Idea .Single Custom AFO .Read/Write .a Visualization .Charting .Deploy .Provider - hosted SP App Excel App for Office – Triage Idea .Multiple AFOs .From Store .Custom .Task Pane .Embedded .Read/Write .a Visualization .Mapping .Deploy .Provider - hosted SP App Excel App for Office – Results .Single AFO .Custom .Task Pane .Read/Write .a Visualization .Voting .Deploy .App for Office 2013 .Upload to tenancy .Possible Compose App Mail App for Office – Vote for Ideas Windows Phone 8 .View Announcements . List a .Submit Idea .Windows Azure SQL abase Calling all mobile rs C:\Todd\Appa\Local\Temp\SNAGHTML2ff1c904.PNG C:\Todd\Appa\Local\Temp\SNAGHTML2ff87663.PNG .a Sources . Announcements List .http://..com/innovation/lists/Announcements .Windows Azure SQL abase .a Access Model .C# Code s SP CSOM to read Announcements list .C# Code calls ASP.NET Web API .ASP.NET Web API s Entity Framework to Query and Upe Windows Azure SQL abase .UI Model .XAML Controls .Notifications .Azure Mobile Services Going Mobile Visual Studio .Publishing . Apps .Windows Azure Web Sites .SQL Azure abase integration .Remote Debugging Visual Studio has a crush on Azure Wrap Up .With the cloud app model for , Apps for Office, and Azure you can create cloud hosted line of business applications for a mobile workforce. .Apps for Office include a rich set of integration points with Office client applications. .Azure is the glue! .Plumbing and OAuth with MVC Web Sites is a piece of cake. .Visual Studio enables high developer productivity with templates and tooling. Did you all that? .SPC283 - started developing Apps for Office & 2013 .http://myspc.conference.com/s/Details/12996 .SPC351 -Office Power Hour - new developer APIs and features for Apps for Office .http://myspc.conference.com/s/Details/12918 Helpful Resources .SPC294 -Achieving better business productivity through Apps for Office .http://myspc.conference.com/s/Details/15106 .SPC391 -Deep dive into Mail Compose Apps APIs .http://myspc.conference.com/s/Details/14033 Helpful Resources .MSDN Apps for Office Developer Center .http://msdn..com/en-US/office/aa905340 .MSDN Apps for Office devquick start guide .http://msdn..com/en-US/office/dn448457 .Introducing MVC support for apps for .http://blogs.msdn.com/b/officeapps/archive/2013/ 07/09/introducing-mvc-support-for-apps-for- .aspx Helpful Resources .MSDN Apps for Office Developer Center .http://msdn..com/en-US/office/aa905340 .MSDN Apps for Office devquick start guide .http://msdn..com/en-US/office/dn448457 .Introducing MVC support for apps for .http://blogs.msdn.com/b/officeapps/archive/2013/ 07/09/introducing-mvc-support-for-apps-for- .aspx Helpful Resources .Site Provision Techniques and remote provisioning .http://blogs.msdn.com/b/vesku/archive/2013/08/23/site-provisioning-techniques-and-remote- provisioning-in--2013.aspx .Self Service Site Provision Apps for 2013 .http://blogs.msdn.com/b/richard_dizeregas_blog/archive/2013/04/04/self-service-site-provisioning- -apps-for--2013.aspx Helpful Resources . Online Solution Pack for branding and provisioning .http://blogs.msdn.com/b/vesku/archive/2014/03/02/-online-solution-pack-for-branding- and-provisioning-released.aspx Helpful Resources ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action © 2014 . All rights . , Windows, and other product names are or be trade mar ks in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Creating Cloud Hosted Line Of Business Applications with Apps for Office, O365, Azure, and WP8 Todd Baginski Michael Sherman Canviz Consulting, LLC. Who is this guy? Todd Baginski Vice President, Mobility & Solutions, CANVIZ Consulting Wannabe ski patroller & ski instructor and 8 Time MVP @toddbaginski http://www.canviz.com http://www.toddbaginski.com/blog http://promag.com/blog/todd-baginski-- development Who is this guy? Michael Sherman Sr. Architect, & Web, CANVIZ Consulting 10 - year geek ( dev , ops & arch.) 20 - year 12th Man (# gohawks ) @UWSherm http://www.linkedin.com/in/uwsherm/ http://www.canviz.com Office 365 Platform Contextual Apps Robust O365 API’s Flexible Tools Documents People | Groups Mail Tasks Calendars REST Web Services .Set the stage .How do Apps for Office, O365, and Azure make creating line of business apps in the cloud possible? .SuperUltraMega Demo .Innovation Management .Walkthrough .Wrap up Agenda Key Takeaways With the cloud app model for , Apps for Office, and Azure you can create cloud hosted line of business applications for a mobile workforce. Scenario Overview .Business Objectives .Company wishes to create a mobile enabled toolset to enable innovation management processes to generate a series of innovative ideas for products/additions to existing products .Iterate on the set of ideas to select the top 2 - 3 to prototype .Select a final design to hand off to Engineering for full implementation .Technical Objectives .Develop a 100% cloud - solution web browsers, Office applications and mobile devices to access the toolset Innovation Management is one of the top 10 business processes identified in a recent MS survey. Innovation Management Process Architecture Components Clients C:\Todd\Documents\Canviz\Clients\DPE\SP Camp Demo\Images\word 2013 logo.png C:\Todd\Documents\Canviz\Clients\DPE\SP Camp Demo\Images\windows 8 logo.png MS Word + Apps for Office MS Excel + Apps for Office Windows Phone 8 App Private O365 Site Cloud Windows Azure Access Control Service Windows Azure SQL abase Windows Azure Cloud Services/ Web Sites Contest information Leaderboard Announcements My Ideas Qualify, Triage, Assess ideas Collaboration Send notifications Create sites Provision sites Implement Apps for Office Authentication Store idea, contest, and financial a Qualify ideas Triage, , display results View Announcements, submit ideas C:\Todd\Documents\Canviz\Clients\DPE\SP Camp Demo\Images\windows 8 logo.png C:\Todd\Documents\Canviz\Clients\DPE\SP Camp Demo\Images\windows 8 logo.png C:\Todd\Documents\Canviz\Clients\DPE\SP Camp Demo\Images\windows 8 logo.png Innovation Management End - to - End Demo Core Technologies O365 Private Web Sites Apps for Office Office Windows Phone 8 Windows Azure •Web Sites •SQL abase •Mobile Services Fundamental Toolsets .ASP.NET MVC 5 .Entity Framework 6 .Visual Studio 2013 .HTML 5 .CSS 3 .JavaScript / JQuery / AJAX Private O365 Site .Custom Apps .ECM .Collaboration .Search .Workflow .e tc. It can do a lot! .Wireframe .Design .Architecture .Implementation How did you do that? Logo Top Nav Left Nav Header content which describes the contest News Bracket / Leaderboard Admin Links Company Tagline Standard SP Search My Ideas Site Title O365 Private Site Windows Azure .a Source .Windows Azure SQL abase .a Access Model .ASP.NET Web API .Web API s Entity Framework to Query Windows Azure SQL abase .UI Model .Windows Azure Web Site .HTML/ASP.NET MVC .Presented on Page Client Web Part Leaderboard Provider - hosted App .a Source .Windows Azure SQL abase .a Access Model .ASP.NET Web API .Web API s Entity Framework to Query Windows Azure SQL abase .UI Model .Windows Azure Web Site .HTML/ASP.NET MVC .Presented on Page Client Web Part My Ideas Provider - hosted App .a Source . Announcements List on O365 Private site .a Access Model .ASP.NET Web API .[ ContextFilter ] attribute passes Context seamlessly .Just decorate and code! .Web API s Managed CSOM to query Announcements List .UI Model .Windows Azure Web Site .HTML/ASP.NET MVC .Presented on Page Client Web Part Announcements Provider - hosted App .a Source .Windows Azure SQL abase .a Access Model .ASP.NET Web API .JSONP Service Controller .ASP.NET Web API s Entity Framework to execute Stored Procedures in the Windows Azure SQL abase .UI Model .HTML/JQuery .Part of the Master Page Admin Links Provider - hosted App How did you make it so pretty? It only took a day! .Remote provisioning branding pattern .Web API s Managed CSOM to .Provision root site and sub sites .Provision branding artifacts (Master Page, Images, CSS, JS, Page Layouts) .Create Announcements list and add Announcements .Create Tasks list and add Tasks .Clear and set home page contents .Add and install SP Apps .Add documents to document libraries in SP Apps via App Installed event .MSDN Code Samples Now Available! . Online Solution Pack for branding and provisioning Away to brand your sites! Windows Azure .Web Sites .ASP.NET MVC Web Site .ASP.NET Web API .ContextFilter .SQL abase .Entity Framework .Create Model From Cloud abase! .Mobile Services .Push Notifications You name it, I can do it! Apps for Office .What is an App for Office? .What can it do? .Mix and match There’s an App for that, even Office! Office Client Toolbar Office Document Body Task Pane App for Office App for Office .Architectural Patterns .Templates Sounds pretty cool, how do I make one? .a Source .Windows Azure SQL abase .a Access Model .JQuery invokes ASP.NET Web API .ASP.NET Web API s Entity Framework to .Query Windows Azure SQL abase .UI Model .Office.js .Office.context.document.url .Available after document is saved .Pre - provisioningdocuments ready to go! .Does not apply to Mail Apps for Office .Windows Azure Web Site .HTML / CSS / JQuery Here’s the pattern we d .Multiple Task Pane AFOs .From Store .Custom .Read/Write .Deploy .Provider - hosted SP App Word App For Office – Qualify Idea .Single Custom AFO .Read/Write .a Visualization .Charting .Deploy .Provider - hosted SP App Excel App for Office – Triage Idea .Multiple AFOs .From Store .Custom .Task Pane .Embedded .Read/Write .a Visualization .Mapping .Deploy .Provider - hosted SP App Excel App for Office – Results .Single AFO .Custom .Task Pane .Read/Write .a Visualization .Voting .Deploy .App for Office 2013 .Upload to tenancy .Possible Compose App Mail App for Office – Vote for Ideas Windows Phone 8 .View Announcements . List a .Submit Idea .Windows Azure SQL abase Calling all mobile rs C:\Todd\Appa\Local\Temp\SNAGHTML2ff1c904.PNG C:\Todd\Appa\Local\Temp\SNAGHTML2ff87663.PNG .a Sources . Announcements List .http://..com/innovation/lists/Announcements .Windows Azure SQL abase .a Access Model .C# Code s SP CSOM to read Announcements list .C# Code calls ASP.NET Web API .ASP.NET Web API s Entity Framework to Query and Upe Windows Azure SQL abase .UI Model .XAML Controls .Notifications .Azure Mobile Services Going Mobile Visual Studio .Publishing . Apps .Windows Azure Web Sites .SQL Azure abase integration .Remote Debugging Visual Studio has a crush on Azure Wrap Up .With the cloud app model for , Apps for Office, and Azure you can create cloud hosted line of business applications for a mobile workforce. .Apps for Office include a rich set of integration points with Office client applications. .Azure is the glue! .Plumbing and OAuth with MVC Web Sites is a piece of cake. .Visual Studio enables high developer productivity with templates and tooling. Did you all that? .SPC283 - started developing Apps for Office & 2013 .http://myspc.conference.com/s/Details/12996 .SPC351 -Office Power Hour - new developer APIs and features for Apps for Office .http://myspc.conference.com/s/Details/12918 Helpful Resources .SPC294 -Achieving better business productivity through Apps for Office .http://myspc.conference.com/s/Details/15106 .SPC391 -Deep dive into Mail Compose Apps APIs .http://myspc.conference.com/s/Details/14033 Helpful Resources .MSDN Apps for Office Developer Center .http://msdn..com/en-US/office/aa905340 .MSDN Apps for Office devquick start guide .http://msdn..com/en-US/office/dn448457 .Introducing MVC support for apps for .http://blogs.msdn.com/b/officeapps/archive/2013/ 07/09/introducing-mvc-support-for-apps-for- .aspx Helpful Resources .MSDN Apps for Office Developer Center .http://msdn..com/en-US/office/aa905340 .MSDN Apps for Office devquick start guide .http://msdn..com/en-US/office/dn448457 .Introducing MVC support for apps for .http://blogs.msdn.com/b/officeapps/archive/2013/ 07/09/introducing-mvc-support-for-apps-for- .aspx Helpful Resources .Site Provision Techniques and remote provisioning .http://blogs.msdn.com/b/vesku/archive/2013/08/23/site-provisioning-techniques-and-remote- provisioning-in--2013.aspx .Self Service Site Provision Apps for 2013 .http://blogs.msdn.com/b/richard_dizeregas_blog/archive/2013/04/04/self-service-site-provisioning- -apps-for--2013.aspx Helpful Resources . Online Solution Pack for branding and provisioning .http://blogs.msdn.com/b/vesku/archive/2014/03/02/-online-solution-pack-for-branding- and-provisioning-released.aspx Helpful Resources ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action © 2014 . All rights . , Windows, and other product names are or be trade mar ks in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Creating Internet facing web sites with on - premises or in the cloud Todd Baginski Michael Sherman Canviz Consulting, LLC. Who is this guy? Todd Baginski Vice President, Mobility & Solutions, CANVIZ Consulting Wannabe ski patroller & ski instructor 8 Time MVP @toddbaginski http://www.canviz.com http://www.toddbaginski.com/blog http://promag.com/blog/todd-baginski-- development Who is this guy? Michael Sherman Sr. Architect, & Web, CANVIZ Consulting 10 - year geek ( dev , ops & arch) 20 - year 12th Man (# gohawks ) @UWSherm http://www.linkedin.com/in/uwsherm/ http://www.canviz.com Office 365 Platform Contextual Apps Robust O365 API’s Flexible Tools Documents People | Groups Mail Tasks Calendars REST Web Services .Internet site c apabilities .On - premises Internet facing web site examples .Mobility topics .Office 365 Public Web Sites .Demo of the www.why.com site .Wrap up Agenda Internet Sites .An Internet - facing site is a site, but… .Internet facing web sites usually don’t every facet of .Some capabilities are Internet - specific .Some are consumed differently .Internet - facing sites are typically d for… .Marketing, Content Distribution, Support .Internet requirements & scale require careful thought .Robustness, Performance, Security To begin, let’s draw the line… This is a focd discussion on con capabilities d in Internet - facing web sites. Web Content Management (WCM) Branding Navigation Security Search Localization/Internationalization Mobile OK, so what are we going to cover? .Publishing Features .Better than ever .More features .Cross Site Publishing (XSP ) .Catalogs .Catalog Items .Author in place .Authoring and rendering separated .Variations .Content By Search Web Part (CBS ) .Works with or without XSP .Easily extensible It’s all about the content! .Snippets .Write less code from scratch! .Packages .Composed Looks .Automate deployment with CSOM Design Manager .Classic Navigation .Structurally oriented, follows site & page structure .Managed Navigation .s the Term Store to control navigation hierarchy .Out of the box & custom controls .Decouples structure from navigation .Supports XSP & Catalogs .Tag - & other advanced navigation .Friendly URLs! Anyone got a map? .Anonymous rs .Web App & Site Permissions .Lists & Libraries .ViewFormPagesLockdown .CSOM/REST . Remote Interfaces .ClientCallableSettings .Be careful to avoid information disclosure vulnerabilities! .Extra care with full t rust solutions & elevation code How do I ensure my site & content is secure? .Anonymous rs .Again, lock it down ! .Security Trimming .Set up crawls appropriately .If you don’t, anonymouswon’t be able to view your content .Consider different Zones for crawling and rendering What does security have to do with search? Mobile .RWD .Device Channels .Make your own .Up to 10 / site collection .150 devices / channel . general mobile best practices .Combine requests & CDNs .Load content asynchronously .Optimize images .Remove cents .Turn off View State .Combine & minify JavaScript & CSS .RWD Challenges .RWD has great components .Some content managers want more control .Full page payloads are always delivered .Reinvent - the - wheel component implementations .Costly RWD tweaks & regressions. (Anecdotal observation: 25% of FE dev time ) .Complicated integration with Image Renditions RWD vs. Device Channels .Device Channels .Easy to add, configure & content manage (Device Channel Panel) .Gotcha: Web Part Zones .Better browser detection .Can deliver completely different page payloads, or share .Easy to with Image Renditions .Hybrid approach works great! .Think about progressive enhancement vs. graceful degraion Variations .Work with XSP .XLIFF Support .List Support .No more monstrous pages libraries .More granular taring .More labels supported .See you later Content Deployment!!! Parlez vous français ? Hablas español ? Demos: On - premises Internet - Facing W eb S ites O365 Public Web Sites Setting the stage Here’s where someone says: “All of this is available on premises or in the cloud!” Not quite, we have some limitations. Feature Comparison(office.com) But guys, you’re bumming me out - this is a dev ! What do we ? .WCM Infrastructure .Master Pages, Page Layouts, Versions, Publishing .Design Manager .Image Renditions .Apps .SEO .Hosting included w/O365 .Custom domains supported .Responsive Web Design .Device Channels .2 device channels provided .Default .FallbackMobile .Hybrid approach possible .Default channel for desktops .FallbackMobile channel s RWD for tablets and phones The mobile difference is in the details! What can we do? .Publishing gives us a lot .Familiar WYSIWYG content management experience .Snippet Model .Client - side content controls (rotators, accordions, etc.) .Rich HTML fields & Script Editor Web Parts .Provide clear, easy to modify HTML and JS blocks for content editors .Combine with the rest of the cloud .Sky’s the limit .Share CSS & assets . to manage .JSONP (watch out for XSRF & XSS!) SP2010 on - premises Publishing Site .Master Pages, Layouts, Pages, etc. .Full - trust code & WSP .CQWP heavily d (and abd) .~15 custom Lists & Content Types .No Mobile Experience Why.com – The Challenge Can we rebuild it Office 365 w/Azure? .New, modern design .RWD / mobile optimization .Expansion of volume & variety of content Demo: Office 365 Public Website Customization Hokeeping .Logging .Usage Metrics .Standards & Modernization .http://modern.ie/ .SEO .PLT Don’t for to plan for this! Bonus: Provisioning in the Cloud Combine with Workflow & Collab for a self - service solution .Full sample suite coming soon to MSDN Can’t add site definitions to the O365 tenancy Remote Provisioning: Apps for & CSOM to the rescue! Quick Demo: Remote Provisioning Wrap Up What did you learn, or at least sleep through? Understanding the differences associated with possible workarounds before you begin sets you up to succeed There are differences between on - premises sites and O365 Public Web Sites Just beca there are big differences doesn’t mean O365 Public Sites are not viable www.why.comis a great example of what can be done with an O365 Public Web Site Helpful Resources .On-premises and O365 feature comparison .http://office..com/en-gb/office365- -online-enterprise-help/websites-in- -online-and--server- HA102828142.aspx?CTT=5&origin=HA102891740 .Overview of Design Manager in 2013 .http://msdn..com/en- us/library/office/jj822363.aspx Helpful Resources .Managed metaa and navigation in 2013 .http://msdn..com/en- us/library/office/jj163949.aspx .Multi-language Websites with 2013 .https://channel9.msdn.com/Events/- Conference/2012/SPC129 Helpful Resources .What Every Developer s to Know About Apps, CSOM, and Anonymous Publishing Sites .http://blogs.msdn.com/b/kaevans/archive/2013/10/24/what-every-developer-s-to-know-about- -apps-csom-and-anonymous- publishing-sites.aspx Helpful Resources .Site Provision Techniques and remote provisioning .http://blogs.msdn.com/b/vesku/archive/2013/08/23/site-provisioning-techniques-and-remote- provisioning-in--2013.aspx .Self Service Site Provision Apps for 2013 .http://blogs.msdn.com/b/richard_dizeregas_blog/archive/2013/04/04/self-service-site- provisioning--apps-for-- 2013.aspx Helpful Resources .Enhancing Reach and Accessibility withMobility Features in 2013 .https://channel9.msdn.com/Events/- Conference/2012/SPC096 .Optimizing Content Authoring with Image Renditions and Device Channels –Part I .http://promag.com/blog/optimizing- content-authoring-image-renditions-and- device-channels-part-i Helpful Resources .Optimize the Content Authoring Experience: Image Renditions and Device Channels –Part 2 .http://promag.com/blog/optimize- content-authoring-experience-image-renditions- and-device-channels-part-2 .Automating JavaScript and CSS MinificationIn Apps .http://promag.com/blog/automating- javascript-and-css-minification--apps Helpful Resources . Mobile: Automating Image Rendition Deployments .http://promag.com/blog/-mobile-automating-image-rendition- deployments .Enabling The effectiveDeviceChannelJavaScript Variable .http://toddbaginski.com/blog/enabling-the- effectivedevicechannel-javascript-variable/ ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action © 2014 . All rights . , Windows, and other product names are or be trade mar ks in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Customizing Search experiences with Azure Hosted a and Bing Maps Rainer Asbach, Timo Heidschuster, Johannes Lemmerer SPC321 Rainer Asbach Timo Heidschuster Speakers Senior PFE Germany Architect Austria Senior Consultant Austria Johannes Lemmerer Objectives And Takeaways Objectives Customizing the search r interface Integrate Bing Maps as an external Service Augment Search Result with a from Office 365 and SQL Azure Key Takeaways standard HTML and JavaScript for customization Building search result from different a sources Create an extensible and actionable search r Interface Office 365 Demo SQL Azure and Bing Maps in Office 365 Search Results Content Configuration Content Type & Custom Fields Crawled Property Managed Properties Custom List / Asset Library Managed Properties CategoryMangedPropertyLatitudeSchemaMangedPropertyCollectionCategoryCollectionCrawledPropertyows_LatitudeMappingCollection Configuration Display Template Item_Default_GEO.html Result Type Contenttype :” GEOLocations ” C:\timohe.EUROPE\Documents\ COMPANY\Conference\20130207 Conference Denmark\Pics\DisplayTemplateOrig.jpg Display Templates •Item_.html •Item_.js •Item__HoverPanel.html •Item__HoverPanel.js •Item_ConHoverPanel_Actions.html •Item_ConHoverPanel_Actions.js Search Results http:///_catalogs/masterpage/Display Templates/Search Content By Searchhttp:///_catalogs/masterpage/Display Templates/Content Web Parts Refinement Panelhttp:///_catalogs/masterpage/Display Templates/Filters Search Center Demo Display Template .Copy an existing Display Template .Copy , rename and add a unique title .Link Display Template to custom Hover Display Template .Copy an existing Result Type .Apply condition to scope the display template to content .Associate the Display Template Display Template Demo Custom Managed Properties .Provide custom managed properties .Display Template .Display Hover Template .Optional: Add JavaScript to D isplay T emplates .Add JavaScript Library to Display Template . Inline scripting in Display Hover Template .JavaScript will be executed on client side Custom Managed Properties Demo Bing Maps .Add Script Editor Webpart .Bing Maps SOAP Service Reference . a unique id to render map . AddPostRenderCallback method to callout our custom function Bing Maps Demo Augment search results with h osted a .a stored in Office 365 .Content Types , Site Columns (Fields) . JavaScript to access a .Client Side .Usage of Client Object Model .Keyword Query Augment with Hosted a .Loading script resource s special attention .Add < script > tag in Display Template instead of the HoverPanel . $ includeScript – asynchronous .SP.SOD – Script on Demand .Required for large scripts like Jquery .Script Editor ifed .Alternative: Add to master page JavaScript / JQuery Overcome $ limitation SQL Azure Demo Azure Tenant . or Create an Azure Tenant .MSDN Subscription includes Azure credits for testing .Create Azure abase .Gather the SQL Connection string .SQL Azure supports only SQL Authentication .Open the firewall to be able to connect to the abase .Design your abase . SQL Management Studio or Azure Tools .Design your tables .Design your views SQL Azure Demo Augment Search with SQL Azure hosted a .a stored in SQL Azure DB .Authenticated via SQL authentication .Today BCS a cannot be crawled in Online .Currently not a feature of Office 365 . JavaScript to access a .L inked via Display Template .Client Side access to abase Augment with SQL Azure Hosted a Challenges .Today SQL Azure a cannot be crawled directly by Online .You can create an external content type, but Office 365 does not support the creation of content sources for external lists .Managed Properties in Office 365 .atype limitation on custom managed properties (Text / Boolean) .JavaScript and JQuery .Asynchronous ($ includeScript ) .Script on demand (SP.SOD) .Script Editor Challenges .Office 365 .Search center already pre - provisioned .Office 365 is OOTB ready to crawl all content within the system .Most configuration options are available .Multiple ways to aggregate a .REST JQuery .Federation .Todays challenges might be out of the box tomorrow .Tuning the rank model of Search ( Tomorrow noon ) Lessions learned “ The second thoughts are wisest. ” Euripides, 480 - 407 BC Summary . standard HTML and JavaScript for customization .Building search result from different a sources .Create an extensible and actionable search r Interface Recap .SQL Azure Guidelines and Limitations http://msdn..com/en-us/library/windowsazure/ee336245.aspx . Online Limits and Boundaries http://office..com/en-us/office365--online-enterprise-help/- online-software-boundaries-and-limits-HA102694293.aspx . Bing Maps Portal to create your first Map http://www.bingmapsportal.com/ISDK/AjaxV7#CreateMap1 Resources Search @ SPC14 on Thursday Thursday, March 6, 2014, 9:00 AM-10:15 AM 2013 Search display templates and query rules Thursday, March 6, 2014, 9:00 AM-10:15 AM Effective Search deployment and operations in 2013 Thursday, March 6, 2014, 10:30 AM-11:45 AMChanging the look of Search Display Templates and CSR Thursday, March 6, 2014, 12:00 PM-1:15 PMManaging Search Relevance in 2013 and O365 Questions MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Customizing your sites the Theming Engine Jonathan Keslin , Senior Developer, Lionel Robinson, Program Manager, SPC326 Before we start... Feedbackchannels Yammer on the second screen experience Twitter: #spc326, #spc14, @MSFT_JKeslin, @LionelRo_MSFT evaluations on MySPC Find us after the talk Appla is appreciated . Slides & Demos (60 min) Q&A (15 min) Introduction Theming overview Image recolorization Theming foreground images Theming your site logo Font schemes Composed Looks What’s next Closing and Q&A Agenda Theming overview Demo Changing the look in .Ask how many have gone through the UX to gauge speed of demo .Go to SP site .Click change the look on ting started carol 1.Composed looks - choose City 2.Make it your own A.Change background B.Pick orange on black palette C.Pick Oslo layout D.Pick typewriter font E.Click try it out 3.Preview 4.Keep it Change the look Core product CSS Style Library Color palette Font scheme Background image _themes folder OR Theme Gallery Un-themed CSS Theme specification files Themed CSS Under the hood How it works Start with un - themed CSS _layouts/15 [/]/styles/ Themable /*. css Style Library [/]/ Themable /*. css For each file, iterate through the “interesting” bits Colors, font declarations , URL references Transform annotated lines If there’s an annotation preceding the “interesting” part, transform it on the theme specification Example /*[ReplaceColor(themeColor:"BodyText")]*/ color: #000; color: #fff; Why theming? It’s the safest way to change colors and fonts New features will continue to match Variety through the ecosystem Other approaches are fragile Overriding product CSS creates dependencies on continued of classes Custom CSS that tars product HTML creates dependencies on specific markup Recoloring images How it works for each themable CSS file { for each url (…) value in the file { if it is preceded with an annotation { recolor it } } } Example /*[RecolorImage(themeColor:"BodyText")]*/background-image:url("myimage.png"); background-image: url("theme/Themed//myimage-.themedpng"); Recoloring methods Image recoloring methods Three methods to recolor with: Tinting Blending Filling Tinting Maintain the luminanceand alphachannels of each pixel, but replace the hueand saturation. Blending For each pixel, average the red, blue, and greenchannels between the old andcolors, while maintaining the alphachannel. Filling Set each pixel to thecolor, but maintain the original alphachannel. Recoloring regions Recoloring regions Rectangular region Multiple regions Image clusters Example /*[RecolorImage(themeColor:"ErrorText", method:"Filling", includeRectangle:{x:1,y:30,width:97,height:97})]*/ background-image: url("spcon.png"); Detaching Detaching Recolor an image or region in more than one way Output a separate copy of the image rather than layering recoloring rules Example /*[RecolorImage(themeColor:"Hyperlink", method:"Tinting")]*/ background-image: url("myimage.png"); /*[RecolorImage(themeColor:"ErrorText", method:"Tinting")]*/ background-image: url("myimage.png"); Last annotation wins, both lines point to the same image Example /*[RecolorImage(themeColor:"Hyperlink", method:"Tinting")]*/ background-image: url("myimage.png"); /*[RecolorImage(themeColor:"ErrorText", method:"Tinting", detach:"true")]*/ background-image: url("myimage.png"); Different images with different recolorings Example /*[RecolorImage(themeColor:"ErrorText", method:"Filling", includeRectangle:{x:1,y:30,width:97,height:97})]*/ background-image: url("spcon.png"); /*[RecolorImage(themeColor:"SearchURL", method:"Filling", includeRectangle:{x:1,y:30,width:97,height:97}, detach:"true")]*/ background-image: url("spcon.png"); http://avior-vm2/_catalogs/theme/Themed/6B61AC06/spcon-58DF44F9.themedpng Theming foreground images Background vs. foreground Background images are defined in CSS files background - image: url (…); Foreground images are defined in HTML < img src =" … " /> Why foreground images? Part of the page flow Links Tooltips, alternate text High contrast mode How to theme foreground images CSS to tell the engine howto theme the image Code to find out whereto find the themed image Part 1: CSS hashOverride the output filename predictable /_catalogs/theme/Themed// myimage - . themedpng detachkeeps the foreground separate from any background s Doesn’t to be loaded – just present in a themable path /*[RecolorImage(themeColor:"Hyperlink", method:"Filling", hashOverride:"myimage", detach:"true")]*/ src: url("myimage.png"); Part 1: CSS Works for clusters too Just skip the detach parameter /*[RecolorImage(themeColor:"Hyperlink", method:"Filling", hashOverride:"myimage", includeRectangle:{x:100,y:50,width:32,height:32})]*/ src: url("myimage.png"); ThemeKeyattribute maps to the hashOverridein CSS If the site is themed, show the themed image Else, fall back to the original image Subclasses ASP.NET Image control Other attributes like CssClass and AlternateText work too Part 2: ASP.NET <:ThemedForegroundImagerunat="server" ThemeKey="myimage" ImageUrl="myimage.png" /> Part 2: ASP.NET Many other image controls accept ThemeKeyattribute ClusteredImage , ClusteredHyperlink , see MSDN documentation for more <:ClusteredImagerunat="server" ThemeKey="myimage" ImageUrl="myimage.png" OffsetX="100" OffsetY="50" Width="32" Height="32" /> Part 2: C# the expected URL for the themed image Not ideal –prefer the ASP.NET approach SPUtility.ThemedImageUrl("myimage.png" /* url*/, "myimage" /* ThemeKey*/); Part 2: JS the expected URL for the themed image Only works within a CSR context register for the image in server-code for a Web Part Override ThemedImages () ThemedLocalizedImages () ThemedImageUrl("myimage"); Theming your site logo Demo Theming your site logo .Show partner portal site and say we want to apply a logo to it .Show logo image .Explain that we want to theme three regions .Create CSS .In SPD, go to Style Library .Create Themable folder .Create blank CSS file inside .Add theme annotation rule with appropriate theme key .Save AND CHECK IN/PUBLISH the file .Edit master page .Edit seattle.master .Add ThemeKey attribute to SiteLogoImage control .Save .Add logo image via site settings in browser .Site settings - > Title, Description, and Icon .Add icon .Show site withicon .Theme site .Show themed icon Demo script – site logo theming font schemes and WebFonts Web safe vs. Web fonts Georgia Palatino Linotype TimesRoman Arial Comic Sans MS Impact Tahoma Trebuchet MS Verdana Courier New Lucida Sans Unicode Lucida Console Bodoni MT Century Gothic Harlow Solid Italic Rockwell Tw Century MT Broadway Tw Century MT Condensed Eras Medium Franklin Gothic Medium Edwardian Script Old English Text Garamond Playbill OCR A Extended Sample font scheme – web - safe fonts ... ... Sample font scheme – w eb fonts ... Demo Making a custom font scheme web fonts .Show the pieces we .4 font files per font .2 images per font, large and small. These are for the font menu .In IE, go to Site Assets and drag+drop upload font files and large and small preview image .Create blank font scheme .Create new txt file, rename to spc.spfont .Fill in font scheme with copy paste XML from existing scheme .Open fontscheme007.spfont, copy whole file and paste intofont scheme .Replace /_ layouts/15/fonts/ with /SiteAssets/ .Replace TypewriterElite with WeberHandBold .Replace Typewriter Elite with WeberHand Bold .Replace Calibri with WeberHand .Save .Drag and drop into theme gallery \ 15 .In IE, go to Change the Look, choose one of the looks, then show our scheme in the dropdown .Apply font scheme, show final result Next: composed looks Demo script – custom font scheme Where do I store my web - fonts? Font schemes just the URL to the files Self Host You control the storage and availability Tends to be more expensive Font service Greater variety Fonts uped too Each service provider handles URLs to files differently Composed looks What’s in a look The pieces File type Where they go Color palette *.spcolor Themegallery \15 folder Font scheme *.spfont Theme gallery \15 folder Site layout *.master + *.preview Masterpagegallery Background image *.jpg,*.bmp, *.png, *.gif Site assets Demo Fun with composed looks .Show site that was processed through our tool .The custom master page on it .The design gallery .Options within the dropdowns on the design builder .Go to VS to show the code sample .Adds custom spcolor , spfont , and master files to setup path .Elements manifest to add ghosted files for all of the above .Event receiver to run code on site provisioning .Receiver code that: .S ets custom master page .Deletes OOB composed looks .Deletes OOB master pages .Empties theme gallery 15 folder and replaces it .Provisions custom composed looks .Back to IE, create a subsite and show that all these things apply .Note that code will be available online Next: client - side theming Demo script – composed looks What’s next for Theming Theming today Choose a look Generate files Preview the look Cit View site Client - side theming Choose a look Preview the look Cit View site Demo Client - side theming .In Chrome, go to client - side theming VM .Run through custom buttons that change theme Demo script – client - side theming Client - side theming Lots of upside Applying a theme is faster Theming is no longer a snapshot operation Themed files no longer take up your storage quota Public Javascript API to theme annotated CSS on demand Little to no affect to you Same CSS annotations Same theme specification files Same end - r experience Same browser support Client - side theming Coming soon In development now Coming to Online soon Already themed sites will continue to work ting ready for it Avoid C# and JS foreground image APIs - ASP.NET control is better Deploy modern browsers Recap How theming works Image recolorization Theming foreground images Theming your site logo Font schemes Composed Looks Client-side theming More info Show Off Your Style with Theming A blog post by Lionel on the theming experience and underlying file formats SPColor, SPFont, and SPThemeon MSDN Class documentation on the theming API Theme Annotations in 2010 Documentation on the CSS annotations for theming. Mostly the same for 2013 Color Palette Tool Visual tool to build and customize SPColor palettes Related s Branding Internet facing web sites with in the cloud John Ross & Randy Drisgill Today, 3:15pm - 4:30pm, Delphino 4001 - 4102, #SPC290 ( more info) Site provisioning techniques with apps Bert Jansen & Vesa Juvonen Thursday, 9:00am - 10:15am, Palazzo Ballroom K,L, #SPC403 ( more info) Q&A MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com Deep dive: and Office App Security Model ( OAuth & S2S) Ted Pattison Instructor/Author Critical Path Training SPC409 .App Security Overview .Configuring App Permissions .Understanding App Security Principals .App Authentication S2S Trusts .App Authentication OAuth Agenda .Code in farm solutions considered fully - trusted .By default, code runs with permissions of current r .Developer can call SPSecurity.RunWithElevatedPrivledges .Code runs as all - powerful \ SYSTEM account .Code reverts to Windows identity of host application pool .Sandbox solution code runs as current r .Code always runs with permissions of current r .Activation code runs as site administrator .No ability to elevate permissions if r is visitor Security Problems in 2010 .What is a security principal? .An entity that is understood by a security system .An entity for which you can configure authorized access to resources .Examples of security principals .r with an account in Active Directory .r with account in another identity management system (FBA) .Active Directory group or an FBA role .Computer which has been added to an Active Directory domain . app (as of 2013) Let’s start with a basic question .Authentication creates identity for principal . 2010 only supports r authentication . 2013 adds support to authenticate apps . apps are given first class identities .Authorization provides the access control .d to verify an principal has the proper permission . 2010 only supports r permissions . 2013 adds support for app permissions Authentication and Authorization . r authentication on claims .Works in 2013 just as it does in 2010 .r authentication results in creation of a claims token .Claims token tracks name value pairs related to token subject .Claims token stored in memory FEDAUTH token format Claims Authentication in 2013 . 2013 supports App Authentication .Apps promoted to first class security principals .App authenticationit possible for app authorization .App authentication only supported in CSOM / REST API endpoints .App authentication not supported in custom web services . 2013 s 3 basic types of app authentication .Internal authentication .External authentication Server - to - Server (S2S) Trusts .External authentication OAuth App Authentication in 2013 .Internal authentication is d if the following are true .Incoming call tars a CSOM or REST API endpoint .Incoming call carries claims token with established r identity .Incoming call tars URL of an exiting app web .Important points about internal authentication .It just works – no to program in terms of access tokens .It’s always d with client - side calls from pages in the app web .It can be d from remote web pages cross domain library .It does not support app - only authentication to elevate privilege Internal Authentication .In which scenarios does external authentication occur? .When server - side code in the remote web issues CSOM or REST API calls against the host .Incoming calls free to tar host web and other sites in tenancy .How does it work? .App code be written to create and manage access tokens .Access token carries app identity .Access token can (and usually does) carry r identity as well .App transmit access token in request header when calling to External Authentication 2013 Authentication Flow startauthenticationdoes request tar aCSOM/REST endpoint? does request carrya claims token? does request carryan access token? yesnoendauthenticationNo Authentication(anonymous access) no App Authentication(app and r identity) r Authenticationdoes request tarURL of an app web? does access token Carry r identity? App OnlyAuthenticationyesnoyesyesyesnono .App Security Overview .Configuring App Permissions .Understanding App Security Principals .App Authentication S2S Trusts .App Authentication OAuth Agenda .App are granted permissions .App permissions are different from r permissions .App permissions are granted all - or - nothing .App permissions have no permissions hierarchy this is different than r permissions which have a hierarchy inside a site collection .An app has default permissions .App has full control over app web .App has access to incoming query string parameters .App has no default access to host web .App include permission request in application manifest .Installer grant or deny permissions during installation .If installer denies permissions, cancels install App Permissions .Permissions requests are added to app manifest .App manifest designerthis relatively easy Adding Permission Requests .d for two key scenarios .To call into with permissions greater than the current r (elevation) .To call in to when there is no current r .Steps to accomplish this .Add AllowAppOnlyPolicyattribute to AppManifest.xml .Write code to acquire an app only access token App - Only Permissions .App Permission Scope Defines .Product .Permission Provider .Tar object - where grant is requested Permission Requests Product Permission Provider Tar Object Capability .r prompted to trust the app during installation .Trust It grants requested permissions to app .Cancel prevents app from being installed Granting Consent in 2013 Adding Permissions Request to the App Manifest Ted Pattison .App Security Overview .Configuring App Permissions .Understanding App Security Principals .App Authentication S2S Trusts .App Authentication OAuth Agenda .External authentication requires app principals .App principal is a tenancy - scoped account for app identity .App principal identified a GUID .App principals be created in host .App principal properties .Client ID: GUID - identifier for app principal .Client Secret: (not d in S2S) .App Host Domain: Base URL of remote web .Redirect URL: URL to a page d to configure on - the - fly security App Principals . to know the built - in app management pages .AppRegNew.aspx .AppInv.com .AppPrincipals.aspx .There is also management support PowerShell . PowerShell cmdlets to administer apps and app principals Managing App Principals AppRegNew.aspx AppInv.aspx AppPrincipals.aspx Registering an App Principal Ted Pattison .App Security Overview .Configuring App Permissions .Understanding App Security Principals .App Authentication S2S Trusts .App Authentication OAuth Agenda .Trusted connection between app and .Eliminates for ACS when running apps in on - premises farm .Trust between servers configured SSL certificates .App code requires access to private key of SSL certificate .Requires creating Security Token Service on server(s) What is a Server - to - server (S2S) Trust On-premises Farm 1 2 4 3 Web Server r Client App S2S STS SSL Cert Public/Private key pair (.pfx) .App authenticate the r .App creates and signs its own access tokens .App passed r identity to farm with r identity . farm trusts that the app is telling the trust about r identity .“High Trust” is very different from “Full Trust” .Full trust code is not limited by permissions – it can do anything .High trust app has set of permissions that say what it can do Why Is It Called a “High Trust” App .App has x.509 certificate with public/private key pair .Private key d to sign certain aspects in access token .Public key with farm .This creates a trusted security token issuer .App creates access token to call into .App creates access token with a specific client ID and signs it with private key .Trusted security token issuer valies signature . establishes app identity .App identity maps to a specific client ID .You can have many client IDs associated with a single x.509 certificate Architecture of an S2S Trust .Steps to configure an S2S trust .Create an x509 certificate .Make certificate’s public key accessible to . PowerShell to create a trusted security token issuer on public key .Develop provider - hosted app which has access to private key file .Create S2S access tokens with the help of TokenHelper class .Pass access token with calling into CSOM or REST API .Two ways to make a certificate available .Pass file path of certificate to .Expose certificate from app as metaa endpoint Configuring a Server - to - Server Trust Creating Certificates .Steps to creating security token issuer in farm . the authentication realm (aka tenancy) .Create realm - qualified app identifier .Create certificate object . pfx file containing password - protected private key .Call New - SPTrustedSecurityTokenIssuer Creating the Secure Token Issuer .Can be done several different ways . built - in page named AppRegNew.aspx . Register-SPAppPrincipal . SPAppPrincipalManager .Let Visual Studio do it for you when developing Creating an S2S App Principal Configuring a Secure Token Issuer Ted Pattison .What is developer responsible for with S2S app? .Authenticate the r (can Windows Auth , FBA, etc.) .Create access tokens with TokenHelper class .Add access token into Authorizationheader for each CSOM and REST call .Expose an endpoint to to discover service metaa .Details of creating the S2S security token .S2S token like OAuth token but differs from OAuth specification .Security token contain app identity .Security token can optionally include r identity .Security token be signed private key of SSL certificate Developing Apps that S2S Trusts .TokenHelper class provides methods for S2S Apps .S2SClientContextWithWindowsIdentityfor CSOM calls .S2SAccessTokenWithWindowsIdentityfor REST calls .TokenHelper class be extended for certain scenarios .You implement support for other types of authentication Calling to from S2S Apps Creating a Provider - hosted App which s S2S Authentication Ted Pattison .App Security Overview .Configuring App Permissions .Understanding App Security Principals .App Authentication S2S Trusts .App Authentication OAuth Agenda .In which scenarios is OAuth d? .Calls to from server - side code running in remote web .How does it work? .Incoming calls requires access token with app identity .Access token can optionally carry a r identity as well .Call does not to tar URL inside app web .Call can tar any CSOM or REST endpoint in any site .Your app code is required to create and manage security tokens OAuth Is d for External Authentication .Context Token .Contextual information passed to app .Refresh Token .d by client app to acquire an access token .Access Token .Token passed to to app when external authentication .Authorization Code .d to register an app with on the fly permissions Security Tokens d in OAuth OAuth Protocol Flow in 2013 1 4 3 2 5 6 7 9 8 10 Content Server 2013 Web Server r • desktop computer • laptop computer • mobile device • tablet or iPad Client App Web Server running remote app code Authentication Server Trusted ACS server that authenticates applications and creates OAuth tokens 1 authenticates r claims 2 requests context token for r 3 ACS returns context token 4 pass context token to r 5 r POSTS to app passing context token 6 Client app is able to pull refresh token out of context token. Client app then passes refresh token to ACS to request OAuth token 7 ACS returns OAuth token to client app 8 Client AppCSOM/REST calls to site passing OAuth token 9 returns site content to app 10 Client App returns HTML to r device POST a Sent to Start Page Context Token Access Token .Create acloud - hosted app project .Can be either provider - hosted or autohosted . - hosted Apps do not OAuth .Register an App Principal .Registration handled automatically in autohosted apps .Registration requires explicit steps for provider - hosted apps .Registration requires extra steps for apps published to Office Store .Add code to remote web to manage tokens .Explicit code required to retrieve access tokens from ACS .Access tokens and refresh tokens be cached to increase performance .Explicit code required to create and manage access tokens Steps to OAuth in Office 365 App Manifest for an Autohosted App Web.config for an Autohosted App App Manifest for a Provider - hosted App Web.config for a Provider - hosted App Programming with OAuth Access Tokens Making CSOM Calls with OAuth Making REST Calls with OAuth Programming OAuth in a Autohosted App Ted Pattison .OAuth is the standard protocol and is the strategic direction for the future .If you are OAuth , you are on the right path .Current investments in native apps on mobile devices to access resources OAuth – S2S – now, what’s next? High trust apps (S2S) •Online services •Org high trust LOB apps Marketplace apps • hosted apps •Azure hosted apps •Provider-hosted apps •(Oauth3-legged) Roadmap: OAuthNative Client •Native apps running on mobile devices •Admin controlled but wide options of apps .App Security Overview .Configuring App Permissions .Understanding App Security Principals .App Authentication S2S Trusts .App Authentication OAuth S ummary MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Deep dive into Compose and other upes for Mail Apps Andrew Salamatov Senior Program Manager SPC391 Mail Apps – a brief intro Type of apps in Apps for Office platform Enable developers to extend Outlook web technologies Can be installed by end - rs or admins for entire org OneDrive Mail Apps Write once, run everywhere Outlook, Outlook Web App, OWA app for iPad and iPhone Messages and appointments Appear contextually, on entities or patterns What’s new What’s new Body and attachment access End - rs can install apps from the store that access message body and attachments Cerce Sell, give away or provide subscriptions for your mail apps Compose Create apps to be d while reading a message or appointment, composing, or both Body and attachment access Attachments Demo (Harmon.ie) Andrew Salamatov Accessing attachments in 2013 RTM App forwards the message to an SMTP endpoint Endpoint parses the message and extracts the attachments App requires highest permission level, admin - installable only mailbox.makeEwsRequest( ); Message forwarded by Exchange Endpoint retrieves attachments App in Outlook New approach goals End - r apps can access body and attachments Optimize for client bytes over the wire The design JS APIs to access metaa, token and EWS URL Available with ReadItem permission Outlook APP Exchange App Backend App requests attachment metaa, callback token and EWS URL via JS APIs The design App code passes metaa + token to its backend Callback token is short - lived, item bound Outlook APP Exchange App Backend App passes attachment id, token and EWS URL to its backend The design App backend s EWS to retrieve attachment EWS Managed API support coming soon Outlook APP Exchange App Backend App backend calls EWS to attachment A few notes on the callback token Extends concept that apps can read any property on the current item Item and bound Self - signed by Exchange, bearer token Bound to current item (EWS operations only allowed on item that the app was launched on) “Bound” to – is valid for 5 minutes Allowed EWS APIs Attachments Item Attachments code demo Andrew Salamatov Saving attachment to 1.Register mail app as a web server app in AAD 2.rs grant permission via OAuth flow 3.Backend will access token to call into OneDrive OAuth flow App openswindow to Azure AD to ask for consent Outlook APP Launch OAuth Azure AD Grant Consent App Backend SP OAuth flow Azure AD redirects to the redirect URL, providing access code as query URI parameter Outlook APP Launch OAuth Azure AD Grant Consent App’s redirect html page App Backend SP OAuth flow App extracts access code and passes it to its backend Outlook APP Launch OAuth App’s redirect html page App Backend SP OAuth flow App backend exchanges access code for refresh token and access token from Azure AD and calls into SP Outlook APP Launch OAuth App Backend SP Azure AD 1. Exchange for refresh and access token 2. Call SP with access token Code demo Andrew Salamatov Resources Documentation Accessing attachments from a mail app: http://msdn..com/en-us/library/office/dn148008.aspx Creating a WebAPI backend service for a mail app : http://blogs.msdn.com/b/officeapps/archive/2013/06/10/create-a-web-service-for-an-app-for-office--the- asp-net-web-api.aspx Directory service: http://msdn..com/en-us/library/dn605898(v=office.15).aspx Integrating app with AAD: http://msdn..com/en-us/library/windowsazure/dn151122.aspx Related s Website app registration and auth : SPC371 (5pm Today!) Discovery service: SPC 3999 New APIs in : SPC 3999 Code will be posted to this in Yammer after the talk Cerce Paid Mail Apps Developers can sell mail apps in Office store Model supports: •T rial mode •Subscription •I ndividual purchase Entitlement is valied server - side Documentation: http://msdn..com/en-us/library/office/jj163908.aspx Compose Compose demo Andrew Salamatov Compose mail apps Activation Capabilities Permissions Activation Apps can appear in messages appointments Compose apps are across Desktop, Tablet and Mobile image003 Compose mail app capabilities core JS APIs Read/Write recipients Read/Write subject Add attachments Write to the body R/W appointment properties Custom item properties r Identity Token Make EWS requests Settings r Profile Compose mail app capabilities core JS APIs Read/Write recipients Read/Write subject Add attachments Write to the body R/W appointment properties Custom item properties /set/add recipients or attendees /set the subject Compose mail app capabilities core JS APIs Read/Write recipients Read/Write subject Add attachments Write to the body R/W appointment properties Custom item properties Add file or item attachments Compose mail app capabilities core JS APIs Read/Write recipients Read/Write subject Add attachments Write to the body R/W appointment properties Custom item properties Prepend to the body Overwrite current selection in body Compose mail app capabilities core JS APIs Read/Write recipients Read/Write subject Add attachments Write to the body R/W appointment properties Custom item properties /set start or end time /set location /set/add attendees Compose mail app capabilities core JS APIs Read/Write recipients Read/Write subject Add attachments Write to the body R/W appointment properties Custom item properties Saved on the sentitem Can be d to mark a composed message (eg“Tracked” in CRM) Permissions Restricted App can access a from limited entities Regular ions are blocked JS API limits item a access ReadItem App can access a from all entities Regular ions allowed Read JS APIs are allowed EWS calls are not allowed ReadWriteItem All JS APIs are allowed ReadWriteMailbox Limited EWS methods are allowed ReadWriteMailbox ReadWriteItem ReadItem Restricted End - rs can install Admins can install Compose code demo Andrew Salamatov Possibilities… Scenarios Assist with writing a message Frequently written snippets Multiple signatures Insert meeting location details Hierarchical Address Book Book Workspace Address Book Bob Costas Jane Smith John Doe Scenarios Template messages and meetings Create a message on a template Attach an invoice Scenarios Kick - off workflows Document signing Request approval for marketing campaign Record email conversation for innovation management Newsletter Approval Select documents for approval: Resources Demo code will be posted to #SPC391 Yammer discussion directly after the Documentation available on MSDN http://msdn..com/EN-US/library/office/fp161135(v=office.15).aspx Related talks Office power hour – what’sin Apps for Office: SPC 351 Creating cloud hosted LOB apps: SPC 361 New OA APIs in Exchange (right after this talk) : SPC 379 MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Compose app capabilities For those who could not attend the talk, the next slides show sample JS to give a feel for the APIs APIs Core APIs R/W recipients (to, cc, bcc) R/W subject Write a at cursor in body Prepend to body Add file or item attachments R/W start/end time and location Custom Properties varitem = Office.context.mailbox.item; item.to.setAsync(“john@contoso.com”); item.subject.setAsync(“Hello”); APIs Core APIs R/W recipients (to, cc, bcc) R/W subject Write a at cursor in body Prepend to body Add file or item attachments R/W start/end time and location Custom Properties varitem = Office.context.mailbox.item; item.body.setSelecteda( “Hello!”, { coercionType: ‘HTML’ }); item.body.prependAsync(“Hello World!”); APIs Core APIs R/W recipients (to, cc, bcc) R/W subject Write a at cursor in body Prepend to body Add file or item attachments R/W start/end time and location Custom Properties varitem = Office.context.mailbox.item; item.addFileAttachmentAsync( “http://myurl.com/attachment.jpg”); item.addItemAttachmentAsync(“EWS item id”); APIs Core APIs R/W recipients (to, cc, bcc) R/W subject Write a at cursor in body Prepend to body Add file or item attachments R/W start/end time and location Custom Properties varitem = Office.context.mailbox.item; varnow =e(); item.start.setAsync(now); item.location.setAsync(“My office”); Deep dive into the 2013 CSOM API's Travis Falls Sr. Consultant Services SPC407 Steve Walker Sr. Program Manager – Office365 CAT Office 365 Platform Contextual Apps Robust O365 API’s Flexible Tools Documents People | Groups Mail Tasks Calendars REST Web Services Developer Renaissance IIS ASP.NET (your app) IIS ASP.NET IIS IIS ASP.NET (your app) CSOM & REST Events IIS ASP.NET (your app) CSOM & REST .Requires deep understanding of UI/Server OM .Shared process space & page pipeline – Efficient but risky .Protocols drive a “wedge” in monolithic development .Decouple idioms from application logic .Return to more traditional development .UI aggregates at the client, not the server Client Protocols IP TCP HTTP JSON [RFC4627] / ATOM + XML MS - CSOMSPT MS - CSOMREST MS - OA API’s ( Client.x, SP.x, HttpRequest, $.ajax) Browser Windows ASP.NET WorkflowsEvent Receivers [7] Application [4] Transport [3] Network Industry Standard OSI Model Open Specification MS - CSOM MS - SRCH CSOM MS - SOC CSOM MS - EMM CSOM MS - C CSOM MS - PUB CSOM MS - DM CSOM MS - ED CSOM JavaScript Library Silverlight Library .NET CLR Library Client Code Client Server 2013 Remote API REST oa JSON CSOM CSOM _api(_vti_bin/client.svc) Sharing Social Taxonomy Search Publishing eDiscovery Workflow IRM BCS Analytics _ api is all you in 2013 •In 2010, We had CSOM •In 2010, we had REST •http://localhost/_vti_bin/lista.svc/Parts •All we had was lista.svc – good for list operations only • 2013 consolied them into _ api •Massively expanded the restful - ness of •Not only lists this release. Sites, Webs, collections •More advanced query capabilites How does _api map to _vti_bin \ client.svc? publicsealedclassSPRequestModule: IHttpModule { publicvoidBeginRequestHandler(objectoSender, EventArgsea) { // Illustration, not actual code. if(RequestPathIndex == PathIndex._api) { stringclientSvc = "/_vti_bin/client.svc/"; intapiStart = requestVirtualPath.IndexOf("/_api/", StringComparison.OrdinalIgnoreCase); if(apiStart >= 0) { clientSvc = clientSvc + filePath.Substring(apiStart + "/_api/".Length); } RequestPathIndex = PathIndex._vti_bin; } } } How does client.svc handle both REST and CSOM? [ServiceContract(Namespace= "http://schemas..com//soap/")] publicinterfaceIClientRequestService { // Illustration, not actual code. [WebInvoke(Method= "POST", UriTemplate= "ProcessQuery"), OperationContract] Stream ProcessQuery(Stream inputStream); [WebInvoke(Method= "*", UriTemplate= "*"), OperationContract] Stream ProcessRestQuery(Stream inputStream); } CSOM (MS - CSOM) What’s nice about CSOM? .Structured, strongly typed, pragmatic, abstracted .Hierarchical and “ stateful ” .Familiar for those d to the server object model .Efficient & concise in operation and syntax (ex: LINQ , CAML, batching ) .Much easier to do TDD against CSOM as opposed to REST .Highly documented ( MSDN , Intelli - sense, object browser ) .ClientContext– root of local cache, brokers cunication to server, disposable .ClientObject– cache of transient a, translated to xml on request, de - serialized from JSon on response ex: Site, KeywordQuery, SearchExecutor .SecurableObject– derives from ClientObject and adds authorization semantics ex: Web, List, ListItem .ClientValueObject– similar to ClientObject for simple a types (string, integer) .ClientObjectCollection- augments ClientObject with queryable and enumerable support ex: ListCollection, ListItemCollection, FieldCollection .ClientResult- result of a method invocation ex: FeedFor( ), SearchExecutor.ExecuteQuery( ) CSOM Founional Objects context.Load(…) context.LoadQuery(…) new SearchExecutor(context) context.load(…) context.ExecuteQuery( ) context.executeQueryAsync( ) string t = web.Title foreach (ListItem item in oItems) { } var t = web._title( ) new ClientContext(url) TokenHelper.ClientContext…( ) SP.ClientContext._current( ) CSOM semantics Build Request Execute Query Process Results Create Context Create Context .Top - level object of an interlinked hierarchy .Serialize, transmit, receive, deserialize .Establishes the authentication approach .Acquiring a context .SP.ClientContext._current( ) .new ClientContext ( url ) new ClientContext(url) ContextProvider.Context( ) SP.ClientContext._current( ) ContextProvider TokenHelper NEW! low trust high trust Build Request .Create/initialize client objects .Load objects/actions into context .Load( ) – in - place load, returns a in the object itself Note: some objects are implicitly loaded by constructor( ) .LoadQuery( ) – queryable load, returns a in another result array, no affect on object state .LINQ to Objects (not LINQ to ) .Query syntax (only LoadQuery ) – from x in y where x.cow == “moo” select x; .Method syntax (Load or LoadQuery ) – y.where(x => x.cow == “moo”); . CAML to query lists, instead of LINQ context.Load(…) context.LoadQuery(…) new SearchExecutor(context) context.load(…) Execute Query .First and only time request is exchanged with server .Context object orchestrates round - trip .Serialize objects and actions into XML .Request for Forms Digest (POST _vti_bin/sites.asmx, more info) .Request for ProcessQuery as XML (POST _vti_bin/client.svc/ProcessQuery) .Receives response objects as JSON .Deserializes JSON into objects .Synchronous or asynchronous options context.ExecuteQuery( ) context.executeQueryAsync( ) Process Results .Moving a in/out of in - memory objects .No significant performance concerns . encounter “___NotInitializedException” – missing a Load( ) directive .LINQ to Objects could still be performed here string t = web.Title foreach (ListItem item in oItems) { } var t = web._title( ) CSOM – Sites (Web, List, Item, doc - sets) ..Client; ClientContextcontext = newClientContext("http://site"); ListoList = context.Web.Lists.ByTitle("Announcements"); CamlQuerycamlQuery = newCamlQuery(); camlQuery.ViewXml = ""+ "TACOCAT"+ "10“; ListItemCollectionoItems = oList.Items(camlQuery); context.Load(oItems); context.ExecuteQuery(); foreach(ListItemoListItem inoItems) { Console.WriteLine("ID: {0} \nTitle: {1} \nBody: {2}", oListItem.Id, oListItem["Title"], oListItem["Body"]); } MS - CSOMSPT – http://msdn..com/en-us/library/dd958478.aspx MS - DMCSOM – http://msdn..com/en-us/library/hh645775.aspx CSOM – Search (keyword query) ..Client.Search.Query; ClientContextcontext = newClientContext("http://site"); KeywordQueryquery = newKeywordQuery(context); query.QueryText = "ContentTypeId:0x0104*"; query.SelectProperties.Add("Title"); query.SelectProperties.Add("ContentTypeId"); SearchExecutorexecutor = newSearchExecutor(context); ClientResult results = executor.ExecuteQuery(query); context.ExecuteQuery(); foreach(varresult inresults.Value[0].ResultRows) { Console.WriteLine(string.Format("Result: Title={0} ({1})", result["Title"], result["ContentTypeId"])); } MS - SRCHCSOM – http://msdn..com/en-us/library/hh659202.aspx search query web service deprecated CSOM – Social (rs, feeds, likes, follows) ..Client.Social; ..Client.rProfiles; SocialFeedManagerfm = newSocialFeedManager(context); SocialFeedOptionsoptions = newSocialFeedOptions() { SortOrder = SocialFeedSortOrder.ByCreatedTime } ; ClientResult feedResult = fm.Feed(SocialFeedType.News, options); context.ExecuteQuery(); SocialFeedfeed = feedResult.Value; foreach(SocialThreadthread infeed.Threads) { SocialActoractor = thread.Actors[0]; SocialPostpost = thread.RootPost; Console.WriteLine(string.Format("{0} posted {1}", actor.Name, post.Text)); } MS - SOCCSOM – http://msdn..com/en-us/library/jj195162.aspx MS - CCSOM – http://msdn..com/en-us/library/hh630219.aspx CSOM – Taxonomy (Terms, Navigation) ..Client.Taxonomy; Taxonomy = Taxonomy.Taxonomy(context); TermStorestore = .DefaultSiteCollectionTermStore(); TermSetCollectiontsc = store.TermSetsByName("Colors", 1033); context.Load(tsc, list => list.Include(set => set.Terms)); context.ExecuteQuery(); TermSetcolors = tsc[0]; foreach(Termcolor incolors.Terms) { Console.WriteLine(color.Name); } MS - MS - EMMCSOM – http://msdn..com/en-us/library/hh661166.aspx Optimizing Requests with LINQ // Larger response, filter at client ListCollectionlists = context.Web.Lists; context.Load(lists); context.ExecuteQuery(); foreach(Listlist inlists) { if(list.Hidden == true) { Console.WriteLine(list.Title); } } // Smaller response, filter on server var query = fromlist incontext.Web.Lists wherelist.Hidden == true selectlist; var lists = context.LoadQuery(query); context.ExecuteQuery(); foreach(Listlist inlists) { Console.WriteLine(list.Title); } Batching Request Sample Request .Request contain .Actions (behavior) .ObjectPaths (a) .Actions link to Object Paths .Objects form hierarchies with ParentId’s .Typical Actions .ObjectPath – instantiates an object .Query – s scalar values for objects/types .Set[Static]Property – assigns object property .Typical ObjectPaths .StaticProperty – static object property .Property – property of other object .Method – results of a method call Sample Response Object Id’s align with request Id’s Protocol defines standard envelope metaa ex: _ObjectType_ Other properties carries a Client Assemblies .… Namespace …Client.Runtime.dll ..Client(client runtime context, web request) ...Client.dll ..Client (ClientContext,Site, Web, List,ListItem, r, RoleDefinition/Assignment) .Businessa.* (entities,lob systems, views, fields) ..Client.EventReceivers (SPRemoteEventType/Properties/Result) ..ApplicationPages.ClientPickerQuery (ClientPeoplePickerWebServiceInterface) ..Client.WebParts(LimitedWebPartManager, WebPart, WebPartDefinition) ..Client.Analytics (logging analytics events) ...Client.DocumentManagement.dll ..Client.DocumentSet (DocumentSet) ..Client.Video (VideoSet) ...Client.Publishing.dll ..Client.Publishing (PublishingSite/Web/Page,Variations) ..Client.Publishing.Navigation (TaxonomyNavigation, NavigationTerm/TermSet) ...Client.Search.dll ..Client.Search.Query (KeywordQuery, SearchExecutor) ...Client.Taxonomy.dll ..Client.Taxonomy (Taxonomy, TermStore/Group/Set,Term) ...Client.rProfiles.dll ..Client.rProfiles (ProfileLoader, rProfile, following) ..Client.Social (SocialFeed/Post/Thread/Actor) ..Client.Microfeed (MicroFeedManager/Store/Post/Thread) Demo Site Enumeration Demo – Stand Alone Application JSOM Differences between C# and JavaScript C# JavaScript ..Client; ExecuteOrDelayUntilScriptLoaded(initFunc,“sp.js”); …or… $(document).ready(initFunc); (ClientContext context =ClientContext(absoluteUrl)) (ClientContext context = TokenHelper…( )) var context = SP.ClientContext._current(); var context =SP.ClientContext(relativeUrl); string title = web.Title; var title = web._title(); context.Load(oList,list=>list.Title, list=>list.Created); context.load(oList,‘Title’, ‘Id’); context.load(oListColl, ‘Include(Title, Id)’); context.ExecuteQuery(); context.ExecuteQueryAsync(); context.executeQueryAsync(onSuccess, onError); Value types: StringCollection Value types: string[], NaN Automatic FormDigest handling Manual FormDigest handling Issues creating RoleDefinitionBindingCollection’s JavaScript Namespaces Include Namespace Namespace Objects SP.js SP,SP.Sharing, SP.Busiessa, SP.SiteHealth, SP.UI, SP.Utilities, SP.Workflow ClientContext, Site, Web, List SP.Publishing.js SP.Publishing, SP.Navigation SP.Search.js ..Client.Search.Query KeywordQuery,SearchExecutor SP.Social.js SP.Social SP.Taxonomy.js SP.Taxonomy SP.rProfiles.js SP.rProfiles Demo(s) Hybrid - Provider Hosted People Picker Demo ( JSOM & CSOM approaches toher) Hybrid – Provider hosted app to create sub - sites ( JSOM & CSOM approaches toher) http://officeams.codeplex.com Source for great reference app implementations Publishing channel for ready to examples on apps, which you can in your own projects Related s Tuesday SPC402 – Develop Advanced Search - Driven 2013 Apps (1:45pm, Palazzo I, J) SPC417 – Speed up your app development skills with API abstraction (5pm, Palazzo A - H) Wednesday SPC373 – Building solutions for mobile devices (10:45am, Palazzo I,J) SPC365 – Governing & configuring divisional sites in an enterprise environment (3:15pm, San Polo 3401 - 3503) SPC323 – App best practices Oa and the REST API (5pm, Palazzo A - H) Thursday SPC403 – Site provisioning techniques with apps (9am, Palazzo K,L) SPC408 – 2013 Apps with AngularJS (9am, Palazzo A - H) SPC409 – Deep dive: and Office App Security Model (OAuth & S2S) (10:30am, Palazzo A - H) SPC423 – Deep dive: REST and CSOM comparison (10:30am, Palazzo I,J) ExploreourPreview APIs In - depth articleson MSDN Subject to change; not for production Connectwith the cunity Speak your mind at OfficeSPDev.rVoice.Com Solve your roadblocks on StackOverflow [Office]and [] Build our tools Unleash your development skills with Office Dev Tools for Visual Studio 2013and Office 365 API Tools for Visual Studio 2013 Calls to Action © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Deep dive on self - service a retrieval w ith Power Query Matt Masson Senior Program Manager SPC328 ting External a Into Excel Fetch a from disparate sources Relational abases and cubes Text files and web pages Filter and shape Select the a you want Split and reformat columns Refreshable queries Not just a one time copy & paste action a Import Experiences Why Power Query? Enables self-service a discovery, query, transformation and mashupexperiences in Excel Discovery and connectivity to a wide range of a sources, including publicly available a of all sizes & shapes. Highly interactive and intuitive experience for rapidly and iteratively building queries over any a source, any size. Consistencyof experience, and parity of query capabilities over all a sources. Joinsacross different a sources; ability to create custom views over a that can then be shared with team/department. Demo Power Query for Excel Tricky Topics Query Folding a Source Credentials Privacy Levels Query Folding Power Query pushes work back to the source system whenever it can. SELECTProductKey, EnglishProductNameas [Product] FROM[dbo].[DimProduct] WHERE[ProductKey] < 10 What s Folded? Lots of stuff Column filters, row filters, joins, group by, pivot, unpivot Numeric calculations, aggregations Functionality depends on the a source Relational sources (SQL Server, Oracle, etc ) support the most functionality Also fold to Oa, Active Directory, Exchange, and others When something can’t be folded, Power Query does the work locally Things that affect folding Internal Power Query logic Native abase Query a source privacy level Credentials and Privacy Levels Power Query stores credentials locally They aren’t included with the workbook You prompted the first time you try to connect to a a source Edit or remove credentials the a Source Settings button a sources have Privacy Levels Prevents Power Query from sending private a to public a sources You prompted the first time you join/merge the a source with another Levels •Public •Organizational •Private Demo More Power Query for Excel Next Steps Download Power Query for Excel http://aka.ms/powerquery Find out more about Power BI Enables corporate a search and query sharing capabilities in Power Query http://www.powerbi.com/ Public Preview for SAP BusinessObjects BI http://www..com/en-us/powerbi/sap.aspx Announcing Power BI connectivity to SAP BusinessObjects BI Public Preview Try the Preview today at www.powerbi.com ! Learn more at www.sap.com/biconnector and www.powerbi.com Visit SAP booth #1724 for a demo! http://npcloud.org/wp-content/uploads/2012/02/SAP-Logo.png iStock_000022544544_Medium.jpg JOIN US to stay ahead of the curve in the changing world of analytics with more than 70 s by the world’s top BI and BA experts. PASS_BA_Conference_horz.png Untitled-2.png $300 off with discount code: BACSPC passbaconference.com Calling All a Professionals: MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Deep Dive on the a Management Gateway in Power BI for connectivity to on premise and hybrid scenarios Majdi Badarin Principal Program Manager SPC397 Matt Masson Senior Program Manager Objectives And Takeaways Overview of Power BI for Office 365 a Management Gateway explained Role of the “IT Admin” in Power BI Power BI Admin Center How to enable consistent way for a access How to enabling refresh of Excel workbooks in Online The World of a is Changing “By 2015, organizations integrating high - value, diverse,information types and sources into a coherent information management infrastructure will outperform their industry peers financially by more than 20%.” – Gartner, Regina Casonato et al., “Information Management in the 21st Century” Consumerization of IT 10x increase every five years 85% from a types a explosion 4.3 connected devices per adult 27% social media input E:\iPad_Assets\ipad.png G:\MyPhotos\DVD\DVD_Art_08-10-2010\Artwork_Imagery\Hardware Photos\OEM HW\COMPUTERS - PC\Windows 7\AIOs\acer aspire z5610-all-in-one.png \\SFP\Work\White_Whale\2-20426_Lees_MCB_Partner\Art\Images\Phones\VerizonDroidPhone_Full.png \\SFP\Work\White_Whale\2-xxxxx_Anderson_MMS\SFP_Art\Device Freedom\Symbian_Phone.png Discover Combine Refine Relational Non-relational Streaming immersive aexperiences connecting withworlds a any a, any size, anywhere Self-Service Collaboration CorporateApps Devices Analytical End - To - End Business Analytics Platform Power BI for Office 365 Collaborate in Office 365 1 in 4 enterprise customers on Office 365 Insights in Excel 1 Billion Office rs Analyze Visualize Share Find Q&A Mobile Discover Scalable | Manageable | Trusted Self-service BI with the familiarity of Office and the power of the service Extend with Hybrid Cloud Solutions Enable ease of discovery with a search across on premise a Monitor a usage across your organization to optimize system investments On - Premise a Access Enterprise a Search a Usage & Telemetry a Management Gateway Enable manual or scheduled a refresh for reports in Office 365 to on - premise sources 22 Extend with Hybrid Cloud Solutions Enable ease of discovery with a search across on premise a Monitor a usage across your organization to optimize system investments On - Premise a Access Enterprise a Search a Usage & Telemetry a Catalogue Enable manual or scheduled a refresh for reports in Office 365 to on - premise sources 22 Extend with Hybrid Cloud Solutions Enable ease of discovery with a search across on premise a Monitor a usage across your organization to optimize system investments On - Premise a Access Enterprise a Search a Usage & Telemetry a Catalogue Enable manual or scheduled a refresh for reports in Office 365 to on - premise sources 22 Power BI – Conceptual Architecture O365 Power BI Corporate a Sources IT Admin a Management Gateway Corporate a Catalog Power BI Admin Center a Management Portal SPO team sites, BI Sites, Q&A Cloud a Sources Public a Catalog a Steward IW (Author) IW (Consumer) Manage a Publish raw a sources or expose them as Oa feeds Publish queries a Refresh a Refresh Power Query Power Pivot Power View Power Map Publish reports & create featured questions, configure scheduled refresh Import a, Publish queries Excel, Tablet/Mobile, Browser – Silverlight, HTML5 Consume interactive reports, ask questions Configure Import a Import a Import a Import a Public Cloud a Sources Index IT Infrastructure Services for Power BI Govern usage, secure access and grant authority Provides a single pane of glass to manage and monitor all services and servers Enabling IT to expose and protect a sources and complex feeds Respond to incidents - service KPIs, SLA metrics, audit logs Role of the IT Admin in Power BI Enabler of Self Service BI Varying levels of control across a sources, departments Oversight and monitoring of cloud a access Ability to make corporate a sources easier to discover, and easier to access Power BI Admin Center Access via link in O365 admin portal Configure Power BI roles Install and monitor the a Management Gateways for your organization Configure access to cloud enabled a sources Expose Oa feeds to corporate a sources Demo Power BI Admin Center and the a Management Gateway a Management Gateway Enabling Corporate Oa Feeds Enabling Excel Workbook a Refresh Online Enabling Discovery in Power Query capabilities 3.png Power BI Admin Center a Management Gateway a Management Gateway - Conceptual Power BI Admin Center Allows IT to configure, manage and monitor access to corporate a sources. a Management Gateway Connects to corporate a sources and sends a to cloud services through a secure channel (Service Bus). Corporate a Sources The Gateway can connect to a variety of a sources. Secure Credential Store All credentials d by the gateway are stored on- premises. Encrypted backup of credentials can also be stored in the cloud to enable business continuity scenarios. a Management Gateway - Oa Expose SQL tables or views as Oa feeds Requires a primary key or unique index Automatically in the a Catalogue Creates a cloud endpoint Currently only d for discovery and authentication Actual Oa results are served from connection to Gateway Consumable from Power Query Org ID authentication, and redirection from cloud to on - premises Gateway Configuration Details Cunicates with cloud services Requires outgoing ports ( 9350-9354) Falls back to 443/80if the other ports aren’t open No incoming ports from the internet (messages received via Service Bus) Receives credentials from ClickOnce application Serves Oa feeds to on - prem clients Requires incoming port default: 8050(and 8051if HTTP is d) Recended to HTTPS with signed certificate be able to resolve DNS names for a sources a Sources Available system wide rs and groups configured through the portal Static credentials d for refresh Support for SQL Server and Oracle More a sources coming soon Complex a Feed functionality Expose SSIS a flow as SQL view Corporate Oa Feeds a Management Gateway Power Query (1) Power Query Anna connects to Oa feed (3) The a Management Gateway connects to SQL Server either Windows account or abase account setup by IT when creating the feed (4) Returns Result (5) Returns Oa feed Power BI Cloud Services (2) Redirect to gateway Demo Corporate Oa Feeds and the a Catalogue a Refresh from Power BI Sites a Management Gateway Excel Workbook in Online Gateway Cloud Service (1) a refresh is triggered from Power BI Sites (2) Connects to Gateway Cloud Service (3) Checks whether r is authorized to perform a refresh (4) Sends cand (SQL statement, connection string) to on-premiseGateway (5) Sends SQL to SQL Server (6) Return Results (7) Compress, chunk and return the a (8) Returns a to Excel Workbook Current Limitations Not all a sources can be refreshed Cloud : Windows Azure SQL abase, SQL Server (in Azure VM), Oa On - Prem : SQL Server (2005+), Oracle (10g, 11g, and 11gR2) Power Query support coming soon! s pre - defined credentials Cloud : Embedded in workbook, or read from Secure Store On - Prem : Configure through the Power BI A dmin Center Demo Scheduled Refresh through Online a Management Gateway Enabling Corporate Oa Feeds Enabling Excel Workbook a Refresh Online Enabling Discovery in Power Query capabilities 3.png Power BI Admin Center a Management Gateway ting Stated with Power BI for Office 365 preview http://office..com/en-us/excel/power-bi-download-add-in- FX104087144.aspx Power BI blog http://blogs.msdn.com/b/powerbi/ Introduction to Power BI Admin Center Power BI Admin Center Help Restore a a Management Gateway Monitor System Health the System Health Oa Feed Publish SSIS Packages as Oa Feed Sources Supported a Sources and a Types Resources MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Deliver adaptive and personalized experiences for your 2013 sites Ryan Sockalosky Productivity Technical Specialist SPC228 .What are the building blocks of Web Content Management with 2013? .What is Search Driven Publishing? Why should you care? .How to transform Personalization , Adaptive , Dynamic from being buzz words into features of your sites. Objectives & Takeaways .For the Conference .www.conference.com .At the Conference .AMD : 13 Million rs. 54 Million page views. www.AMD.com on 2013. Done . – SPC353 Wed. 5:00 PM .The Seattle Art Mum: art meets function with 2013 – SPC205 .And more…. .Internet: D&M Group - Case Study| United - Case Study| Toyota - Case Study .Intranet: Abt Associates – 2014 Nielsen Normal Intranet Design Award .And more examples… http://sps.cloudapp.net/ 2013 Web Sites SPC378 Making Your portal Social SPC224 Conference Site: From Sketch to Launch to Live! Business Challenges delivering Web Experiences Ease of with familiar toolsfor creating and consuming content Create, re and consumecontent for any device and language Surface the right contentto the right rwith adaptive experiences \\\Projects\\Cloud Power \Design\_PNG\IIS-MULTI-TENANCY.png \\\Projects\\Cloud Power \Design\_PNG\Devices.png Intranet & Internet SPC228 THIS Addressing the Challenges \\\Projects\\Cloud Power \Design\_PNG\IIS-MULTI-TENANCY.png \\\Projects\\Cloud Power \Design\_PNG\Devices.png Design Publish Engage Develop sites with familiar design tools(Dreamweaver, ion Blend, etc..) Author once and re - content any channel Search drives adaptive, personalized experiences Design industry standards (HTML5, CSS, JavaScript, etc…) Multi - lingual sites with translation services Build sites with both dynamic and static content Optimize experiences for mobile with device channels Content and search driven dynamic navigation Recenions via Analysis Engine SPC228 THIS Design Improvements Experts 2010 Designer Static Pages + Content HTML/CSS + ASP.NET N/A Mobile N/A Renditions Limited SEO Limited CSOM API’s Web Designers 2013 Any Design Tool (Design Manager) Templates + Dynamic Content Snippet Gallery Device Channels Image + Video Renditions FURLs, SEO, Sitemaps, etc… Full CSOM, REST/Oa& Apps SPC203 Adjust the perspective with responsive designs for Demo Contoso.com & Contoso Knowledge Portal Walkthrough Documents Catalogs Pages Digital Assets Content www Ext. CMS LOB + more External Content Analysis Engine r Behavior (+custom events) Content & Authoring Search Publishing Experiences REST/Oa Managed Navigation Page Framework Content Search WP (CSWP) Display Templates Device Channels Variations Reports \\\Projects\\Cloud Power \Design\\PNGs\Cloud_on_your_terms.png Search Index Recenions Query Rule Engine Crawler Templates Query Documents Catalogs Pages Digital Assets Content www Ext. CMS LOB + more External Content Analysis Engine r Behavior (+custom events) Content & Authoring Search Publishing Experiences REST/Oa Managed Navigation Page Framework Content Search WP (CSWP) Display Templates Device Channels Variations Reports \\\Projects\\Cloud Power \Design\\PNGs\Cloud_on_your_terms.png Search Index Recenions Query Rule Engine Crawler Templates Query Demo Content Search Web Part Documents Catalogs Pages Digital Assets Content www Ext. CMS LOB + more External Content Analysis Engine r Behavior (+custom events) Content & Authoring Search Publishing Experiences REST/Oa Managed Navigation Page Framework Content Search WP (CSWP) Display Templates Device Channels Variations Reports \\\Projects\\Cloud Power \Design\\PNGs\Cloud_on_your_terms.png Search Index Recenions Query Rule Engine Crawler Templates Query SPC322 Thu 9:00am Search Display Templates & Query Rules Documents Catalogs Pages Digital Assets Content www Ext. CMS LOB + more External Content Analysis Engine r Behavior (+custom events) Content & Authoring Search Publishing Experiences REST/Oa Managed Navigation Page Framework Content Search WP (CSWP) Display Templates Device Channels Variations Reports \\\Projects\\Cloud Power \Design\\PNGs\Cloud_on_your_terms.png Search Index Recenions Query Rule Engine Crawler Templates Query Experiences Analytics Engine & Recenions Contoso.com Contoso.de Contoso.fr … Contoso Portal Contoso Tablet App Contoso Mobile App Usage Events (Native or REST) -Clicks -Purchases -Downloads -Videos -Custom -etc.. Search Index Analytics Engine \\\Projects\\Cloud Power \Design\\PNGs\Cloud_on_your_terms.png 3 rd Party Usage Events -Recenions -Upe relevancy -Usage stats Event Processing via MapReduce -Insights/Reports -Popular + trending items -item-to-item relationships CSWP + Query Rules -Item recs -Personal recs -Popular/trending -Custom recs -etc.. 1 2 3 4 Demo Recenions Documents Catalogs Pages Digital Assets Content www Ext. CMS LOB + more External Content Analysis Engine r Behavior (+custom events) Content & Authoring Search Publishing Experiences REST/Oa Managed Navigation Page Framework Content Search WP (CSWP) Display Templates Device Channels Variations Reports \\\Projects\\Cloud Power \Design\\PNGs\Cloud_on_your_terms.png Search Index Recenions Query Rule Engine Crawler Templates Query Documents Catalogs Pages Digital Assets Content www Ext. CMS LOB + more External Content Analysis Engine r Behavior (+custom events) Content & Authoring Search Publishing Experiences REST/Oa Managed Navigation Page Framework Content Search WP (CSWP) Display Templates Device Channels Variations Reports \\\Projects\\Cloud Power \Design\\PNGs\Cloud_on_your_terms.png Search Index Recenions Query Rule Engine Crawler Templates Query - Dynamic relevancy - Content re - - Recenions Tar content: - B usiness rules - U ser context - r Behavior - Visitor profile - Devices - Location - Referrer Search Rule Engine r Context - Template - Device Channels - Content Search WP - Renditions Dynamic Delivery CSWP CSWP CSWP CSWP Contextual & Tared Experiences Dynamic & Tared Content Context & Behavior Demo Content Taring Documents Catalogs Pages Digital Assets Content www Ext. CMS LOB + more External Content Analysis Engine r Behavior (+custom events) Content & Authoring Search Publishing Experiences REST/Oa Managed Navigation Page Framework Content Search WP (CSWP) Display Templates Device Channels Variations Reports \\\Projects\\Cloud Power \Design\\PNGs\Cloud_on_your_terms.png Search Index Recenions Query Rule Engine Crawler Templates Query Documents Catalogs Pages Digital Assets Content www Ext. CMS LOB + more External Content Analysis Engine r Behavior (+custom events) Content & Authoring Search Publishing Experiences REST/Oa Managed Navigation Page Framework Content Search WP (CSWP) Display Templates Device Channels Variations Reports \\\Projects\\Cloud Power \Design\\PNGs\Cloud_on_your_terms.png Search Index Recenions Query Rule Engine Crawler Templates Query • Yes! • Content Search WP • Managed Navigation Office 365 Frequently Asked Questions • Fully supported • Live customers (i.e. Toyota) • When to it? • Production • Dev/Test/QA Azure - Responsive Design - Device Channels Mobile - Web Analytics - Analysis Engine - 3 rd party (i.e. Webtrends ) Analytics SPC340 2013 Search Analytics SPC337 Search - driven publishing for Intranet Portals in Online SPC387 Thu 10:30 am Azure IaaS and 2013 WCM - better toher! SPC203 Adjust the perspective with responsive designs for See you at the Searchbooth’s & Search tables at Asks the Experts WED @6:15! Room Time Develop Advanced Search-Driven 2013 Apps SPC402 Palazzo I, J Tue1:45pm Best practices for Hybrid Search deployments SPC306 Veronese 2401 Tue5:00pm 2013 Search Analytics SPC340 Palazzo M, N Wed9:00am How to manage and troubleshoot Search: A practical guide SPC375 Veronese 2401 Wed10:45am 6 Proven Steps to the Best Out of Search in 2013 SPC265 Delphino4001 Wed1:45pm Best practices for Information Architecture and Enterprise Search SPC207 Veronese 2401 Wed1:45pm Search content enrichment and extensibility in 2013 SCP414 Palazzo K, L Wed1:45pm Customizing Search experiences with Azure Hosted a and Bing Maps SPC321 Veronese 2401 Wed3:15pm Futuristic Search applications Kinect and Yammer! SPC405 Palazzo M, N Wed3:15pm Search architecture and sizing in 2013 SPC336 Titian 2201 Wed5:00pm Effective Search deployment and operations in 2013 SPC360 Veronese 2401 Thu9:00am 2013 Search display templates and query rules SPC322 Palazzo M, N Thu9:00am Managing Search Relevance in 2013 and O365 SPC382 Veronese 2401 Thu12:00pm Search Related s See you at the Sites & Portal booth’s & tables at Asks the Experts WED @6:15! Room Time Trends in Designing Portals for 2013 SPC2013 Palazzo M, N Mon3:45pm Make your portal social in 1-2-3! SPC378 Palazzo M, N Tue9:00am Search-driven publishing for Intranet Portals in Online SPC337 Murano3201 Tue1:45pm The Conference.com Site: From Sketch to Launch to Live! SPC224 Veronese 2401 Tue1:45pm Adjust the perspective with responsive designs for SPC203 Palazzo O, P Tue3:15pm Branding Internet facing web sites with in the cloud SPC290 Delphino4001 Tue3:15pm Building a Modern Portal in 75 Minutes! SCP399 Palazzo M, N Tue5:00pm 2013 Powering Web Sites and Mobile Apps SPC388 Palazzo M, N Wed10:45am Deliver adaptive and personalized experiences for your 2013 sites SPC228 Marcello 4401 Wed1:45pm E-cerce solutions with Dynamics for Retail & 2013 SPC359 Veronese 2401 Wed5:00pm Online Performance –Designing your Pages to be Fast SPC3993 Titian 2201 Thu9:00am Azure IaaSand 2013 WCM -better toher! SPC387 Veronese 2401 Thu10:30am The strategy behind building a successful social intranet SPC291 Lando4204 Thu12:00pm Sites & Portals Related s MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. SPC229 - Designing and Applying Information Architecture for and Office 365 Agnes Molnar Server MVP SPC229 Israel Vega, Jr Architect http://aghy.azurewebsites.net/Media/Default/_layouts/aghy-logo-motto1.jpg Agenda We will share design tips, tricks, challenges, gotchas and workarounds that cover: All on premise All on premise with an eye on the cloud All in the cloud Hybrid Specific focus on what is possible OOTB or with little configuration Information Architecture The art and science of organizing and labeling the CONTENT (documents, web sites, blog posts, abase entries, etc.) to support findability and usability Measuring the Importance of IA Cost of finding Cost of not finding Cost of development Value of learning How much does not locating relevant information in a timely fashion information cost? No Governance Bad Naming: Document1.docx JoeLibrary List1 No structure Uploading everything to “Shared Documents” Creating/Uploading content in the wrong place MarketingCampaign2013.pptx in the Campaign2012 folder Customer1.docx on the Customer2 site traffic jam-713465 With Governance Naming convention: Content Type: Marketing Campaign Template Term: Europe / United Kingdom / London Structure Content Type Hierarchy Site Columns Managed Metaa hierarchy Keep your structure “clean” http://thumbs.dreamstime.com/x/elevated-highway-cross-roads-24540206.jpg Con IA Design Starting Points r Interface r Scenarios Technology Cost Capabilities Limitations Randomly Business s IT restrictions Governance Plan Actually the Same Politics Willingness to train IA Components Document ID Subsites/ webs Site Policies lists and libraries Fields and columns Yammer Document Policies Social Tags Content types Enterprise Keywords r profiles Audiences Document Sets Web applications Workflows Sites Site Templates Governance Content Organizer Rules Security Recended Minimum Components Metaa Content , search, , structured, developer, workflow Field types Site Structure In SP 2010 these were equal In SP 2013 these can be different for publishing sites Navigational structures Hierarchy, random, functional, topics, groups, format, location Grouping structures hierarchy for hierarchy sake Consider reorgs and alignments Navigation Components Global Navigation Local Navigation Breadcrumbs Site Types Site classification Site Templates Visual Layouts Master Pages Page Layouts Web Parts Example Site Architecture (Master Pages) Home Products Product News Content Services Content HR Content IT Content Search MP 1 MP 2 MP 3 Product Sites MP 4 Don’t know where to start? According to http://www.nngroup.com/articles/intranet-information-architecture-ia/Jacob Nielsen Company, human resources, news are con among most intranets Example Site Architecture (Layouts) Home Products Product News Content Services Content HR Content IT Content Search Layout 1 Layout 2 Layout 3 Layout 4 Layout 5 Example Content Types Legal Document Item/ Document Company Document Sales Document Finance Document Never Modify!! Content Disposition Core Metaa Navigation Concepts In SP 2013 Logical Global Navigation – Top level places to go Secondary Navigation - Peers Current - Where I am Recent – Where I have been Breadcrumb – Navigation path to here Physical Structural Managed Suite bar Quick links Breadcrumb * Ribbon Custom Page Types Home Summary of Summaries Summaries Detail Content rollups of information or rollups of rollups Detailed content page Most likely not edited, just summarized from content below Example Home Page Wireframe Overlay Page picture News Rollup Top Navigation Search Content Type: HomePage Layout: HomePage Required Content Fields: Author Required Administrative Fields: Title Page Title Required Developer Fields: Example Content Page Wireframe Overlay Content Type: ContentPage Layout: ContentPage Required Content Fields: Title Sub Title By Line Body Content Required Administrative Fields: Page Title Last Modified Required Developer Fields: Pahumbnail Title Page Information Top Navigation Page Image Sub title Body Content Search Example Product Page Wireframe Overlay Content Type: ProductPage Layout: ProductPage Required Content Fields: Title Sub Title Product Name (MMS) ProductContact Email ProductIntro Body Content Required Administrative Fields: Page Title Last Modified Required Developer Fields: Pahumbnail Product Id Title Summary Content Page Information Department Image Top Navigation Search Page Image Sub Title Product Intro Product Info FAQ list Site Types Site Templates * Determine basic behavior Provide basic starting point Can be customized Examples Team Sites Publishing Sites Blog Cloud only Crawled Properties Mapped Properties Search Properties Design Example Project Number Client Name Project Financial ID Project Number External Content CustomerNo ProjectNo Unstructured Content Project NBR ClientNumber ClientName List a Project ID ClientID Client Name Content Type Project ID Customer Quick Survey - Who are you? Brandto Previous version Integrating with something else Migrating to the cloud Already in the cloud Half in the cloud Our Recended IA Process 1.What are you trying to do? 2.Why are you trying to do it? 3.How will you know you did it right? 4.How will you know you did it wrong? 1. WHAT ARE YOU TRYING TO DO? … plan a implementation .Do workshops .Do ask the rs .Do input from IT .Do plan and design .Do have a vision beyond the initial rollout .Don’t try to design it all - it will be wrong the first time .Don’t build it first, then plan it .Don’t customize day 1 .Don’t start without knowing what product can do “Know your enemy and know yourself” … -Sun Tzu … start a migration Inventory current state your existing taxonomy Count the things - documents, document types, document sizes, content categories Content clean up, Owners Security Understand how do things managed (now and future state) Groups, people Legal, content disposition Understand what is working, what is not …plan for the first time Seriously the cloud first Figure out why it won’t work and how you could make it work Know where will play in your organization on that, organize around those cases Systems of record for content and a You don’t have to model everything … organize sites Information that relates to everyone Information that relates to me Information I to know Information I want to understand Things that I work on … standardize i nformation l ifecycle Understand scale Think governance first Know your limits - This word, or the terms "REQUIRED" or "SHALL " NOT - This phrase, or the phrase "SHALL NOT " SHOULD - This word, or the adjective "RECENDED " SHOULD NOT - This phrase, or the phrase "NOT RECENDED " Know what can be enforced and how Policy Technology Not enforced …author in many places, consume in one Feature: Cross Site Publishing Catalog pages Publishing site collections Friendly URLs Term driven pages Search Scenarios Multilingual Separate authoring containers Internet Sites Content catalogs Benefits Separate content from presentation Author autonomy Portal is dynamic and alive Available in the cloud (for specific plans) Challenges Takes effort in design Content type and metaa separation Search driven paradigm 2. WHY ARE YOU TRYING TO DO IT? Typical Reasons for Deployment Technical Storage Cost Adoption Ease of deployment Social Migration File shares Existing Functional Search Organization Migrating to the Cloud? On Premise to the Cloud – Potential challenges Managed Paths Multiple web applications Host Header Site Collections Custom Site definitions Heavy customizations Large content sources Making Search Better Content Ranking Crawling & Indexing Display Results Optimizing Admins rs I’m not ready to go completely to the cloud Hybrid Integration - What Goes “Cloud” Workload Separation Workload Sun - setting (Old stays,goes) Provisioning and business impact on r access s/licensing Branding Separation/Integration lead to confusion Search Driven Applications LOB/Cloud App Integration Hybrid Site Structure Planning Projects \\\Projects\\Cloud Power \Design\_PNG\Professionals.png Legal \\\Projects\\Journey to the Cloud Campaign\102810 Drop\PUBLIC \Integrity.png Finance Office 365 Intranet \\\Projects\\Cloud Power \Design\_PNG\IIS-MULTI-TENANCY.png Social MySites \\\Projects\\Cloud Power \Design\_PNG\r.png MySites \\\Projects\\Cloud Power \Design\_PNG\r.png Sales Finance Sales HR HR Hybrid Demo Site Structure Design Legal \\\Projects\\Journey to the Cloud Campaign\102810 Drop\PUBLIC \Integrity.png Finance Office 365 Intranet \\\Projects\\Cloud Power \Design\_PNG\IIS-MULTI-TENANCY.png Social MySites \\\Projects\\Cloud Power \Design\_PNG\r.png MySites \\\Projects\\Cloud Power \Design\_PNG\r.png Sales HR Projects \\\Projects\\Cloud Power \Design\_PNG\Professionals.png Projects \\\Projects\\Cloud Power \Design\_PNG\Professionals.png Sales HR Hybrid Taxonomy Example Not the same Inside Taxonomy Cloud Taxonomy Hybrid Search Verticals On Premise Search Vertical O365 Search Vertical 3. HOW WILL YOU KNOW YOU DID IT RIGHT? Measure, Measure, Measure You can’t improve what can’t measure Know what success looks like You will it wrong Implement Govern Measure Improve 4. HOW WILL YOU KNOW YOU DID IT WRONG? Contact Us Agnes Molnar aghy@aghy.hu Israel Vega ivega@inkblotconsulting.com Related Content Code Title SPC 207 Best practices for Information Architecture and Enterprise Search SPC 217 Making Collaboration Rock by Increasing Discoverability SPC 226 Content Types, Managed Metaa, and You SPC 229 Designing and applying information architecture for and Office 365 SPC 247 Successful team collaboration with Yammer & SPC 300 A strategic and pragmatic conversation on governance SPC 329 Migrate your a and documents efficiently to Online and SkyDrive Pro SPC 346 for large scale records management -hundreds of millions of documents and beyond! SPC 357 Developing an intranet on Office 365 MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be trade mar ks in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Designing, deploying, and managing Workflow Manager farms Spencer Harbar Architect SPC356 Wictor Wilén Architect Introductions Wictor Wilén Director, Architect , Author Connecta AB, Sweden Spencer Harbar Architect Edinburgh, United Kingdom Honorable shout out and thanks to: Wayne Ewington Principal Consultant, Zealand Agenda Introduction to Workflow Manager Workflow Manager high level architecture Topology options Installation and configuration Business continuity management What is Workflow Manager? Formerly Azure Workflow Server/Services (AWS) Same “code base” as Windows Azure Service Bus Windows Workflow Founion .NET 4.5 Scalable and reliable workflow engine REST Multi - tenant capable logical construct of “scopes ” provides partitioning Comparing 2010 and 2013 Workflows 2010 Legacy approach Primarily for backwards compatibility (e.g. upgrade) Tightly coupled to Servers In Process Declarative or custom code Available both in Founion and Server 2013 Future Decoupled from , and supporting other consuming platforms Declarative only On Premises or Cloud Consistent with .NET Framework Workflow Much more capable App friendly Available in Server only High level architecture Architecture Overview Content Events Sharing People 2010 Workflow _API (REST OM) Access Control OAuth Service Bus Workflow Manager Workflow Service Application Proxy Workflow Services Manager Instances Interop Deployment Messaging Workflow Client Workflow Manager – Front End / Back End Logically split into Front End and Back End Front End Resource Management Services Workflow and Activity CRUD operations Instance Management Services Instance queries Application Events and Control Messages Back End Workflow Host Service Bus Service Bus Guaranteed message delivery Publish/Subscribe Loosely coupled Workflow Manager Client .Workflow.Client.dll Manage workflows (“definitions”), monitor, initiate, and cunicate with instances Required on all servers Handles cunication with Workflow Manager Workflow Service Application Proxy construct with PowerShell Broker for all calls to Workflow Manager Dependent upon Workflow Manager Client Workflow Services Manager API for managing, monitoring and interacting with workflows – CSOM, JSOM, REST Instances : Access to running instances, including sending messages Deployment : Saving/publishing/changing workflow definitions , valiing XAML, etc. Messaging : Handles how messages are sent from to Workflow Manager Interop : Interaction with 2010 workflow Messaging Inbound notifications Start/stop workflow Events Management One - way only Outbound work REST/Web service calls Workflow Back - End . destination , PUT, POST, DELETE, MERGE Outbound notifications RegisterInterest Confirmation \\\Projects\\Cloud Power \Design\_PNG\Mail.png Message Workflow Manager \\\Projects\\Cloud Power \Design\_PNG\Mail.png Message \\\Projects\\Cloud Power \Design\_PNG\Mail.png Notification Topologies Topologies One or three servers NOT two, NOT four, NOT six, NOT eight…. Service Bus and quorum implementation Each component run on each server Workflow Manager and Service Bus There are NO other supported topologies Remember! One or three servers! A farm of two (or four, six etc ) can of course be built, but it is NOT supported And more importantly, it won’t provide high availability Topologies: co - located Running Workflow Manager on adequately resourced Web Servers in the farm Carefully factor this into your overall farm topology design load balancer \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png \\\Projects\\Cloud Power \Design\_PNG\IIS-MULTI-TENANCY.png Workflow Manager \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png \\\Projects\\Cloud Power \Design\_PNG\IIS-MULTI-TENANCY.png Workflow Manager \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png \\\Projects\\Cloud Power \Design\_PNG\IIS-MULTI-TENANCY.png \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png \\\Projects\\Cloud Power \Design\_PNG\IIS-MULTI-TENANCY.png Workflow Manager Topologies: Federated Workflow Manger farm serving multiple Farms load balancer Workflow Manager \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png Scope 1 Scope 1 (SP Farm 1) (SP Farm 1) Scope 2 Scope 2 (SP Farm 2) (SP Farm 2) Topologies: ‘Distributed’ Multiple Workflow Manger farms serving multiple tenants And potentially Farms load balancer Workflow Manager \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png Scope 1 Scope 1 (SP (SP Tenant1 Tenant1) ) Scope 2 Scope 2 (SP (SP Tenant 2 Tenant 2) ) Workflow Manager \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png \\\Projects\\Cloud Power \Design\\PNGs\Server_2.png Scope 1 Scope 1 (SP (SP Tenant3) Tenant3) Scope 2 Scope 2 (SP (SP Tenant 4) Tenant 4) SP Tenant 1 SP Tenant 1 SP Tenant 2 SP Tenant 2 SP Tenant 3 SP Tenant 3 SP Tenant 4 SP Tenant 4 Planning for performance and throughput Consider scale upfront Workflow expands rapidly New platform enables high scale but you a plan! Regularly occurring large loads Examples include expense reports, timesheets etc at end of financial period Con gotcha: Network Interface configuration Between and Workflow Farms Between Workflow farms and external systems Scaling out Multi - server farm Workload automatically distributed Load balancer for client interaction/REST calls Workflow Manager: Maximum of three servers Factors CPU – Workflow Manager, Service Bus, SQL I/O – SQL Network throughput & latency Scale SQL Server first Likely to be the first bottleneck Server distribution – Workflow Manager and Service Bus abases on different abase servers SQL optimization (file I/O, sizing, etc ) However keep it practical (!) – REF Wictor’s topology sesion Installation and Configuration Hardware and Software Requirements Hardware Minimum RAM: 2Gb Minimum CPU: 2 GHz Dual Core Minimum Disk: 1Gb Free Operating System Windows Server 2008 R2 Service Pack 1 (x64) Windows Server 2012 (x64) Development purposes only: Windows 7 Service Pack 1 (x64) Windows 8 (x64) Software Pre - requisites .NET Framework 4 Platform Upe 3 or .NET Framework 4.5 PowerShell 3.0 Service Bus 1.0 Workflow Client 1.0 Installed Web Platform Installer ( WebPI ) Download can be “cached” and performed offline More details later SQL Server Requirements Versions and Editions SQL Server 2012 (or ) SQL Server 2008 R2 SP1 (or ) Configurations Collation: Default, SP, Binary Clustering Mirroring AlwaysOn Security Windows authentication SQL Server Authentication Environment Requirements SQL Server connectivity TCP/IP SQL Browser service running on SQL Server Whilst stated, this is NOT actually a requirement! Named Pipes SQL Server machine name < 16 characters (NetBIOS restriction) Firewall Ports 1443, 12290 and 12291 available (default) Windows Firewall automatically configured if selected (default) during Workflow Manager Farm creation Strongly recended to the default ports r Requirements Configuration r The account d when configuring Workflow Manager Similar to the “Setup r” Local Admin on servers DBCreator and SecurityAdmin (or pre - create) Also called “Logged In r” or “Current r” in some documentation RunAs r Service Account Identity d for Workflow Manager & Service Bus services Can be a separate account for each Built - In accounts NOTsupported Fully qualified UPN format ( r@domain.com) – this is NOT strictly required Granted Log on as a Service right during configuration Don’t the same account for both! Service Account Password Changes Workflow Manager and Service Bus If Service Accounts are expired by policy: the Configuration Account, or other Workflow Manager and Service Bus Administrator account Watch out! MSDN refers to interactively logging in as the service account! msdn..com/en-us/library/windowsazure/jj193456(v=azure.10).aspx msdn..com/en-us/library/windowsazure/jj193007(v=azure.10).aspx 2013 Requirements Interaction between and Workflow Manager farms is OAuth 2. Therefore requires: App Management Service Instance and Service Application r Profile Service Instance and Service Application rs be populated in the Profile store and have valid r Principal Name (UPN) Workflow Manager valiesby rPrincipalName (UPN) Ensures they have rights to start instances If not, instance cancelled One of the reasons 2013 Workflows are not available in Founion Certificates OAuth2 should always be SSL Therefore the Workflow Manager Farm should SSL Don’t for the side! Service Bus Farm Certificate Encryption Certificate Workflow Manager Services SSL Certificate Encryption Certificate Outbound Signing Certificate Certificates - Choices Auto Generated Suitable for most deployments Provide Generation Key Required for every server to join Workflow Manager Farm Record this value! Configuration takes care of copying them/creating them existing (Domain CA Issued) be in the Local Machine \ Personal certificate store for all computers in farm Administrators responsibility to create them and copy them to each machine in the farm(s) Multi server farms include a Subject Alternative Name for the DNS domain, e.g. *.fabrikam.com Installation Install and configure farm Including Workflow Manager Client on every server Install and configure Workflow Manager farm Logged in as Configuration Account Web Platform Installer http://bit.ly/WebPIWM Offline Install On an Internet connected machine: Download and install WebPICmd.exe http://bit.ly/WebPIv4 From an Administrator Cand prompt: webpicmd /offline / Products:WorkflowManager / Path:c : \ OfflineWorkflow Will download Workflow Manager and it’s pre - reqs to the specified folder Copy contents to intended Workflow Manager server On Workflow Manager Server(s): From an Administrator Cand Prompt: WebpiCmd.exe /Install / Products:WorkflowManager / XML:c : \ offlineWorkFlow \ feeds \ latest \ webproductlist.xml To install Workflow Client (on Servers): WebpiCmd.exe /Install / Products:WorkflowClient / XML:c : \ offlineWorkFlow \ feeds \ latest \ webproductlist.xml Configuration Wizard Start | All Programs | Workflow Manager 1.0 | Workflow Manager Configuration Supported screen resolutions: Above 800 x 600 for 100% DPI Above 1000 x 750 for 125 % DPI Above 1200 x 900 for 150 % DPI (seemingly irrelevant detail important in RDP scenarios!) Leaving a Farm Rename a Server Remove from Farm Rename Server Join back to Farm Reduce Farm to one Server Remove allmachines (keep abases) Join existing farm from existing machine Connecting to MSMQ Configuration Optional Configuration Enables Asynchronous Event Messaging Supports disconnected scenarios (e.g. maintenance windows in large environments) Enable MSMQ on Servers In this case, Workflow Manager can NOT be co - located with PowerShell $proxy = -SPWorkflowServiceApplicationProxy $proxy.AllowQueue= $true; $proxy.Upe(); Valiing install and configuration - SBFarmStatus & - WFFarmStatus Will report on Windows Services state and http(s) availability Windows Services: Workflow Manager Backend Service Bus Message Broker < - will often take a while to start Service Bus Gateway Windows Fabric Host Service Service Application Proxy Designer Platform Type But neither valie it’s actually working! The ONLY way to properly test is to create, publish and execute a 2013 Workflow! Demo Creating aWorkflow Manager Farm Connecting to Business Continuity Management Fault Tolerance Points of Failure .Manual Workflow Start . . Workflow Manager .20 seconds .Event Notification .Workflow auto - start or mid - processing event . . Workflow Manager: .Will survive a server crash (durably stored) .Content DB – Event Cache table .Processed when another workflow event happens .Workflow Backend processing .Service bus retries .Once message is stored by Service Bus, processing is “guaranteed” .SQL Server as durable message storage Fault Tolerance Service Bus .Messages are read and locked for a defined period of time .Default = 45 seconds .Other consumers cannot retrieve the message .On same subscription .Peek/Lock Read .Reads and locks the message until it is deleted or lock duration expires .Guarantees at - least once delivery of message .Unlock Message .Abandons processing Fault Tolerance Service Bus .Once message retrieved, one of four things can happen 1.Complete – consuming application successfully completes processing the message so it is deleted from SB .Workflow does this when the workflow persists 2.Abandon – consuming application discards the message so it is available for other consumers .Workflow does this when an exception is thrown and caught during processing 3.Renew – consuming application s more time to process the message .Workflow does this automatically for long - running operations via a background thread .Not as relevant to style workflows 4.Expire – consuming application does not do one of the above before the lock time runs out. Message is now available to be picked up and processed again .E.g. Process crash Message will be retried Persistence Points Persistence = Workflow state recorded in DB Message transaction completed and message deleted from DB Happens on Any outbound call Delay activity/action High Availability Three servers required for high availability Also provides load balancing Scale SQL and separately Monitoring Workflow Manager Pack for SCOM http://www..com/en - us/download/details.aspx?id=35384 Disaster Recovery overview Recovery abase restore Point - in - Time (temporally similar) abases Workflow and Service Bus Farm Management DBs not required Full farm or individual tenant (scope) DR preparations – a tier Standard SQL techniques Mirroring Log Shipping Availability Groups standard SQL Backup and restore Service Bus and Workflow manager has the required cmdlets DR preparations – compute tier Cold Standby Create afarm SQL Backups, or replicated a, and scripts Warm Standby Secondary farm, with compute nodes turned off scripts to resume standby farm Hot Standby Not supported Disaster Recovery Requirements Symmetric Key Keep it in a safe place Without it you will NOT be able to restore Note time of “disruption” The approximate time is required to replay some operations abases All Service Bus and Workflow abases, except the two Management abases, are required for a full Workflow Manager restore operation DR Scenarios 1/2 Loss of one or more Workflow/Service Bus abases Uninstall Workflow Manager Reinstall Workflow Manager Restore abase Backups the Service Bus/Workflow Restore Process and then scale - out Loss of entire Workflow farm Restore abases Rebuild farm and the Restore Process and then scale - out DR Scenarios 2/2 Loss of a WF/SB server Install Workflow Manager on aserver -Drop the Management abases, the Restore Process and then scale - out -or -Remove the old WF/SB Server and join aone Loss of a Workflow Scope Restore Backup (do not overwrite) the Restore - WFScope cmdlet Full Restore Process Restore Service Bus Farm CreatesSB Management abase the same ports and configuration the Install account Restore Service Bus Gateway Restore Service Bus Message Container Specify the Id of the container Add Service Bus host to machine Configure Service Bus Namespace the original Symmetric key Full Restore Process (cont.) Restore Workflow Farm Creates aManagement abase Specify the time of disruption , d for consistency checks Verification log (relative path) contains warnings about “suspect” inflight workflows Add Workflow host to machine On host 2 and 3 Add the Service Bus Host Add the Workflow Host Applying Upes Co - ordinating upes between and Workflow Manager After applying upes, you should rerun Register - SPWorkflowService with the - Force switch. Adds adeployment group Republishes any uped activities (in upe) to the Workflow Manager farm Wrap Up Objectives and Takeaways Understand the Workflow Manager architecture Configure and Deploy Workflow Manager Apply appropriate business continuity strategies for Workflow Manager MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Search Development in 2013 Dan Benson & Paul Summers SPC402 You are here beca you want to… … do more with search Devices Search Experiences Apps Our Objectives Why search? How to prepare to satisfy your search requirements? How to the API’s to consume search? How to leverage advanced search capabilities in your applications? Problem Solution Demo The Final Product Requirements & Constraints a utonomy* Visibility Search Why Search? “Google Announces Plans To Destroy All Information It Can’t Index” the Onion, August 31, 2005 Solution Design Client Search _api/search (Online) Team Sites App JavaScript REST .NET CSOM OR What kind of app do I want to ? Cloud Auto-Hosted Provider-Hosted -Hosted Externally hosted Dev owns tenant isolation With great flexibility, comes great responsibility Access to lists, files & web parts REST + OAuth , CSOM Web & SQL Azure auto - provisioned Multi - tenancy provided Access to lists, files & web parts REST + OAuth , CSOM Access to lists, files & web parts HTML + JavaScript + REST Application Architecture Search a Model & a Access Application Logic r Interface & a Binding - Hosted App JavaScript + REST JavaScript HTML + Knockout.js Search Azure Auto - Hosted App Search Custom .NET Objects + .NET CSOM Code Behind ASPX + .NET aBinding Demo High Level Code Walk - through (5 minutes) Configuration Content Types & Custom Properties TIP! https://mytenant..com/sites/contentTypeHub Managed Metaa Result Sources contenttype :”Team Events” Managed Properties http://technet..com/en - us/library/jj613136.aspx Managed Property Configuration JavaScript Search “Object Model” .NET CSOM Search “Object Model” ..Client.Search.Query.KeywordQuery ..Client.Search.Query.ResultTableCollection Demo r Request to Object Model to R esult Rendering Tips & Tricks Refiners valid FQL when applying refinement filters the REST API & refinementFilters ='and(RefinableString03:ends - with("Boston"),RefinableString03:ends - with("Boston")) to manipulate refiner values for Managed Metaa fields for friendly - display Performance SelectProperties and RowLimit query parameters to optimize the size of your response payload Let’s Personal Physical Location Personal Attributes App Context Demo Personalization Bringing it all toher! $ <> Awesome Resources Search Query Tool http://sp2013searchtool.codeplex.com/ Blogs http://blogs.msdn.com/b/nadeemis/ http://blogs.technet.com/b/searchguys/ http://blogs.technet.com/b/speschka/ See you at the Searchbooth’s & Search tables at Asks the Experts WED @6:15! Room Time Develop Advanced Search-Driven 2013 Apps SPC402 Palazzo I, J Tue1:45pm Best practices for Hybrid Search deployments SPC306 Veronese 2401 Tue5:00pm 2013 Search Analytics SPC340 Palazzo M, N Wed9:00am How to manage and troubleshoot Search: A practical guide SPC375 Veronese 2401 Wed10:45am 6 Proven Steps to the Best Out of Search in 2013 SPC265 Delphino4001 Wed1:45pm Best practices for Information Architecture and Enterprise Search SPC207 Veronese 2401 Wed1:45pm Search content enrichment and extensibility in 2013 SCP414 Palazzo K, L Wed1:45pm Customizing Search experiences with Azure Hosted a and Bing Maps SPC321 Veronese 2401 Wed3:15pm Futuristic Search applications Kinect and Yammer! SPC405 Palazzo M, N Wed3:15pm Search architecture and sizing in 2013 SPC336 Titian 2201 Wed5:00pm Effective Search deployment and operations in 2013 SPC360 Veronese 2401 Thu9:00am 2013 Search display templates and query rules SPC322 Palazzo M, N Thu9:00am Managing Search Relevance in 2013 and O365 SPC382 Veronese 2401 Thu12:00pm Search Related s MySPC Sponsored by connect. reimagine. transform. s on MySPC your laptop or mobile device: m yspc.conference.com © 2014 . All rights . , Windows, and other product names are or be in the U.S. other countries. The information is for informational purposes only and the current view of as of the e of this presentation. Beca respond to changing market conditions, it should not be interpreted to be a c on the part of , and cannot guarantee the accuracy of any information provided after the e of this present ati on. NO , , OR , AS TO THE INFORMATION IN THIS PRESENTATION. Developing an Intranet on Office 365 Eric Shupps Server MVP SPC357 About Me CKS:DEV The Cowboy Patterns & Practices mvplogo.png Eric Shupps www.cowboy.com eshupps@binarywave.com facebook.com/cowboy @eshupps #SPC357 Agenda Introduction Extensibility Navigation Design Content Publication #SPC357 Authorization Office 365 Platform Contextual Apps Robust O365 API’s Flexible Tools Documents People | Groups Mail Tasks Calendars REST Web Services Introduction Objectives Audience Experience Challenges #SPC357 Navigation #SPC357 Components #SPC357 Suite Bar r Menu Site Settings Top Navigation Quick Launch Ribbon Quick Access Global r Menu Suite Bar $(document).ready(function() { $(".o365cs - nav - O365Links > div").prepend(''); }); JavaScript Site Settings JavaScript Solution JavaScript Solution Quick Access JavaScript Solution #SPC357 Local