Autify で Salesforce を動かしてみよう～ vol.6 Salesforce のメジャーリリース

# はじめに
- Autify で Salesforce を動かしてみよう、と思い記事にしてみます。
- TIPSなども記載できれば、と考えています。

# Salesforce のメジャーリリース

- Salesforce には、メジャーリリースが年に3回、春(Spring)、夏(Summer)、冬(Winter)、とあります。
 - （秋はないです）

- バナーが毎回変わります😊

|Spring '21|Summer '21|
|--|--|
|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/e3610182-ab92-df0f-b08e-e0d0911ee845.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/238a3b56-3b18-1207-076a-2bc678b558d6.png)|

- [設定] から [組織情報] を選択しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/bd790567-148f-646f-f305-8766f2131872.png)

- [インスタンス] を確認しましょう。画像では「AP25」ですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/0aac82a5-f0c8-d367-4ca8-3e864fa52b62.png)

- 以下の URL をブラウザから実行すると、そのインスタンスのリリースバージョンが判ります。

``https://api.status.salesforce.com/v1/instances/インスタンス/status``

- AP25 の場合は、以下のようになります。

https://api.status.salesforce.com/v1/instances/AP25/status

- releaseVersion を確認すると判ります。 執筆時は「Spring '21」でした。

``` json
{"key":"AP25","location":"APAC","environment":"production","releaseVersion":"Spring '21 Patch 17.5","releaseNumber":"230.17.5", ..... }
```

# Salesforce でアプリケーションを作る

Salesforce では、標準機能だけでアプリケーションを構築することができますが、
Apex、Visualforce を代表する専用の言語を利用することで、よりきめ細やかなアプリケーションを作成することができます。

とはいえ、Apex、Visualforce とはなんだろう、と思うので、簡単に図を載せますと…
画面側が「Visualforce」、サーバ側が「Apex」という感じです。

| よくある構成 | Salesforceでの構成（例） |
|:-----------|:------------|
| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/e01e8d73-8d48-81d9-32d7-2dfbc6923c7c.png) | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/4b545359-ad88-636f-2cb4-300d004a7658.png) |


- 以下は、Salesforce の組織内のユーザ一覧を表示するようなアプリを作ったものです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/f8f602af-01da-1d86-90f9-f2daf91b316e.png)

- 「プロファイル」欄 (セレクトボックス) の Visualforce ページのコードは以下のような感じになります。

``` html:VisualForceページコード
<apex:selectList value="{!SelectedProfileId}" size="1" styleClass="def">
   <apex:selectOptions value="{!ListProfileOptions}"/>
</apex:selectList>
```

- ソースコードはどうなっているでしょうか、デベロッパーツールで確認してみましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/4e5570a3-da07-f87e-6332-f96a138ed586.png)

- 以下のように展開されました。name 属性に注目しておいてください。
 - ``j_id0:j_id2:j_id6`` という値になっています。

``` html:展開済みhtml
<select name="j_id0:j_id2:j_id6" class="def" size=1">...</select>
```


- 次に、「ユーザID」(テキストボックス) を用意してみましょう。

``` html:VisualForceページコード
<td><apex:outputLabel value="ユーザID" styleClass="def"></apex:outputLabel></td>
<td><apex:inputText value="{!UserId}" size="18" styleClass="def"/></td>
```
- テキストボックスでは、どのように展開されるのでしょうか。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/628c25e0-0e4d-c3ce-69b4-107b79b2836c.png)

- 以下のように展開されました。name 属性に注目しておいてください。
 - ``j_id0:j_id2:j_id11`` という値になっています。

``` html:展開済みhtml
<input type="text" name="j_id0:j_id2:j_id11" class="def" size=18">
```

Salesforceで展開された name は変わってますね。


Salesforce 季節のアップデート後はどうなるんでしょうか。

# 変わりませんでした💦

バージョンアップによって、id が自動的に変わる場合があるようで、
今回のバージョンアップでも、それが発生すると思っていましたが、変わりませんでした。

__ID が変わってしまっても、Autify の修正をせずに動作することを確認したかったのですが…__

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/be1cf5a8-e52e-92d3-def3-1810e2e1c8e0.png)

次のバージョンアップまで待ってられないし…　似た再現ができないか…　

To be continued. ▶


#### ご了承ください
- まだまだ勉強中の部分もあります。間違っている箇所もあるかもしれません。
- Salesforce、Autify は、この時点のバージョン(2021年4月～7月頃) での内容になります。今後、仕様変更が変わることによって、内容の通りにならない可能性もあります。ご了承ください。
 - また、URLなども変更になっている可能性もあります。

# 前回まで
- Autify で Salesforce を動かしてみよう～ vol.0 準備編
 - https://qiita.com/xx_mana/items/107eb97dcc0da26daeb8
- Autify で Salesforce を動かしてみよう～ vol.1 ログインへの道
 - https://qiita.com/xx_mana/items/7f532a977184037ea80c
- Autify で Salesforce を動かしてみよう～ vol.2 JSステップ・現在の日時
 - https://qiita.com/xx_mana/items/1642075b7fdb4950d419
- Autify で Salesforce を動かしてみよう～ vol.3 文字色のエラーチェック
 - https://qiita.com/xx_mana/items/59e1cf5275ef0656d7c9
- Autify で Salesforce を動かしてみよう～ vol.4 もっと詳細なブラウザ情報ってとれるの？
 - https://qiita.com/xx_mana/items/02bcbc7003566d2eef85
- Autify で Salesforce を動かしてみよう～ vol.5 Autify API を使ってみよう！
 - https://qiita.com/xx_mana/items/9b87ad071f62a200f0c4