快速地在Azure上创建SharePoint2013开发环境

[原文发表地址]  Create SharePoint 2013 development environments quickly on Azure

[原文发表时间]  9/26/2013 6:00 AM

在这篇文章中我们将引导你使用VisualStudio Ultimate 2013 RC在WindowsAzure上完成创建SharePoint2013开发环境。

你是否遇到需要快速创建一个SharePoint 2013开发环境的情况?你仍然在SharePoint解决方案上工作或者你需要一个安装SharePoint 2013和Visual Studio 2013的机器来创建SharePoint的应用程序?你想尝试SharePoint 2013 的开发吗?

如果对上述所提到的一个或多个问题回答是“是”,并且你有MSDN的订阅,我们有好消息告诉你。

我们已经发布了包含SharePoint 2013和Visual Studio 2013旗舰版的Azure开发者镜像。该系统还包括有或没有配置SharePoint2013在不同机器上运行Active directory的脚本。

请注意,如果你还没有Azure的订阅,你可以激活你的Azure顺带的你也获得了MSDN的订阅。作为订阅的一部分,你可以每个月获得价值150美元的Windows Azure积分!你能够使用它们来创建SharePoint开发&测试环境在虚拟机上和更多的需求。更多的信息请参照为WindowsAzure的利益为MSDN的订阅者。此外我们还优化了WindowsAzure计费—意味着你只需要支付虚拟机的费用当你在虚拟机上工作。当你完成工作,只要关闭虚拟机,就不用付费了。

让我们来简单介绍一下镜像,以及如何提供它。有两种方法提供该镜像的虚拟机。您可以使用门户网站或使用PowerShell的。

使用Windows Azure管理门户网站:

从Azure管理门户网站创建一个新的虚拟机,点击https://manage.windowsazure.com并且遵循以下步骤:

1. 登录到Windows Azure门户网站

2. 在门户网站页面的底部选择加号(+)

3. 选择计算机->虚拟机->从Gallery

4. 向下滚动图片列表,选择Visual Studio 2013最终 RC版本和选择右下角的箭头

Figure 1. Virtual Machine image selection dialog box

图1. 虚拟机的镜像选择对话框

创建虚拟机向导将引导您完成整个过程。我们建议SharePoint开发使用X-大小的虚拟内存大小。

虚拟机配置大约需要5-10分钟。一旦机器配置完成,您可以使用远程桌面连接到本机。下一步是设置SharePoint 2013 。正如前面提到的,图像的软件和脚本是预先加载的。配置脚本和软件可以通过选择“配置开发桌面”快捷方式图标在您的桌面上访问。脚本文件夹包含两个脚本为SharePoint 2013的配置和配置有关,并允许您提供SharePoint单机或SharePoint与Active Directory (假定脚本的Active Directory托管在另一台虚拟机)。

这两个脚本将配置一个基本的SharePoint环境中,这意味着他们创造一个管理中心网站和Web应用程序的根网站集合。图2显示了配置的虚拟机与SharePoint管理中心和标志在屏幕上第一次使用Visual Studio。

Figure 2. Visual Studio sign in

图2. Visual Studio的标志

请参阅MSDN订阅者的Visual Studio 2013最终的RC版本图像,详细介绍SharePoint开发如何设置和配置一个虚拟机以及包含PowerShell脚本的文档。

使用Windows PowerShell:

正如开头提到的,我们还发布了脚本,该脚本允许你使用PowerShell设置一个SharePoint 2013开发环境。此外,该脚本还允许您设置含有Active Directory的Windows Server 2012的虚拟机,并加入到该域的SharePoint。这开辟了全面的SharePoint开发。脚本的完整文档可以在这里找到:

http://visualstudio2013galleryimage.azurewebsites.net/#_Toc359582720.所有的脚本都可以从这里下载:http://download.microsoft.com/download/C/4/B/C4BB2A5D-1296-4DB8-A448-ABEB13B5974D/ConfigureDeveloperDesktopSampleScripts.zip

 

一旦你的开发环境设置,你甚至可以从虚拟机上的Visual Studio中访问您本地源代码控件,使用Azure点到网站的连接。要知道,设立一个Azure点到网站连接,你必须先设置虚拟机到虚拟网络。对于Azure点到网站连接的更多信息,请参阅

http://msdn.microsoft.com/en-us/library/windowsazure/dn133792.aspx.

希望本文对你有所帮助!

 

使用SharePoint2013API访问SkyDrive Pro

[原文发表地址]  Access SkyDrive Pro using the SharePoint 2013 APIs

[原文发表时间]  2013-08-13   6:00 AM

SkyDrive Pro, 个人业务的一个云应用库,一个用户可以存放文件和文档的地方,这个库与他们的设备同步,并与他人分享。它作为SharePoint server 2013 或者在线SharePoint(Office 365)的一部分。本质上它是一个后台的SharePoint文档库,所以你可以使用SharePoint APIs访问它,就像访问SharePonit2013里的其他文档库一样。无论你是使用客户端对象模型(CSOM)或者还是表述性状态转移(REST)—你是可以自己决定。在本文章中,我们将会学习如何构建REST URL来访问在SkyDrive上的文件或者文件夹。

从用户的角度来看,访问自己的SkyDrive pro库,只需要在office365菜单栏点击SkyDrive,如图1所示。

Figure 1. Office 365 menu bar

                                                               图1. Office365 菜单栏

或者可通过使用URL模式直接地浏览:

https://YourO365DomainHere-my.sharepoint.com/personal/
YourUserName_ YourO365DomainHere_onmicrosoft_com/。

 

但是这是从最终用户的角度来看的。作为一个开发人员如何访问SkyDrive Pro?在接下来的这个例子中,我们将使用REST方式来实现。

 

注:如果你的Office 365是使用自定义设置的 — 例如contoso.com— 你的MySite 将来的布局,

https://contoso-my.sharepoint.com/personal/YourUserName_ contoso_com/

 

从基础开始

1. 登录到你的Office365的SharePoint网站上,并使用上述两种方法之一浏览你的SkyDrive Pro 库。

2. 点击Shared with Everyone文件夹并上传文档。以这个例子来说,文档的名字是 myDocument.docx

3. 要使用REST API来查看上传文档的信息,构造一个如下面格式的URL:

https://YourO365DomainHere- my.sharepoint.com/personal/

YourUserName_YourO365DomainHere_onmicrosoft_com/_api/web/GetFileByServerRelativeUrl

(‘/personal/YourUserName_YourO365DomainHere_onmicrosoft_com/Documents/

SharedwithEveryone/myDocument.docx’)。

4. 复制/粘贴到你的浏览器中。返回如下图所示的XML:

Figure 2. Example of XML returned by the REST API

                                   图2. 通过REST API返回的XML的示例

5. 要下载文件,需要往URL追加/$value。当系统提示保存文件时,将其命名为myDocumentDownload.docx, 并保存它。

 

处理文档和作为“项目”的其他文件

1. 关于权威的读/写指导,请参阅MSDN上的Working with lists and list items with REST

2. 想要练习的话你可以上传几个文件到你的SkyDrive Pro库的根目录。现在在你已经登录的 浏览器可以测试出几个REST的读写调用。

3. 使用此格式的 URL:

https://YourO365DomainHere-my.sharepoint.com/personal/
    YourUserName_YourO365DomainHere_onmicrosoft_com/_api/web/
并在URL上附加lists/Documents/items 这样你将得到所有的项目。

a. 要获取个别项目的元数据,修改items为items(n)(n)就是你要查看的特定项目的编号。

b. 要查看文件的元数据,添加file/(例如, itemsn/file/)。

c. 要下载文件,附加$value(例如,itemsn/file/$value

4. 你可以使用lists/GetByTitle(‘Documents’)l来代替上述的格式,,然后API将返回相同的结果。

处理文件夹和文件

1. 文件往往是放在文件夹中的,,你可能需要深入分析文件夹结构;或者你可能想在用户界面(UI)上显示文件夹的结构和文件的。使用下面的REST调用,你可以以更合乎逻辑的方式使用文件夹和文件而不仅仅上面的格式所显示的”items(n)”通过使用URL的相对路径然后列举出文件夹里面的文件时非常方便的关于权威的读/写指导,请参阅MSDN上的Working with folders and files with REST

2. 假设SkyDrive的文件结构如图3所示,在这里你有两个相同级别的文件夹和文件。

                                   Figure 3. SkyDrive file structure with folders and documents at the same level

                               图3. 同级别的文件夹和文件的SkyDrive文件结构

 

3. 要检索所有的文件夹,你可以使用带有GetFolderByServerRelative的URL格式l:https://YourO365DomainHere-my.sharepoint.com/personal/
YourUserName_YourO365DomainHere_onmicrosoft_com/_api/web/

往这个URL后面追加GetFolderByServerRelativeUrl(‘/personal/YourUserName_YourO365DomainHere_onmicrosoft_com/Documents’)/folders/.这样将会返回所有文件夹。随后可以为每个文件夹使用ServerRelativeURL属性继续“深入”每个文件夹直到你到达它的根节点。

Figure 4. ServerRelativeUrl property of a folder

                               图4. 文件夹的ServerRelativeUrl属性

 

4. 同样,如果你想返回一个文件夹中所有文件的元数据,只需要将folders/替换为files/文件。所有的文件将被列举出来。

Figure 5. ServerRelativeUrl property of a file

                                    图5. 文件的ServerRelativeUrl属性

 

然后,如果你想检索文件的话,你可以使用GetFileByServerRelativeUrl的URL格式这个URL格式就是在上面的第一部分所述的,并向URL附加上/$value。

上述的URL格式演示的是如何构建方便地在浏览器中使用REST调用。然而,你可以很容易的在你的代码中实现这些URL的格式。

例如,如果你为你的SharePoint开发一个应用程序,该应用程序可以调用到用户的MySite网站收集和使用REST或者CSOM访问SkyDrive Pro中的文件。

REST调用获取文件的方法是:

https://YourO365DomainHere-my.sharepoint.com/personal/
    YourUserName_YourO365DomainHere_onmicrosoft_com/_api/web/
    GetFileByServerRelativeUrl(‘/personal/YourUserName_YourO365DomainHere_onmicrosoft_com/
        Documents/Shared%20with%20Everyone/myDocument.docx’)/$value

对已登录的用户以编程方式获取SkyDrive Pro URL,你可以打电话到用户配置文件服务中心:

https://YourO365DomainHere-my.sharepoint.com/_api/
    SP.UserProfiles.PeopleManager/GetMyProperties/personalURL/

记住,你的SharePoint应用程序需要在应用程序清单中申请一系列正确的权限来访问的SkyDrive Pro的内容—例如,AllSites.Read—如果使用用户配置文件服务:Social.Read。当您向访问控制服务中心(ACS)请求指令时,请确保您有正确的接受者。为了调用SkyDrive的专业,你需要一个指令,其目标接受者是https://YourO365DomainHere-my.sharepoint .com/。并且记得编码在URL中所有查询的参数。

这篇文章中没有详细说明CSOM的调用,但是CSOM相对应的功能实现可参见CSOM, JSOM, and REST API Index。其他有价值的资源是一些文章,关于如何使用CSOMJSOM完成基本操作,和 开始使用SharePoint 2013 REST的。

最后,关于示例代码,可以下载Apps for SharePoint sample pack,它提供了在C#中,REST和JavaScript的例子。它包括了很多有用的例子,其中包括:

SharePoint2013 实现自适应网页设计

[原文发表地址] Implementing your responsive designs on SharePoint 2013

[原文发表时间] 2013/4/1 1:17 PM

本文将带你了解当你在实现一个自适应网页设计时, SharePoint发布网站如何对应不同的显示分辨率怎样改变外观及响

我们都知道,网页设计师是一个SharePoint网站成功的关键。考虑到这一点,我想为我们的SharePoint网页设计师写一篇文章。由于我本身不是这个项目的权威的人士,我决定去请教已经致力于网页设计中有一些时间的一些人。通过询问,我得到了SharePoint品牌推广和UX定制方面的一个专家的电子邮件地址, 他就是Eric Overfield。我发起了一个电话会议,很快,我们聊了起来并讨论起UX、品牌推广、艺术家、工程师,和SharePoint。

话题很快转向各种显示设备以及如何使SharePoint在新的和不断变化的显示器设备中尽可能地一样工作良好。 Eric的回答是:自适应网页设计。自适应网页设计,让网站看上去像流动的网格。这流动的,动态的网格会根据信息的显示分辨率来调整自己,显示分辨率在手机、平板电脑、以及一个完整的桌面显示器上是不同的。请记住,如果想网页纵向和横向都能在所有这些设备正常显示,网页的大小应该是这些设备的混合分辨率的两倍。

自适应网页设计原贴的作者,Ethan Marcotte提供了一个参考网站来演示他文章中解释的概念。在这个网站上,当你调整浏览器窗口的大小,你能观察到页面中的元素是如何重新调整自己以适应当前的分辨率。这个演示让我想知道, 如果SharePoint网站拥有自适应框架的流动网格特性的话,它将如何响应不同的分辨率。幸运的是,Eric,以及其他一些人,开发了自适应SharePoint。自适应SharePoint是一个CodePlex项目,你可以在你的SharePoint网站上尝试自适应框架。

根据提供的介绍文档,我在我定制的发布网站上使用Design Manager安装了之前我们提到的自适应框架。在任何时候,当我调整浏览器窗口的大小,我一直在观察页面中的元素是如何自动适应当前的分辨率。我决定采用以面的显示分辨率测试该项目:

•1200×1900(台式机,纵向)
•768×1366(平板电脑,纵向)
•480×800(智能手机,横向)

结果十分惊人。10分钟内,我建立了一个SharePoint网站,它自动适应常用设备的显示分辨率。下图比较了适用于几种常用的显示分辨率状态下的同一网站:

Figure 1. Comparison of resolutions of the SharePoint website using a responsive framework

图 1.使用自适应框架的SharePoint网站在不同分辨率下的对比

这是如何实现的?

在这篇文章中,我只能解释 自适应SharePoint使用media查询来匹配显示设备的宽度,然后采用一组样式在可用空间中呈现内容。对于这个工作,你的浏览器需支持media查询。最新版本的主流浏览器都支持这样的功能。下面的代码示例演示了如何声明media查询:

 

@media (min-width: 769px) and (max-width: 979px) {
    /*
        Styles for display width 
        between 769 and 979 pixels
    */
}

@media (max-width: 768px) {
    /*
        Styles for display width 
        equal to 768 pixels and thinner
    */
}

@media (min-width: 1200px) {
    /*
        Styles for display width 
        equal to 1200 pixels and wider
    */
}

 

 

 

当然它没那么简单。你可以浏览 自适应 SharePoint CodePlex项目来了解更多内容。

SharePoint 2013中这项新的设计和品牌推广特性可以很容易创建和编辑你的网页设计,包括自适应设计。你甚至可以使用你熟悉的工具,通过将网络驱动器映射到 SharePoint 2013 母版页样式库。就我而言,我使用微软Expression Web4来浏览和编辑母版页及CSS文件。

我很高兴了解到这项新的设计和品牌推广特性,以及如何在自适应网页设计中使用它们。如果你需更多信息,请查看SharePoint2013网站的新发展

– Ricardo

Eric Overfield的是PixelMill的联合创始人。 PixelMill公司从SharePoint 2007开始,就为SharePoint品牌推广提供的产品和服务,并自1998年以来,他们一直致力于网页设计业务。 Eric非常热爱他为之开发CodePlex项目-自适应SharePoint的社区。他同时也是SharePoint活动的发言人之一,比如SharePoint Saturdays;他也正在写一本关于自适应设计和SharePoint2013的书。想了解更多关于Eric的工作,你可以阅读PixelMill’的博客,或关注他Twitter @ericoverfield

 

 

Office 365 开发内容整改

[原文发表地址] Rounding up Office 365 developer content

[原文发表时间] 2013-03-12 11:00AM

Office 365 Developer Center main page这周,我们完成了MSDN上Office 365 开发内容入口的翻新。

Office 365 开发人员中心 把合作伙伴和开发人员构建Office 365解决方案所需的资源都集中到了一起。

Office 365 开发人员中心上对开发内容的补充的新文章和示例代码,自去年7月份,我们就已经在Dev.Office.com网站上发布。

 

入门文章 

Office 365 开发解决方案

 

Office 365 在线和本地开发环境比较

 

学习Office 365 Reporting Web服务

 

 

示例代码

 

不要错过最新的Office 365 示例代码 它可以帮你学会怎样完成如下常见的任务:

·    使用Office 365 Reporting web 服务

·    整合 Windows Azure

·    Office 365中使用Windows PowerShell

·    为部署和Office 365 服务进行身份验证和授权的最佳方法

·    使应用程序能使用Office 365的最佳方法

·    Office 365 解决方案中使用错误处理的最佳方法

·    把社交媒体整合到Office 365

希望你会喜欢!

使用Extension Provider实行 BCS OData 自定义身份验证

[原文发表地址]  BCS OData Custom Authentication using Extension Provider

[原文发表时间]  2012-11-30 13:28

SharePoint 2013中的Business Connectivity Services (BCS) 支持连接到基于 OData 的 LOB 系统。BCS为OData 服务支持以下几种身份验证模式:

  • PassThrough
  • RevertToSelf
  • Credentials
  • Windows Credentials
  • Digest Credentials
  • 使用OData Extension Provider进行自定义身份验证

在本文中,我们详细介绍了如何从 SharePoint on-premises中连接到任何 OData 服务,并使用 OData extension provider进行自定义身份验证。

OData service provider可以支持的自定义身份验证方案的一些示例如下:

  • 使用 Windows Azure Access Control Service (ACS) 进行验证
  • 客户端基于证书的身份验证

若要启用这些自定义身份验证机制,您需要执行一个OData extension provider,然后在 BCS 中配置相同的东西。在每次调用OData LOB服务时,OData extension provider都是由BCS激活的。

注意:BCS 支持使用 OData extension provider进行自定义身份验证,但这只限于托管在on-premises SharePoint 中的应用程序或那些使用hybrid (通过hybrid从SharePoint Online连接到基于on-premise的LOB) 连接的应用程序。此限制是因为它不可能在 SharePoint Online 中安装自定义程序集。

执行 OData extension provider

  1. 在 Visual Studio 2010 中,创建一个新的项目。选择项目类型为Class LibraryODataExtensionFigure1[2]
  2. 更改文件名称和类名称为ODataOAuthExtensionProvider.
  3. 向项目中添加对Microsoft.BusinessData.dll程序集的引用。向类中添加Microsoft.BusinessData.SystemSpecific.OData命名空间。
  4. 空的自定义 OData extension provider执行应如下所示:ODataExtensionFigure2[2]
  5. 通过选择项目设置下的" Signing "选项,对程序集进行签名。生成 SampleODataExtensionProvider.dll 程序集。

安装OData extension provider程序

在 SharePoint web 前端 (WFE) 机器上的全局程序集缓存 (GAC) 中安装SampleODataExtensionProvider.dll。

如果 BCS 被配置为通过hybrid从 SharePoint Online 连接到on-premises LOB 系统,那么 SampleODataExtensionProvider.dll必须安装在SharePoint on-premises WFE上的GAC 中。

配置一个从SharePoint on-premisesOData 服务的连接

为了从 BCS中连接到OData 服务,必须在 SharePoint 中创建一个连接设置,这可以通过使用 BCS Windows PowerShell commandlet实现。

连接设置包含了 SharePoint BCS连接到 OData LOB 系统所必需的信息(OData Service URI、 OData Service Metadata URI、 身份验证模式和Extension Provider)。

New-SPODataConnectionSetting -Name "ContosoServiceApp" -ServiceContext "http://contoso" -ServiceAddressURL "http://tv.telerik.com/services/OData.svc" -AuthenticationMode "Anonymous" -ExtensionProvider "SampleODataExtensionProvider. ODataOAuthExtensionProvider, SampleODataExtensionProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=34c4d4fa89a6bb3b

参数名称

说明

名称

连接设置 Id 应该在 BCS 模型中提到,且应该是唯一的。

ServiceContext

SharePoint Site Collection URI

ServiceAddressUrl

OData Service Address URI。OData metadata URI 是service URI + $ 元数据。如果 OData Metadata URI 是不同的, 那么通过参数 MetadataAddressUrl指定。

AuthenticationMode

针对 OData Service URI 进行身份验证时,使用到的身份验证模式。"匿名"在这里指的是 BCS 没有做任何身份验证。

ExtensionProvider

OData extension provider完全有资格的程序集名称。此程序集应被安装 在SharePoint WFE上的 GAC 中。

BCS 模型中配置连接

必须在 BCS 模型中指定连接信息。BCS 运行时使用连接信息来调用LOB OData 服务。

若要指定连接信息,在BCS 模型中添加以下属性,通过将它添加到LOB 系统和 LOB 系统实例实现。

<Property Name="ODataConnectionSettingsId" Type="System.String"> ContosoServiceApp </Property>

ODataExtensionFigure3[2]

摘要

这篇文章详细描述了如何使用OData extension provider 来支持BCS OData 连接器的自定义身份验证。

按照以上提到的步骤,您应该能够导入一个 BCS 模型,它连接到一个OData 服务,并拥有一个支持自定义身份验证的extension provider。在下一篇文章中,我们会更改OData extension provider来对 Windows Azure ACS 进行身份验证。