2014年12月15日月曜日

Windows Store App開発のためにLync SDKを利用することが出来ない。

最近弊社でもWindows Store App、つまりタイルスタイルのアプリ開発をすることが多くなりました。ところで、弊社ではLync SDKを利用したLyncのWindows Desktopアプリの開発をしてきましたが、ここにきて衝撃の新事実が出てきました。

それはなんとLync SDK 2013がWindows Store Appには対応していないとのことです。つまりサードパーティである我々は、UCWAを利用して、認証、IM、プレゼンスの取得まではできても、音声通話、ビデオ通話をするアプリを開発することはMicrosoft社が定める仕様により不可能なのです!

参考サイト

Lync 2013 SDK for Windows 8 Metro Apps

https://social.msdn.microsoft.com/Forums/lync/en-US/76135d03-d254-4992-98d3-b5bcfec5bc99/lync-2013-sdk-for-windows-8-metro-apps


Is it possible to use Lync 2010 API to build apps on Windows 8 desktop

https://social.msdn.microsoft.com/Forums/office/en-US/e8275072-6246-4b7d-9780-035be96e5275/is-it-possible-to-use-lync-2010-api-to-build-apps-on-windows-8-desktop?forum=communicatorsdk

Lync 2013: Create UCWA Windows Store apps using C#/XAML and XML


Lync enabled Windows Store app - File Transfers & Video Conversation - Lync SDK

https://social.msdn.microsoft.com/Forums/lync/en-US/124c2f9c-3eb0-4146-85d6-0aa0a38987d0/lync-enabled-windows-store-app-file-transfers-video-conversation-lync-sdk?forum=communicatorsdk


では、Microsoft自体はどのようにしてWindows Store上にて下記のようなアプリを開発し、公開しているのでしょうか?

WindowsStoreアプリはマイクロソフトだけが作れます。


それはiOSやAndroid上のLyncアプリと同様に自社提供アプリだけには、UCWAの音声、ビデオその他もろもろのAPIの口を利用させているのではないかと予想されます。

Microsoftさん、早くその非公開のAPI、われわれサードパーティにも使わせてください。
何卒宜しくお願い致します。

フェアユース株式会社 代表取締役 足立洋介



2014年12月9日火曜日

Japan MVP Open Day 2014のスライドを公開します。

Japan MVP Open Day 2014 2日目のOffice – Breakout Session & Panel Discussionでの弊社代表足立洋介の発表内容になります。




MVP事務局の許可をいただき公開させていただきます。
フェアユース株式会社代表取締役 足立洋介

2014年12月8日月曜日

Microsoft MVP Open Day Japanに参加しました。

Microsoft MVPが一同に会するMVP Open Day Japan(12月6日、7日@日本マイクロソフト品川本社)に足立洋介とAye Myat Moeが参加しました。





MVP Open Dayについては下記サイトを参考にしてください。
http://blogs.itmedia.co.jp/kizawa/2014/12/_japan_mvp_open_day.html

フェアユース株式会社代表 足立洋介
 
 
 
Japan Microsoft MVP Open Day (12月6日、7日@日本マイクロソフト品川本社)に参加させて頂いて大変楽しかったです。
 
 

 
フェアユース株式会社 エーミャッモー


2014年12月5日金曜日


SharePointのユーザープロファイル情報をCSV形式でエクスポートする

Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

[$siteUrl][$outputFile][$fields]を編集する必要があります。

$siteUrl = "http://<サイトURL>"
$outputFile = "c:\sharepoint_user_profiles.csv"
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$serviceContext = Get-SPServiceContext -Site $siteUrl
 
$profileManager=New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($serviceContext);
$profiles = $profileManager.GetEnumerator()
 
$fields = @(
            "PreferredName",
                "SPS-PhoneticDisplayName",
"AccountName",
                "CompanyName",
                "Department",
                "Title",
                "PictureURL",
                "AboutMe",
                "SPS-Responsibility",
                "WorkEmail",
                "CellPhone",
                "Office",
                "SPS-Birthday",
                "SPS-Skills"
           )
$collection = @()
 
foreach ($profile in $profiles) {
   $user = "" | select $fields
   foreach ($field in $fields) {
     if($profile[$field].Property.IsMultivalued) {
       $user.$field = $profile[$field] -join "|"
     } else {
       $user.$field = $profile[$field].Value
     }
   }
   $collection += $user
}
$collection | Export-Csv $outputFile -encoding "unicode"
$collection |  Out-GridView

組織図

ユーザプロファイページに組織図Webパーツを追加しますと組織図が表示されます。組織図には、組織内でのユーザーの立場が、上司、同僚、直属の部下という形で示されます。組織図から他の人を選択すると、その人のプロファイルが表示されます。
 
フェアユース株式会社 エーミャッモー

2014年12月4日木曜日


検索対象項目の設定

1.この手順を実行するユーザー アカウントが、Farm Administrators SharePoint グループのメンバーであるか、User Profile Service アプリケーションのサービス アプリケーションの管理者であることを確認します。

2.サーバーの全体管理の [アプリケーション構成の管理] セクションで、[サービス アプリケーションの管理] をクリックします。

3.[サービス アプリケーションの管理] ページの [種類] 列で、[User Profile Service アプリケーション] をクリックします。

4.リボンの [サービスアプリケーション] グループで、[管理] をクリックします。

5.[プロファイル サービスの管理] ページの [ひと] セクションで、[ユーザー プロパティの管理] をクリックします。

6.[ユーザー プロパティの管理] ページで、編集するプロパティをクリックします。

.[編集、削除] ドロップダウン リストで、「編集」をクリックします。

.[ユーザー プロファイル プロパティの編集] ページで、[検索の設定] セクションの「インデックス」チェックボックスをオンにします。

.[OK] をクリックします。


新しいカスタムプロパティを検索対象項目として設定するため、下記のステップを行ってから下記の通り設定する

1.サーバーの全体管理の [アプリケーション構成の管理] セクションで、[サービス アプリケーションの管理] をクリックします。

2.[サービス アプリケーションの管理] ページで、[Search Service アプリケーション] をクリックします。

3.[検索管理] ページのサイド リンク バーの [クエリと結果] セクションで、[検索スキーマ] をクリックします。

4.[管理プロパティ] ページで、[新しい管理プロパティ] をクリックします。

5.[新しい管理プロパティ の追加] ページの [名前と説明] セクションの [プロパティ名] ボックスに、Search Service Application アプリケーションがその検索プロパティに使用する名前を入力します。

6.[種類] セクションで、[テキスト]の種類をクリックします。

7.[主な特徴 ] セクションで、[検索可能]チェックボックスをオンにします。

8.[検索可能の詳細設定: ] セクションで、[検索可能な詳細設定]ボタンをクリックします。

9[検索可能な詳細設定の選択]ダイアログボックスで、[フルテキスト インデックス]ドロップダウンに[PeopleIdx]を選択します。

10[重み付けグループ]ドロップダウンに、[コンテキスト1]を選択します。

11[OK]をクリックします。

12.[クエリ可能] セクションで、[クエリ可能]チェックボックスをオンにします。

13.[取得可能] セクションで、[取得可能]チェックボックスをオンにします。

14.[複数の値を許可] セクションで、[複数の値を許可]チェックボックスをオンにします。

15.[トークンの正規化] セクションで、[トークンの正規化]チェックボックスをオンにします。

16.[クロールされたプロパティへのマッピング] セクションで、[クロールされた全プロパティからコンテンツを取り込む]ラジオボタンを選択し、[マッピング追加]ボタンをクリックします。

17.[クロールされたプロパティへの選択] ダイアログボックスで、[クロールされたプロパティ名の検索]ボックスで、[プロパティ名]を入力し、[検索]ボタンをクリックします。

18.[クロールされたプロパティ の選択] ボックスで、[ひと:<対象項目>]を選択し、[OK]をクリックします。

19.[新しい管理プロパティ] ページで、[OK]ボタンをクリックします。

20.[検索管理] ページのサイド リンク バーの [クロール] セクションで、[コンテンツ ソース] をクリックします。

21.[コンテンツ ソースの管理 ]ページで、[<人の検索>]コンテンツソースの矢印をクリックし、[フルクロール開始] をクリックします。
 
既定プロパティを検索対象項目として設定するため、下記のステップを行ってから下記の通り設定する
1.[検索管理] ページのサイド リンク バーの [クロール] セクションで、[コンテンツ ソース] をクリックします。
2.[コンテンツ ソースの管理 ]ページで、[<人の検索>]コンテンツソースの矢印をクリックし、[フルクロール開始] をクリックします。
フェアユース株式会社 エーミャッモー
 

2014年12月3日水曜日


Lyncスキル検索でSharePoint2013の人検索

SharePoint Server 2013の設定

SharePointサーバー2013に人の検索設定方法は下記のURLから参照してください。




Lync Server 2013の設定

Lyncクライアント2013の設定方法は下記の通りになります。

スキル検索インバンド設定は、グローバル、サイト、または、ユーザーに設定されています。

グローバルに設定する

グローバルポリシーに紐づくかたちでスキル検索  を有効にするためには、以下のコマンド実行します。

Set-CsClientPolicy Global -SPSearchInternalURL http://<サーバー名>/_vti_bin/search.asmx

Set-CsClientPolicy Global -SPSearchExternalURL http://<サーバー名>/_vti_bin/search.asmx

Set-CsClientPolicy Global -SPSearchCenterInternalURL http://<サーバー名>/sites/suntory/pages/peopleresults.aspx

Set-CsClientPolicy Global -SPSearchCenterExternalURL http://<サーバー名>/sites/suntory/pages/peopleresults.aspx

各ユーザーに設定する

1).新しいクライアントポリシーを作成します。

New-CSClientPolicy -Identity <ポリシー名>

2).新しいクライアントポリシーにスキル検索 に基づいたURL を有効にするため、以下のコマンド実行します。

Set-CSClientPolicy -Identity <ポリシー名> -SPSearchInternalUrl http://<サーバー名>/_vti_bin/search.asmx

Set-CSClientPolicy -Identity <ポリシー名> -SPSearchExternalUrl http://<サーバー名>/_vti_bin/search.asmx

Set-CSClientPolicy -Identity <ポリシー名> -SPSearchCenterInternalUrl http://<サーバー名>/sites/suntory/pages/peopleresults.aspx

Set-CSClientPolicy -Identity <ポリシー名> -SPSearchCenterExternalUrl http://<サーバー名>/sites/suntory/pages/peopleresults.aspx

3).スキル検索対象ユーザを新しいクライアントポリシーの権限を設定する

Grant-CsClientPolicy -Identity <ユーザー名> -PolicyName skillClientPolicy

Grant-CsClientPolicy -Identity <ユーザー名> -PolicyName skillClientPolicy

4).対象ユーザーのLyncクライアントにスキル検索タグが表示できているのを確認します。
 
 
 
5).対象ユーザー以外のLyncクライアントにスキル検索タグが非表示になっているのを確認します。
 

 
 サイトポリシーに設定する

グローバルポリシーにスキル検索 に基づいたURL を有効にするため、以下のコマンド実行します。

Set-CsClientPolicySite:<サイトポリシー名> -SPSearchInternalURL http://<サーバー名>/_vti_bin/search.asmx

Set-CsClientPolicySite:<サイトポリシー名> -SPSearchExternalURL http://<サーバー名>/_vti_bin/search.asmx

Set-CsClientPolicySite:<サイトポリシー名> -SPSearchCenterInternalURL http://<サーバー名>/sites/search/pages/peopleresults.aspx

Set-CsClientPolicySite:<サイトポリシー名> -SPSearchCenterExternalURL http://<サーバー名>/sites/search/pages/peopleresults.aspx

 

スキル検索を無効に設定する

1).グローバルにスキル検索設定が有効になっている状況です。
 
 
2).グローバルにスキル検索を無効にします。
Set-CsClientPolicy Global -SPSearchInternalURL $null
Set-CsClientPolicy Global -SPSearchExternalURL $null
Set-CsClientPolicy Global -SPSearchCenterInternalURL $null
Set-CsClientPolicy Global -SPSearchCenterExternalURL $null


 

3).グローバルにスキル検索が無効になっている状況です。


 フェアユース株式会社 エーミャッモー

2014年12月2日火曜日


Lyncスキル検索の概要


マイクロソフトが提供しているLyncクライアントにはスキル検索という機能があります。SharePointのユーザープロファイル上の個人のデータをLyncクライアント(Basicエディションは不可)で検索が出来るようになります。

設定の詳細は、「マイクロソフトのLyncサーバー2013評価ガイド」をご覧ください。


 
Lyncスキル検索のユーザアビリティー
 
 
 

上記の通りLyncクライアントからの検索が可能になります。

Lync クライアントの「①検索キーワード入力ボックス」に文字を入力すると「②スキルタグ」が表示され、「スキルタグ」をクリックすると、「③検索結果」が表示されます。「④結果をSharePointで表示する」リンクをクリックすると、「SharePointサーバーの検索ページ」が表示されます。

本日から数回にわたりスキル検索の実装方法について御説明します。
 
フェアユース株式会社 エーミャッモー



 

2014年11月28日金曜日

Japan SharePoint Group 勉強会第16回にて登壇をさせていただきました。

Japan SharePoint Group 勉強会第16回


2014年9月20日に名古屋で開催されましたJapan SharePoint Group 勉強会第16回にて登壇をさせていただきました。その時の資料になります。

 



フェアユース株式会社 代表取締役 足立洋介

Lync Developer Day のゼネラルセッション講演いたしました。

2014年10月15日 日本マイクロソフト株式会社で開かれた Lync Developer Day のGeneral Sessionにて登壇、講演の機会をいただきました。







フェアユース株式会社 代表取締役 足立洋介

2014年8月6日水曜日


Lync Conversation Window 拡張 (CWE)

LyncConversation Window ExtensionというのはLyncクライアントのConversation Windowの右ペインでカスタムアプリケーションを提供できるUIになります。



LyncConversation Windowでカスタムアプリケーションを拡張するため、二つの方法があります。

方法1:Install-Registration

LyncCWEを利用するPCでレギスターキーを登録必要があります。レギスターキーを登録しておくことで、Lync 使用時に、いつでも呼び出すことができます。

登録手順:

LyncConversation Windowに拡張するカスタムアプリケーションをWindowsFormWindows Presentation FoundationSilverlightプラットフォームを使って開発可能ですが、拡張時に、一番簡単なのはSilverlightアプリケーションになります。今回はSilverlightアプリケーションを使っての登録方法を説明致します。

   Silverlightアプリケーションを作成します。

   拡張機能の GUID を作成する必要があるため、Visual Studio [ツール] - [GUID の作成] を選択して、新しい GUID を作成しておきます。

    下記の通り.reg ファイルを作成して、実行します。

Windows Registry Editor Version 5.00

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Lync\Addins\{01e48572-1cee-4896-b5d7-f62d19ad145d}]
"DefaultContextPackage"=dword:00000000
"ExtensibilityWindowSize"=dword:00000001
"ExternalURL"="C:/Lync
拡張アプリ/CWESampleTestPage.html"
"InternalURL"="C:/Lync
拡張アプリ/CWESampleTestPage.html"
"Name"="Sample CWE Application"

 



 
  
項目名
タイプ
内容
Name
REG_SZ
【必須】アプリケーションの名称
DefaultContextPackage
REG_DWORD
カスタムアプリケーションをLyncクライアントの
ConversationWindowを開く同時をデフォルトとして拡張する、
拡張しない。 

 
【デフォルト : 0 
0 = false, 1 = true.
ExtensibilityWindowSize
REG_DWORD
ConversationWindowのサイズを設定する。

【デフォルト : 0】                 
0 = (300 x 200 pixels),            
1 = (400 x 600 pixels),            
2 = (800 x 600 pixels).
InternalURL
REG_SZ
  Silverlight アプリケーションを Web サーバー (IIS) 上に配置
   SilverlightアプリケーションをWindows Azure 上に配置
   Silverlightアプリケーションをローカルパスに配置

Silverlightアプリケーションを配置した場所のURLを入力する。
ExternalURL
REG_SZ
  Silverlight アプリケーションを Web サーバー (IIS) 上に配置
   SilverlightアプリケーションをWindows Azure 上に配置

  Silverlightアプリケーションをローカルパスに配置

Silverlightアプリケーションを配置した場所のURLを入力する。

アプリケーションを起動する時、アプリケーションから“InternalURL”
を使用するか、”ExternalURL”を使用するかを自動で検出します。
ExtensibilityWindowSize
Lync2010クライアントでは、三つのサイズを設定することができますが、
Lync2013クライアントでは Size=0(小)、 Size=1(中)は同じ中サイズで
表示されています。Lync2013クライアントのバグである可能性があります。
 
Size=0(小)
 


Size=1(中)





Size=2(大)






方法2:Run-Time Registraiton

プログラムコードよりレギスターキーを登録することができます。ユーザがLyncクライアントにサインインしている間のみ有効になります。(Lync のサインアウトと同時に消失します。)

登録手順:

アプリケーションの中に下記のコードを入力して実行すると、Lyncクライアントで一時的にConversationWindowが拡張されます。

ApplicationRegistration myApplicationRegistration ;

myApplicationRegistration = LyncClient.GetClient().CreateApplicationRegistration(
                    “{01e48572-1cee-4896-b5d7-f62d19ad145d}”,
                    Sample CWE Application”);
myApplicationRegistration.SetExtensibilityWindowProperties(
                  "C:/Lync拡張アプリ/CWESampleTestPage.html",
                  "C:/Lync拡張アプリ/CWESampleTestPage.html",
                  ConversationWindowExtensionSize.Large);
myApplicationRegistration.AddRegistration();
 
フェアユース株式会社 エーミャッモー