プロジェクト

全般

プロフィール

機能 #144

アプリケーション用データの格納場所が入っている文字列を用意する

Yuji Tateno14日前に追加. 3日前に更新.

ステータス:
終了
優先度:
通常
担当者:
開始日:
2019/02/05
期日:
2019/02/22
進捗率:

100%


説明

これがないとデータを用意しても使えないため。なおテストモードと通常モードでは異なるパスになる可能性が高い。


子チケット

wOLIB - 機能 #146: 引数からCatalogue::resourcePathを作る終了Yuji Tateno

wODM - 機能 #147: 基準パスを生成してBASE_PATHマクロとして埋め込む却下Yuji Tateno

wODM - 機能 #148: テストモード/非テストモード別に自身のBasePathとResourcePathを作る終了Yuji Tateno

wODM - 機能 #149: --BasePathオプションを指定して子プロセスを起動するようにする終了Yuji Tateno

wODM - 機能 #150: 子プロセス起動時に子プロセス用のBasePathを作って--BasePathオプションで与える却下Yuji Tateno

wOApp - 機能 #155: wOAppにおいて--BasePathを受け付ける終了Yuji Tateno


関連するチケット

ブロック先 wOCE - 機能 #93: ログイン機能新規2019-03-012019-03-09

ブロック先 wOCE - 機能 #108: Dashboardの作成新規2019-02-232019-03-01

ブロック先 wOCE - 機能 #133: 画像取り込みとハンドラ作成新規2019-02-222019-03-08

関係しているリビジョン

リビジョン 886:12ceaceb8697 (差分)
Yuji Tateno6日前に追加

--BasePathオプション指定を追加 id #148 #144

リビジョン 1158:c8bd54abe5ec (差分)
Yuji Tateno5日前に追加

wOSHを--BasePath付きで起動するようにしてみた id #144 #148 #149

リビジョン 890:c0b6c0f6f93a (差分)
Yuji Tateno5日前に追加

wOSHを--BasePath付きで起動するようにしてみた id #144 #148 #149

リビジョン 1159:910602bb572e (差分)
Yuji Tateno3日前に追加

wODMにあったCatalogueを共通化してwOLIBへ移動 id #144 #49 closes #146
wODMのapp関連を集めてappへ移動

リビジョン 287:bdf4db0f081b (差分)
Yuji Tateno3日前に追加

wODMにあったCatalogueを共通化してwOLIBへ移動 id #144 #49 closes #146
wODMのapp関連を集めてappへ移動

リビジョン 891:9d171d0ee267 (差分)
Yuji Tateno3日前に追加

wODMにあったCatalogueを共通化してwOLIBへ移動 id #144 #49 closes #146
wODMのapp関連を集めてappへ移動

履歴

#1 Yuji Tateno8日前に更新

  • ブロック先 機能 #93: ログイン機能 を追加

#2 Yuji Tateno8日前に更新

  • ブロック先 機能 #106: ダッシュボードの実装 を追加

#3 Yuji Tateno8日前に更新

  • ブロック先 機能 #108: Dashboardの作成 を追加

#4 Yuji Tateno8日前に更新

  • ブロック先 機能 #109: Logout、Centerアイテムの作成 を追加

#5 Yuji Tateno8日前に更新

  • 期日2019/02/15 から 2019/02/22 に変更

#6 Yuji Tateno8日前に更新

wOCEではPATH環境変数は使わないのでargv[0]には常に有効な自身へのパスが入っていると仮定していいはず。wOAppではパスの最後を除去してディレクトリ名のみにし「resources」を追加すると良さそうだ。削るのが面倒なのでBasePathを引数として与えることにした。BasePath+"resources/"が目的のパス。

問題はwODMとwOSHで、テストモードではwODMそれ自身がカレントにあり、wOSHはwODMからの相対パスとなる。ともかく、起動条件が他と異なるので何か手段を考える必要がある。

#7 Yuji Tateno8日前に更新

wODMはテストモードかどうかのコマンドラインオプションを利用できるので、wOSHからの起動リクエストをapp名のみとし、wODMでサーバ側の絶対パスを作って起動...とする。

となると問題はwODMで絶対パスが必要になる点だが、テストモードではカレント、非テストモードでは固定パスなのでmakeで生成するほうが簡単。よって、makeで基準パスを生成してgccの-DwOCE_PATHオプションへ指定してビルド。その時installターゲットでは最初に「make -C . clean」してマクロの影響をクリアし、インストール後にもう一度クリアする。

#8 Yuji Tateno7日前に更新

ResourcePathはBasePath+"resources/"。

BasePathはwODMとその他で生成方法が異なる。

wODMにおいてはテストモード時はPWD環境変数と同じ、非テストモードでは文字列リテラルで"/usr/local/wOCE/wODM/"になる。

wODM以外では"--BasePath="オプションで与えられる(デフォルト値は空文字列)。これはテストモードではwODMのPWD環境変数+"../app名/"であり、非テストモードでは"/usr/local/wOCE/apps/app名/"になる。

#9 Yuji Tateno6日前に更新

  • ブロック先 機能 #133: 画像取り込みとハンドラ作成 を追加

#10 Yuji Tateno6日前に更新

BasePathは--BasePathパラメタで与えられる。--BasePathパラメタのデフォルト値はwODMでは文字列リテラルで"/usr/local/wOCE/wODM/"を使う。またwODM以外ではこのオプションは必須で指定がない場合は"+n"オプションを与えた時と同様に終了する。つまりオプション自体のパースは完了し、保存されるオプションの変更は適用される。

wODMはソースツリー上で直接実行するtestターゲットにおいてはmakefileによってカレントディレクトリを指す--BasePathオプションおよびテストモードであることを示す+tオプションを与えられる。

#11 Yuji Tateno6日前に更新

wOSHのBasePathはwODMがテストモードの時はwODMのBasePath+"../wOSH/"が、でなければ文字列リテラル"/usr/loca/wOCE/wOSH"が指定される。またwOSH自体のargc[0]はwOSHのBasePath+"wOSH"が使われる。

#12 Yuji Tateno6日前に更新

  • ブロック先 を削除 (機能 #106: ダッシュボードの実装)

#13 Yuji Tateno6日前に更新

  • ブロック先 を削除 (機能 #109: Logout、Centerアイテムの作成)

#14 Yuji Tateno3日前に更新

  • ステータス新規 から 終了 に変更

他の形式にエクスポート: Atom PDF