2009年9月8日火曜日

帳票(プロシージャ)にてアトリビュートの内容を改行印刷する方法










アトリビュートが長い文字列型の場合、プロシージャのレイアウトにアトリビュートを貼り付けるだけでは、改行がされません。

改行するためには、以下の手順が必要となります。



1.レイアウト


アトリビュートの代わりに変数を貼り付けます。


printblock.PNG

2.ソース


ソースではGXMLines関数で、折り返したい文字数での行数を取得し、GXGetMLi関数で各行を取得し、文字列を変数にセットし、行単位でPrintコマンドを発行します。





&nlin = GXMLines(LongSizeAttribute, 60)
  if &nlin > 0
   &i = 1
   Do While &i <= &nlin
    &Text = GXGetMLi(LongSizeAttribute, &i, 60)
    Print PB_Report1
    &i += 1
   enddo
  else
   &Text=''
   Print PB_Report1
  endif



2009年9月5日土曜日

デプロイメント方法 - .net版

基礎教育では、GeneXusを使ってビルド・実行するところまではお話しますが、実際の開発・運用局面において、本番環境にどうやってアプリケーションをリリースするのか迄はお話していません。

実際にGeneXusを使って開発し、直面するリリース(デプロイ)作業について手順をまとめましたのでアップします。

まずは、.net版です。



.netジェネレーターの場合、デプロイメントツールは標準でインストールされていません。エクステンションモジュールとして追加インストールする必要があります。


1. デプロイメントツールのダウンロード  ダウンロードはこちらから。http://blog.genexus.jp/files/CSharpXCopyDeployment.zip
  ダウンロードしたzipファイルを任意のフォルダに解凍します。

2. デプロイメントツールのインストール

2-1.「ツール」→「エクステンションマネージャー」を開く

dep1.JPG


2-2.「追加」ボタンをクリック

dep02.JPG

2-3.「ローカル」タブをクリック

dep03.JPG



2-4.ファイルの選択ボタンをクリックし、解凍したCSharpXCopyDeployment.zip.dllファイルを選択し、「OK」ボタンをクリックします。

dep04.JPG



2-5. エクステンションマネージャーにて「CSharpXCopyDeployment」をチェックし、「変更の適用」をクリックします。

dep05.JPG   



2-6.GeneXusを再起動します。



3. デプロイ

3-1.事前準備
 (1)環境
    GeneXus Xでは、基本的な考え方としてジェネレート・デプロイする環境ごとに「環境」を作成・設定します。
    例えば、「開発サーバー」「本番サーバー」と2系統ジェネレーター(デプロイ先)があるのであれば、環境も二つ作成し、それぞれ「Dev」「Release」といった判りやすい名前をつけましょう。
    手順は以下の通りです。
        (1)-a. ナレッジベースナビゲータにて、「設定」→「環境」を右クリックし、新規環境を選択
        (1)-b. ビルドをする時に、対象となる環境を右クリックし、「アクティブにする」を選択



     ※ 本番環境(DB)がGeneXusから直接接続できないケースでは、LAN内のDBを仮の本番DBに見立てて、データベース再編成を実行します。
     ※ この場合、DB再編成プログラムをエクスポートした後、DB接続情報を本番環境の情報に変更します。



4. データベース再編成のエクスポート


4-1.「ツール」→「CSharp Generator」→「Deployment Tools」をクリックし、デプロイメントツールを起動する。


dep06.JPG



4-2.「Export Reorganization」タブをクリック(ディフォルト表示)



dep07.JPG


4-3.「Destination folder」に出力先のディレクトリがディフォルト表示されています。
  ディレクトリ名は「reorgYYYYMD」(YYYYMDはシステム日付)となっています。
  一日に複数回実行する場合は、名前を変更して上書きされないようにしてください。



4-4.「Confirm」ボタンをクリックすると、指定したディレクトリにモジュールがエクスポートされます。


dep08.JPG     



4-5.データベース接続情報の変更
   データベース再編成をエクスポート後にデータベース接続情報を変更したい場合は、「GxConfig.exe」というツールを使います。
「GxConfig.exe」はナレッジベースディレクトリ\ターゲットディレクトリ\web\binに出力されています。
標準的な環境では「C:\Models\ナレッジベース名\CSharpModel\web\bin」になります。

   4-5-1.「GxConfig.exe」をデータベース再編成がエクスポートされたディレクトリにコピーします。

    dep09.JPG



   4-5-2.「client.exe.config」ファイルを「web.config」へリネームします。

    dep10.JPG  


   4-5-3.「GxConfig.exe」を起動すると以下の画面が表示されます。


       dep11.JPG



   4-5-4.上部のコンボボックスにて「Default」を選択すると、ナレッジベースの環境にて設定されていたデータベース接続情報が表示されます。



    dep12.JPG     

   4-5-5.デプロイ先のデータベース接続情報を設定し、「Save」ボタンをクリックします。ユーザー名、パスワードは暗号化されて保存されます。

   4-5-6.「web.config」ファイル名を「client.exe.config」へリネームします。
      編集が終わったら「GxConfig.exe」は削除しても構いません。(データベース再編成処理の実行には影響ありません)

   注記
    ※ ユーザー、パスワード以外の項目のみ変更するのであれば、直接「Client.exe.config」ファイルをエディタで開いて編集・保存する事も可能です。
    ※ SQLServerでWindows認証を使用している場合は、ユーザー・パスワードの変更は必要ありません。(空文字も暗号化し保存されています)







  <datastores>
    <add key="Connection-Default-DBMS" value="sqlserver" />
    <add key="Connection-Default-Port" value="" />
    <add key="Connection-Default-LockTimeout" value="0" />
    <add key="Connection-Default-LockRetryCount" value="10" />
    <add key="Connection-Default-Datasource" value="SERVERNAME\SQL2005" />
    <add key="Connection-Default-User" value="NTgYdf1h5ihuWiTvoLCm2A==" />
    <add key="Connection-Default-Password" value="U0lBHj4leN1tXEjswyrAKQ==" />
    <add key="Connection-Default-DB" value="BillingSystem" />
    <add key="Connection-Default-Opts" value=";Integrated Security=yes;" />
    <add key="Connection-Default-TrnInt" value="1" />
  </datastores>



4-6.データベース再編成の実行
   4-6-1.エクスポートしたファイルを全てデプロイ先のデータベースサーバーもしくはデータベースサーバーにネットワーク的に接続可能なサーバー/PCにコピーします。

   4-6-2.「Reor.exe」を実行します。
      「実行」ボタンをクリックすると、対象データベースに対して、再編成処理が実行されます。

   dep13.JPG



※ 注意1 データベース再編成処理はDDL(Data Define Language)を実行します。つまり、通常のSQL文(DML)の様にロールバックが効きません。従って、何らかの理由で再編成の途中でエラーが発生した場合は、実行前の状態には自動で戻りません。再編成を行う場合は事前に必ずデータベースのバックアップを行ってください。(GeneXusの制約事項ではなく、DBMSの仕様です)


5. webアプリケーションのエクスポート5-1.「ツール」→「CSharp Generator」→「Deployment Tools」をクリックし、デプロイメントツールを起動し、「Web Deployment」タブをクリックする。


dep14.JPG 

 


5-3.「Destination folder」に出力先のディレクトリがディフォルト表示されています。
  ディレクトリ名は「webYYYYMD」(YYYYMDはシステム日付)となっています。
  一日に複数回実行する場合は、名前を変更して上書きされないようにしてください。



















項目

説明

Virtusl Directory

デプロイ先でのIISの仮想ディレクトリ名を指定します。

OverWrite

チェック

既に同じ名前で仮想ディレクトリが存在した場合、設定を上書きします。

非チェック

既に同じ名前で仮想ディレクトリが存在した場合、設定を上書きしません。






5-4.「Confirm」ボタンをクリックすると指定したディレクトリにモジュールがエクスポートされます。




dep15.JPG   

5-5.データベース接続情報の変更
    データベース再編成と同様に、データベース接続情報を変更したい場合は、「GxConfig.exe」を使います。
    WebDeploymentにおける「GxConfig.exe」の実行に関しては、データベース再編成とフォルダ・ファイル構成が違うため、以下の2つの方法があります。
    (1) 「web.config」ファイルをbinフォルダ(GxConfig.exeがあるフォルダ)にコピー(移動)し、GxConfig.exeを起動します。
     この場合、web.configを修正・保存後にbinフォルダからwebフォルダへ再度コピー(移動)する必要があります。

    (2) コマンドプロンプトから「GxConfig.exe」を実行する方法
     コマンドプロンプトを開き、WebDeploymentの出力先ディレクトリに移動します。
      「GxConfig.exe」を相対パスで実行します。


       dep16.JPG    
     この方法の場合、「web.config」ファイルをコピー(移動)する必要がありません。


5-6.Webアプリケーションのデプロイ
   5-6-1.エクスポートしたファイルをディレクトリごとコピーし、デプロイ先のサーバー/PCへ配置します。

   5-6-2.デプロイフォルダにある「createVirtualDirectory.bat」を実行します。


      dep18.JPG

      エクスポート時に指定したVirtusl Directoryで仮想ディレクトリが作成されます。
      又、仮想ディレクトリ作成後、ブラウザが自動的に起動し開発者メニューが表示されます。



最後に

当エントリーのPDF版はこちらです。
デプロイメント方法.net編.pdf



2009年8月25日火曜日

GeneXus X Evolution 1 RC2が公開されました

ジェネクサス・ジャパン 横井です。


artech社にて現在開発中の次期バージョン(開発コード名:Evolution1(エボリューションワン))のRelease Candidate(製品候補版) 2 が公開されました。




昨年の9月からCTP(コミュニケーション・テクニカル・プレビュー)→ベータ→RCと開発が進んできましたが、新規機能としてはほぼ出揃った形になります。

※注意 当情報はまだ正式リリース前の製品情報であり、正式リリース時には変更される場合もあります。あらかじめご了承ください。





主なトピックとしては以下の通りです。

RC2になって追加されたトピックですので、「そもそもGXserverとは?」といった情報は不足していると思いますが、9月に開催されるインターナショナルミーティングで詳細な発表があると思いますので、詳しい情報は追ってアップしていきたいと思います。






GXserver & チーム開発:



・GXserverに認証機能が追加されました。ユーザーロールベースでの権限付けも可能です。



・GXserverにてナレッジベース上のwikiドキュメントの編集が可能になりました。



・GXserverにてバージョンのフリーズ、開発バージョンの作成が可能になりました。



・サーバーにコミット時、任意のオブジェクトのコミットを除外する機能が追加されました(ローカルテスト時に有効な機能)



・操作性の向上と操作中のインフォメーションを強化しました。



・GXserverにてオブジェクトへのリンクが追加されました。チームメンバー間でのコミュニケーションに有効です。



・GXserverの拡張性を容易化





IDE:



・ナレッジベースバージョン間のマージ機能



・全般的なパフォーマンスの改善(影響分析、パターンの適用、正規化処理、ビルドプロセスなど)



・生成されるコードの最適化(可読性とパフォーマンス)



・ビジネスプロセスダイアグラムのイメージ保存と印刷機能





言語とコア機能



・新しい項目属性(アトリビュート)のプロパティ"Show in Default Forms" ストラクチャー(構造)とフォーム(画面)での動的変更を保護



・再編成処理に"-donotexecute"パラメータ追加





ユーザーインターフェイス



・新ユーザーコントロールが追加

 ・FBHoverPanel

 ・Scheduler



・Ajaxセキュリティオプションの追加



・トランザクションオブジェクトでの明細行削除UIの改善



・PopUpウインドウのOUT、INOUTパラメータのサポート







既存のGeneXus Xと共存可能ですので、既存のユーザーの皆様も是非この機会にダウンロード・インストールし、評価・検証をして頂ければと思います。




Evolution1とGXserverのライセンスは既存のXのライセンスとは別にベータテスト用のライセンスです。Technicalアカウントを持っている方であれば、オンラインですぐにライセンスが発行されます。










2009年8月5日水曜日

第19回インターナショナルミーティングが開催されます

ジェネクサス・ジャパン 横井です。

来る9月14日~16日の3日間、GeneXusの発祥の地、ウルグアイにてARTech社主催のインターナショナルミーティングが開催されます。

今年で19回目を数えるこのインターナショナルミーティング、3000名を超える参加者と100を超えるセッションで構成されます。

私も昨年、始めて参加しましたが、日本では想像の出来ないスケールで開催され、GeneXusのユーザー・パートナーが一同に会し、最新情報の取得・情報交換を行います。

もちろん、今年も私を始め、ジェネクサス・ジャパンのメンバーは参加する予定です。

思えばこのブログも昨年のインターナショナルミーティングの状況を出来るだけライブ感覚でお伝えしようと立ち上げたものですが、早いものでもう一年が経ちます。

今年は、ブログとは違う方法で、ライブな情報発信を出来ればと企画していますので、乞うご期待ください。

XIXGX-1EN (1).jpg



2009年6月度の技術部会の資料をアップしました

ジェネクサス・ジャパン 横井です。

しばらくブログの更新が出来ずに申し訳ありません。

6月に行いました技術部会の資料をアップします。

これは以前行いました、「WorkWithを使ってみよう-前編」を大幅に加筆修正したものです。

技術部会に参加できなかった方も、この資料を参考に是非WorkWithパターンの可能性を体験ください。



後編は・・・ まだ原稿は1ページも手をつけていない状態ですので、もうしばらく時間がかかると思います。






2009年7月23日木曜日

日経コンピュータ 7月22日号の特集記事にGeneXusが掲載されました。

ジェネクサス・ジャパン横井です。


弊社会長 大脇と私のインタビューを元に巻頭特集に取り上げて頂きました。

これを機会に日本のIT業界でもGeneXusがメジャーな開発ツールとして普及するよう頑張っていきたいと思います。






2009年4月1日水曜日

2009年3月度技術部会の資料をアップしました。

ジェネクサス・ジャパン 横井です。


去る、3月30日に開催されました技術部会の資料をアップします。



Patternの活用.pdf