zoukankan      html  css  js  c++  java
  • SharePoint 2013 开发——发布SharePoint应用程序

    博客地址:http://blog.csdn.net/FoxDave

    前几篇我们介绍了开发、部署和调试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:windowssystem32inetsrvappcmd list wp
    pause

    
    
  • 相关阅读:
    【转载】超级实用且不花哨的js代码大全 -----高级应用(一)
    【 Date 对象 参考手册】
    js随机数random()方法
    【转载】js数组的操作
    【转载】js数组和json的区别
    干货----004----MySQL忘记root密码怎么办?
    PHP框架——TP_0001----ThinkPHP常用配置
    干货----003----乱码解决方法
    Python之路【第二十六篇】:xml模块
    Python之路【番外篇1】:使用Python创建照片马赛克
  • 原文地址:https://www.cnblogs.com/justinliu/p/5961612.html
Copyright © 2011-2022 走看看