My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
GetInvolved  
Get Involved in Gaixie Micrite.
Phase-Implementation
Updated Dec 1, 2009 by bitorb@gmail.com

What we are looking for?

  • Source code and fixes contributions
  • Documentation assistance
  • Product and feature suggestions

Where do I start?


我们下面的几项工作急需人手

  • 代码编写与bug fix
  • 文档编写
  • 项目功能建议

如何开始?

Comment by littl...@gmail.com, Dec 20, 2009

不好意思,我把 micrite部署后,可以用admin登录,但是点击某一菜单后 会报错 ,unbundled exception。请问如何解决?

Comment by project member xingzhao...@gmail.com, Dec 20, 2009

从现象上看,是后台server端程序报的错,你点击的是哪个菜单?你也可以在日志文件里查一下,log4j的配置文件路径是/micrite/modules/micrite-common/src/main/resources/log4j.properties。另外,欢迎进入我们的邮件列表进行问题的发布和讨论。

Comment by lschi...@gmail.com, Jan 27, 2010

To littlezh:

applicationContext.xml 和 hibernate.properties 的数据库连接是否正确?

Comment by littl...@gmail.com, Mar 25, 2010

后来发现问题所在啦。。哎。。这么好个框架,差点被我放过啦。。。

Comment by nbby1...@gmail.com, Apr 8, 2010

恩,今天无意中看到了这个项目。本人多年J2EE开发经验,愿意贡献一份力量,可以联系我

Comment by cry30....@gmail.com, Jul 22, 2010

I'm sorry to sound ignorant but how do I easily translate to English?

Comment by project member hhww0...@gmail.com, Sep 18, 2010

我想问下,也能够jQuery-easyui 能否实现那个界面,我想用jquery-easyui 代替ExtJs?。由于我没有从事过前端及ui的工作。所以有些搞不明白,能否给予指教。谢谢!或者直接开发一个jQery-easyui的。

Comment by project member bitorb@gmail.com, Sep 18, 2010

to hhww0101: 可以的, 你甚至只需要替换 js代码,大家都用json格式来传输。当然你要对前段ui的开发比较熟悉。

Comment by project member hhww0...@gmail.com, Oct 24, 2010

大致了解了下micrite,给几点建议, 第一、对于权限控制能否增加一级,介于Admin与User之间的,比如是Customer客户,这样Admin可以给客户分配,Customer又可以给自己的用户分配! 有时候这种权限分配很实际应用中还是很有必要的,比如我的客户如果想自己的客户再分配,那么目前这个权限系统可能就很难完成!

第二、希望能不能对菜单进行设计,如果用于中文菜单的话,可能会涉及到乱码等问题,不建议直接用菜单名来做处理,乱码问题可能是web开发最常见不过的问题了。

第三、完美的Exception,至少目前micrite的Exception做的不够到位,很多只有成功提示,没有失败的信息,大多数失败了就是unbundled exception。 这也许就是上面的朋友问到的。

大致看了下,很多界面进去默认是不查询显示列表的,必须点击查询才可以的,如果你点击右下角的那个条条,就会出现unbundled exception,出现空指针异常,是由于搜索框那个参数为null!

Comment by project member hhww0...@gmail.com, Oct 24, 2010

另外你们这个系统问题感觉挺多的,不熟悉的如果用其他数据库的话可能要折腾很久。默认是嵌入式数据库,改成mysql了就报错:

org.springframework.beans.factory.BeanCreationException?: Error creating bean with name 'CRMDataPrepare': Autowiring of fields failed; nested exception is org.springframework.beans.factory.BeanCreationException?: Could not autowire field: private org.gaixie.micrite.crm.service.ICRMDataPrepareService org.gaixie.micrite.crm.data.CRMDataPrepare.crmDataPrepareService; nested exception is org.springframework.beans.factory.BeanCreationException?: Error creating bean with name 'crmDataPrepareService' defined in file [D:\apache-tomcat-6.0.29\webapps\micrite\WEB-INF\classes\applicationContext-crm-bean.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException?: Error creating bean with name 'methodSecurityInterceptor' defined in file [D:\apache-tomcat-6.0.29\webapps\micrite\WEB-INF\classes\applicationContext-security.xml]: Invocation of init method failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException?: could not execute query; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor?.postProcessAfterInstantiation(AutowiredAnnotationBeanPostProcessor?.java:243)

Comment by project member hhww0...@gmail.com, Oct 24, 2010

主要是由于hibernate中选择的hibernate.dialect不正确导致

Comment by project member hhww0...@gmail.com, Oct 24, 2010

上面我提到的Exception问题,在0.12版本中得到了完善。只是还没有发布哈!

Comment by project member bitorb@gmail.com, Oct 24, 2010

Exception 有自己的一套策略,之前并没有明确,导致输出比较乱,完整的策略正在文档中。

Comment by project member hhww0...@gmail.com, Oct 24, 2010

邮件列表进不去哈。可能是被封了。

上面提到的权限能否支持到管理员->客户->用户 其中客户也具有分配和管理权限,但客户的分配和管理权限之限于下级的用户。对于同级和管理员是无法操作的, 目前我最关系这一块的问题了!也即是客户登录是无法查看别的客户的任何信息的,这可能需要涉及到数据的行级权限问题,Spring-security应该可以做到这一点!

Comment by project member bitorb@gmail.com, Oct 24, 2010

你说的属于继承型角色的授权,目前并不支持,spring-security只是通过配置文件做了简单的实现(如果要用在大项目,肯定要改)。我在新的项目 Jibu 中有完整的实现,如果你有兴趣,可以看看,文档我正在写。

Comment by project member bitorb@gmail.com, Oct 24, 2010

抱歉,误解你的意思了,你说的数据的行级权限在 micrite 中已经实现,也就是 ACL, 你可以参考相关的文档,和我们以前在邮件列表中的讨论。

Comment by project member hhww0...@gmail.com, Oct 25, 2010

如果新增资源后,没有分配给任何角色,重启服务就无法启动了!这个问题是否要解决一下!可能是与初始化数据有关!

Comment by project member bitorb@gmail.com, Oct 25, 2010

这个问题我知道,和 spring 的机制有关,不过可以改。 在改好以前,当你增加资源后,最好立即给它分配一个角色。

Comment by project member hhww0...@gmail.com, Oct 28, 2010

能否增加日志记录到数据库模块?如果自行加入,采用什么方法比较好?比如Struts2的filter,Spring的AOP等。业务需求:有详细记录用户的每一步操作,比如登录 注销、对数据的增、删、改、查、等操作的详细记录,不需要对某些静态操作记录。

Comment by project member hhww0...@gmail.com, Oct 29, 2010

svn上checkout下来的代码看到,Customer与Usuer是一对一的吗?Cusomer不一定会指派给一个用户吧?也许是多个!

Comment by project member bitorb@gmail.com, Oct 30, 2010

aop 可以用来做日志纪录,我从前在一个项目里面尝试过,对许多重要的操作都详细记录,但是总感觉这种方式有问题,首先这个表增长很快,尤其是用户很多的时候,对性能的影响也不小,也可能使我实现的不好。你可以试试,有好办法记得也给俺说说。

Comment by project member bitorb@gmail.com, Oct 30, 2010

customer 和 user 是多对一的关系。

@ManyToOne?(targetEntity = User.class) @JoinColumn?(name = "mapped_user_id") private User mappedUser;

Comment by project member hhww0...@gmail.com, Oct 31, 2010

现在有个问题,比如我新增了一些表,但是这些表和User表有关联,我是想每个用户只能查询到和自己相关的数据,这里就会用到userId来查询,好像默认会执行User相关的roles和settings 等查询,但是这些查询是会报lazy的异常,因为这个时候session已经关闭了!

Comment by project member hhww0...@gmail.com, Oct 31, 2010

另外上述提到的日志问题,其实那些日志是有期限的,比如只保留多久的记录,所以可以不用担心这种问题!

Comment by project member hhww0...@gmail.com, Oct 31, 2010

这就是后台抛出的异常,我只想想根据用户Id去查询和自己相关的数据!不需要查询与User相关的roles、settings、authoritys等

Comment by project member bitorb@gmail.com, Oct 31, 2010

你看看下面这段代码,是否和你目前的问题有关

        <action name="loadCurrentUser" class="userAction" method="loadCurrentUser">
            <result name="success" type="json">
                <param name="target">resultMap</param>
                <param name="excludes">roles,authorities,accountNonExpired,accountNonLocked,
                credentialsNonExpired,cryptpassword,password,plainpassword</param>
            </result>
        </action>

http://code.google.com/p/micrite/source/browse/trunk/modules/micrite-security/src/main/resources/struts_xml/security.xml

Comment by project member bitorb@gmail.com, Oct 31, 2010

这种方法可以 exclude 不必要的数据

Comment by project member hhww0...@gmail.com, Oct 31, 2010

Tks,我应该把settings也excludes就可以了!

Comment by project member hhww0...@gmail.com, Oct 31, 2010

另外在jibu中测试重置密码发送邮件也没收到!是不是还不能发啊?

Comment by project member bitorb@gmail.com, Oct 31, 2010

能发,但是需要你有个简单的 mailserver ,我在写相关的文档。

Comment by project member bitorb@gmail.com, Oct 31, 2010

那就不是 type="json" ,只是一个串,就好像一个普通的ajax 请求, 你通过Servlet直接返回一个json格式的字符串一样。

Comment by project member hhww0...@gmail.com, Oct 31, 2010

这个问题我解决了,我看了下你那个JSONResult源码,我用这个重新配置一个json2, <result-type name="json2" class="org.gaixie.micrite.struts2.json.JSONResult">

<param name="prettyPrint">false</param>
</result-type> 只是在JSONResult中对prettyPring判断false是重新设置了一下contentType out.setContentType("text/html"); 这样就可以了 在客户端接收的时候再转一下,这样既不影响原有的功能,还可以扩展新的类型! success:function(data){
var res = eval("("+data+")"); $.messager.alert('Info', res.message, 'info');
}

Comment by project member hhww0...@gmail.com, Nov 1, 2010

我在jibu上没有看到用户绑定客户的操作啊,我是直接下的war包!

Comment by project member bitorb@gmail.com, Nov 1, 2010

jibu里是没有,还没写呢,呵呵。

Comment by project member hhww0...@gmail.com, Nov 1, 2010

额,这进度.....有时间我也参与你们得了!看着我都着急!不过现在我不是做web的哈!有没有私单一起接啊?手机软件的,Web的都行!最新生活拮据了......

Comment by project member bitorb@gmail.com, Nov 1, 2010

欢迎,jibu 目前就我一个人在写,又写代码又写文档,急不得阿。

Comment by project member hhww0...@gmail.com, Nov 2, 2010

好像micrite还没搞完整哈,又换成jibu了,micrite是不是中止开发了?

Comment by project member bitorb@gmail.com, Nov 2, 2010

暂时终止了,你要有兴趣,可以试着写一个版本。

Comment by project member hhww0...@gmail.com, Nov 2, 2010

倒是想,怕是没这个能力啊!无法担次重任!

顺便问个问题 我做了选择语言的,中英文切换的,可是进入里面的页面的时候就显示不正常了!我的菜单什么都是中文,可是到列表的标题什么都是英文的!

Comment by project member bitorb@gmail.com, Nov 2, 2010

jibu 还是 micrite ? 咱们可以邮件联系,bitorb 的 gmail 邮箱

Comment by project member hhww0...@gmail.com, Nov 2, 2010

你邮件是多少?

Comment by project member bitorb@gmail.com, Nov 2, 2010

我给你发邮件了!


Sign in to add a comment
Powered by Google Project Hosting