admin管理员组

文章数量:1543573

目录

一、開發環境設置.... 3

1.1 JDK 安裝.... 3

1.2 MySql Server安裝.... 4

1.3 OpenFire安裝.... 6

1.4 Openfire Admin 功能.... 14

1.4.1 用戶摘要:.... 16

1.4.2 組摘要:.... 16

1.4.3 用戶組管理:.... 17

1.4.4 發送管理消息:.... 17

二、TVBox Client APK開發.... 18

2.1 自啟動Webview播放視頻.... 18

2.1.1自啟動任務:.... 18

2.1.2WebView 播放視頻.... 19

2.2 登錄Openfire並抓取群組數據.... 20

2.2.1Openfire 登錄設定.... 20

2.2.2Openfire登錄及數據抓取.... 22

2.3 Openfire自動註冊登錄並加入群組.... 25

2.3.1 Openfire自動註冊登錄.... 26

2.3.2加入群組並建立消息監聽.... 27

三、FHWTVBox Manager 開發.... 28

3.1 界面及功能.... 28

3.1.1群組管理.... 29

3.1.2機頂盒管理.... 30

3.2 開發涉及技術點.... 30

3.2.1Java Swing組件.... 30

3.2.2生成可執行jar. 30

3.2.3 HttpClient獲取及操作openfire 數據.... 31

FHWTVBox ClientFHWTVBoxManager整合應用.... 34

4.1FHWTVBox Client端安裝設定.... 34

4.2FHWTVBoxManager 管理操作.... 37

androidFHWTVBox Admin. 42

FHWTVBox Openfire Plugin JSP. 47

6.1 TVBox JSP Plugin插件及部署.... 47

6.2TVBox Plugin登錄及使用.... 48

6.2.1 發送消息.... 49

6.2.2查看回复.... 50

6.2.3 機頂盒管理.... 52

6.3TVBox Plugin開發.... 53

6.3.1Openfire源碼部署及設定.... 53

6.3.2Openfire源碼編譯.... 56

6.3.3Openfire plugin 代碼結構.... 57

6.3.4Openfire plugin Class開發.... 61

6.3.5Openfire plugin JSP開發.... 64

FHW TVBox按群組管理     69

正文

一、开发环境设置

1.1 JDK 安装

 

         运行jdk-6u27-windows-i586.exe(或者其他更高版本的JDK安装程序,64位windows系统,请安装64位JDK),设定好环境变量,按照提示一步一步安装完毕。

1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:/java/jdk1.6.0_27;

2.安装完成后,右击“我的计算机”,点击“属性”;

3.选择“高级”选项卡,点击“环境变量”;

4.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”;

5.JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:/java/ jdk1.6.0_27,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依此变量);

Path使得系统可以在任何路径下识别java命令,向已有的PATH变量中继续添加如下:  %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin, 记得要与前一个用; 隔开;

    CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为:    .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar (注意要加 . 表示当前路径)

6.“开始”->;“运行”,键入“cmd”;

7.键入命令“java -version”,“java”,“javac”几个命令,出现以下画面,说明环境变量配置成功;若不成功,请重复前面的步骤仔细检查。

8. 键入命令 java -Xms4095M -Xmx4096M –version 如果报错, 说明为32位JDK因为其理论内存最大为4G;如果不报错,说明为64位JDK。

1.2 MySql Server安装

         先下载MySql Server,目前我们安装的是mysql-5.1.31-win32.msi版本(64位windows系统,请安装mysql-essential-5.1.59-winx64.msi)的,按照提示一步一步安装完毕即可。记住设定的root用户的密码,下面会用到。

         因MySql Server的windows版与linux版对大小写的敏感度不一致,因此需要设定下:

         a. Windows下在MySql Server安装目录下,找到my.ini档,在最后面加上:lower_case_table_names=0, (0为大小写敏感,1为大小写不敏感), 然后重启MySql Server;

         b. Linux下,在/etc/myf中的[mysqld]后添加lower_case_table_names=0 (0为大小写敏感,1为大小写不敏感),重启MySql Server即可。

mySql安装完毕,需打开MySql Query Browser(或者用其他数据库连接工具也可以),创建一个数据库给Openfire使用(通常命名为openfire):

登录后,在Resultset 1中输入create  database  openfire,执行;

或者在右边Schemata里的任一数据库上单击右键,选择create new schema:

Schema name输入openfire后点击OK:

后在右边Schema里的任一数据库上单击右键选择refresh,就会看到openfire数据库:

1.3 OpenFire安装

运行下载的openfire安装程序(openfire_3_7_1.exe) ,按照提示,选择语言(中文简体或英文均可)及安装路径,完成安装。

 

待安装程序运行完后,会运行一个OpenFire的程序(如下图),当出现如图所示的接口时,打开浏览器,访问http://127.0.0.1:9090或单击Launch Admin按钮,进行具体配置:

如果在此界面提示错误:log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: C:\Program Files (x86)\Openfire\bin\..\logs\error.log (Access is denied)

请在安装完成后,设定以管理员权限运行openfire:

登陆或Launch Admin后,整个界面图如下:

左边可以看到相应的安装进度:

首先选择语言,按个人喜好来;接下来是服务器设置,如果没有特殊设定,可以使用default值;

数据库设置:可按服务器或项目配置设置相应的数据库,在此我们选择标准数据库以连接到目前我们项目同源的MySql数据库中;

 在数据库驱动选项选择MySql,然后修改数据库URL:jdbc:mysql://[host-name]:3306/[database-name] 为
jdbc:mysql://127.0.0.1:3306/openfire

数据库IP请填选正确的MySQL程序安装的服务器IP,openfire为数据库名(请提前在数据库中新建好openfire的DB);

用户名与密码请填写正确的MySQL用户名与密码;剩下的如果没有特殊要求可用默认值;然后在特性设置中,选用初始设置即可;

在设置管理员账户中,请填写好相应的密码并牢记,该密码即为初始admin的密码;

设置完成后,点继续会提示安装完成.

选择登陆到管理控制台,账号为admin,密码即为上面设置的管理员密码。

登录控制台,上传并安装在openfire官方网站下载的Presence Service插件presence.jar:

切换到服务器设置,对presenceservice插件进行设置,确保可允许任何人访问(如果是跨域浏览的话):记得要点击save button!

然后重启openfire。每次安装一个插件,最好都重启以使插件及其设置生效。

在重启之前,可以为openfire 设定环境变量 openfireHome 为openfire的安装目录:

同样安装下载到的broadcast插件:

可使openfire 具备对group或对所有用户广播message的功能。

安装broadcast插件之后,需在openfire 管理控制台的 服务器->服务器管理器->系统属性总增加以下属性设置(红色为必须设定,其他可选):

      Property Key              属性值

plugin.broadcast.serviceName   broadcast

plugin.broadcast.disableGroupPermissions  true

plugin.broadcast.groupMembersAllowed  true.

plugin.broadcast.allowedUsers  the comma-delimitted list of users allowed to broadcast messages to all connected users at once. When this property isn't set, anyone is allowed to broadcast messages to all users. Users should be specified by their bare JID (e.g. john@myserver)

plugin.broadcast.all2offline  true.

plugin.broadcast.messagePrefix  (broadcast).

拖动右边滚动条到最下面,依次添加以上属性:

点击保存,确保属性保存成功:

也可以到网上搜索下载或自行开发更多的插件,对openfire的功能进行扩展。

1.4 Openfire Admin 功能

Openfire Server的admin功能也是通过插件方式提供的,可以从Openfire启动后在任务栏的图标

点击launchAdmin

或者直接输入openfire的安装网址和设定的访问端口(缺省为9090)来登录:

例如:http//10.139.8.167:9090

 输入用户名和密码,即可登录到Openfire的管理控制台:

可以在这里完成对Openfire 服务器的各项设定,对Openfire用户/组及客户端会话的管理,也可进行分组聊天,发送广播及进行插件的安装。

FHWTVBox管理主要用到的用户群组管理功能有:

1.4.1 用户摘要:

1.4.2 组摘要:

 

1.4.3 用户组管理:

1.4.4 发送管理消息:

上述四项功能,已经完全在FHWTVBox Manager中实现,具体操作见后面FHWTVBoxManager的介绍。

二、TVBox Client 端APK开发  

本项目的需求是要求在控制TVBox上的android系统启动后,自动在连接的TV上播放指定的网站视频内容。由于管理上的原因,不希望端用户改变访问的网站,所以此功能不能使用android 原生的browser来实现,必须自己开发一个开机自启动的应用,完成视频播放;然后,再开发一个服务器端的控制端,实现对TVBox Client端的播放内容的控制。在本项目中,我们使用Openfire push message的机制实现对TVBox的服务器端控制。

2.1 自启动Webview播放视频

2.1.1 自启动任务:

    在android中建立一个自启动任务,是很简单的。首先,在AndroidManifest.xml文件中添加接收boot  complete系统广播消息的权限以及声明一个receiver:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<receiver android:name=".BootReceiver"

    <intent-filter>      <!-- 系统启动完成后会调用-->     

    <action android:name="android.intent.action.BOOT_COMPLETED"></action>  

    </intent-filter> 

</receiver>

然后在工程文件中,建立那个receiver的Class文件:

这个receiver的任务很简单,就是接受到系统启动完毕的广播事件后,启动我们的应用activity。在这里就是TVActivity。

唯一值得注意的是,在android 4.0里面, 已经禁止了未经用户同意的自启动的应用。所以,一个自启动应用要能正常自启动,必须至少手工启动一次。这个TVBox应用需要设定一些数据,所以,在安装完毕之后,需要手工启动,完成设定之后才会真正成为自启动应用。

2.1.2 WebView 播放视频

利用WebView播放视频,最主要的是设定它的两个client WebViewClient:webView.setWebViewClient(new WebViewClient() {

        public boolean shouldOverrideUrlLoading(

                android.webkit.WebView view, java.lang.String url) {

            view.loadUrl(url);

 

            return true;

        }

 

        public void onPageFinished(WebView view, String url) {

            super.onPageFinished(view, url);

            // view.loadUrl("javascript: var v=document.getElementsByTagName('video')[0]; "+"v.play(); ");

        }

 

        public void onPageStarted(WebView view, String url, Bitmap favicon) {

                super.onPageStarted(view

本文标签: 管理平台笔记OpenFireTVBox