インターンシップ2日目(1日目の人向けの内容含む)

自分が今日詰まったところや、解決に時間を要したところを書いていきます。

仕事終わりにまとめて書くやり方も悪くないと思いますが、自分の場合は忘れっぽいので何かあるたびに書いていくつもりです。

2日目ですが、前回たいして進まなかったため、初日の内容が多いです。

プログラム初心者として書いているため、習熟者にとっては当然の内容も多く含んでいると思います。

また、なるべく気をつけたとはいえ、間違いを含んでいる可能性も当然あるため不安なら先輩を頼った方がいいと思います。

・まず、環境構築のために1日目にやった「Aipoを起動しよう」から再びやり直し。

その際、「ブラウザでの確認」にあるURLに飛んでも404と表示され正しい画面にならなかったのですが、これは自分の直前に、同じPCで何かが違う環境の下Eclipseを使っていたことが問題だったようです。

未熟ゆえ詳しいことはわかりませんが、このような場合は先輩方に尋ねて解決するのが最善のようです。

・上記のURLに飛び、一度は管理者権限でユーザーを追加すると思いますが、少しわかりにくいので詳細に書いておきます。

「ブラウザでの確認」の項目で、「管理者権限でログインした後、任意のユーザーの追加をしてログインします。」と書かれていますが、もっと詳しく書くと「『ユーザー管理』の項目から他の人の例にならって自分のユーザーを追加後、一度ログアウトして追加したユーザー名でログインする」ということですね。パスワードは共通のアレです。

・初日は「開発の流れを体験してみよう」のプル、コミット、プッシュなどの言葉が示す意味がよくわからないまま書かれている通りにやっていたのですが、「バージョン管理」でググってみたところ個人的にわかりやすい解説がありました。 http://www.backlog.jp/git-guide/intro/intro1_1.html わからない言葉が出てきたら「そういうものなんだ」と思考停止せずにググってみるのが良さそうです。

・Hackで他のインターン生の情報を見ながら「基礎編:入力項目の追加をしてみよう」に着手。

基本的な知識として、自分のAipoのサイトにEclipseで設定した内容を反映させるやり方を書いておきます。

まず、キーボード左下のcommandキーとSキーを同時押しすることでその変更したファイルの内容を保存します。保存されてないファイルはプログラム上部のタブの名前欄の最初にがつく(例:TestFormData)のでちゃんと全て保存して消しましょう。

そしてURL欄を追加するため、ソースコードを追加していきます。 ソースコードの理解ができているわけではないものの、とりあえず必要そうなものを必要そうな箇所に貼り付けていきました。参考にしたhackのリンクを貼っておきます。 https://hacknote.jp/archives/10060/

自分なりにまとめておきます。 これで動くはずですが、念のため言っておくと初心者なりのやり方なので何か間違いがある可能性があります。

portlets/test/src/main/webapp/WEB-INF/templates/vm/portlets/html/ja/ajax-test-form.vm の53行目に以下を追加。

#ALtdcaption("#ALrequired($!result.getFieldName('url'))")
#ALtditem("#ALtextfieldw100('url' $!result.TestName 50 'active')")

portlets/test/src/main/java/com/aimluck/eip/test/TestFormData.java 91行目付近に以下を追加。(上から順番に追加していくことを想定しています。順序が変わると行数の場所が変わるので注意)

  /** URL */
  private ALStringField url;

186行目付近に以下を追加。

    // URL
    url = new ALStringField();
    url.setFieldName(ALLocalizationUtils.getl10n("TODO_SETFIELDNAME_URL"));
    url.setTrim(false);

408行目付近に以下を追加。(//メモ と //更新日 の間)

   //URL
      test.setUrl(url.getValue());

468行目付近に以下を追加。

 /**
   * URLを取得します。 <BR>
   *
   * @return
   */
  public ALStringField getUrl() {
    return url;
  }

test-portlet/war/src/main/resources/com/aimluck/eip/modules/localization/AipoLocalization_ja.properties の#ToDo欄(commandキーとFキー同時押しで検索できます)の適当なわかりやすいところに以下を追加。 TODO_SETFIELDNAME_URL=URL

最後に先ほど書いたようにcommand+Sで保存したあと、「Aipoを起動しよう」でやったようにビルドすれば(mvn install を入力するやつです)反映されているはずです。

ですが、今までのことが順調に進んでいても、URLの横の必須マークが消えていないはずです。

(自分の場合は以下のようにして、先輩と原因を突き止めましたが、自分でもわかりにくいので飛ばしていいです。) これの原因を調べるため、サイトにURL欄が表示されている状態で右クリック、「要素の検証」をクリックしてみます。 下のプログラムの行に適当にカーソルを合わせれば、どの行がどの要素を示しているか、サイトにわかりやすく色付けされます。URL欄に に相当する行を探します。見つけたらクリックして展開、必須マークに関連のありそうな行を探しました。そして必須マークのついていないメモ欄と比べると、classがrequiredになっている点で違いがあることがわかりました。それを踏まえ、Eclipseでrequiredと関係していそうな行を書き換えました。

必須マークを消すためにプログラムを書き換えます。 portlets/test/src/main/webapp/WEB-INF/templates/vm/portlets/html/ja/ajax-test-form.vm の53行目を以下に変更。

ALtdcaption($!result.getFieldName(‘url’)))

下は変更前データ。

ALtdcaption(“#ALrequired($!result.getFieldName(‘url’))”)

どうやら#ALrequired()が必須マーク入りの名称欄を示していたようです。

これでようやく、URLの入力欄を追加してURLを入力できるようになりました。

このままだとまだうまくいかない部分が多少あります。 下のリンクを参考に途中まで進めましたが、詳細は次回に回そうと思います。 https://hacknote.jp/archives/10403/