たちまち。

即席で役に立つこと。

【Dynamics 365】サイトマップの設定をしても統一インターフェイス側に反映されない

統一インターフェイスへの一本化が進んでいるDynamics365。

これまでのWeb版と統一インターフェイス版を併用していたのだが、
サイトマップの変更をしようとして掲題の問題にぶつかった。

サイトマップを変更したのに統一インターフェイス側に反映されない…

色々調べてみたところ、以下のドキュメントを見ると、サポートされているクライアントに以下のようにあった。

サイトマップ
Dynamics 365 – カスタム アプリのサイト マップ

サポートされているクライアント:
Customer Engagement Web アプリケーションおよび Dynamics 365 for Outlook

https://docs.microsoft.com/ja-jp/dynamics365/customerengagement/on-premises/customize/create-site-map-app
#最下部の「サポートされているクライアント」を参照

つまるところ、これまでWeb版で利用していたサイトマップを変更したところで、統一インターフェイスは変更されない。別管理ということだ。

では、統一インターフェイスサイトマップはどこから変更するのか。

1.ソリューションの一覧を開く(2020.04.07現在、Power Appsの画面が出る)

f:id:aposke:20200407163044p:plain


2.左メニューのアプリを開き、統一インターフェイスのアプリを選択して「編集」

f:id:aposke:20200407163055p:plain


3.アプリデザイナーが表示されるので、サイトマップの鉛筆アイコンをクリック

f:id:aposke:20200407163106p:plain


これでサイトマップデザイナーが表示されるので、この画面から変更すれば統一インターフェイスサイトマップに反映される。

 

【Dynamics365 Online】サイトマップに外部リンクを配置する

サイトマップに外部リンクを配置したい場合の手順について。

 

サイトマップデザイナーにて、追加したサブエリアの種類を「URL」にすれば遷移できそうな気がするが、
クリックした際に接続が拒否されてしまう。
(以下は、サイトマップをクリックした場合の挙動)

f:id:aposke:20200407161205p:plain

 

コンソールを見ると以下のように出るので、iframe内から別ドメインへのアクセスが禁止されているようだ。
Uncaught DOMException: Blocked a frame with origin "https://xxx.crm7.dynamics.com" from accessing a cross-origin frame.

 

つまり、サイトマップでのURL指定は「同じCRM上の別ページのURL」に遷移可能ということだ。
(以下のマニュアルなどを見る限り、外部Webサイトのページを参照できるとは書いてあるのだが…)
https://docs.microsoft.com/ja-jp/dynamics365/customerengagement/on-premises/developer/customize-dev/change-application-navigation-using-sitemap

 

※追記

本事象はWeb版アプリでのみ発生する。統一インターフェイスでは問題なくURLの機能が使える。(別ウィンドウで開く)

 

解決策としては、URLではなくWebリソース(htmlファイル)を表示させ、そのhtml内で画面遷移をさせる。

1.以下のようなhtmlファイルを用意する。

<head>

<script type="text/javascript">

function outLink() { window.parent.location.href="https://www.google.co.jp";

}</script>

</head>
<body onLoad="outLink()">遷移中…</body>

 

2.htmlファイルをWebリソースとして格納する

 

3.サイトマップのサブエリアの種類を「Webリソース」にし、URLで先ほどのWebリソースを設定する

 

以上。

 

parentのlocationを変更することで、画面全体を別サイトに遷移させることができる。

 

 

【IMBox】設定TIPS集

「私にメール」を使っても何も通知されない

 

原因は、「私にメール」の「送信者」が特定できないことによる。

 

送信者を設定することで、正しくメールが送れるようになる。
手順は以下の通り。

 

1.IM上に新規ユーザを作成する。(ライセンスは不要)
2.作成したユーザのメールアドレス1を「tenant.notice@example.com」にする。

 

投稿の内容を検索したい

 

標準では不可。IM-ContentsSearchを導入することによって可能になる。

 

導入した際のIMBoxの検索イメージは以下。

https://www.intra-mart.jp/document/library/iap/public/im_contents_search/imbox_crawler_specification/texts/template/index.html

 

グループBoxの作成権限を制御したい

 

認可画面で設定が可能。標準は、認証済みユーザは許可となっている。

 

IMBox>操作>グループ作成


https://www.intra-mart.jp/download/product/iap/imbox/imbox_administrator_guide/texts/settings/authority_settings.html

 

【AccelCollaboration】設定TIPS集

ワークスペース

ワークスペースのファイル共有アイテムの登録上限数を増やしたい

初期値は20だが、設定ファイルで変更可能。

 

WEB-INF/conf/iac-fileshare-config.xml

タグ名:registration-file-limit

 

https://www.intra-mart.jp/document/library/iac/public/iac_configuration_reference/texts/iac_fileshare/iac-fileshare-config/index.html

 

カレンダーに参照権限のない人同士のワークスペースでも、ワークスペースカレンダーを利用したい

グループカレンダー登録時の「スケジュール機能と連携する」の設定に依ります。

 

■「スケジュール機能と連携する」チェックがOFFの場合

 

ワークスペース画面のカレンダーはお互いに参照可能です。各自のカレンダーにも表示されるようになります。(スケジュール画面右上の「操作」>「表示するスケジュールの種類を選択」から、表示をONにする必要あり)
編集はワークスペースの画面から行えます。

 

■「スケジュール機能と連携する」チェックがONの場合


実際のスケジュールとして登録されるため、権限がないユーザを参加者に含めることができません。
参加者に含まれないユーザは、ワークスペース画面上からは確認できますが、スケジュール画面では確認できません。

 

ワークスペースに別会社のメンバーを追加したい

以下の設定を変更すると、認可で許可されている会社のメンバーが選択可能になる。


  設定ファイル:WEB-INF/conf/iac-workspace-config.xml
  設定箇所:user-search-acl-type
  設定値:2(デフォルトは1)

 

ワークスペースの作成権限を制御したい

 

ワークスペース作成権限設定を行うと、ワークスペース作成可能ユーザをCollaboration管理者、ワークスペース機能管理者のみに限定することができる。


  設定ファイル:WEB-INF/conf/iac-workspace-config.xml
  設定箇所:create-control-mode
  設定値:false を true に変更する

 

ファイル共有アイテムから誤って削除したファイルを復元したい

個別のファイルを消した場合→ファイル履歴から復元可能。
5.5.2.3. ファイルを履歴から復元する
https://www.intra-mart.jp/document/library/iac/public/iac_workspace/iac_workspace_user_guide/

アイテム全体で消した場合→復元不可。
消した瞬間にstorageからもファイルが消えている。バックアップから戻すしかない。

 

スケジュール

スケジュール登録で参加者の入力候補数を増やしたい

 

以下ファイルの設定で変更可能。

 

ファイル: WEB-INF/conf/iac-schedule-config.xml

設定箇所:candidate-list-limit

 

スマートフォン

スマートフォン版でTodoやインフォメーションの添付ファイルをダウンロードしたい

 

デフォルトではOffとなっている。設定ファイルで変更可能。

 

■ToDo

WEB-INF/conf/iac-todo-config.xml

タグ名:download-link

https://www.intra-mart.jp/document/library/iac/public/iac_configuration_refe
rence/texts/iac_todo/iac-todo-config/index.html#index-8

 

■インフォメーション

WEB-INF/conf/iac-information-config.xml

タグ名:download-link

https://www.intra-mart.jp/document/library/iac/public/iac_configuration_refe
rence/texts/iac_information/iac-information-config/index.html#index-13

 

なお、スケジュールから表示するToDoの添付ファイルはダウンロード不可。

 

TortoiseSVNで全てのログを一括出力する方法

SVNの廃止にあたり、過去のコミットログを参照できるように残しておきたいという要件があった。

まず、TourtoiseSVNの設定を開き、ログ出力件数を大きくしておく。

 

General > Dialogs 1 > Default number of log messages

f:id:aposke:20200406110709p:plain

 

これでShow logにて一度に全てのログが表示されるので、先頭から末尾まで選択(Shift+クリック)し、右クリック>Copy to clipboard

f:id:aposke:20200406110720p:plain

 

コピーされたものをテキストファイルとして保存してやればよい。

 

WindowsServerで資格情報マネージャーが表示されない

Windowsの検索に「資格情報マネージャ」と入力しても何も表示されない。

 

そんなときはコマンドで直接資格情報マネージャを開くとよいだろう。

 

1. Windowsキー+R(ファイル名を指定して実行)

2. 「control.exe /name Microsoft.CredentialManager」と入力

 

【Oracle】rman targetで接続時に「ORA-01017: ユーザー名/パスワードが無効です。」

■環境:Windows Server 2016

    Oracle 12c

 

rman target /

というコマンドでrmanに接続しようとすると、ユーザ名/パスワードが無効ですというエラーが発生する。

 

あるユーザでは正常に動作するのだが、異なるユーザではエラーとなる。

 

これは実行しているOSのユーザが特定のグループに所属していないことが原因。Oracleのドキュメントによると、以下の通り。

 

オペレーティング・システム認証を使用して接続するには、必ずOSBACKUPDBAグループ(通常、UNIXおよびLinuxシステムではbackupdbaグループ)のメンバーであるユーザーとしてデータベース・ホストにログインし、次のコマンドを入力します。

rman target /

SYSDBAまたはSYSBACKUPを明示的に指定しない場合は、SYSDBA権限でターゲット・データベースに接続されます。

 https://docs.oracle.com/cd/E57425_01/121/ADMQS/GUID-7ACCA8DF-537B-4DA9-A7C7-306FBFC9D903.htm

 

今回rmanを実行しているユーザは管理者権限を持っていたが、グループには所属していなかった。

 

コントロールパネル>管理ツール>コンピューターの管理 を開き、

ローカルユーザーとグループからグループの一覧を開き、以下のグループにユーザを追加することで無事に実行できるようになった。

・ora_dba

・ORA_OraDB12Home1_SYSBACKUP