Experimentalってどういうこと?

6日にオブジェクトモデルを更新しました。古籏さんの指摘を反映しました。で、CS5-CC2015のオブジェクトモデルはこれで更新を終了しました。

え、もうやめたの? というと、さにあらず。CC2018で新しいオブジェクトが結構追加されているので、それに対応したものを作成中です。なので更新終了というわけです。

今後の予定ですが、domフォルダは新しいオブジェクトモデルに差し替えます。なので、URL直打ちで入っている方は何もせずに新しいオブジェクトモデルの方に切り替わります。それはいや、という方のために現在公開中のものもそのまま残しておきます。その場合、「dom」フォルダではなく「dom7to11」フォルダの方にアクセスしてください。既に複製済みですので、もう切り替えても大丈夫です(ただし、まだどこからもリンクされていません)。

新しいオブジェクトモデルの掲載バージョンとか掲載時期はまだ「考え中」です。調べてる途中の部分もあるし、微妙な時期になってしまったので。


さて表題の件ですが、CC2018(13.1)のオブジェクトを調べていると、説明文に「Experimental:」と書いてあるものがいくつかあって、これが何かわからずに困っています。Googleさんに聞くと「実験的」だというのですが、開発者は何の実験をしようとしているのか、そしてどのようになるのか不明です。特に別途のプラグインを入れなくても使えるようなのですが、いまだに使えていないという機能です。

それはどこかというと、HttpLinkConnectionManagerObjectというオブジェクトになります(長いので、以下HLCMOと略します)。それに付随していくつかのプロパティやメソッドにあります。

区別 プロパティやメソッド 値や戻り値 説明
プ app.httpLinkConnectionManager HLCMO Connection manager property
メ HLCMO.httpConnect なし Create a url connection for the given server address
メ HLCMO.isConnected 真偽値 Checks if the given server URL is connected or not.
メ HLCMO.logout なし Logout from the given URL
メ InsertionPoint.
createTextFragmentLink
Link Place the text fragment fetched from url onto insertion point and create a link
プ Link.linkResourceURI 文字列値 The URI of the linked resource.
プ Link.renditionData LinkResourceRenditionType列挙 The rendition data of the link resource.
メ Link.reinitLink なし Reinitialize the link to a new uri
メ Link.relinkTextFragmentLink なし Relink the text fragment link to a new uri
メ Link.replaceWithOriginal なし Download the original asset and replace FPO with it.
プ LinkingPreference.
httpLinksRenditionType
LinkResourceRenditionType列挙 The rendition type for http link.
プ LinkingPreference.
httpLinksAutoTagAssetsPreference
真偽値 The preference for enabling auto tagging of items created through http based links.

FPOはどうも「アタリ画像」のようです。使い方はおそらく次のようなのでは?

  1. サーバーに接続
    app.httpLinkConnectionManager.httpConnect(サーバーURL, JSONデータ);
  2. 挿入点(カーソルが立っているところ)に何らかのデータを挿入
    var htlink = app.selection[0].createTextFragmentLink(ソースURI);
  3. 必要に応じて再リンク?
    htlink.relinkTextFragmentLink(ソースURI);
  4. サーバー上のデータが更新されたら再リンク?
    htlink.reinitLink();
  5. 接続が生きているかを確認して追加でデータ挿入とか?
    if (app.httpLinkConnectionManager.isConnected(サーバーURL)) {...}

と推測するんですが、UIではそんな機能はないし、動かないしで(最初にサーバーにJSONデータを送るのだけれど、それがわからない)とにかく確認する方法がない。画像もありそうだけど作成方法が見つからないし、ということで完全にお手上げ。ということで情報お待ちしております。

誰か調べて自分のブログに書いてもいいよー。