Tridionに現在ログインしているユーザーのTCM URIを取得するにはどうすればよいですか?JavaScriptコードで現在ログインしているユーザーのTCM URIを取得するにはどうすればよいですか?
Tridion 2011でGUI拡張を開発中で、コンポーネントが現在ログインしているユーザーにチェックアウトされているかどうかを確認する必要があります。現在ログインしているユーザーのTCM URIをcomponent.getLockedById()
と比較する予定です。
TridionのJavaScriptファイルを見るときに、現在ログインしているユーザーのユーザー名をどこかに取得する方法を知っています。
EDIT
私は、少なくともユーザ名を取得するための一つの方法を見つけた:
var username = Tridion.ContentManager.UserSettings.getInstance().getUserName();
であると考えているあなたが探してすることができるラインが
だと思います現在のユーザーですか?あなたは通常、アイテムを開くことができるので、これを行う必要はありません。正しいOpenModeを選択することで、アイテムがチェックアウトされている場合の 'open'の動作を制御できます。 –
コンポーネントがチェックインされていることを確認するコードを書いています。$ models.getItem()を使用してコンポーネント情報を取得し、必要に応じてコンポーネントをロードします。私は、このメソッドを使用するとコンポーネントが時には現在のユーザーによってチェックアウトされていることに気付きました(その前にチェックインされている場合)。その場合、チェックインする必要があります。ユーザーがチェックアウトしているかどうかを確認してください。 コンポーネントを開こうとすると、別の優れた方法になる可能性があります。私はそれを調べます! –
あなたは間違った方法でアイテムを読み込んでいるようです。 "load"メソッドには、 "load(reload、openMode、suppressError)"という3つのパラメータがあります。キーは2番目のパラメータです。デフォルトでは "EDIT_WITH_FALLBACK"に設定されています。つまり、アイテムを読み込むと、可能であればチェックアウトされます。 あなたは何をする必要がありますか?明示的にopenModeパラメータを$ const.OpenMode.VIEWに設定するか、 "load"ではなく "staticLoad"メソッドを使用してください。 "staticLoad"は、デフォルトでVIEWオープンモードでアイテムをロードします。 –