使用GeneXus产品开发项目时,在开始,有一些属性我会经常改一下。我现在使用的GeneXus版本是GeneXus U3,由于在做手机应用的开发,所以一般使用最新的版本,老外那边差不多两个月会有一个upgarde,解决一些bug或者增加一些新的特性。

1. 言归正传,创建一个项目。在创建页面,如果点击Advanced的时候,会弹出一些数据库的配置信息,如下图所示。其实这个数据库并不是我们这个项目的业务数据库,而是GeneXus每创建一个项目,都会默认建立一个数据库用来保存项目信息(这也就是为什么安装GeneXus时也要安装一个SQL Server数据库),所以正常情况下,不用管这个数据库,只是注意后面不要把业务数据库和这个数据库放在一起了。

2. 经过漫长的等待,项目创建好了,接下来改几个属性。【郑重声明:本人所分享的所有经验都是个人在使用过程中所理解的,由于使用场景不一样,未必是百分百正确的,所以大家也要根据自己的情况判断一下】。

1)Enable national language support属性改为Yes,默认值是No。

(有没有感觉经常不知道去哪里找一些属性,里面选项太多了,所以最好用一下Filter功能)。这个属性的作用是,对于vachar或char类型的字段,在建表时,对应的数据库字段是nvarchar或nchar,如果不改,例如建立了一个字段,长度是varchar(20),在页面,其实只能输入10个汉字或20个英文字母,而我们做的项目基本都是国内的,所以一般直接把这个属性的默认值改掉,这样字段长度和业务上的要求就统一了。如果有个别地方不需要启用,只要在不需要的地方把对应字段的这个属性改为No就可以了。

2)Date time storage timezone属性。我们一般会设置为undefined,很少使用(GMT/UTC)时间。因为在GeneXus,每个时间是可以把时区信息包含进去的,我们基本都是国内的项目,也是面向国内的用户,如果设置为GMT/UTC时区,就意味着数据库里面存的时间和你页面上看到的时间会差8个钟头,这个会感觉很别扭(个人喜好…), 其实设置为Application Server也会有时区,不过是相当于以我们服务器时间为标准了,而undefined则是不考虑时区问题了(国内项目可能考虑这个设置)。这个wiki是有很详细的解释(可惜是英文-_-!),大家可以看一下。

点击:Date Time Storage Timezone property

3)Declare referential integrity属性设置为No. 这个属性是属于数据库的配置,如果设置为No,则在创建数据库时不会建立表外键关系,当然这个属性不会影响业务层面之间的关系。主要是我们所开发的系统,客户在上线后会经常有需求变动,或者需要在数据层面维护的工作,所以如果把表之间的制约关系创建了,在调整数据时会非常麻烦。每个人做项目的经验不同,想法不同,大家可以根据实际情况判断。

4)Business Component属性设置为True,由于我们基本上每个Transaction都会使用到Business Component,所以全局的属性设置为True后,每次创建的Transaction的该属性都默认是True,主要是为了省事。

5)Blank when empty属性设置为True,主要是对于日期为空时,希望也是显示空白,默认是显示一些斜杠。其实还有一个就是数字,默认的录入页面,是会显示一个0,目前没有想到好办法去掉…

没有对比就没有伤害,见下图:

暂时就想起这几个,后面想起来了再写…

除了配置之外,还有一个是GeneXus IDE的配置,可以把对象的名字和描述都显示出来,这样在使用的时候会很方便,毕竟随着项目越来越大,只根据名字很难看懂一个对象的作用,尤其是有很多procedure的时候。

GeneXus项目启动的更多相关文章

  1. maven 项目启动tomcat报错 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    maven项目启动tomcat报错: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi ...

  2. eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错? java.lang.ClassNotFoundException: com.branchitech.app.startup.AppStartupContextListener java.lang.ClassN

    eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错?java. ...

  3. 项目启动异常java.lang.OutOfMemoryError: PermGen space

    java.lang.OutOfMemoryError: PermGen space 解决办法: Eclipse-->window-->Tomcat -->JVM setting  - ...

  4. 【项目启动】 tomcat启动,项目无法启动,无法正常访问/项目可以启动,报错:java.lang.ClassNotFoundException: ContextLoaderListener

    使用maven搭建项目(这个错误和是不是使用maven搭建项目没有关系),然后部署到tomcat中运行. 出现问题1: tomcat跑起来了,但是启动时间很短,没有报错,项目不能正常访问 项目启动时间 ...

  5. SpringMVC——项目启动时从数据库查询数据

    SpringMVC项目中遇到这样的问题: 1.很多数据字典需要从数据库中查询: 2.懒得修改SQL语句: 3.想在项目中声明静态变量存储数据字典,但是希望这个字典可以在项目启动时进行加载. 当遇到这样 ...

  6. eclipse 中导入 maven项目 启动报错

    导入Maven项目到Eclipse中时,出现问题如下: java.lang.ClassNotFoundException: org.springframework.web.context.Contex ...

  7. 关于ionic开发的一些总结(项目启动设置,app图标名称更改)

    1.更改包名称 一般项目刚生成时,ionic会根据项目名称自动给你生成一个包名.要修改包名的话,在根目录的config配置文件中,<widget id="x.x.x"换成自己 ...

  8. 在web项目启动时,使用监听器来执行某个方法

    在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件.初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作. 这里写了个简 ...

  9. web项目启动流程探索

    在web项目的启动过程中,我们希望知道它的一般流程是什么,这样我们就可以在各个流程中加入相应的功能,或者对于我们排错也有帮助. 我们知道,当我们启动tomcat容器以后,容器首先初始化一些必要的组件, ...

随机推荐

  1. RabbitMQ的原理和使用

    转载:RabbitMQ从入门到精通 转载:轻松搞定RabbitMQ 转载:RabbitMQ Java入门教程 一.RabbitMQ AMQP,即Advanced Message Queuing Pro ...

  2. 2-sat HDU 1814

    题解来自于:http://www.cnblogs.com/kuangbin/archive/2012/10/05/2712622.html 和平委员会 根据宪法,Byteland民主共和国的公众和平委 ...

  3. ASP.NET读取RSS

    从网上找的一段读取RSS的代码,经测能用: /// <summary> /// 加载RSS /// </summary> /// <param name="Rs ...

  4. JQuery和Servlet来实现跨域请求

    在网上看到很多的JQuery跨域请求的文章,比较有意思.这里我发表一个Servlet与JQuery配置实现跨域的代码,供大家参考.不足之处请指教 原理:JavaScript的Ajax不可以跨域,但是可 ...

  5. [acmm week12]染色(容斥定理+组合数+逆元)

    1003 染色         Time Limit: 1sec    Memory Limit:256MB Description 今天离散数学课学了有关树的知识,god_v是个喜欢画画的人,所以他 ...

  6. 【CodeForces】901 C. Bipartite Segments

    [题目]C. Bipartite Segments [题意]给定n个点m条边的无向连通图,保证不存在偶数长度的简单环.每次询问区间[l,r]中包含多少子区间[x,y]满足只保留[x,y]之间的点和边构 ...

  7. 天梯赛 L2-005 集合相似度 (set容器)

    给定两个整数集合,它们的相似度定义为:Nc/Nt*100%.其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数.你的任务就是计算任意一对给定集合的相似度. 输入格式: 输 ...

  8. Verilog笔记.5.同步、异步

    在数字电路中经常有同步synchronism.异步asynchronism的概念.异步指输入信号和时钟无关:同步指输入信号和时钟信号有关,实际上就是输入信号和时钟信号进行了与运算或者与非运算.实际开发 ...

  9. kendo method:destroy 解决有些在kendo.all.js 的js 库里报错问题

    首先,不得不承认,kendo UI 是个不错的东西,特别对于一个前端开发到行不足的程序猿来说.而在我们使用过程中貌似还是会遇到各种奇怪的问题.比如我们会经常用到对一些控件进行重赋值. destroy ...

  10. WordPress手机端插件——WPtouch

    戒微博之后,把更多的精力开始转投回网站上来:今天用nexus7访问@Bee君 的博客时,发现博客的界面与电脑上访问的界面不相同,顺藤摸瓜之后发现原来bee君使用的是WPtouch-pro插件来实现移动 ...