SharePoint 2013 开发——发布SharePoint应用程序
前几篇我们介绍了开发、部署和调试SharePoint应用程序的基础,本篇介绍更实用的操作,当我们开发一个SharePoint应用程序之后,如何发布它呢?
我们有两个途径发布我们的APP:发布到公共的Office商店,SharePoint可以通过在线查找商店中的应用进行安装;发布到内部组织的应用程序目录,这样SharePoint组织内的用户可以安装该APP。
发布到Office商店
发布到Office商店需要先进行注册卖方仪表板账户,上传到Office商店的应用微软会执行一系列的检查,确保上传的应用程序符合内容和行为准则,比如,它会检查清单目录标记是否完整有效,是否包含不允许的元素,应用的范围等等,如果通过检查,会打包成一个由微软签名的应用程序包。
上传到Office商店时,可以选择要提供给下载它的用户的许可证的条款:免费、试用或其他方式,按用户还是网站来提供。
SharePoint不强制实施应用程序使用的许可条款,而是提供了一个许可框架,我们可以在APP中包含代码逻辑来强制实施许可限制。比如,我们可以针对用户的付费情况来启用或禁用APP中的某些功能。
发布到应用程序目录
专用应用程序目录是SharePoint 2013Web应用程序中的一个专用网站集合,用来承载SharePoint APP的文档库。将目录放在自己的站点集合中更便于Web应用程序管理员来限制该目录的权限。
将SharePoint APP上传到企业应用程序目录就像上传文件到文档库一样。上传到应用程序目录的APP也会进行类似的检查,如果不能通过检查,APP会标记为无效或被禁用。
如何确定我们的APP要发布到哪里呢?下面的表格供我们参考:
Office商店 | 应用程序目录 |
---|---|
应用程序公开可用 | 对此SharePoint部署具有访问权限的用户可使用应用程序 |
许可框架可用 | 许可框架不可用 |
应用程序包由微软进行技术和内容政策验证 | 在上传应用程序时由SharePoint执行应用程序包的验证 |
必须向微软卖方仪表板注册才能上传应用程序 | 不需要向微软注册 |
更多信息
本篇我们来发布到内部的应用程序目录上
首先在我们我们的测试Web应用程序上创建一个应用程序目录网站集:管理中心->应用程序->管理应用程序目录。
选定默认的创建新的应用程序目录网站,点击确定按钮。
如图所示填写信息,完成应用程序目录网站集的创建。
下面我们来具体看看如何发布我们的SharePoint APP。
SharePoint-hosted APP
此类SharePoint APP比较简单,没有外置的程序,我们只需要将应用程序包拿出来上传到SharePoint中即可,具体操作下面进行阐述。
我们打开之前的Hello World应用程序,右键点击项目节点,选择发布,点击打包应用程序按钮。
打包完成后会弹出APP包所在位置。
接下来到应用程序目录网站,点击左侧导航适用于SharePoint的应用程序,将打包的APP文件拖到该文档库里。
这样我们就发布好了这个应用程序。接下来我们浏览当前Web应用程序下的一个普通的网站。点击右上角的菜单,添加应用程序,左侧导航处选择来自您的组织分组。
点击应用程序图标,点击添加按钮,选择信任它,完成添加。
Provider-hosted APP
这种类型的APP由于有外置的Web应用程序,在以上步骤之前,我们需要先做一些准备工作,篇幅有限不细说了,但请仔细阅读(修改代码那里貌似可以忽略)。关于发行者ID和客户端ID,实际的环境中一般是多个APP共用一个发行者ID,我们这里只是用于测试,所以就将发行者ID设置为跟客户端ID一样的了。
然后我们先发布Web应用程序。
打开之前的SharePoint APP项目,右键点击Web应用程序项目节点,选择发布。在配置文件标签页,点击下拉框的新建配置文件,取一个名称,我们这里取作ProviderAPPWebConfig。(在发布之前先到IIS里面创建一个HTTPS类型的网站)
发布完成之后,再操作SharePoint APP项目,右键项目节点,选择发布,点击打包应用程序按钮,会弹出向导。
点击完成开始打包,打包成功之后同样会看到打完包的APP文件,跟上面一样,我们将它传到应用程序目录,然后添加到要使用的网站就可以了。
本篇完成了有几天了,迟迟没有发布是因为一直遇到问题,比如An error occurred...、拒绝访问等错误,尝试了几遍,总结出来的还是我上面说的,一定要仔细,ClientID和IssuerID一定要都对应上,认真检查,耐心些,问题会解决的。
最后附上调试时获取指定APP Pool的批处理
c:\windows\system32\inetsrv\appcmd list wp
pause
SharePoint 2013 开发——发布SharePoint应用程序的更多相关文章
- SharePoint 2013 开发——工作流架构
博客地址:http://blog.csdn.net/FoxDave SharePoint 2013的工作流较之前有了不同,第一次真正地作为独立的服务的概念推出了.这意味着SharePoint工作流不再 ...
- SharePoint 2013 开发——概述
博客地址:http://blog.csdn.net/FoxDave 近来阅读SharePoint 2013开发一书,带着与大家一起分享其中的内容. 部署场景: 本地部署(On-Premise D ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发 之前提到过, ...
- SharePoint 2013 开发——SharePoint Designer 2013工作流
博客地址:http://blog.csdn.net/FoxDave SharePoint Designer 2013为开发者和高级用户提供了两种创建定制工作流的模式: 基于文本的设计器--即我们一直 ...
- 从SharePoint 2013迁移到SharePoint Online - 评估工具
博客地址:http://blog.csdn.net/FoxDave 今天想跟大家分享一款从SharePoint 2013迁移到SharePoint Online时的评估工具:SharePoint ...
- SharePoint 2013开发入门探索(一)- 自定义列表
在SharePoint 2013中创建自定义列表的方式有很多,在网站内容页面添加应用程序就可以创建(站点内容-〉 您的应用程序),也可以通过SharePoint Designer 2013创建,而本文 ...
- SharePoint 2013 开发教程
做了SharePoint有三年了,大家经常会问到,你的SharePoint是怎么学的,想想自己的水平,也不过是初级开发罢了.因为,SharePoint开发需要接触的东西太多了,Windows操作系统. ...
- sharepoint 2013 开发环境安装
Sharepoint 介绍 Sharepoint 可以帮助企业用户轻松完成日常工作中诸如文档审批.在线申请等业务流程,同时提供多种接口实现后台业务系统的集成,它将 Office 桌面端应用的优势结合 ...
- SharePoint 2013开发入门探索(二)- 列表操作
我们如何用代码对SharePoint列表做些例如增删改查的操作呢?如果您的程序可以部署到服务器上,就可以使用 服务器对象模型,因为服务器对象模型提供的功能最多,限制最少:否则可能要选择客户对象模型等其 ...
随机推荐
- commonJS — 日期操作(for Date)
for Date github: https://github.com/laixiangran/commonJS/blob/master/src/forDate.js 代码 /** * Created ...
- c++ string 与 char 互转 以及base64
c++ string 与 char 互转 很简单如下 ] = {'A','B','C','D','E'}; printf("%s\n",bts); //char to string ...
- iOS高性能图片架构与设计
版权声明:本文由柯灵杰原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/157 来源:腾云阁 https://www.qclo ...
- eclipse 新建 maven 项目 步骤(初级入门新手)
安装 maven(百度) 和在eclipse 中svn(上一篇) 修改 maven 本地仓库 eclipse 属性 maven--> installations-->添加新的 自定义安装的 ...
- java中身份证号15位转18位
/** * 将15位转换为18位 * @param idCode 15位身份证号 * @return String 18位身份证号 */ public String toEighteen(String ...
- 设置pictureBox的边框颜色
private void pictureBox2_Paint(object sender, PaintEventArgs e) { PictureBox p = (PictureBox)sender; ...
- [bootstrap] bootstrap 简介和相关网址
Bootstrap 来自 Twitter,是目前很受欢迎的前端框架. 基于 HTML.CSS.JAVASCRIPT ,简洁灵活,使 Web 开发更加快捷. Bootstrap提供了优雅的HTML和CS ...
- org.springframework.web.servlet.PageNotFound No mapping found for HTTP request with URI [/AssetRepair/assetRepairController/test.do] in DispatcherServlet with name 'assetrepair'
web.xml文件配置: xxx-servlet.xml 我们可以发现DispatcherServlet会处理"jsp"后缀的请求;而模型视图后缀也是jsp的 如果这样配置会报以下 ...
- python获取文件的内容
- 《Play for Java》学习笔记(二)基本的CRUD应用
注解: CRUD——Create,Retrieve, Update, Delete 文件结构