`
Jcat
  • 浏览: 49947 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

重拾Grails - 内部办公系统开发日记

阅读更多

开发环境版本号
GRAILS_HOME=/workspace/javaspace/grails-2.2.0
TOMCAT_HOME=/workspace/javaspace/apache-tomcat-7.0.34
JAVA_HOME=/workspace/javaspace/jdk1.7.0_10

开发环境重装流程
1. 安装IDEA
2. 安装JDK
3. 安装Grails,版本要和SVN上的版本一致
4. 在IDEA里创建一个空项目(相当于执行了grails create-app命令)
5. 运行grails install-templates命令(web.xml在这里)
6. 从SVN check out文件夹:
  1) 我创建的文件,如domain、controller下载下来
  2) 我修改的文件,如Datasource.groovy等,会与默认的本地版本冲突,但不会覆盖本地文件,这时需要人工diff一下,将SVN的版本覆盖本地版本。
7. 安装插件
8. 启动测试

SVN原则:只保留我编辑过的文件,自动生成的文件没被修改过的话就不上传。



------------------华丽分割线-------------------------

公司内部需要一个OA系统,考察了一圈开源CRM啥的,功能强大到繁琐,但又缺少我们需要的功能。于是,决定重操旧业,下载了IDEA、JDK7、Grails,我来自己做一个吧,就当是对老本行的缅怀。

12-12-11
大概花了一周的空余事件,一边构思MYOA(我起的系统名字,哈哈)的Module部分,一边学习Grails的基础、回顾IDEA。总的来说,Grails真的很敏捷,也较容易上手,自动生成出的代码就是学习最好的入口
12-12-12
完成google subversion的配置,学习了layout标签。至此了解了MVC三个层面最基础的“约定”。
12-12-13
解决grails+mysql存取中文的问题
  mysql CREATE SCHEMA `myoa` DEFAULT CHARACTER SET utf8 ;
  DataSource.groovy url = "jdbc:mysql://localhost/myoa?useUnicode=true&characterEncoding=UTF-8"

完成Project-Company-Employee模型的设计,完成自定义约束的设定

12-12-15
深入研究了belongsTo、hasMany、hasOne的作用
12-12-16
深入阅读了controller和gsp章节
12-12-20
掌握了layout、URLMapping的基本使用。下载了两套免费的css模版,完成主页。 发现Company-Employee-User之间出现循环FK,重新设计User,解除循环关系。
12-12-22
完成基本的create、list、show功能。 update和delete比较复杂,以后再弄。
(元旦前出差了一周,加上过了个元旦,有两周没coding了)
13-1-4
优化gsp页面,使用了template功能,可不要把它当成简单的include哦,真是老强大,竟然可以识别到domain的继承关系(这是IDEA的功劳)。
  --/template/_createdBy2.gsp
  ${trace.createdBy.name}
  --company/show.gsp
  <g:render template="/template/createdBy2" model="[trace: company]"/>
  --employee/show.gsp
  <g:render template="/template/createdBy2" model="[trace: employee]"/>

引入了CKEditor富文本编辑器,再次被Grails的插件系统震惊,第三方框架都被视为插件,安装、管理起来非常方便。


13-1-6 css是下载的模版,但是还是需要整理一下,折腾了两天,头都晕了,前端不是俺强项呀。还要兼顾浏览器的兼容性。。。把margin, padding先归零是个好办法。
13-1-7 雏形已经有了,目前有两个技术难点:权限控制,这个好难呀。并发更新,这个应该可以利用grails自带的version(乐观锁)来实现。
13-1-8 官方文档是个好东西,看了一下12章关于安全的内容
引用
12.1Securing Against Attacks 列举了一些网站攻击的例子,从各种注入到钓鱼网站
12.2Encoding and Decoding Objects 编码、解码对象
12.3Authentication 认证方式:简单的可以通过filter或interceptor实现,复杂的就用安全框架
12.4Security Plugins
12.4.1Spring Security
12.4.2Shiro


13-1-9 完成在三种环境下的部署:mac、windows、linux (tomcat+mysql)
13-1-19 又出了一周的差,加上把mac弄坏了,暂时没电脑coding了。不过今天的重大成果是申请到了阿里云的主机试用,把系统部署上去了,好有成就感。
13-1-21 完成利用excel导入数据的功能,再次看到插件体系的强大
13-1-23 完成报销模块的; 在云主机搭建了SVN环境,目前可以SVN下载源码,然后编译发布,并且可以连云主机上的mysql了。
13-1-24 完成上传报销明细功能;初步学习了service的使用,依赖注入。
13-1-25 利用service层,极大优化了文件上传和excel导入功能。提高代码重用,让controller不再臃肿。
13-1-26 各种优化工作:SessionTool, 验证, 自动利用excel第一行生成POI的config map。 下一步的工作重点需要引入自动化单元测试模块,不然功能一多,没有自动化测试模块,很容易出现漏洞、bug
13-1-28 学习引入shiro权限管理框架,实现功能级控制(控制uri),下一步是数据级限制(控制row)。
13-1-29 继续研究shiro,强大的Grails又成了双刃剑,好的是只需要寥寥几句,竟然就实现了“访问控制”功能; 坏处是不知其所以然,好在用IDE的单步运行,找到了一些动态方法的根源,清晰了很多。 然后又花了大半天的时间做了个permission string生成功能。

13-2-19 春节休假完毕,继续。
完成edit-update功能
完成i18n国际化,支持中英文

13-2-20 深入研究字符集,国际化。
CRM功能基本完成

13-2-27 复合索引、报销功能的数据级权限
13-2-28 集中梳理:company、employee、报销、user界面,包括国际化、权限
13-3-10 利用闭包完美优化了二级数据级权限控制的部分,闭包好方便
13-3-16 经过最后一阶段的整理、细节,正式上线。开发工作告一段落,我要去学几天Oracle了。


  • 大小: 18.8 KB
  • 大小: 31.8 KB
分享到:
评论
2 楼 px96004 2013-08-22  
佩服...我一直纳闷怎么没有 grails下的开源ERP呢?LZ的项目要不也开源一下?
1 楼 suredandan 2013-01-09  
要逆天!!!

相关推荐

    grails-fck-editor-0.3.zip_grails_grails-fck-editor

    标题中的"grails-fck-editor-0.3.zip_grails_grails-fck-editor"表明这是一个与Grails框架相关的插件,具体来说是FCKeditor的一个版本。FCKeditor是一款广泛使用的开源富文本编辑器,它允许用户在网页上创建和编辑...

    grails-doc-CN-1.0.rar

    `grails-doc-CN-1.0.rar` 文件包含的是 Grails 1.0 版本的中文参考文档,对于那些不熟悉英文文档或者想要深入了解 Grails 的中文用户来说,这是一个极其宝贵的资源。 文档主要涵盖以下几个关键知识点: 1. **...

    grails-core源码

    在解压后的`grails-core-master`目录中,我们可以看到Grails的核心模块组织结构。通常,一个开源项目的源码结构反映了它的设计思路和功能划分。`src/main/groovy`包含了主要的源代码,`src/test/groovy`用于存放测试...

    grails-datastore-gorm-plugin-support-2.0.4.RELEASE.zip

    总之,"grails-datastore-gorm-plugin-support-2.0.4.RELEASE.zip"提供了一个宝贵的资源,让开发者有机会学习和实践Grails的ORM功能和Android的MVC设计模式。无论是对Grails框架的探索,还是对Android开发的深化,这...

    Groovy&Grails - 指南.ppt

    在 `grails-app/domain` 创建 `User.groovy` 文件定义用户类,然后在 `grails-app/controllers/UserController.groovy` 编写控制器,处理用户的注册、登录等操作。在 `grails-app/views/user` 下创建相应的 GSP 页面...

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1 共两个压缩包,解压后将扩展名.zip.bak改为.zip再次解压。

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part2

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part2 共两个包,解压后需要将扩展名.zip.bak改名为.zip重新解压。 http://dist.springsource.com/release/STS/3.8.1.RELEASE/dist/ e4.6/spring-tool-...

    grails-quartz-0.4.1

    在`Grails` 中,`Grails-Quartz` 插件提供了集成`Quartz` 的能力,使得开发者可以在`Grails` 应用中方便地安排和执行周期性任务。 **1. QuartzGrailsPlugin.groovy** 这个文件是`Grails` 插件的核心配置文件,其中...

    grails-2.3.6.zip

    6. **Grails插件系统**: Grails拥有丰富的插件生态系统,允许开发者通过安装插件快速添加功能,如缓存、安全性、报表等。这些插件极大地扩展了Grails的功能,减少了重复劳动。 7. **Grails Filters**: 过滤器...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    本文将深入探讨Grails的中文文档以及“grails-fckeditor-0.9.5”插件的相关知识点。 一、Grails框架基础 1. Groovy语言:Grails的基础是Groovy,这是一种面向对象、动态类型的编程语言,语法简洁且与Java高度兼容...

    grails-2.5.6

    Grails是一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring、Hibernate等开源框架之上,是一个高生产力一站式框架。 Grails这个独特的框架被视为是提升工程师生产效率的动态工具,因为其...

    grails-web-url-mappings-2.5.4.zip

    这个名为"grails-web-url-mappings-2.5.4.zip"的压缩包包含了Grails 2.5.4版本中的Web URL映射相关代码,让我们深入探讨这一关键组件。 Grails是一个基于Groovy语言的全栈式Java web框架,其设计理念是“简洁、生产...

    grails-4.0.3.rar

    Grails 4 ships with the following dependency upgrades: Groovy 2.5.6 GORM 7 and Hibernate 5.4 (now the default version of Hibernate for new applications) Spring Framework 5.1.5 Spring Boot 2.1.3 ...

    Grails-2.4.4-用户手册

    2. **创建新项目**:通过`grails create-app`命令创建项目,理解`grails-app`目录结构。 3. **编写Domain Class**:学习如何定义领域类,包括关系映射和验证规则。 4. **创建Controller**:了解如何创建控制器,处理...

    grails-docs-2.0.0

    `grails-docs-2.0.0`是Grails 2.0.0版本的官方文档,包含了丰富的指南、API参考以及国际化资源,对于学习和掌握Grails 2.0.0至关重要。 首先,`index.html`是文档的主页,通常会包含目录、介绍性内容以及如何开始的...

    grails快速开发web

    - **数据源配置**:位于 `grails-app/conf/DataSource.groovy` 文件中。 - **日志配置**:位于 `grails-app/conf/Config.groovy` 文件中。 - **Spring 配置**:位于 `grails-app/conf/spring/resources.xml` 文件中...

    grails-2.4.4.zip

    这个压缩包“grails-2.4.4.zip”包含了完整的Grails 2.4.4版本,使得开发者可以直接将其集成到IDE中,快速地开始项目开发工作。 1. **Grails框架概述** Grails 是一个遵循MVC(模型-视图-控制器)架构模式的全栈...

    grails-docs-1.0

    《Grails框架API文档详解——基于grails-docs-1.0》 Grails是一种基于Groovy语言的开源Web应用框架,它简化了Java开发,提供了丰富的功能和强大的工具,深受开发者喜爱。本文将深入探讨grails-docs-1.0版本的API...

    grails-acegi-0.5.zip

    4. `docs`、`grails-app`、`src`、`scripts`和`lib`目录则分别包含了插件的文档、应用代码、源代码、脚本以及依赖的库文件。 Grails Acegi 0.5插件提供了以下主要功能: - **用户认证**:支持多种认证机制,如...

Global site tag (gtag.js) - Google Analytics