日志标签 ‘APP开发’

Office 365 APP开发模式的理解

2013年12月23日

Office 365基于sharepoint 2013,sharepoint 2013提供APP开发方式,与以前的solution完全不一样,这个APP开发说得最多的是不能写代码了,只能写javascript+html。但我们要全面的了解一下才能下定论,office 365关闭了一上扇大门但又打开了另一扇大门。下图列出office 365 App开发的途径APP开发

分为三种:

provider-hosted app: 由office 365后面的sharepoint 和 你自己的主机进行沟通(你可以使用任意的工具开发自己的web服务,使用标准的CSOM/REST与sharepoint沟通)

auto-hosted app:自动托管,即c#代码运行在微软的Azure上面,sharepoint 自动与Azure沟通,所以你写好代码部署上去office 365就会自动在云上执行代码。

sharepoint-hosted app:大家经常使用的环境了,可以使用NAPA这样的app进行在线app开发,但只能使用javascript+html。

 

这样看上去就会觉得,sharepoint由以前的单向其它的数据变为双向的沟通,即sharepoint内嵌你的网页显示,但你的网页可以读取sharepoint的数据并且与它进行沟通!

Office365 App开发之provider-hosted供应商托管要注意http和https的问题

2013年12月21日

登录office 365后所有的链接都是htts开头,除了那个public site之外,所以其它内容一直都是以https访问,这里面有些问题需要注意:

一、在Chrome里面,如果访问的网页是https,而这个页面里面内嵌一个http的iframe就会被block住,不显示出来。而office 365 app 开发的provider-hosted模式就是通过iframe的方式内嵌一个iframe来显示provider的内容。

chrome下面提示内容如下:

[blocked] The page at ‘https://uat.sharepoint.com/sites/dev/pages/a.aspx‘ was loaded over HTTPS, but ran insecure content from ‘http://localhost:26077/Coffeemaker.html?name=Friend&teaspoons=0&decaf=false…2DCN&SPClientTag=0&SPProductNumber=16%2E0%2E2308%2E1221&SenderId=A88636EE0‘: this content should also be loaded over HTTPS.

APP开发 1

 

二、在IE里面也有类似的问题,但IE会提示你,是否显示非安全的http请求,可以选择是或否

APP开发 2

点击“显示全部内容”后才能显示http里面的内容。

 

 

我们在这里介绍一下在IIS创建https连接的办法:

一、在IIS创建自签名的证书

APP开发 3

APP开发 4

 

 

二、创建网站的时候协议选择https,证书选择刚才创建的即可

APP开发 5

就是这么简单,我在windows 2008 64bit r2 和windows 7 64bit上面都试过,看样子win7和win2008下的iis都是Server: Microsoft-IIS/7.5

Office365 App开发之供应商托管Provider-hosted

2013年12月19日

Office 365的App开发提供其中一种开发方式是Provider-hosted,即web运行环境不在SharePoint主机上,而是自己另外搭建的web服务器,自己搭建的服务器可以是asp.net, jsp, php等,然后通过CSOM(Client side object model)访问SharePoint内容。

下面的例子就是这样的结构,先来看看效果,网站托管在本地的服务器,所以看到的是localhost,然后直接访问Office 365网站上的内容。

APP开发

Configure the sample(配置例子代码)

To configure the hello world remote app using CSOM sample, update the SiteUrl property of the solution with the URL of the home page of your SharePoint 2013 site.(只需要设置SiteUrl为你在Office365的开发人员网站,不知道的可以参考 如何在Office365上创建APP应用

Build the sample(编译例子)

Press the F5 key to build and deploy the app.(按F5,VS2013会上传app到你的office365网站进行部署,然后运行localhost网站)

Run and test the sample(运行和测试例子)

  1. Choose Trust It on the consent page to grant permissions to the app.(部署的时候要点击“信任)
  2. Choose Populate Data to see some basic information about the parent web.(在页面点击”Populate Data“这个链接即可以看到读取的数据)

Provider-hosted代码下载

Office365 App开发之AutoHosted模式

2013年12月18日

我们回顾一下Office 365  App开发的三种模式

SharePoint-hosted: SharePoint托管,可以使用CSOM(javascript+html)访问SP对象,不能写服务器代码。你可以使用NAPA开发SharePoint APP或者VS2013开发App

Provider-Hosted: 供应商托管,我理解是代码运行在其它web服务上,可以使用的代码不限制,例如c#, jsp,php都可以,然后通过SharePoint提供的接口(OAuthor,CSOM等)访问等对象和数据。

Autohosted:自动托管,可以写C#代码运行在Azure云服务器上,数据库运行在SQL-Azure上,SharePoint自动和Azure沟通。使用VS2013开发。今天的代码就是这个方式,已知的限制是Office App市场暂时不接受这种App。

先来看一下效果,服务器代码执行一个查询,数据存储在SQL – Azure里面

APP开发 1

 

Configure the sample配置例子代码

  1. Open Visual Studio 2012 with administrator privileges.(以管理员身份运行VS2012我的是VS2013)
  2. On the File menu, click Open, Project/Solution and then navigate to the folder where you unzipped the O365_SharePointAuthoHosted.sln file, select it and click Open.(在VS里面打开解压的代码项目文件O365_SharePointAuthoHosted.sln)
  3. Right-click the O365_SharePointAutoHosted solution in the Solution Explorer, click Properties, and on the Property Pages pane, make sure the Multiple startup projects option is selected and then change the Action for the O365_SharePointAutoHostedDB to Start instead of None. This will execute the database project and generate your database when you build the project.(在项目文件的“属性”里面确定“Multiple startup projects”是勾选的,O365_SharePointAutoHostedDB的Action 为Start)

APP开发 2

  1. To generate a DACPAC file, right-click the O365_SharePointAutoHostedDB database project in the Solution Explorer, and then click Build. This creates a database with tables and provides you the DACPAC file in the Debug folder if you are working in the Debug mode; otherwise, you should find it in the Release folder. The file path will be similar to [Your application root folder name]\O365_SharePointAutoHostedDB\bin\Debug\O365_SharePointAutoHostedDB.dacpac.(选择O365_SharePointAutoHostedDB项目,执行编译)
  2. To link your database project to the solution, select the O365_SharePointAutoHosted project in the Solution Explorer and in the Properties pane below the Solution Explorer, click on the down arrow in the SQL Databasefield and then Select the SQL Package and navigate to the location on your computer where the DACPAC file is located.(在O365_SharePointAutoHosted项目的属性选择刚才生成的DACPAC文件或干脆选择整个DB项目)

APP开发 3

  1. In the O365_SharePointAutoHosted Web project, add a SqlAzureConnectionString property in the <appSettings> section of the Web.config file.XML(确定O365_SharePointAutoHosted Web项目的web.config文件里面包含数据库连接串)
    <add key="SqlAzureConnectionString" value="Data Source=(localdb)\Projects;
    	Initial Catalog=O365_SharePointAutoHostedDB;Integrated Security=True;
    	Connect Timeout=30;Encrypt=False;TrustServerCertificate=False" />
  2. Select the O365_SharePointAutoHosted project in the Solution Explorer and in the Properties pane below, enter the URL of your Office 365 Developer Site into the Site URL property field.(在O365_SharePointAutoHosted项目的”Site Url填入你的O365开发网站地址)

Build the sample(编译项目)

The app for SharePoint can now be uploaded to the App Catalog of a SharePoint Online tenancy. For further debugging, you can deploy the app directly from Visual Studio 2012 to a SharePoint Online website if it was created with the site template. To do this, right-click the O365_SharePointAutoHosted solution in Solution Explorer and select Deploy. Tenant administrators can install the app for SharePoint on their Office 365 Developer Site tenancy by using the following procedure:

  1. Right-click the O365_SharePointAutoHosted solution and select Publish.(编译O365_SharePointAutoHosted生成app文件)
  2. On the Publish Summary page select the Open output folder after successful packaging option and then click Finish.
  3. A folder that contains the O365_SharePointAutoHosted.app file opens–note the file location. The file path will be similar to [Your application root folder name]\O365_SharePointAutoHosted\O365_SharePointAutoHosted\O365_SharePointAutoHosted\bin\Debug\app.publish\1.0.0.0\ O365_SharePointAutoHosted.app.(一般生成的app在这个目录)

 

Run and test the sample(运行和测试例子代码)

  1. Open your Office 365 Developer Site.(打开O365的开发人员网站)
  2. On the Developer Site, in the Apps in Testing list, click the plus sign next to the text new app to deploy.(点击右手边的“正在测试应用程序”)
  3. On the Deploy App page, click the link text upload.(点击“要部署的新应用程序”)
  4. Navigate to the location of O365_SharePointAutoHosted.app, select it and click OK.(选择上面编译生成的app文件O365_SharePointAutoHosted.app,上传)
  5. Click Deploy and on the next dialog click Trust it.(下一步选择“部署”,点击“信任”)
  6. The application will be uploaded to your Office 365 Developer Site.(上传完成后,后台开始部署,部署完成后就可以点击刚才的app进行测试了)
  7. On your Developer Site, in the Apps in Testing directory, click the O365_SharePointAutoHosted app to run it.
  8. On the page titled “Office 365 Sample Code: SharePoint Auto-Hosted App” you can enter any of the EmployeeNames you find in the Script.PostDeployment1.sql file of the O365_SharePointAutoHostedDB project. You can also enter the character “%” to view all the items in the database.The entire list is shown in the following figure.

APP开发 4

 

Office 365 App开发之Autohosted模式源代码下载

 

例子代码说明的效果如下:

APP开发 5

注:一开始以为它上面使用%号可以查询,发现代码里面写的是等号,根据不可能模糊查询,所以要改一下代码

APP开发 6

如何用VS2013创建Office365的APP应用

2013年12月16日

昨天记录了,怎么使用NAPA在Office365上创建APP,今天我们用Visual Studio 2013在本地创建app试试,这两种方式的代码都是hosted在SharePoint上面运行的。

用VS2013创建app部署后的效果如下:

APP开发 1

先在office365上面建立开发人员网站哦,参考上一篇文章的怎么使用NAPA在Office365上创建APP,下面说说VS2013创建Office365 app的步骤:

一、在VS2013创建App for sharepoint 2013的项目

APP开发 2

APP开发 3

二、用模板生成的项目代码很简单,一个js请求sp,然后读取当前用户的信息,再绑定到指定的dom对象

APP开发 4

这个时候点击“运行”就会直接上传本地的app到 office365网站,直接查看效果。

是不是很简单?目前还未明白它的调试怎么用,js上下断点不会触发的。

如何在Office365上创建APP应用

2013年12月15日

在本地弄得死去活来之后,已经可以使用VS2013部署app,打开app的时候发现不知道这个泛解析url的登录密码怎么填,暂时放下,先到OFfice365上试一下简单的App开发,找回曾经的信心吧!

购买Office365最便宜的那个服务16元RMB/月,就可以开始进行sharepoint 2013传说中的app开发之旅,你还不赶快行动?

(不过一年的费用是16*12=192,租一个快速稳定的静态或不太稳定的php空间也勉强可以了。)

 

在Office 365上开发app很简单的,具体步骤如下:

一、购买office365后要到管理中心创建一个“开发人员网站”模板的网站集(只能是网站集,子网站不行)

APP开发 1

 

APP开发 2

二、在刚才创建的开发人员网站安装”napa”这个app应用,根据提示一步一步安装就是了,中间可能要用邮箱注册一个marketplace的一个帐号然后激活一下。

APP开发 3

三、安装好后就可以使用napa在线编写app了

APP开发 4

APP开发 5

点击运行后这个napa就会上传app到你的网站,然后打开ie看效果。

 

然后我测试了一下写服务器代码在里面的效果,感觉和sandbox里面一样。

APP开发 6

VS2010部署SharePoint2013App显示一直在部署

2013年12月11日

以前使用VS2010加个插件后开发SharePoint 2013的solution,部署的时候显示一直在部署,但不管等多久,始终不会部署成功。今天换为VS2013点部署就部署成功了!

插件的东西还是比不上原装滴。

VS2013已经自带SharePoint2013App开发模板

2013年12月11日

装个VS2013方便多了,已经自带了SharePoint 2013的App开发模板还有经典的solution模板

APP开发 1

APP开发 2

如果在VS2010下面开发就麻烦一点,需要另外安装一个SharePoint 2013的插件。

VS2013目前发现有个自动显示引用次数的功能

APP开发 3

点开就可以显示在什么地方引用

APP开发 4

这个比较实用,比那个按代码图形查找实用多了。

粤ICP备10090854号-1