UXPのロードマップが出ましたね。InDesign関連をかいつまんで

2023年04月19日

InDesign JavaScript教室 第3期」ですが、明日・明後日にも募集を開始しようと準備を進めています。

前回までAdobe JavaScript ≒ ExtendScriptだったんですが、InDesign 18.0からExtendScriptに加えUXPスクリプトも使えるようになりました。そのため「JavaScript教室」は内容を正確に表していないことになったのですが、名前は変えずに行きます。というのも、実UXPスクリプトにも少し触れます。皆さんの環境がバージョ18になっUXPスクリプトが使えるのはまだ先でしょうから、今回ExtendScriptが中心で、ちょっとだUXPスクリプトの話をするという段階です。ただ、いずれ(5~10年後?)UXPスクリプトに切り替えるときが来るでしょう。


ということで募集ページを作っている途中なんですが、このタイミングで今年UXPのロードマップが出てきました。

Plans for UXP in 2023

ここでUXP本体Photoshop、XD、InDesignについてのロードマップが提示されています。その中かInDesignに関するところをピックアップして紹介します。その前に「UXPとは何ぞや?」という方はこちらの記事を先に読んでくださいませ。

UXPにもバージョンがありまして、今開発中なのはバージョ7.0です(ですから現行6.xと思われるのですがどこで確認したらいいんでしょうね)。利用可能な時期については次のように記載されています。

UXP v7.0

Already available with Photoshop v24.4 (Beta) and soon to be integrated with Adobe XD (tentative June) and InDesign (tentative July), UXP v7.0 has major updates and new features.

つまり

  • Photoshop → 24.2Betaで利用可能
  • XD → 6月(仮) 
  • InDesign → 7月(仮) 

ですね。XDはまだ生きてるみたい。

InDesignに関する次の記述は多くのことを示唆していますが、まだ謎です。

Future releases (UXP > v7.0)

We plan to add new features and enhance existing ones for the rest of the year. Here’s how:

Exciting enhancements to InDesign UXP Scripting

Last year we unlocked the support for UXP Scripts in InDesign v18.0. With InDesign v18.4 (tentative release date — June) we plan to release the following set of enhancements.

  • InDesign Server (IDS): UXP scripts will be able to take arguments and return value from/to the client.
  • InDesign Cloud Service (IDCS) will support UXP scripting.

UXP 7.0の後で追加される機能のようですが、次の内容があります。

  • InDesign 18.4が6月(仮)に出る
  • InDesign ServerでUXPスクリプトがサポートされる
  • InDesign Serverでは引数を持ったり値を返すことができるようになる
  • InDesign Cloud Service (IDCS) というものが存在する

まず思ったのが「日付が矛盾してる?」ということです。上の方の記述で「UXP 7.0は7月ごろに出InDesignで利用可能」と書いているのに「6月ごろに出InDesign 18.4で7.0後の機能追加がある」と書かれています。でも、上の記述UXPのもので、下の記述UXP Scriptingのもの、ということならば矛盾していないのかもしれません。英語には自信がないので読み間違えているかもしれません。誰か教えてください。

InDesign Cloud Service (IDCS)」については初耳です。これ何でしょうね。

18.4UXPScriptの書き方が変わります。「すでにバンバUXPScriptを書いてるぜ」って人はそういないと思いますが、そういう人にとっては今まで書いていたものが動かなくなります。

従来(18.0Beta~18.3)の書き方
let doc = app.documents.add();
18.4以降の書き方
let idDom = require("indesign");
let doc = idDom.app.documents.add();

Photoshopと同じように、DOMを呼び出す行を追加しなければなりません。 "indesign" のところはバージョンを指定して "indesign_18.0" とすることもできます。(これ「let app = require("indesign").app;」と書けるんなら1行追加だけでいけそうなんだけどな)

あと、イベントリスナScriptMenuActionがサポートされる予定です。これらExtendScriptでサポートされているものが未実装だったので、だんだん追いついてきているという感じですね。記述にはないですが、Photoshopの方alert()、prompt()、confirm()が追加されたので、いずれ追加される可能性が高いですね。

UXP Plugins for InDesign

Along with the support for UXP Scripts, you will be able to build and publish UXP plugins for InDesign. The tentative date is mid-July. Join InDesign’s prerelease program to build UXP plugins as soon as it’s available. (Note: If your application has been pending for these programs for more than a few business days, reach out to wwds@adobe.com.)

In the latter half of the year, you will also be able to create UXP Hybrid plugins (UXP plugins with C++ capabilities) in InDesign.

7月中旬UXPプラグインをサポートする予定ということです。早く見たい人はプレリリースに参加してね、参加が数日保留されている場合(私は数年ほったらかしにされましたけど)はメールしてね、ということです。

終わりに近いところに「InDesign v18.5」の記述がありますね。これが「7月中旬」を意味するんでしょうか。そのあたりもまだ謎です。

あと「AI/ML」の記述がありますが、Artificial Intelligence(人工知能)Machine Learning(機械学習)のことのようです。この辺になると何をしたいのか全く想像がつかないです。

ということで、わからないことが多すぎて紹介になってないですね。間違ってるかもしれない(多分間違ってる)ので是非原文で確認してください。


4月25日 追記

UXPのバージョンの確認ですが、UXP Developer Tool(UDT)から確認できました。InDesignを起動した状態UXP Developer Toolを起動すると表示されているという。

このツール、エディタと連動できないから、普段全く使わないんだよな。