システム管理者の独り言

元営業の素人がsalesforceシステム管理者になったので備忘録を。。

Apexに触れたきっかけみたいなものを綴る

元々営業職で開発未経験だった自分が見よう見まねで覚えたことを少し晒していこうかと。 まずはApexを覚えるきっかけを。。。 私は転職した会社でシステム管理者から始まりましたが、その時点でSalesforceを知りませんでした。 なにそれ美味しいの?なレベル。

こんな方向けの内容

理由は問わず開発未経験でSalesforceに携わって、 ちょっとコードも書いてみたい人向け。

  • Selesforceの開発やってみたいけどよくわからん
  • システム管理者だけどコーディングになんとなく興味ある
  • 外注する予算はないけどApexでちょっとした機能拡張をやって みたい
  • 社内の情報システム関連の方たちに依頼できない(しづらい)
  • ちょっとコード書ける自分になりたい(-ω☆)キラリ

こんな動機ですかね。

内容もあってるかどうかわからない場合があります。あくまで 個人的な見解に基づくものです

先に結論言っておくと、 Javaの参考書を勉強することから始めるといいよって内容

スタート時点のスキル

  • html書いたことない
  • 当然cssなんて知らない
  • そもそもコーディングしたことない
  • だからJavaScriptJavaが違うなんて聞いてない

銅の剣と皮の服って状態でした。

Apexにふれるきっかけ

システム管理者に任命されたけど、 周りにSalesforceを知ってる人がいないのでとりあえず 闇雲に触り続ける。 カスタムオブジェクトとか項目作成、ページレイアウト、 レコードタイプ、ワークフローなどを用語とともに覚え始め、 ちょっとずつ慣れてきた頃にvisualforce・ Apexという単語が少しずつ目につくようになる。

それがなんなのかわからないので、 担当の営業さんに聞いてみると標準だとできないことがなんでもできますよ! って具合でしたが格好つけて言うと

自社のビジネスプロセス効率化のためにSalesforceの機 能を拡張するって感じでしょうか。

徐々に自分で設定できることが増えてきてなんとなく慣れてきたかなって頃に、アバウトな依頼が。

●●みたいなのってできねーの?てかやって。 でも開発費ねーから。多少時間かかってもいいよ。

これがきっかけですね。 やるしかないから調べ始めました。

具体的には、詳細ページでボタンを押すことで、 ある日付項目を更新した状態のレコードを複製したいってことでし た。

とりあえずApexを調べたところ

開発者用ドキュメントによると。。 。

Apex は、開発者が Salesforce サーバでフローとトランザクションの制御ステートメントAPI へのコールと組み 合わせて実行できるようにした、 強く型付けされたオブジェクト指向プログラミング言語です。 Java に似た、 データベースのストアドプロシージャのように動作する構文を使用 する Apex により、開発者は、ボタンクリック、関連レコードの更新、および Visualforce ページなどのほとんどのシステムイベントにビジネスロジックを追 加できます。 Apex コードは、Web サービス要求、およびオブジェクトのトリガから開始できます。

全く頭に入りませんでした。 ほぼ日本語として理解できなかったですwww ですが、とりあえずこんな手順で入りました。

  1. Apexって調べても参考書が見当たらん
  2. Javaに似てるってことだけなんとなくわかったような気がする
  3. Javaって単語は結構聞いたことあるな。
  4. とりあえず本屋でJavaの参考書買ってみっか。 で当時買った本はスッキリわかるJava入門

スッキリわかるJava入門 第2版 (スッキリシリーズ)

スッキリわかるJava入門 第2版 (スッキリシリーズ)

結論

プログラムを全くやったことのない私は、 Javaなど参考書が豊富にある言語で一度勉強して、 先の引用にあった「型」などの用語がなんとなく理解できました。 代入とか、 条件分岐とか繰り返しの制御などだけでも勉強するといいと思いま す。

そこからはApexでできることを少しずつ増やした感じです。 visualforceについてはPDF出力をする依頼があって 覚えるようになりました。 もしvisualforceから覚えようとしても、 Apexの知識がないと無理だと思います。

余談

開発ができるのは優れたスキルだと間違いなく思います。 でもシステム管理者ならざっくりですが、 以下の順番で検討した方が良いと思います。

  1. 標準機能で実現できるかとにかく検討する
  2. AppExchange で探す
  3. 開発してくれるコンサルタントを探す(営業に紹介してもらう)

特に標準機能で何ができるかをまず理解しておくことが肝 要で、 プロセスビルダーやフローでどうにかなることが意外とありますし 、開発自体はやはりコストがかかります。 さらに言えば標準機能でやっておけばアップデートの恩恵 を受ける機会が増えます。 これは項目1つとっても言えることで標準項目を使えるなら使うべ き。 そのへんは導入時点でどれだけ考慮できているかによりますが。

時間がないとか逼迫した理由がなければまずは調べるべき! と強く思います。 調べた事自体は新たな知識として身につきますので。

今後は、ちょっとずつ基本的な内容を書いていこうと思います。( 脱線もあると思いますが)

記事作成中にamazonApexで書籍検索したら 修羅の門ってマンガが大量にヒットしました(笑)