# パッケージをパブリッシュする

前のセクションでは、カスタム ノードとサンプル ファイルを使用して *MapToSurface* パッケージを設定する方法について確認しました。では、ローカルで作成したパッケージはどのようにパブリッシュすればよいでしょうか。このケース スタディでは、ローカル フォルダ内のファイル セットを使用してパッケージをパブリッシュする方法について確認します。

!

パッケージは、さまざまな方法でパブリッシュできます。ここでは、**パッケージをローカルにパブリッシュして作成し、オンラインでパブリッシュする**方法を確認していきます。最初に、パッケージ内のすべてのファイルを格納するフォルダを作成します。

### パッケージをアンインストールする

前の演習で MapToSurface パッケージをインストールした場合は、同じパッケージを使用しないようにするため、このパッケージをアンインストールしてください。

まず、\[パッケージ] > \[Package Manager] > \[インストール済みパッケージ]タブ > \[MapToSurface]の横にある縦のドット メニュー> \[削除]をクリックします。

<figure><img src="https://4202566639-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJPSLCt5YLZNNPlPsMyh4%2Fuploads%2Fgit-blob-22df22579876129619e09a9799a5173b8255b900%2Fdelete-map-to-surface.png?alt=media" alt=""><figcaption></figcaption></figure>

次に、Dynamo を再起動します。\[*パッケージを管理*]ウィンドウをもう一度開いて、*MapToSurface* が表示されていないことを確認してください。これで、作業を開始する準備ができました。

### パッケージをローカルにパブリッシュする

{% hint style="warning" %}
ホスト API の依存関係がない限り、バージョン 2.17 以降で Dynamo Sandbox からカスタム ノードとパッケージをパブリッシュすることができます。旧バージョンでは、カスタム ノードとパッケージのパブリッシュは、Dynamo for Revit と Dynamo for Civil 3D でのみ有効です。
{% endhint %}

> 下のリンクをクリックして、サンプル ファイルをダウンロードします。
>
> すべてのサンプル ファイルの一覧については、付録を参照してください。

この演習で、パッケージを初めて送信することになります。サンプル ファイルとカスタム ノードは、すべて 1 つのフォルダ内に格納されています。このフォルダが作成されていれば、Dynamo Package Manager にパッケージをアップロードすることができます。

!

> 1. このフォルダには、5 つのカスタム ノード(.dyf)が格納されています。
> 2. このフォルダには、5 つのサンプル ファイル(.dyn)と、1 つの読み込み済みベクトル ファイル(.svg)も格納されています。これらのファイルは、カスタム ノードの使用方法を理解するための演習用のファイルです。

Dynamo で、*\[パッケージ] > \[Package Manager] > \[新しいパッケージをパブリッシュ]* タブをクリックします。

*\[パッケージをパブリッシュ]* タブで、ウィンドウの左側にある関連フィールドに入力します。

<figure><img src="https://4202566639-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJPSLCt5YLZNNPlPsMyh4%2Fuploads%2Fgit-blob-763902bfe236c06c0e3ea17d52fbd323ea13e3d4%2Fpackage-details.png?alt=media" alt=""><figcaption></figcaption></figure>

次に、パッケージ ファイルを追加します。\[フォルダを追加(1)]を選択すると、1 つまたはすべてのフォルダにファイルを追加できます。.dyf ファイル以外のファイルを追加するには、ブラウザ ウィンドウでファイル タイプを必ず **\[すべてのファイル(***.***)]** に変更してください。カスタム ノード(.dyf)やサンプル ファイル(.dyn)など、すべてのファイルが追加されていることを確認してください。パッケージをパブリッシュすると、Dynamo によってこれらのファイルが分類されます。

<figure><img src="https://4202566639-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJPSLCt5YLZNNPlPsMyh4%2Fuploads%2Fgit-blob-f4aa120b3f99564925c60f1d9bd99dbe7d7a3520%2Fmap-to-surface-contents.png?alt=media" alt=""><figcaption></figcaption></figure>

MapToSurface フォルダを選択すると、フォルダの内容が Package Manager に表示されます。複雑なフォルダ構造を持つ独自のパッケージをアップロードする場合に、Dynamo でフォルダ構造を変更したくない場合は、\[フォルダ構造を保持]切り替えを有効にします。このオプションは上級者向けのため、パッケージが意図的に特定の方法で設定されているのでなければ、この切り替えをオフのままにして、必要に応じて Dynamo でファイルを整理できるようにしておくことをお勧めします。\[次へ]をクリックして続行します。

<figure><img src="https://4202566639-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJPSLCt5YLZNNPlPsMyh4%2Fuploads%2Fgit-blob-8f408aafc7d2cf019e3c8c5cf7961fa49a860847%2Fmap-to-surface-contents-preview.png?alt=media" alt=""><figcaption></figcaption></figure>

ここでは、パブリッシュする前に Dynamo がパッケージ ファイルを整理する方法をプレビューすることができます。\[完了]をクリックして続行します。

<figure><img src="https://4202566639-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJPSLCt5YLZNNPlPsMyh4%2Fuploads%2Fgit-blob-ab91b780e7449dccbab50f329db5091748253374%2Fpublish-locally.png?alt=media" alt=""><figcaption></figcaption></figure>

\[ローカルにパブリッシュ] (1)をクリックして、パッケージをパブリッシュします。次に、\[*オンラインでパブリッシュ*]**ではなく**\[*ローカルにパブリッシュ*]をクリックします。これは、多数の複製パッケージを Package Manager にパブリッシュしないようにするためです。

パブリッシュが完了すると、DynamoPrimer グループまたは Dynamo ライブラリで目的のカスタム ノードを使用できるようになります。

!

次に、ルート フォルダを開き、作成したパッケージが Dynamo でどのようにフォーマットされているかを確認します。これを行うには、\[インストール済みパッケージ]タブ > \[MapToSurface]の横にある縦のドット メニューをクリックし、\[ルート フォルダを表示]を選択します。

<figure><img src="https://4202566639-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJPSLCt5YLZNNPlPsMyh4%2Fuploads%2Fgit-blob-5afcebbbace12477f62efffe8b98f0661aed879f%2Fshow-root-directory.png?alt=media" alt=""><figcaption></figcaption></figure>

ルート フォルダは、パッケージのローカルの場所にあります(ここまでの手順で、パッケージはローカルにパブリッシュされています)。Dynamo は、このフォルダを参照してカスタム ノードを読み込みます。そのため、デスクトップではなく、ローカルの永続的な場所にパブリッシュする必要があります。Dynamo パッケージ フォルダの内容は次のとおりです。

!

> 1. *bin* フォルダには、C# ライブラリまたは Zero-Touch ライブラリを使用して作成された .dll ファイルが格納されます。このパッケージにはこうしたファイルがないため、このフォルダは空になっています。
> 2. *dyf* フォルダにはカスタム ノードが格納されます。このフォルダを開くと、このパッケージのすべてのカスタム ノード(.dyf ファイル)が表示されます。
> 3. extra フォルダには、すべての追加ファイルが格納されます。通常、これらのファイルは、Dynamo ファイル(.dyn)または必須の追加ファイル(.svg、.xls、.jpeg、.sat など)です。
> 4. pkg ファイルは、パッケージの設定を定義する基本のテキスト ファイルです。このファイルは Dynamo によって自動的に作成されますが、必要な場合は編集することができます。

### パッケージをオンラインでパブリッシュする

{% hint style="warning" %}
注: 独自のパッケージを実際にパブリッシュしない場合は、この手順を実行しないでください。
{% endhint %}

<figure><img src="https://4202566639-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJPSLCt5YLZNNPlPsMyh4%2Fuploads%2Fgit-blob-a22277d7da3acd169506df9befce606fef44a563%2Fpublish-version.png?alt=media" alt=""><figcaption></figcaption></figure>

1. パブリッシュの準備ができたら、\[パッケージ] > \[Package Manager] > \[インストール済みパッケージ]ウィンドウで、パブリッシュするパッケージの右側にあるボタンを選択し、\[パブリッシュ]を選択します。
2. 既にパブリッシュされているパッケージを更新する場合、\[パブリッシュ バージョン]を選択すると、パッケージのルート フォルダ内の新しいファイルに基づいて、パッケージがオンラインで更新されます。

### \[パブリッシュ バージョン...]オプション

パブリッシュしたパッケージのルート フォルダ内にあるファイルを更新した場合、\[*マイ パッケージ*]タブで\[*パブリッシュ バージョン...*]を選択して、新しいバージョンのパッケージをパブリッシュすることもできます。この方法により、シームレスにコンテンツを更新してコミュニティ間で共有することできます。\[*パブリッシュ バージョン*]オプションは、ユーザがパッケージを保守している場合にのみ機能します。

### パッケージの所有権を譲渡する

現時点では、Package Manager を使用してパッケージの所有権を譲渡することはできません。Dynamo チームに依頼して所有者を追加することはできます。既存の所有者を削除することはできず、パッケージ管理者の追加のみ可能であることに注意してください。既存のパッケージに所有者としてのアカウントの追加を希望する場合は、<dynamoteam@dynamobim.org> に電子メールを送信してください。その際、パッケージ名と追加するアカウント名を必ず指定してください。
