他のユーザーと共用するマクロを開発したので Designer の製品についてくるような サンプルワークフローも作りました。
これをツールパレットに登録し、ツールをクリックすると "Open Example" のリンクを表示して サンプル を開けるようにしたいと思いました。
Knowledge Base に以下の記事を見つけました。
How to add an example link in the custom tool
ここに記載のとおり、サンプルワークフローを 以下のフォルダに保存し;
C:\Program Files\Alteryx\Samples\en\MyTest
マクロファイル の XML の中の <Example> tag を以下の様に修正したところ;
解決済! 解決策の投稿を見る。
これはなかなか難しそうですね・・・。フルパスにしたところで無視されるので、確かに特定のフォルダのみしか開かないように制限がかかっているように思います。Ideasにみんなで書くしか無いかと・・・。
相対パスで記載されているので、ツールが置いている場所から、sample WFのあるフォルダをうまく参照できてないのだと思われます
パスの指定を以下のようにフルパスにしたところ、指定したyxmdが正常に開きました
余談ですが、Open Exampleという文字列も、任意に変えることができるようで、ちょっと面白かったです。
おっと、、となると、日本語がパスに含まれてると機能しないパターンですね・・・(日本語のワークフローを指定してたので)。
@gawa さん @AkimasaKajitani さん
ありがとうございます。
「英語&絶対パス」 で動作しました!
もとの説明文に
The sample workflow can only exist in %ALTERYX_INSTALL%\Alteryx\Samples\%LANG%.
The link will fail if the file is located in a different path.
と言っているので 相対パスでなければいけないのだと勝手に思っていました。
あと、「絶対パスだったら他の場所にワークフローを置いても開くかな」と思って試したら、これは動きませんでした。
奥が深い...
@Yoshiro_Fujimori
Non-Admin版だとUserフォルダ以下にAleryxフォルダが展開されるので、C:\Program Files...の絶対パスだと通らなくなると思われ、ユーザ毎に動的に参照するパスを変えてくれるとベストなのですが。。。
調べている中で、説明文の %ALTERYX_INSTALL% が環境変数と勘違いして試行錯誤してましたが、そうではなかったようです。残念。
一点、制約として考えられるのは、絶対パスだと多言語対応できないのではないかと。
今回 試した際には、サンプルワークフローを英語用のサンプル用フォルダの下に置きましたが;
C:\Program Files\Alteryx\Samples\en\
この状態で Designer を日本語設定にすると、サンプルワークフローへのリンクが動きませんでした。
Data Cleansing Tool をマクロとして開いて <Example> tag を見ると以下のように相対パスです。
<Example>
<Description>Open Example</Description>
<File>02 Preparation\Data_Cleansing.yxmd</File>
</Example>
対象のサンプルワークフローは
英語:C:\Program Files\Alteryx\Samples\en\02 Learn_one_tool_at_a_time\02 Preparation\Data_Cleansing.yxmd
日本語:C:\Program Files\Alteryx\Samples\ja\02 Learn_one_tool_at_a_time\02 Preparation\Data_Cleansing.yxmd
のように置かれています。
推測ですが、Designer の 言語設定を切り替えると同時に、参照するフォルダを en ⇔ ja と切り替えているので
絶対パスだと en のフォルダを XML で指定していると Designer を 日本語設定にした時に日本語用フォルダを見に行ってしまうのかと。
まあ、通常 自分が使う言語環境に置いておけばよい話ではありますが、気づいたので書いておきます。