使用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的時候。