We are happy to announce new community driven CodePlex project called Office App Model Samples (AMS). This CodePlex project has been created to share different community created CAM or SP App scenarios for the benefit of the community. . We will be revising and enhancing the AMS samples and they should be considered just that, samples. We are working with the MSDN Content Publishing team to take the most impactful and useful samples that complete common customer scenarios and publishing them as "Solution Packs" of content as well as "Sample Packs" of sample code that has been reviewed by the Office365 team and blessed as a recommended way to approach these scenarios.
This package is released by a group of volunteers who are committed to continue further expanding this sample package in the future. Feel free to use the example code and scenarios in anyway you need within your projects or customer work. Notice thought that the code examples are provided as is and we don’t have any support model for them, so you need to take responsibility on using them case-by-case basis. Currently package contains mainly implementations for the SharePoint side, but we are looking to extend it with Office Apps as well.
Where is this material release?
Material is released in specific Office AMS CodePlex site in address http://officeams.codeplex.com. Will will continue updating this package with additional scenarios and examples based on the feedback from the community. Your input is extremely important for us to understand what kind of scenarios should be included.
Involved persons in initial release
Here’s the full list of involved persons in initial release to CodePlex. We also do have already few additional scenarios pending for additional persons, so this list will just keep on growing.
Quick list of included scenarios
There’s quite a few different scenarions included in the package. These incldue SP hosted and provider hosted examples, which demonstrates the power of Cloud App Model or the SP App patterns in general. We will continue adding new examples in also in future.
- Cloud based site collection provisioning
- Creating site collections remotely using SP Apps in on-premises
- Provision and integrate Yammer group into site provisioning
- Manage and update theme settings in host web
- Changing host web rendering with custom CSS
- Site policy management with CSOM
- Wiki page manipulation using CSOM
- Site collection enumeration
- Setting up Apps to Windows Azure with specific roles
- People picker implementation for provider hosted app
- Taxonomy picker implementation for provider hosted app
- Uploading of large files to SharePoint
- Deploy branding to personal SkyDrive Pro sites automatically
- Automate any SharePoint site and site collection settings using browser mimic pattern
- Connect to and manipulate Office365 sites using console application
- Provide custom template pattern for sub site creation
- Manipulation of user profile properties remotely
- Build sync of user profile properties in cloud
- Mass deployment of branding elements from console app
- Hybrid self-service site collection provisioning - one UI for cloud and on-prem
- Synchronization of user profile pictures from on-prem to SharePoint Online
- Dynamic permission handling
- Remote event receivers from host web
What do I need?
Many of the examples scenarios assumes that you have following packages installed on your computer to get started. Most of them work directly against your Office365 tenant.
- Visual Studio 2013
- Windows Azure SDK 2.2
- SharePoint Server 2013 Client Components SDK
- SharePoint Online Management Shell – some of the examples uses tenant admin dll, which is included in this package
Give us feedback!
Please do give us feedback and input on the work which is released. We are committed on providing you examples and scenarios which will be beneficial cross SharePoint community. If you have scenario in your mind or need some additional guidance, please let us know in the discussions of the CodePlex project. We will try to address your input as fast as possible. We are also highly interested on any possible gaps you might be encountering with the remote APIs, so that we can provide input for the product development.
You can directly influence to the future development areas by sharing your feedback. Thanks for your input advance.