`
liuyf
  • 浏览: 33490 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

sakai 应用开发的hello world

阅读更多
本文先生成一个具体的系统,让大家有感性的认识,再对代码做一些简单的分析。
本文的前提是安装 sakai project app builder;同时你得安装maven,并能简单的使用。http://blog.csdn.net/totogogo/archive/2007/12/17/1942867.aspx这篇文章讲了maven 的编译生命期,讲得那是很不错。
采用Sakai Project App Builder,如下图:



选择Project Type为Wicket,Implementations为Hello World app,Sakai  version为K1(2.6.x+)
用cmd到项目的目录下,输入mvn package,在tool目录下有一个target目录,会找到一个sakaiapphelloworld-tool-0.1.war文件。
将这个文件拷到sakai部署的webapps目录下,重启sakai就可以了。
接下来,在浏览器中安装并测试工具。
点击”Sites”,选择一个站点,点击”Add/Edit pages”,到达Page编辑,点击”New Page”,增加一个Page,随便其个名字,点击下面的”Continue Editing Tools”,在工具列表中选择sakai-app-helloworld,如下图:



保存后,算是安装好了。
接下来到达对应的”Site”,就可以看到效果了:



下面说说代码结构。
带着这么一个疑问去看代码:示例产生了什么代码,使得在浏览器中的后台能看到并选中相应的工具。
这个helloworld的包类结构如下:



经过阅读,里面的四个.java 文件,都是和为实现Wicket渲染的代码,并没有主动注册的代码块。
那么,推断该工具是被动注册的,即sakai框架主动加载工具,那么在xml配置文件中就一定有相关信息。
于是,用dir列出该工厂下的所有文件,观察到一个“可疑文件”,”sakai.sakaiapphelloworld.xml”,打开,有下面的描述:



看字段命名推测,再看值肯定,这里就是注册的配置了。
有了推测,我们再找到内核,tool/impl/ToolComponent.java,里面有一个register函数,也发现确实是取这几个字段的。
为了让你看得明白,我们再来跟踪注册过程。
在 调试中才发现,原来注册是在ActiveToolComponent.java中。
有如下堆栈:



其中ToolListener.contextIntialized实现如下:



如上面注释中说的,这个函数找出webapp目录下/tools目录中的资源进行注册。
  • 大小: 18.8 KB
  • 大小: 7 KB
  • 大小: 7.6 KB
  • 大小: 12.5 KB
  • 大小: 7.4 KB
  • 大小: 7.4 KB
  • 大小: 10.3 KB
1
0
分享到:
评论

相关推荐

    Sakai的开发文档

    sakai的开发文档 根据自己做这件事遇到的问题所作的文档,也可以算作是学习笔记。

    sakai2.8安装手册

    详细描述了sakai2.8的安装过程以及错误解析,和hello world示例的演示。。

    sakai charon分析文档

    sakai是广泛应用于高校的开源课程管理系统,具有良好的架构设计,具有很好的解耦行、扩展性和稳定性。目前sakai的二次开发广泛流行于企业、高校和个人,希望有兴趣我们可以共同交流,欢迎交流!

    sakai样式修改手册

    Sakai 是由高校、商业组织和个人开发者组成的社区,致力于开发一个通用的协作学习环境(Collaboration and Learning Environment,CLE)。Sakai是基于Educational Community License(开源软件许可证的一种)的教育软件...

    sakai 的权限流程分析-详细的源码调用过程

    sakai是广泛应用于高校的开源课程管理系统,具有良好的架构设计,具有很好的解耦行、扩展性和稳定性。目前sakai的二次开发广泛流行于企业、高校和个人,希望有兴趣我们可以共同交流,欢迎交流!

    Sakai-src基于Sakai的源码文件

    Sakai的src,Sakai的三种方式中的src,便于更改开发

    sakai 用户注册业务流程分析

    sakai是广泛应用于高校的开源课程管理系统,具有良好的架构设计,具有很好的解耦行、扩展性和稳定性。目前sakai的二次开发广泛流行于企业、高校和个人,希望有兴趣我们可以共同交流。欢迎交流!

    E-learning sakai 用户手册

    Sakai 是由高校、商业组织和个人开发者组成的社区,致力于开发一个通用的协作学习环境(Collaboration and Learning Environment,CLE)。Sakai是基于Educational Community License(开源软件许可证的一种)的教育软件...

    sakai安装文档,很有用的

    sakai安装文档,很有用的安装Sakai App Builder

    sakai 工具权限设置逻辑

    sakai是广泛应用于高校的开源课程管理系统,具有良好的架构设计,具有很好的解耦行、扩展性和稳定性。目前sakai的二次开发广泛流行于企业、高校和个人,希望有兴趣我们可以共同交流。欢迎交流!

    sakai的安装配置

    该文档主要是说一下sakai的配置问题,因为我也遇到了相同的问题,所以我将我遇到的问题都记录下来共享一下

    sakai doc 2.9.3

    sakai-javadoc-2.9.3.tgz

    使用Sakai构建开放式教学平台(完整版)

    使用Sakai构建开放式教学平台(完整版)

    Sakai部署步骤 (1)1

    1.修改:/iscas/sakai/tomcat7/conf/server.xml 2.修改:/iscas/sakai/tomcat7/bin/setevn.s

    sakai使用手册

    sakai 是国外一款开源的网络教育平台,由麻省理工大学。

    sakai webservices 使用方式

    sakai是广泛应用于高校的开源课程管理系统,具有良好的架构设计,具有很好的解耦行、扩展性和稳定性。目前sakai的二次开发广泛流行于企业、高校和个人,希望有兴趣我们可以共同交流,欢迎交流!

    教学与教务管理系统2 0教学sakai系统用户使用手册(转自北邮)

    教学与教务管理系统2 0教学sakai系统用户使用手册(转自北邮)。

    sakai汉化工具jrceditor

    NULL 博文链接:https://liuyf.iteye.com/blog/723460

    Sakai11远程教育版安装指南

    系统运行软件环境 服务器端: 操作系统:linux 或 windows 数据库:mysql 5.5或更高版本 编译运行环境:Java 1.8 客户端: Windows7、Windows8,IE7以上版本、chrome、firefox浏览器 安装步骤(以linux为例)

    sakai permission权限设计分析文档

    sakai是广泛应用于高校的开源课程管理系统,具有良好的架构设计,具有很好的解耦行、扩展性和稳定性。目前sakai的二次开发广泛流行于企业、高校和个人,希望有兴趣我们可以共同交流,欢迎交流!

Global site tag (gtag.js) - Google Analytics