UiPath v19.10LTS→v20.10LTSのメリットとは？(開発者編)

# はじめに

みなさん、こんにちわ！

v19.10LTS→v20.4FTS→20.10LTS→v21.4FTSでリリースされていますが、LTSをターゲットにバージョンアップする企業が多いのではないでしょうか。そこでv19.10LTS→20.10LTSバージョンアップしたら、どんなメリットがあるのか、本記事ではStudioユーザーを対象にダイジェストでご紹介します！

###免責事項
本記事は、ダイジェスト版です。v20.4FTSからの変更点も含まれ、元となった資料の頁数が膨大になったため、ここでは主だった新機能・変更点に絞り、説明（設定方法、制限事項など）も、かなり削減して掲載しています。

# バージョンアップのメリット要約と必要性
- v2020.10ではUiPathのコアであるセレクター周りが、かなり強化されています。動作の安定や開発生産性に課題を感じておられる方は必見です。

- Automation Cloud Orchestratorをご利用の場合、既に(21.4リリース以降)、19.10 Robotはサポートされなくなり、クラウドOrchestratorサービスでの動作が保証されなくなってます。

https://docs.uipath.com/installation-and-upgrade/lang-ja/v2020.10/docs

# 1.UI要素認識が、より堅牢になります！

これまでセレクターの原因で動作が止まり、試行錯誤でセレクターを再編集したり、アンカーを入れたりといった作業で苦労したことはありませんか？モダンデザインエクスペリエンスを設定することで「信頼性が高く、変化の強い」要素指定が実現できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/ddd0c2ff-5264-601c-e38f-6341b1c61edd.png)

https://docs.uipath.com/activities/lang-ja/docs/about-the-ui-automation-activities-pack

# 2.UI要素の部品化で開発保守が楽になります！
- 安定したセレクターを、同じUI要素を指定している箇所にも適応するのに手間を感じたことはありませんか？
- 他のプジェクトにも、この安定したセレクターを適応したいと感じたことことはありませんか？
- ワークフロー作成時に、UI要素指定のために、対象となる画面を表示させることに手間を感じたことはありませんか？

:point_up:これらの課題を一気に解決します（笑）

オブジェクトリポジトリにUI要素（UI記述子）を登録し、一括管理することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/12820ac2-f497-d0c5-af13-e7fa1a3e66da.png)


https://docs.uipath.com/studio/lang-ja/docs/about-object-repository

ここに登録したUI要素からアクティビティにドラッグ＆ドロップすることで、画面を表示しなくても、UI要素を、すばやく指定できます。UI要素（UI記述子）とアクティビティは分離されているため、オブジェクトリポジトリのUI要素を修正すると、全使用箇所に適応できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/1f100be0-8b27-e215-7e41-53393297956c.png)

# 3.SAPのGUI自動化がしやすくなります！
SRC UiPath Reusable Component for SAP（ワークフローテンプレート）の利用以外でGUI操作で運用変更がない動作などを簡易的に開発したいと思ったことはありませんか？
SAP画面の自動化しやすいよう、SAP専用Activityが標準で使える様になりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/a5693671-11b4-babf-a140-089329d9a150.png)

https://docs.uipath.com/studio/lang-ja/v2020.10/docs/about-sap-wingui-automation


# 4.StudioでStudioXアクティビティが利用できます！
StudioXの使いやすいアクティビティをStudioでも使いたいなーと思ったことはないでしょうか？
できるようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/e4da8811-1bbd-8f5f-78aa-a1335553f83a.png)


# 5.トリガーが使いやすくなります！
トリガースコープが登場し、イベント後のアクションシーケンスにイベント引数の受け渡しや検知オプションが指定できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/402249b6-95d3-63be-0a33-bde4c7321fef.png)

https://docs.uipath.com/activities/lang-ja/docs/trigger-scope

カスタムアクティビティと同様にVisual Studioを使ってトリガースコープで使うカスタムトリガーを開発できます。 （Trigger SDK）

https://docs.uipath.com/developer/lang-ja/docs/how-to-create-a-custom-trigger


# 6.アクティビティの通過を見える化できます！
どのアクティビティ（ルート）を通過して、どのアクティビティで例外をスローしたのか、パッと見て知りたいと思ったことはありませんか？実行されたアクティビティに緑マーク、例外をスローしたアクティビティに赤マークが付きます！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/46779eaa-1149-df4f-b863-5a59762cdf07.png)

# 7.Orchestratorのリソースをクイックに利用！
開発中にOrchestratorに登録されているリソースを確認するのが手間に感じることはありませんか？
選択したOrchestratorのフォルダのアセット、キュー、プロセスがリソースパネルに表示され、ワークフローに直接ドラッグ＆ドロップし任意のアクティビティを挿入できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/a7bb3db2-30c6-f1a4-9688-b73d54fe4393.png)

https://docs.uipath.com/studio/lang-ja/v2020.10/docs/the-user-interface#section-the-resources-panel

# 8.参照している箇所をクイックに検索！
参照元を探すのが大変！ってケースはないですか？「ファイル」、「アクティビティ」、「変数」、「引数」、「UI記述子」で参照元を検索してジャンプできます！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/11e785f4-ca18-5f77-59b5-9bffc313160a.png)

https://docs.uipath.com/studio/lang-ja/docs/the-user-interface#the-find-references-panel

# 9.テンプレートが展開しやすくなります！
新しいテンプレートの展開に手間を感じたことはありませんか？例えば作成したテンプレートをOrchestrator上のライブラリフィードにパブリッシュしておくと、複数の開発者がStudioからテンプレートを選択して利用できる様になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/545f030e-835f-1c9c-b68f-e94dbf331f2f.png)

https://docs.uipath.com/studio/lang-ja/docs/project-templates

# 10.便利なアクティビティが続々登場！
##ダウンロードを待機
ダウンロードしたファイルの後続処理って普通にしますよね。ダウンロードを待機アクティビティを使うとファイルのダウンロード完了するまで、このアクティビティで待つことができるので、とってもシンプルに実現できますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/9bca2164-9152-3536-c232-daa66ec1f279.png)

https://docs.uipath.com/activities/lang-ja/docs/get-last-downloaded-file

##ファイル圧縮/zip 圧縮、ファイルを展開/解凍
パスワード付きで圧縮したファイルをメール送信、メールに添付されているパスワード付き圧縮ファイルを解凍してファイル処理したいけど、どうすれば良いのだろうと悩んだことはありませんか？標準で、とてもシンプルに実現できる様になりました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/de895f8f-84ec-3c02-8268-12dac738ecd4.png)

https://docs.uipath.com/activities/lang-ja/docs/compress-files

##繰り返し（前判定）と繰り返し（後判定）のブレークとコンテニュー
繰り返し（前判定）と繰り返し（後判定）でブレークとコンテニューができない・・・何故？と思ったことはなかったでしょうか？普通に、できるようになりました。
尚、旧繰り返し（前判定）と繰り返し（後判定）のアクティビティのままでは使えないのでご注意を。
アクティビティ名は同じですが別物になってます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/5be42eaf-69bb-2547-9a4c-010351587213.png)



# おわりに
開発者、ロボット実行者、Orchestrator有無で、それぞれの利用者が見やすい様に３部構成にしています。
本記事が参考(LGMT)になるなら、また次の2021.10LTSがリリースされた後に同様の観点で記事にしようかなと思います！

https://qiita.com/Jun96427231/private/8baaab1a9e49652c8333

https://qiita.com/Jun96427231/private/ff7b40ca1186156bc496

https://qiita.com/Jun96427231/private/a6d57cb4d1b74cc94e0f

尚、バージョンアップの方法は下記のガイドをご参考に！

https://www.uipath.com/ja/resources/knowledge-base/uipath-version-up-guide