Thorough coverage of development in Share Point 2013
A team of well-known Microsoft MVPs joins forces in this fully updated resource, providing you with in-depth coverage of development tools in the latest iteration of the immensely popular Share Point. From building solutions to building custom workflow and content management applications, this book shares field-tested best practices on all aspect of Share Point 2013 development.
- Offers a thorough look at Windows Azure and Share Point 2013
- Includes new chapters on Application Life Cycle Management, developing apps in Share Point, and building Performance Point Dashboards in Share Point
Professional Share Point 2013 Development is an essential Share Point developer title.
Cuprins
Introduction xxvii
Chapter 1: Architectural Overview of Share Point 2013 1
What’s New from an Architectural Perspective? 2
On-Premise Server Farm Architecture 3
Web Server Tier 4
Application Server Tier 4
Database Server Tier 4
Small or Single-Tier Topology 4
Medium or Two-Tier Topology 5
Large or Three-Tier Topology 5
Geographically Distributed Topology 6
Service Application Architecture 6
Service Application Model 6
Available Service Applications 8
Service Application Life Cycle 11
Multitenancy Hosting Architecture 21
Site Subscriptions 22
Service Application Partitioning 22
Tenant Administration 26
Feature Packs 27
Search Architecture 27
Crawl and Content Processing Components 28
Analytics Processing Component 28
Index and Query Processing 29
Search Administration Component 30
Multi-Purpose (with Search) Medium-Sized
Search Farm Topology Example 30
SQL Server Database Architecture 32
Database Topologies 32
Share Point 2013 Databases 35
Cloud-Hosted Architectures 38
Security Features 39
Identity Features 39
Administration Model 40
Summary 41
Chapter 2: What’s New In Share Point 2013 43
Introduction to Share Point 2013 43
Deployment Scenarios 44
On-Premise Deployment 44
Office 365 Deployment 44
Hosted Deployment 44
Hybrid Deployment 44
Packaging Scenarios 45
Full-Trust Farm Solution 45
Partial-Trust Sandboxed Solution 45
Apps for Share Point 45
The Programming Model 45
The Evolution of Share Point Programming 46
Challenges with CSOM in Share Point 2010 47
Challenges with Server-Side Code 47
The New Programming Model 48
The App Model 51
Share Point-Hosted Apps 51
Provider-Hosted Apps 52
Azure Auto-Hosted Apps 52
Apps or Solutions — Which Way to Go? 53
The App Security Model 55
Remote Events 58
Reporting Services 2012 Data Alerts 59
Events in External Lists 60
Remote Event Receivers 60
The Security Model in Remote Events 61
Workflows 63
Challenges with Workflows in Share Point 2010 63
Workflow Architecture in Share Point 2013 64
Building Your Workflow Development Environment 66
Share Point Designer 2013 Workflows 69
Using Workflows in Apps 71
Enterprise Content Management 71
Site Policies 71
Managed Meta Data 73
Web Content Management 74
The Structural Publishing Model 75
The Dynamic Publishing Model 75
Taxonomy-Driven Navigation 75
Term-Driven Publishing Pages 76
Cross-Site Publishing 77
Hostname Site Collections 79
Multilingual Features 80
The Content by Search Web Part 81
Design Manager 81
Mobile Support 82
Image Rendition 83
App-Driven Publishing Sites 84
Search 84
Search Schema 84
Search Navigation 84
Result Sources 85
Display Templates 86
Result Types 86
Query Rules 87
Continuous Crawl 88
Putting It All Together 88
Query Languages 89
Exporting and Importing Search Settings 90
Search-Driven Solutions 90
BCS 91
OData Connector 92
BCS Powered Apps 92
CSOM and REST Interface 93
Summary 94
Chapter 3: Developer Tools For Share Point 2013 95
Customization Options with Share Point 96
OOB Developer Experience 97
Understanding the User Interface for Customization 98
Understanding Share Point Designer 2013 102
New Features in Share Point Designer 102
Navigating the User Interface 105
Understanding Visual Studio 2012 Tools 106
Starting a New Share Point 2013 Project 107
Visual Studio Integrated List and Content Type Support 108
Share Point Connections in Server Explorer 109
Solution Explorer Integration 109
Mapped Folders 110
Applications for Share Point 110
Share Point Solutions (Classic Solution) 114
Setting Up Your Development Environment 120
Applications for Share Point and Office 365
Development Environment 120
Local Development Environment 121
Troubleshooting with Debugging 123
F5 Debugging 123
Debugging Using the Developer Dashboard 126
Debugging Using Share Point Logs 127
Debugging Silverlight Code 127
Other Useful Tools for Debugging and Testing 128
Summary 129
Chapter 4: Application Lifecycle Management In Share Point 2013 131
Getting Started with Application Lifecycle Management 132
Three Application Lifecycle Management Perspectives 132
Application Lifecycle Management Tools 134
Understanding Key Development Tools 135
Understanding the Share Point 2013
Development Models 136
Planning your Customization Model and Release Packaging Approach 139
Customization Models 139
Release Packaging Approach 142
Planning your Key Development Phases and Release Model 146
Key Development Phases 146
Release Models 149
Planning Your Upgrade and Patching Approach 154
Upgrading Solutions and Features 154
Patching Your Share Point 2013 Environment 155
Planning Your Share Point Team Environments 156
Environments for Large Projects 156
Identifying the Environments Your Developers Require 157
Identifying the Environments Your Testers Require 163
Managing Share Point 2013 Development Teams 163
Selecting Software Development Methodology 164
Setting Up Development Standards and Best Practices 165
Managing, Tracking, and Recording Key Design Decisions 166
Planning for Regular Code Reviews 166
Large Project Considerations 167
Large Project Life-Cycle Models 167
Decentralized Development Teams 169
Off shore Teams 169
Managing Share Point 2013 Testing Teams 171
Setting Up a Testing Strategy 171
Unit Testing 172
Automated Builds and Integration Testing 172
Test Case Planning 174
Performance Testing 175
Functional Testing 177
User Acceptance Testing 177
Defect Tracking 178
Other Testing Considerations 178
Summary 179
Chapter 5: Introducing Windows Azure and Share Point 2013 Integration 181
Moving to the Cloud 181
What is the Cloud? 182
Why Companies Care 184
Why Developers Care 185
Cautions for Cloud Adopters 186
Introducing Windows Azure 188
Execution Models 189
Mobile Services 189
High-Performance Computing 190
Marketplace 190
Data Management 190
Business Analytics 190
Media 191
Networking 191
Caching 191
Messaging 192
Identity 192
Share Point and Microsoft’s Cloud Off erings 192
Saa S Licensing for Share Point 193
Paa S Licensing for Share Point 194
Integration Models 195
Summary 198
Chapter 6: Getting Started With Developing Apps In Share Point 2013 201
Architectural Overview of Share Point Apps 201
Programming Model Overview 202
Comparing Apps and Solutions 203
Hosting Options 204
Examining an App 205
Adding an App 207
Developing Your First App 208
Client-Side Object Model 212
CSOM Improvements over Share Point 2010 214
RESTful Share Point 2013 216
Developing Externally Hosted Apps 218
High-Trust Apps for Single Server Development Environments 219
Developing a Provider-Hosted App 221
Developing an Azure Auto-hosted App 224
Summary 229
Chapter 7: Further Developing Apps In Share Point 2013 231
Developing Your App User Experience 231
Developing an Embeddable App or App Part 236
Developing a Custom Action App 239
App Design Guidelines 242
Developing Your App Packaging 242
Developing Your App Deployment 244
Publishing to the Office Store 244
Publishing to an App Catalog 245
Developing for App Upgradeability 245
Updating Share Point Apps 246
App Migration 246
Additional Considerations for Apps Developers 247
Key Recommendations 247
Decision Criteria for Cloud-hosted Apps Versus Share Point-hosted Apps 248
Decision Criteria for Developing Apps Versus Farm Solutions 248
Decision Criteria for Developing Provider-hosted Versus Azure-hosted Apps 252
Summary 252
Chapter 8: Developing Social Applications In Share Point 2013 253
New and Improved Social Features in Share Point 2013 254
New User Experience 254
Multiple Supported Browsers 255
Rich Text Editor 256
Enterprise Social Networking 256
Sharing Content 257
Enticing User Contributions with Blogs, Wikis, and Discussions 258
Socializing Categorization and Feedback 259
Enterprise Taxonomy 261
Traditionally Social User-Generated Content Experiences 261
Wikis Everywhere 261
Blogs 262
Communities 263
Community Site Template 265
Discussions 266
Reputation 267
Gifted Badges 268
Best Replies Used with Question and Answer 269
Members Page 269
My Sites in Depth 269
User Profile 270
My Site Document Libraries and Sky Drive Pro 271
Following Content and People 272
Newsfeed in Depth 272
Microblogs 273
Activity Feed 275
Programming with the Social API 275
Summary 277
Chapter 9: Building Search-Based Applications In Share Point 2013 279
Search Architecture and Extensibility 280
New Search Architecture 280
Implications of the New Search Architecture 281
Extensibility Points for Search 282
Top Customization Scenarios 283
Search Drives Applications 283
Out-of-the-box Search Applications 284
Search-driven Web Content Management 285
Social Features — Driven by Search 286
e-Discovery — Driven by Search 286
Working at the UX Layer 288
Components of the Search Center 288
Search Web Parts 289
The Content Search Web Part 290
Result Types and Display Templates 291
Working with Managed Properties 295
The Hover Panel 297
Summary — Using Result Types and Display Templates 298
Working with Queries 298
Query Processing 299
Links with Predefined Queries 301
Using REST and CSOM to Query Search 301
Search Query Syntax 303
Query Builder 307
Query Rules 308
Summary – Working with Queries 312
Working with Content 312
Content Capture – Crawling and Connectors 312
Security Trimming 320
Customizing Content Enrichment 322
Working with Federation and Result Sources 327
Summary — Working with Content 331
Tailoring Relevance 332
Managing Relevance via Queries and Content 332
Rank Profiles 334
Tying It All Together 336
Building Quick Search Verticals 336
Building Custom Search-based Applications 336
Combining Search with Other Workloads 338
Summary: Building Search-based
Applications in Share Point 338
Chapter 10: Web Content Management 341
Taxonomy and the Information Architect 342
Administration 343
Site Navigation 344
Page Creation 346
Search-Driven Publishing 347
Catalogs for Site Publishing 348
Cross-Site Collection Publishing 349
Create and Edit Content 350
Ribbon Enhancements 350
Publishing Field Controls 351
Image Renditions 353
Dynamically Displaying Content 355
Content by Search Web Part 355
Search-Driven Web Parts 356
Access Content Programmatically 357
Server-Side API 357
Client-Side Object Model (CSOM) 359
REST CSOM 359
Branding Sites 360
Master Pages 360
Page Layouts 360
Composed Looks 361
Custom Branding in Expression Web 363
Design Manager 366
Using Device Channels for Mobile Experiences and Device Targeting 366
Working with Design Files and Assets 368
Converting HTML Master Pages 369
Snippet Gallery 370
Package for Deployment 374
Usage Analytics 374
Architecture and Improvements 375
Using Usage Events in Code 375
Extending Usage Events 376
Multilingual Support 377
Summary 378
Chapter 11: Using Info Path With Share Point 2013 379
Introducing the Training Management Application 380
Creating the Sample List 380
Customizing Share Point List Forms 381
Customizing Share Point List Forms 381
Info Path Controls 383
Creating Business Logic with Rules and Views 384
Publishing List Forms 388
Designing Info Path Form Templates 390
What is a Form Library? 391
Designing Your Form Template 392
Querying Share Point Lists in Forms 397
Querying REST Web Services 399
Submit Behavior 402
Form Programming 403
Publishing Info Path Forms 411
Form Security 414
Sandboxing Your Forms 414
Form Anatomy 415
Working with the Form XML in Code 419
Tools for Form Developers 427
The Rule Inspector 427
The Design Checker 428
Info Path Java Script Tool 429
Summary 430
Chapter 12: Enterprise Document Management 431
The Document Management Mindset 432
ECM Features 432
Expanded ECM Object Model 436
Getting the Most from the Document Center 437
Visual Studio and the Document Center 439
Content Routing 439
Managing the Content Organizer 439
Using Document Libraries in the Document Center 443
Meta-Data Navigation and Filtering 444
Visual Studio and Document Libraries 446
Records Management 448
Record Identification 449
Auditing and Reporting 450
Records Management API 451
Declaring and Undeclaring Records 451
Creating Organizer Rules 453
e Discovery and Compliance 457
e Discovery Center Site Template 457
e Discovery in Share Point 2013 458
Create Compliance with Share Point 2013 461
Retention Schedules 465
Content Management Interoperability Services (CMIS) 470
Summary 471
Chapter 13: Introducing Business Connectivity Services 473
Introducing Business Connectivity Services 474
Creating Simple BCS Solutions 476
Creating Simple O365 Solutions 479
Understanding BCS Architecture 480
Understanding Connectors 480
Understanding Business Data Connectivity 481
Understanding the Secure Store Service 485
Understanding Package Deployment 487
Understanding App Architecture 488
Working with BDC Metadata Models 489
Working with External Data Sources 490
Connecting with the SQL Server Connector 491
Connecting with the WCF Service Connector 495
Creating Methods 498
Implementing Method Stereotypes 499
Creating Methods for Databases 502
Creating Methods for Web Services 508
Defining Associations 509
Working with External Lists 513
Creating Custom List Actions 513
Creating Custom Forms 513
Summary 514
Chapter 14: Advanced Business Connectivity Services 515
Creating .NET Assembly Connectors 515
Understanding the Project Tooling 516
Walking Through the Development Process 517
Packaging Considerations 532
Enabling Search Support 533
Working with the BDC Server Runtime Object Model 536
Connecting to the Metadata Catalog 537
Retrieving Model Elements 538
Executing Operations 539
Using ECTs in Share Point Apps 546
Understanding App-Level ECTs 546
Understanding the BCS Client Object Model 548
Summary 549
Chapter 15: Workflow Development In Share Point 2013 551
Introducing Core Workflow Concepts 552
What is a Workflow? 552
Workflow Activities 553
Workflow Actions 555
Workflow Forms 556
Workflow Tasks 559
Workflow History 559
Workflow Flow Control Templates 560
Workflow Scopes 562
Workflow Associations and Subscriptions 563
Workflow Event Listeners 564
Workflow Visualization 565
Workflow Authorization 566
Understanding the Workflow Platform Architecture in Share Point 2013 567
Understanding Key Workflow Development Tools 568
Visio Professional 2013 569
Share Point Designer 2013 570
Visual Studio 2012 572
Setting Up the Development Prerequisites 573
Creating Your Workflow and Share Point Development Environment 573
Installing the Workflow Manager 574
Installing Your Development Tools 574
Modeling a Workflow Using Visio 2013 575
Developing Workflows Using Share Point Designer 2013 577
Setting Up the Site and List Prerequisites 577
Importing the Visio Workflow Diagram 578
Creating the Vacation Request List Workflow 579
Publishing the Workflow 588
Developing Custom Workflow Activities and Actions Using Visual Studio 2012 589
Creating a Custom Declarative Activity and Action 590
Developing a Custom Code Activity and Action 594
Developing Workflows Using Visual Studio 2012 595
Key Development Considerations 597
Share Point 2010 Versus Share Point 2013 Workflow 597
Declarative Versus Programmatic Workflows 597
Considering Where Workflows Execute 597
Determining Whether to Convert Share Point 2010 Workflows to Share Point 2013 Workflows 598
Share Point Designer Versus Visual Studio 2012 598
Deciding Between Sequential Versus State Machine Workflow 599
Summary 599
Chapter 16: Integrating Reporting Services 601
The History 601
Introducing SSRS 2012 602
Authoring Tools 603
Configuring the BI Center 606
Building and Deploying Reports 607
Authoring Reports 607
Laying Out Your Report 609
Data Visualizations 610
Tablix 612
Publishing Your Report to Share Point 612
Publishing Report Parts 615
Report Viewer Web Part 616
Limitations 617
Connectable Report Viewer Web Part 617
ATOM Data Feeds 618
Reporting Services Data Alert 619
Open with Report Builder 3.0 620
Caching and Snapshots 620
Stored Credentials 622
Managing Parameters 623
Planning 624
Caching Your Report 625
Managing Cache Refresh Plans 626
Snapshots 626
Differences Between Caching and Snapshots 628
Reporting on Share Point Data 629
Creating a Sample List 630
Building the Report 630
Querying Large Lists 631
Multiple Zones 632
Anonymous Access to Reports 632
Reporting Services Execution Account 633
Summary 634
Chapter 17: Developing Excel Applications In Share Point 2013 635
What’s New 637
Updates to the Client 637
Customization Enhancements 637
New Enhancements to Excel Service APIs 637
Dashboards and Excel Mashups 637
Excel Interactive View (Excel Everywhere) 639
Excel 641
Flash Fill 641
Web Service Functions 642
Excel Web Apps 643
Excel Apps for Office 643
Excel Task Pane Apps 644
Excel Content Apps 645
Excel Services 647
Excel Services Architecture 647
Excel Services Data Access 647
REST API 653
Excel Services Web Access 660
Java Script Object Model (JSOM) 660
User Defined Functions (UDF) 665
SOAP Web Services 669
Summary 670
Chapter 18: Performancepoint Dashboards 671
Business Intelligence 671
History 672
Share Point 2013 Business Intelligence Components 674
Important BI Terms and Concepts 678
The Business Intelligence Center 680
Introducing Performance Point 2013 682
Performance Point Services Architecture 682
Changes in Performance Point 2013 684
Using Performance Point 2013 686
Configuring Performance Point Services 686
Using the Adventure Works Sample Databases 686
Creating a Dashboard 691
What Else is in the Box? 702
Extending Performance Point 707
Extensibility Targets in Performance Point 2013 707
Custom Data Sources 709
Custom Reports, Filters, and Transformations 716
Deploying Customizations 717
Summary 718
Chapter 19: Developing Applications With Access 719
Access 2013 722
Exploring Access 2013 723
Access Services 727
On-Premise Architecture 728
Hosted Architecture 729
Upgrade Considerations 729
Database Components 729
Building an Application with Access Services 736
Prerequisites 736
Creating an Access Web App 742
Deploying Access Applications 750
Summary 751
Appendix: Additional Help and Resources 753
Index 755
Despre autor
Reza Alirezaei is the founder and president of Development Horizon, an author of several books, papers and online articles, and a Share Point MVP.
Brendon Schwartz is a Microsoft MVP for both ASP.NET and Share Point and has authored numerous articles and books.
Matt Ranlett is a Share Point Server MVP and a solution architect and consulting practice lead at Slalom Consulting. He speaks regularly and has authored many books.
Scot Hillier is an independent consultant and Microsoft MVP for Share Point. He is a regular speaker, trainer, and has authored 18 books.
Brian Wilson is a Share Point solution and information architect and director of Wired Light, a global Share Point solutions business.
Jeff Fried is the CTO at BA Insight, focusing on the development of search-based apps with Share Point. He is a frequent speaker and writer.
Paul J. Swider is an international speaker, trainer, freelance consultant, and the founder of the Charleston Share Point Users Group.