openfire整合LDAP (Active Directory)

这次成功的将openfire整合windows的Active Directory:

Active Directory服务器在windows 2000 server,windows 2003上才有,可安装虚拟机,见http://kazge.com/archives/856.html.

我在windows2000 server上 安装Active Directory服务: (http://ask.zol.com.cn/q/22451.html) 。

按照Active Directoy服务设置向导来,默认的就可以,关于DNS服务器的设置我略过了,没有管它,这样可能会有问题,但是对于openfire整合AD的测试是没有太大影响的。

安装好AD server后,在Users下建立测试用户test1,设置密码。

然后将openfire的openfire.xml中的setup设置为false,这样再启动 openfire,进入控制台会开始安装步骤。

具体怎么安装依据其文档中专门的documentation/docs/ldap-guide.html来即可。

 

比较迷惑可能会是Base DN 和 Administrator DN.

因为它的文档写错了,注意Base DN中示例 cn=Users;dc=activedirectory,dc=jivesoftware,dc=com

注意橙色的分号应该是逗号cn=Users,dc=activedirectory,dc=jivesoftware,dc=com

在配置管理员这一部中需要设置AD 中存在的账户为管理员。

这样一步步下来就配置好了,openfire会将配置记录在ofproperty表中。

注意,在安装过程中如果重启了openfire,必须要重新登陆控制台,否则会安装出错。

 

稍微看了一下源码,似乎只是用AD来进行登录验证和用户系统。

Continue reading openfire整合LDAP (Active Directory)

vmware虚拟机使用笔记

几年前用vmware玩Ubuntu,没做笔记,现在要用win2000server系统,于是想安个虚拟机,结果连怎么装系统都忘了……(话说现在都ghost,几年没装系统了)。

开始是想自己安装系统,先要用Nero刻盘,注意Nero刻盘要求选择刻录可引导光盘,否则启动时会加载不了。

然后安装,对于smartdrv这个东西我还是深有映像的,结果弄半天不耐烦了,索性决定下个win2000server的vmware的虚拟镜像:

http://www.verycd.com/topics/191003/

http://www.verycd.com/topics/191003/

vmdk格式是vmware的虚拟硬盘格式,不是可直接加载的vmk,所以先要建一个虚拟机,然后将硬盘指向下载的vmdk文件就可以,启动后一切顺利,可以登录winserver2000了。

网络连接我用的是桥接方式,不用担心ip地址每次会换,一般第一次启动虚拟机后,ip地址就不会换。

Continue reading vmware虚拟机使用笔记

Nuance Say Anything SLM

今天稍微瞄了一下slm估计以后都不会用这个摸不着头脑的东西,这里留个纪念。

voxeo是支持SLM语法的http://www.vxml.org/frame.jsp?page=grxmlbasics.htm

里面有个pdf http://community.voxeo.com/vxml/docs/nuance-8.5-grammar.pdf

pdf这里面讲了怎样编译SLM,貌似很繁琐哦,先要tranning,再要写gsl,再要编译……,至少要上千个case才能保证质量。

本来想试一下来着的,找到这个链接http://www.nuance.com/speech/training/catalogdetails.asp?CatalogcourseID=20

只看到醒目的大字1350 USD ,其他什么信息都没有,看来没法了。

貌似nuance的信息都要花钱,不花钱连个文档都没有,更不说开发测试了。

Continue reading Nuance Say Anything SLM

php mail 在windows下的配置

php 的mail函数可以发邮件,它的配置是在php.ini中设置的,一般linux上很方便,众多VPS,host一定会为你设置好。

但是在windows中开发怎么配置呢?

可使用sendmail来通过远程smtp服务器来发邮件。(我这里只讲发邮件,对于一般开发是足够了)

下载sendmail http://www.glob.com.au/sendmail/sendmail.zip

解压到目录例如c:/sendmail

编辑sendmail.ini

smtp_server=smtp服务器地址
auth_username=邮箱登录名
auth_password=邮箱密码
force_sender=发件人地址全写 这个如果不配置可能导致无法发送,但是我实际测试可以不写。

反注释debug_logfile=debug.log这一句以便调试

 

编辑php.ini

sendmail_from = [email protected] 这个我没写也可以发邮件
sendmail_path = “c:/sendmail/sendmail.exe -t –i”

 

注意force_sender和sendmail_from这两个配置都是为了自动加上From头,但是我的环境即使都设置了,还是没有在邮件头中加上From,导致550 Administrative prohibition错误。

最后只好在mail函数调用时在additional_headers这个参数中包含From,例如

 
<?php
mail('[email protected]', "Test Email", 'good email','From: [email protected]' )
?>

这样就可以了。

注意From由于安全的原因,可以使其他域名的随意账户,即是此账户不存在,但是如果是配置的邮件服务器的域名,则必须存在。

例如上例中我使用本域名[email protected] 账户作为邮件服务器,那么'From: [email protected]' 这样发送必须有'[email protected]'  这个账户,否则发不出去。

然而如果使用From: [email protected] 作为发件人,那是绝对可以发出去的。当然这可归于垃圾邮件。

 

今天碰到一个问题是,由于我的域名改了,本机测试的邮件发不出去了,打开sendmail的debug.log一看,似乎是验证成功的,但是接着一大堆乱码。我尝试将smtp_ssl设置为none则解决了此问题。

 

参见:

http://www.devcha.com/2010/04/how-to-send-emails-from-php-on-windows.html

Continue reading php mail 在windows下的配置

移动web框架比较

目前初步比较一下,我对移动开发还是羡鱼阶段。

这里初步介绍了Titanium及PhoneGap与Sencha Touch及jQuery Mobile的关系。http://mobile.51cto.com/hot-274040.htm

Sencha Touch及jQuery Mobile都支持PhoneGap包装。

从这里看主要存在性能问题, 这也是我最关心的问题。 http://iunbug.appspot.com/article.html?objNews.id=277001

这里的讨论值得看看 http://www.v2ex.com/t/30046

主要认为:

jQuery Mobile不上不下(找别的轻量级的代替,甚至可以不用它自己写),性能比Sencha Touch好不了多少,bug多,对android支持不好,更不说别的,支持没有Sencha Touch强。

Sencha Touch(iphone,android)支持较好对于正常网站式的应用又不太适合(想想extjs和jquery的区别就知道了。)

后来又出来个http://jqmobi.com/  官方介绍体积小,性能好。

http://tech.it168.com/a2012/0202/1305/000001305922.shtml

不过它太新鲜,目前还很少有人用,经验则无从说起了。

 

 

最近开始了解Android,这一路下来真是一肚子不爽,真怨恨自己怎么不是高富帅,不然早就买个mac本搞ios了,这里再补充一下:

 

这几篇文章值得看看

http://mobile.51cto.com/hot-273779.htm

http://stackoverflow.com/questions/1482586/comparison-between-corona-phonegap-titanium

http://nocreativity.com/blog/native-development-titanium-corona-unity-phonegap-and-more

上面这篇算是稍微给了个意见,相对于phonegap更愿意使用titanium,何况titanium是开源免费的

 

http://mobile.51cto.com/web-338270.htm

 

我也不确定自己想用什么,开发个小程序真不想写一堆原生代码,又是java又是objectc,但是第三方框架最担心的是闪退和性能,这要实际试试才知道,开发游戏我肯定是使用原生程序。我可能会选择titanium吧。

Continue reading 移动web框架比较

jna 使用笔记

最近用到jna想实现获得当前用户选中文本的功能,结果发现这是个不好做的功能,后来想通过发送WM_COPY来通过粘贴板获得也是不行。只好放弃。

jna我没仔细看,只是初略了解了下。

 

扩展:

user32这样的类,没有完全暴露user32的接口,因此,如果有你想用的api但是jna又没封装的话,只要自己定义接口就行了,例如

>public interface MyUser32 extends User32 { MyUser32 INSTANCE = (MyUser32) Native.loadLibrary("user32", MyUser32.class);

Continue reading jna 使用笔记

myeclipse6 配置tomcat7 websocket相关

我的机器很慢……

所以我只能用myeclipse6,但是它最高只有对tomcat6的支持(那时tomcat7还没出来)。

网上搜了一下,可以直接将tomcat7的地址配置到myeclipse tomcat6中的home directory。然后还要在Tomcat6/launch/create launch config/class path中将tomcat7 bin目录下面的jar包加上。

这样就可以了。

我这主要使用tomcat7的websocket功能,发现7.0.27和7.0.29的websocket api 有不同,所以对于使用maven的情况,要保证引用的websocket api(catalina.jar,tomcat-coyoto.jar)版本与目标tomcat一致。

目前tomcat的maven 引用一下子就把很多包下来了,如果这些包直接发布到目标tomcat中,又会造成冲突报addFilter错误。 maven有provide的引用scope,但是对myeclipse这样直接发布到tomcat又不行,我是将包发布后再删除(catalina.jar,tomcat-coyoto.jar)。

使用maven tomcat 插件也可以,但是我总觉得与实际环境越接近越好。

总之,我还是很讨厌maven……

另外tomcat7目前对safari的websocket支持不好。参见http://kazge.com/archives/792.html

Continue reading myeclipse6 配置tomcat7 websocket相关

accordion, spry 与 jquery ui

上篇比较了spry与idtabs,这次试试spry与jquery ui的互转,结果是perfect!

参照css彻底研究的12.5 伸缩面板,将其例子拿来·

然后参照jquery ui 文档http://docs.jquery.com/UI/Accordion

发现居然不需要改任何html结构,

只要这样:

$(function() {
        var ops = {
            header:'div.AccordionPanelTab', //指定header选择器
            event:'mouseover' //指定事件
        };
        $( "#Accordion1" ).accordion(ops);
    });

因为spry和jquery ui accordion都是要求折叠项标题和内容紧邻,所以他们没有结构上的要求区别。

但是有一点,如果使用了jquery-ui的样式,则会覆盖设计好的样式,所以前提是不引用jquery-ui的样式,这样比较的话还是spry方便些了。

so, it is perfect!

Continue reading accordion, spry 与 jquery ui

tab 控件 spry和idtabs 比较

今天分别使用了spryidTabs .感觉都还可以,如果配合dreamweaver cs3,那spry更方便快速。

spry使用参见css彻底研究12.3。 spry tab本身不大,css也不大。

示例:

var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");

这就行了,TabbedPanels1是个容器div,包含了tab菜单和tab内容。它是通过容器div里面第一个子节点为tab菜单,第二个子节点为tab内容。菜单与内容必须一一对应。

若要使鼠标hover时就显示tab需要在tab菜单元素上添加onmouseover="TabbedPanels1.showPanel(1)",这样写不是很好。

 

再来看idTabs,

它的布局和spry类似,我直接使用上面spry的结构和css,

使用示例:

$(function(){
				var ops = {
					event:'!mouseover',//when mouseover will go to that tab, default is click
					start:1, //start tab is 2nd(0 start index)
					click: function(id,list,set){
						//id  is the target id like #tab1
						//list is the target tab contents
						//set is the tab menu selector
						$('li',set).removeClass('TabbedPanelsTabSelected');
						$(this).parent().addClass('TabbedPanelsTabSelected');				
						return true;
					}
				};
				var s = $("#TabbedPanels1 ul");
				console.log(s);
				s.idTabs(ops);
			});	

此例中,选择#TabbedPanels1 ul中的a标记(这是idTabs要求的),它只支持a标记作为菜单项,并使用href属性作为跳转目标。

我直接使用spry生成的css, 出现问题,由于idTabs是将selected样式添加到a标签上,而一般a上面的li元素也需要改变选择样式。故代码中使用javascript来处理:

$('li',set).removeClass('TabbedPanelsTabSelected'); //将其他项设置为未选中

$(this).parent().addClass('TabbedPanelsTabSelected'); //将a父元素li的样式设置为'TabbedPanelsTabSelected'

这样就行了。

插件使用很简单,主要是漂亮的样式需要设计。

这是效果图:

Snap1

另外我尝试了jquery-ui的tabs,它需要引用其样式,故不很理想。

Continue reading tab 控件 spry和idtabs 比较

webservice 使用

上次使用 webservice 大概是七年前的事了,那时候还是用c#.net,微软正鼓吹xml和webservice起劲的时候,好像webservice能够真来个软件业的革命。

这期间多年的时间,对于webservice我是能躲则躲啊,因为觉得它雷声大雨点小,印象不好。现在偶尔要捡起来用一下。

还得看看资料先, 这篇文章写的比较适合入门

http://blog.csdn.net/qjyong/article/details/2148558

好,重要的一句是 wsimport -d ./bin -s ./src -p org.jsoso.jws.client.ref http://localhost:8080/hello?wsdl

对于已存在的webservice,生成客户端代理(这是我对.net的印象),然后就可以调用了。

找到继承service得类,可查看他的方法。

至于如何生成webservice,暂未有需求,以后用的时候再补充。

Continue reading webservice 使用

Pagination


Total views.

© 2013 - 2019. All rights reserved.

Powered by Hydejack v6.6.1