canvas教程

SJTU Developers

字号+ 作者:H5之家 来源:H5之家 2015-11-13 15:28 我要评论( )

From SJTU Developers Jump to: , Canvas App Developement Mannual/门户应用开发指南将详细阐述上海交通大学门户(简称门户、Canvas)下第三方应用(简称应用、App)的基本概念、UI集成技术、API接口技术和一些开发的最佳实践。面向上海交通大学门户应用的

From SJTU Developers

Jump to: ,

Canvas App Developement Mannual/门户应用开发指南将详细阐述上海交通大学门户(简称门户、Canvas)下第三方应用(简称应用、App)的基本概念、UI集成技术、API接口技术和一些开发的最佳实践。 面向上海交通大学门户应用的开发者提供技术支持文档和实验环境。

Contents

基本概念
  • 与传统的企业信息门户EIP(Enterprise Information Portal)相比,Canvas本身并不支持Java Portlet或.NET WebPart等集成技术,而是采用较为灵活的Mashup技术。选择Mashup的一个理由参见,以此来解决传统门户的性能、难以深度整合的问题,提高分布式计算的能力,并提供一个SaaS平台。Canvas不支持用户自定义UI和布局,UI和布局的设计在开发时完成。
  • Canvas提供社交功能的支持,以此作为API开放平台的基础,具体参见后续章节。
  • Canvas提供应用市场的机制,为第三方应用提供低耦合、自助的接入方式。第三方应用只需要遵循一定的标准即可方便的和门户做UI层的集成。
  • 工作区/Workspace

    工作区/Workspace,对于应用而言,作为一个租户的概念存在。

    上海交通大学门户工作区切换

  • 个人工作区是一个特殊的工作区,该工作区并不存在Id标识,用于展示用户相关的的信息,并且用户在此获得服务。
  • 其他的所有工作区的产生,依赖于用户的岗位所在的部门。
  • 一个用户可能隶属于多个部门,比如某用户同时在不同的部门任不同岗位,或者一个在职博士同时是另一个部门的老师,所以门户允许用户切换工作区。
  • 与个人工作区相反,其他的工作区作为用户提供服务、办公的环境存在。
  • 工作区的菜单将会随工作区的变化而变化。关于菜单及其变化规则的解释,详见后续章节。
  • 工作区是一些人的集合,所以工作区是一种特殊的圈子/circle(参加下节)。
  • 圈子/Circle

    圈子/Circle,用来表示社交系统中,表示一些人的集合。

  • 圈子的概念仅出现在API中,并不对直接最终用户可见。
  • 圈子按照性质不同,有多种性质的表现,其中主要包括:工作区/workspace、群组/group、列表/list等。
  • 群组表示一组人之间彼此认识且平等,比如一个教学班;而列表则是一种单向关系,比如某用户的一个关注列表。
  • 人和人之间的关系通过圈子发生,任何人之间并不直接发生关系。
  • 人和圈子直接存在4种关系,分别是:拥有/has,属于/in,信任/trust,拒绝/mute
  • 一个用户has一个群组,表示该用户是该群组的管理员;同样用户可以has一个或多个列表。
  • 一个用户和一个群组in关系的改变,需要一定的业务流程,比如申请加入、批准等;而一个用户属于一个列表,是该列表has者的个人行为,与该用无无关。
  • trust表明,该用户是该群组的友人,虽然并属于/in这个群组。trust是一个比in稍弱的联系。
  • 拒绝/mute一个列表的一个典型应用场景是黑名单;同样用户也可以mute一个群组。
  • 应用

    传统的关于管理信息系统/MIS,往往作为独立的Web站点而存在。

    对与这种按照功能划分的应用体系,我们的理念是:

  • 按照MIS系统应用场景的不同,用户大致可以分成两类:使用MIS系统提供服务的用户和享受服务的用户。
  • 提供服务的用户,比如各个职能部门的一线工作人员,这类用户会专注于特定MIS的使用,工作区给这类用户提供了隔离性较高的Workspace。
  • 使用服务的用户,比如普通教师或者院系领导,这类用户需要经常跨各个MIS系统来使用,因此应用的概念系统能给这类用户提供一站式的服务。
  • 应用/app,为了和门户在UI和API上有更好的整合,需要遵循一定的规范。 如下图所示(此处仅作简单介绍,后续章节有详细说明):

    上海交通大学门户应用:公文系统

  • UI上和应用相关的主要有三部分内容:
  • 绿色区域应用列表,在门户内置的应用市场中,用户可以自行选择安装;工作区管理员可以指定工作区安装
  • 红色区域应用菜单,通过约定的接口实现,具体参见SJTU Canvas Sitemap
  • 蓝色区域应用内容,通过IFrame或HTML方式嵌入。现阶段只支持IFrame方式
  • 应用还可以通过Widget或Api与门户交互,将来后续介绍。
  • 开发流程

    应用和门户集成的过程主要是: 现阶段(2013年9月份前)尚无工具辅助此过程,门户应用的开发申请需要直接与网络信息中心开发部联系。

    应用注册
  • 应用注册对开发者而言,将获得一个应用的id和key。
  • 这个app的id和key即:*JAccount & OAuth/上海交通大学单点登录与授权所提供。但反之不然,即拥有jaccount不表示可以开发门户应用。
  • 此id和key除做SSO登陆外,还用于访问SJTU开放API
  • 权限/服务申请
  • 可选。
  • 应用可以选择需要使用的基础服务。参见
  • 数据交换服务,需额外申请
  • 通知/notification服务,如果用到邮件或者短信渠道,需要申请绑定计费帐号
  • 结构化存储/file服务,需要额外申请存储空间
  • (待定)消息队列服务,需申请开通的消息类型和开发包
  • 应用配置
  • 设置应用的宽高
  • 高度支持3种类型:
  • 固定高度
  • 自动高度,自动调整适应应用内容。需要引用canvas jssdk
  • 窗口高度,自动调整适应浏览器。
  • 宽度支持3种类型:
  • 默认宽度:800px,如上图的蓝色区域
  • 完全宽度:1000px,左侧绿色区域自动隐藏
  • 固定宽度
  • 应用上线
  • 决定应用是否在应用市场可见
  • UI集成 应用集成到门户中

    即前面提到的三部分:

  • 应用列表
  • 应用菜单
  • 内容区域
  • 门户集成到应用中

    采用Widget的方式。

  • CanvasEditor
  • 用户名片
  • 群组选择
  • API集成 Canvas APIs Canvas javascript sdk

    sdk引用地址

    请在body开头引用如下代码。

    djsd.js js.id = id; js.fjs.documentscript>

    最佳实践

    Retrieved from "http://developer.sjtu.edu.cn/wiki/CanvasManual"

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    网友点评
    e