出自Yahoo_cn_wiki

跳转到: 导航, 搜索

您在这:首页 > NCP文档中心 > NCP基本概念

NCP基本概念

目录

NCP的基本组件

NCP页面和NCP站点

NCP为应用提供了一个基于Web的运行环境,允许应用以HTML模块的形式嵌入NCP输出的页面。这些由NCP应用模块所组成的页面称为NCP页面

雅虎站长天下为例,用户可以在自己的站点中创建和维护多个NCP页面,然后选择喜欢的模块嵌入到页面中。这些能够容纳NCP页面的站点称为NCP站点

NCP应用和模块

一个应用可能会被很多用户使用,例如在站长天下中,原创文章视频分享等都是非常基础的应用,它们被成千上万的站长所使用。这些应用以不同的实例存在于不同的站点中,每一个实例称为一个模块

Hello, World这样的应用,显示的是静态的内容,每一个模块的展现都是相同的。但是原创文章视频分享等应用,不同的模块显示的是不同的内容,也就是说这些应用是支持多实例的。

站点、页面、模块和应用的关系可以用下图表示:

NCP站点 - 页面 - 模块 - 应用的关系

用户角色和访问控制

某些应用中需要对内容或功能的访问进行用户权限的控制,例如公告板中只允许站长或管理员对公告内容进行修改,而普通用户只能浏览。

NCP中定义了一些基本的用户角色,这些角色包括:

站长
该站点的创建者,拥有添加、删除和设置模块等基本权限。
管理员
由站长任命,可以对本站的页面进行管理,拥有添加、删除和设置模块的权限。
会员
由站长或管理员批准加入站点的正式成员,不具有任何的页面或模块管理权限。
普通用户
非本站正式成员,分为已登录状态和未登录状态,对于已登录的用户,NCP会将其用户ID传递给应用。

对于上述用户角色,NCP只定义了页面、模块的管理权限,并不对具体应用的功能权限进行定义。

NCP每次调用应用的回调接口时,都会将当前请求的用户角色及用户ID传递给应用。应用可以根据用户角色和用户ID自行定义访问控制规则。

应用的展示方式

应用的视图模式

NCP定义了应用的3种展示方式,分别为:标准视图完整视图配置视图

  • 标准视图:一般的NCP页面由多个应用模块组成,每个模块只占据页面的部分显示区域,此视图为应用的标准视图。NCP调用应用的回调地址会传递一个y_view_mode,对于标准视图,其值为“box”。标准视图是应用的入口,在标准视图中点击模块中的链接或标题栏,将转到应用的完整视图。
  • 完整视图:是应用的完整展现视图,模块占据页面的主要显示区域。NCP调用应用的回调地址会传递一个y_view_mode,对于完整视图,其值为“full”。
  • 配置视图:配置视图是对模块参数进行设置的视图,管理员点击模块标题栏的“管理”链接时,即可打开该模块的配置视图。开发者可以根据需要来展示配置视图的内容。目前配置视图只是支持通过iframe来实现,所以对其展现视图不做限制。NCP调用应用的回调地址会传递一个y_view_mode,对于配置视图,其值为“conf”。。
标准视图、完整视图和配置视图

模块内容的嵌入方式

应用服务器输出的内容可以以两种方式嵌入NCP页面中:

  • 代码嵌入:NCP对应用的应答进行适当转换,做为HTML代码直接嵌入最终页面中。
  • 框架嵌入:NCP将应用输出的页面做为iframe嵌入页面中。

这两种方式各有优缺点,开发者可以自行选择。

NCP和应用的通讯方式

NCP页面的内容是由一个或者多个应用模块组成的,NCP将应用的应答组装成为最终的页面。

下图描述了用户浏览器,NCP和应用之间的通讯过程(针对代码嵌入的方式)。当用户浏览NCP页面时,浏览器向NCP发出HTTP请求,平台会调用此页面中应用的回调接口,然后将各应用的应答结果按照组合成最终的展示页面,返回给浏览器。

NCP和应用的通讯方式

应用回调接口中我们将详细介绍NCP和应用的通讯协议。

个人工具