Lemon OA第2篇:功能解析方法
Lemon OA,整个系统功能也算是比较丰富,OA的很多功能都能看见影子,虽然做得不是很强大
接触Lemon OA,起源于Activiti的学习热情,既然这样,研究Lemon OA的目标有3:
1、Lemon OA集成Activiti的方法;
2、Activiti整合具体业务开发的方法;
3、结合Lemon OA功能,熟悉Activiti的数据结构和核心API
当然了,作为一个Lemon OA圈子外面的开发攻城师,仅仅了解功能怎么使用是不够的,必须要深入到底层的数据结构和核心代码。
如何快速解析系统功能学到真经呢?下面简单说下我自己的方法~
首先,还是回到Lemon OA的官方网站
网站首页下方,有两个关键的栏目“管理员手册”和“开发者手册“,这两块内容作为工具书,常翻有益
另外,官网和Github都没有说明QQ群,如今QQ当道的年代,没有QQ群应该是不可能的,毕竟即时通讯还是特别方便,也许是我没有找到,索性直接搜索
第一次搜索关键字 Lemon OA没搜到,换了个Mossle,还是搜到了
由于后面很多功能解析都要结合具体数据进行说明,先介绍下怎么查看Lemon OA的数据吧
第1篇:简单介绍已经知道Lemon OA默认使用HSQLDB数据库,是嵌入式的数据库不需要单独安装
lemon-1.4.0\webapps\ROOT\WEB-INF\lib\hsqldb-2.3.2.jar
执行HSQLDB的jar文件,就可以打开数据库管理工具
lemon-1.4.0\webapps\ROOT\WEB-INF\classes\application.properties文件中配置了数据库的连接信息
如果端口有冲突,数据库不能正常启动,系统应该是不能正常使用的
输入数据库的URL,登录HSQLDB,习惯性的首先找到用户信息表,查看下数据
测试账号都在表里,密码经过加密
在第1篇:简单介绍最后,发现一个小小的bug,使用用户名1密码1也可以登录系统,并且显示lingo用户的信息,IE8、Chrome、Firefox都有此问题
经过数据库确认,的确没有用户1的账号信息,看来Lemon OA的登录功能有漏洞,该问题已经反馈https://github.com/xuhuisheng/lemon/issues/107
接下来,就要开始研究Lemon OA的具体功能了,下一篇再见!
版权声明:本文为博主原创文章,未经博主允许不得转载。
Lemon OA第2篇:功能解析方法的更多相关文章
- Lemon OA第4篇:常用功能
OA,Office Automation的简写,中文意思办公自动化,不同的人有不同的见解,可以简单的理解为网络化办公,高效.协同是其显著的特点,如今正在朝着智能的方向发展 平时不擅长文字,写出来几句话 ...
- Lemon OA第3篇:核心功能
对Lemon OA系统的核心功能进行梳理,分别介绍说明如下文. Portal页面 还是从用户主页开始说起: OA核心的功能就是流程,启动流程,办理流程,查看历史,3个常用功能都罗列在用户主页上,方便用 ...
- Lemon OA第1篇:简单介绍
官方网站:http://www.mossle.com/ 声明:我不是Lemon OA作者,只是分享好的资源.以下内容均代表个人见解~ 从官网说起 知道Lemon OA,也是最近研究Activiti,看 ...
- 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...
- 微信小程序0.11.122100版本新功能解析
微信小程序0.11.122100版本新功能解析 新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方 ...
- [转]深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
以下内容转自: 作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-l ...
- lemon OA 下阶段工作安排
lemon OA 下阶段工作安排 经验总结 lemon OA系统作为一个中型的java web系统,在架构上还是有着很好地可学习的地方.但是由于经验不足,过程比较迂回.如果真的有经验的话,应该可以做到 ...
- 第三篇 功能实现(3) (Android学习笔记)
第三篇 功能实现(3) ●发一个广播和启动一个隐式的Intent非常像,那么它们之间有什么区别呢? Implicit Intents (sent via startActivity( )) and B ...
- 第三篇 功能实现(2) (Android学习笔记)
第三篇 功能实现(2) ●Activity的四种启动模式 Activity的启动模式有四种,分别是standard.singleTop.singleTask和singleInstance. 在Andr ...
随机推荐
- 一、图解Java中String不可变性
这里有一堆例子来说明Java的String的不可变性. 1.声明一个String String s = "abcd"; s 变量保存string对象的引用,下面的箭头解释成保存了哪 ...
- 【转】Android的root原理
转自知乎:https://www.zhihu.com/question/21074979 @Kevin @张炬 作者:Kevin链接:https://www.zhihu.com/question/21 ...
- WPF Image控件 Source: Byte[] ,BitmapImage 相互转换
文件转为byte[] FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read); byte[] desBytes ...
- 查询Oracle性能差的、正在执行或执行过的SQL语句
查找前十条性能差的sql. SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS, COMMAND_TYPE,DISK_READS,sql_te ...
- ASP.NET学习笔记(4)——上传图片
说明(2017-10-8 23:03:43): 1. 后面的内容都是一些杂七杂八的,零零碎碎的,之前都直接略过了,不过其实还是挺重要的,这次重新学习要认认真真敲一遍. 2. 明天中午9号要回北京了,今 ...
- Android基础——Fragment控制切换多个页面
今天接着上一篇文章,讲解一下Fragment的控制,主要是切换View和页面替换等操作.还有就是如何获取Fragment的管理对象,以及与Activity的通信方式. (PS:新建的QQ群,有兴趣可以 ...
- 为什么说Thunderbird是最好的桌面RSS阅读器
也许现在再讨论RSS阅读器似乎已经过时了,毕竟随着社交网络服务的发展,通过一个带有大众评分能力的社交网络(比如reddit),相比RSS的固定订阅而言,也许你能更快地在你所关心的话题上更快地获得新的资 ...
- JedisConnectionPool scala
/** * Created by lq on 2017/8/29. */ object JedisConnectionPool { val config = new JedisPoolConfig() ...
- CentOS7安装MySQL5.7常见问题
下载与安装 亲测有效: https://www.linuxidc.com/Linux/2016-09/135288.htm 设置MySQL服务开机自启动 注意,CentOS6和7有一点不同:CentO ...
- [cpu]cpu unused pin应该怎样从硬件和软件上处理
Micro Community 1. This is a common question with lots of replies and lots of opinions. Preferred op ...