Quantcast
Channel: MSDN Blogs
Viewing all 29128 articles
Browse latest View live

SharePoint 2013 – How to crawl IIS Virtual Directories created under SharePoint Web application

$
0
0

We have recently come across a scenario where one of our customers is unable to crawl the contents of a virtual directory that's created under the Sharepoint web application . This blog post will talk about how to configure Sharepoint Search to crawl files of a virtual directory.

Lets consider the below as example:

SharePoint Web application URL: http://sp2103:4141/

Virtual Directory URL: http://sp2103:4141/test

By default, when you configure Sharepoint search , the Sharepoint site http://sp2103:4141/ will be crawled using the "Local Sharepoint Sites" Content source. To crawl the virtual directory , if a new content source is created with start address as http://sp2103:4141/Test/ , it may not crawl the contents of the Virtual directory , but trigger another Sharepoint crawl on the start address http://sp2013:4141/.

 

Lets see how we can achieve this - The first and foremost , you need some content within the Virtual directory. So lets create a few sample HTML /ASPX files

 

 

 

 

 

 

 

 

 

 

 

Then, follow the 3 steps mentioned below

1) Create a new content source.

Start Address: http://sp2013:4141/test

Content Source Type- Web site

Only crawl the first page of each start address.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) Create Crawl rule as below

Path: http://sp2013:4141/test/*

Crawl SharePoint content as http pages

The crawls to http://sp2013:4141/test/* would be website (non-Sharepoint) crawls.

To discover other pages we need links embedded in the index page “default.aspx”.

 

 

 

 

 

 

 

 

 

 

 

 

 

3) Do full crawl on the new content source.

Now only the items under the virtual directory is crawled.

 

 

 

 

 

 

 

WARNING: Its highly recommended NOT to modify the settings of IIS website created by Sharepoint. A proper back up of the Site / files along with a good documentation of your IIS settings will be useful in case disaster recovery scenario arises.

 

POST BY : Ajay Xavier [MSFT]


QnA Maker よくあるご質問

$
0
0

こんにちは。Cognitive Services 開発サポートチームの津田です。

 

QnA Maker はプレビュー版ですが、現在まで、いくつかのお問い合わせをいただいております。今月時点でご案内可能な内容をご紹介いたしますので、同様の疑問をお持ちの方に、お役に立てば幸いです。

 

Q1. ユーザーの質問とQnA Maker の回答のログを取得する方法はありますか?

 

A1. はい、あります。

 

利用者がどのような検索を行ったか確認するための方法として、QnA Maker の ブラウザ画面にて、”Test” を選択いただき、“Download chat logs” をクリックすることでログを取得可能です。

 

clip_image001

 

ただ、このTest の画面でChat しただけでは、“Download chat logs” をクリックしても、以下のようなエラー表示となります。「You can only download logs which have hit your published endpoint」というメッセージの通り、実際にPublish したエンドポイントからアクセスした場合に、ログをご利用いただけます。

 

clip_image003

 

実際にログを取得した場合、以下のような情報が、.tsv ファイルとして取得できます。

Hello” はKB に登録されていない旨のメッセージが表示されていることが確認できるため、ユーザーが望む結果が表示されなかった場合を確認できます。

 

Question            Answer                                    Frequency         Score    Timestamp

Hi                  Hello                                     5                 100      2017 - 10 - 06 00: 27:
15

Hello               No good match found in the
KB             2                 0        2017 - 10 - 06 00: 27:
17

 

取得したログは、隣の ”Update chat logs” をクリックして、アップロードすることで同じ質問を再現することが可能です。

ナレッジベースの精度向上にご利用ください。

 

    • 参考文献

以下の資料 Test and train Replay live chat logs に詳細が記載されております。

<https://qnamaker.ai/Documentation/TrainKb>

 

 

Q2. Chatで、期待する結果が出ない場合、どう学習させればいいですか?

 

A2. https://qnamaker.ai のご自身のQnAMaker Service Edit 画面で、以下の手順を実施します。

1. 左側のKnowledge Base をクリックします。

2. 右側の「Add new QnA pair」をクリックします。

3. 追加されたQuestion Answer のペアを追加します。

4. 右上の Save and retrain ボタンを押します。

 

clip_image004

 

    • 参考ドキュメント

Update your knowledge base

https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/guides/updatekb

 

 

Q3. Q & A のマッチング率を上げる方法にはどのような方法がありますか?

 

A3. Active Learning と呼ばれる仕組みがございます。

 

以下のドキュメントの通り、類語や新しいQ&A ペアの追加を行って、マッチングの精度を改善することが可能と期待されます。

 

Active Learning

https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/guides/active-learning-qnamaker

 

そのため細かいチューニングには実際に想定される質問を投入した場合の答えから、再学習を行うトライ& エラーが必要となって参ります。

 

Test and train

https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/guides/trainkb

 

 

Q4. マッチング率を上げるために、内部的な検索アルゴリズムがどのようになっているか教えてもらえますか?

 

A4. 誠に恐れ入りますが、内部的な検索アルゴリズムの詳細をご紹介するドキュメントのご用意はございません。上述のA3 も併せてご確認ください。

 

 

Q5. Knowledge Base Answer を登録する時、HTML タグを入力できますか?

 

A5. Answer には任意の文字を含めることができますが、HTML タグそのものも 答えの文章の一部として取り扱われる点にご留意ください。

 

言い換えますと、学習の際にHTML タグは無視されずに学習の対象として使われることになります。

 

    • 参考ドキュメント

 

Q&A Maker FAQ

https://azure.microsoft.com/en-us/services/cognitive-services/qna-maker/faq/

 

抜粋:

-------------------------

- Does the QnA Maker support non-EN languages?

The QnA Maker tool ingests and matches data in UTF-16 encoding. This means that any language should work as is. Having said that, we have only extensively tested the relevance of the service
for EN yet.

-------------------------

 

 

Q6. QnA Maker を商用利用してもいいですか?

 

A6. QnA Maker は現在プレビューとなっておりますが、商用利用を制限してはおりません。

 

プレビュー製品のご利用にあたっては、以下のドキュメントをご参照いただき、商用利用される際に差支えがございませんか、ご確認ください。

 

Microsoft Azure プレビューの追加使用条件

https://azure.microsoft.com/ja-jp/support/legal/preview-supplemental-terms/

 

抜粋:

-------------------------

プレビューは、「現状有姿のまま」、「瑕疵を問わない条件」で、かつ「提供可能な場合に限り提供しうる形で」提供されるものとし、サービスレベル契約および限定的保証の対象とはなりません。プレビューは、カスタマー サポートの対象とならないことがあります。

プレビューには、Microsoft Online Services のプライバシーに関する声明、Microsoft Azure のトラスト センター、オンライン サービス条件、およびプレビューと共に提供される追加の注意事項に規定するとおり、セキュリティ、コンプライアンスおよびプライバシーに関する確約事項の一部が適用されず、または異なる確約事項が適用されることがあります。特定の指定されたプレビューには、該当する場合には、以下に規定する追加の条件が適用される場合もあります。マイクロソフトは、随時予告なくプレビューを変更または中止することがあります。

また、プレビューを「一般向けに提供」しないことを選択することもあります。

-------------------------

 

 

Q7. QnA Maker に容量の制限はありますか?

 

A7. はい、20 MB となっております。

 

    • 参考ドキュメント

 

QnA Maker FAQs

https://docs.microsoft.com/ja-jp/azure/cognitive-services/qnamaker/faqs

 

抜粋:

-------------------------

How large a knowledge base can I create?

Currently, the limit is a 20-MB knowledge base.

-------------------------

 

 

 

上記がお役に立てば幸いです。

 

Office 365 Devs: Deprecation of Outlook REST API v1.0

$
0
0

As you aware that the Version 1.0 of the Outlook REST API was launched in 2015 to provide API access to mail, calendar, contacts, and other data from Exchange Online. Later we came up with Outlook REST API v2.0 and Microsoft Graph, both of which provide richer features, and better performance and reliability than Outlook REST API v1.0. So some technologies become obsolete, because they no longer provide the best way to interact with Office 365 data. Here is our support deprecation policy statement.

So please note that we announced that from November 1st, 2018, we will stop supporting Basic Authentication in Outlook REST API v1.0. Additionally, starting on November 1st, 2019, we will decommission the Outlook REST API v1.0 in favor of Microsoft Graph and Outlook REST API v2.0. This means that new or existing apps will not be able to use Basic Authentication in Outlook REST API v1.0 starting November 1st, 2018 and will not be able to use Outlook REST API v1.0 at all starting November 1st, 2019.

What’s next? If you have been using the Outlook REST v1.0 API in your app, you should plan on transitioning to Microsoft Graph-based Outlook REST APIs to continue accessing Exchange Online data.

Hope this helps.

Support policy statement for Microsoft Graph

$
0
0

As new versions of the Microsoft Graph REST APIs and Microsoft Graph SDKs are released, earlier versions will be retired. Microsoft will declare a version as deprecated at least 24 months in advance of retiring an API or an SDK. So Microsoft Graph too follows the Microsoft Lifecycle Policy.

When we increment the major version of the API (for example, from v1.0 to v2.0), we are announcing that the current version (in this example, v1.0) is immediately deprecated and we will no longer support it 24 months after the announcement. When an API is marked as deprecated, we strongly recommend that you migrate to the latest version as soon as possible to avoid being affected.

For more info you can refer our support policy documentation on the same.

Hope this helps.

程式取得 AD 驗證完後, 帳號詳細狀態

$
0
0

很多朋友會開發與 AD 驗證帳號的程式, 並希望取得帳號的狀態值, 提供一個簡單的方式可以方式知道這些狀態.

catch (System.DirectoryServices.DirectoryServicesCOMException directoryServiceCOMException)
{
Console.WriteLine("---------------------------------------------------------------");
Console.WriteLine(string.Format("{0}: Message: {1}", DateTime.Now.ToString(), directoryServiceCOMException.Message));

    Console.WriteLine(string.Format("{0}: Message: {1}", DateTime.Now.ToString(), directoryServiceCOMException.ErrorCode));

    Console.WriteLine(string.Format("{0}: Message: {1}", DateTime.Now.ToString(), directoryServiceCOMException.ExtendedError));

    Console.WriteLine(string.Format("{0}: Message: {1}", DateTime.Now.ToString(), directoryServiceCOMException.ExtendedErrorMessage));
}

directoryServiceCOMException.ExtendedErrorMessage 中會回傳帳號的詳細狀態:

[LDAP: error code 49 – 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 775, vece ]

代號相關的狀態說明:

525 user not found
52e invalid credentials
530 not permitted to logon at this time
531 not permitted to logon at this workstation
532 password expired
533 account disabled
701 account expired
773 user must reset password
775 user account locked

回傳錯誤代碼可參考 : https://msdn.microsoft.com/en-us/library/ms681381(VS.85).aspx

HTH. Jacky

Release not seeing approve/reject option

$
0
0

Once in a while, a customer will come and mention that their release is not asking for approvals and is kind of stuck in the deployment queue. Last week also one of the customer reported the same.

To debug this problem, we did the following: -

    1. 1. We looked at the queue for that specific environment by clicking on the "view queue" mentioned in the above image and observed that there is a deployment that is waiting for approval from last 1 week.

      2. We looked at their release definition and observed that the queue setting on the environment was set to deploy 1 release at a time.

      3. So we suggested them to either approve/reject their pending release or change the queue settings to have more # of deployments run in parallel on that environment which solved their problem.
  • Enjoy !!

    Ubuntu 환경에서 .NET Core 어플리케이션의 crash core dump 분석 가이드

    $
    0
    0

    다음은 Ubuntu 기반의 .net core 애플리케이션에서 crash가 발생했을 때, core dump를 가지고 postmortem debugging 과정을 기술한 내용이다.
    Ubuntu (16.04)에서 수행중인 .NET Core 2.0 애플리케이션에서 crash가 발생하면, 애플리케이션 수행 폴더의 위치에서 core dump를 확인할 수 있다.

    .NET Core application crash에 기인한 Core dump 파일을 분석하기 위해서는 debugging 환경 구축이 필요한데, 일치하는 .NET Core 버전을 Ubuntu 머신에 설치하고, 이를 load해서 분석할 LLDB 디버거 역시 설치한다.
    아래는 terminal을 통해 .NET Core 2.0 SDK의 설치과정이다.

    sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
    sudo apt-get update
    sudo apt-get install dotnet-sdk-2.0.0

    그리고, LLDB debugger를 설치한다.

    sudo apt-get install lldb-3.6

    설치가 완료되었다면, LLDB debugger를 통해 core dump 파일을 다음과 같이 오픈한다.

    sudo lldb-3.6 -c core /usr/share/dotnet/dotnet

     

    Crash dump에서 무엇보다 먼저 확인하고 싶은 것이 crashed callstack인데, 일반적으로 bt명령어를 이용하여 callstack을 확인한다.

     

    bt 명령을 통해 확인한 back trace에서 frame #7을 보면, 정확한 function정보를 확인할 수 없는 데, 실제적인 .net callstack을 확인하기 위해서는 .net core 에서 제공하는 libsosplugin.so debugger extension을 이용해야 한다. 다음은 해당 extension을 load 하는 과정이다.

    plugin load /usr/share/dotnet/shared/Microsoft.NETCore.App/2.0.0/libsosplugin.so
    setclrpath /usr/share/dotnet/shared/Microsoft.NETCore.App/2.0.0

     

    이후에는 아래와 같이 managed threads를 확인할 수 있다. 그다음에는 익숙하지만 다른 libsosplugin.so에서 제공하는 명령어를 통해 분석을 할 수 있다.

     

    우선 흔히 생각하는 2번 thread에서 System.ArgumentNullException이 발생한 것으로 확인할 수 있다. 먼저 “setsostid <OSID> <ID>”명령을 통해 해당 thread를 설정한 후에 clrstack 명령어를 통해 managed callstack을 확인할 수 있다.

     

    또 다른 callstack 정보인데, 이 경우에는 MethodDesc 정보를 알 수 있다.

     

    보고자 하는 것은 문제가 발생한 시점의 method 정보이다. MedthodDesc 를 가리키는 주소를 이용하면, IL code를 확인할 수 있다.

     

    System.Text.Encoding()메소드는 parameter로 전달된 Byte[]가 NULL 일 경우에 ArgumentNullException을 출력하는 것으로 보인다. 실제 문제가 된 고객의 코드의 위치는 다음과 같다.  clru 명령어는 문제가 발생한 위치를 (>>>) assembly 코드에서 표시한다.

     

    IL Code와 문제가 발생한 assembly 위치를 비교해보자.

     

    이쯤되면 실제 코드를 확인해 보는 것이 좋겠지만, Syetem.Text.Encoding::get_UTF8에 Syetem.Text.Encoding::GetString의 입력 parameter인 ldarg.0 가 Null Byte Array로 문제가 발생한 것으로 보인다. 그러므로 입력 parameter를 확인해야 하는 데, 이는 다음과 같이 확인할 수 있다.

    ldarg.0 는 buffer가 가리키는 주소이고, (이것은 NULL 이고 crash의 원인이다.) ldarg.1 은 0x64값으로 보인다. 결국, extension만 load하면, managed debugging은 windbg에서 분석하는 것과 크게 다르지 않다.

     

    Skype for Business Online / Teams をご利用いただく際のポート開放について

    $
    0
    0

    こんにちは。Skype / Teams サポートチームです。

    Skype for Business Online / Microsoft Teams をご利用いただく際、インターネット接続経路上のファイアウォールにてポートを開放いただく必要がございます。その際、宛先を指定してポート開放を実施する場合は、以下の公開情報により宛先をご指定いただきます。

      Title : Office 365 URL および IP アドレス範囲
      URL : https://support.office.com/ja-jp/article/Office-365-URL-および-IP-アドレス範囲-8548a211-3fe7-47cb-abb1-355ea5aa88a2

    ファイアウォールにおいて宛先を指定してポートを開放する方法として、以下の様ないくつかの方式が存在しますが、Skype for Business Online / Microsoft Teams に関しては、1. の IP アドレスベースでホワイトリストに登録いただくことが必要となります。

    1. 宛先 IP アドレスを指定して開放する
    2. FQDN / domain name / URL を指定して開放する
    3. 通信内容から振る舞いをチェックし、アプリケーションを判断して許可する (Application Level Gateway 機能)

    3. の ALG 機能による開放については、ファイアウォール側の実装に依存してまいりますので、各メーカーへご確認いただく必要がございます。 そのため、Microsoft として正式にご案内できる方式は 1. となり、少なくとも、2. のサーバー名を用いた開放については一部の通信が対応しないことより対応できないこととなります。 2. の方式に対応できない理由につきまして、詳細を次に説明させていただきます。

    < サーバー名で開放する仕組み >
    ファイアウォールが宛先のサーバー名をチェックし、通信を許可する方法はいくつか存在しますが、これまで、2種類の方法で問題が確認されております。いずれの方法も TLS ネゴシエーションメッセージに含まれる情報をチェックする動作となり、対象とされる属性は以下となります。

    1. Client Hello に含まれる Server Name Indication (SNI) をチェック
    2. Server Hello の証明書に含まれる Common Name (CN) をチェック

    < SfB / Teams が対応できない理由 >
    一般的な TLS 通信であれば、上記で説明した方法により FQDN / domain name / URL ベースでの開放が可能となります。 Skype for Business や Teams が利用する多くの通信 (プロトコル) につきましても、TLS を用いた通信となり同様に制御が可能です。 しかしながら、音声やビデオ、アプリケーション共有といったメディア通信については、上位のプロトコルにおいてペイロードが暗号化されるため、TLS による暗号化が不要であることから、サーバー証明書を用いた一般的な TLS ネゴシエーションが行われません。 その結果、Client Hello と Server Hello には、次の様にサーバー名を特定する情報が含まれない状況となります。

    1. Client Hello には Server Name Indication が含まれておりません
    2. Server Hello には証明書が含まれておりません

    メディア通信における実装は上記のとおりとなり、ファイアウォールで SNI や CN から接続先サーバーを判断することができないこととなります。 その結果、サーバー名ベースでのみ開放を行うと、サインインは可能なものの、オンライン会議へ参加する際に音声やビデオが接続できなかったり、P2P のコールにおいても呼び出しまでに時間を要するといった事象が発生します。
    なお、Proxy Server 環境における PAC での宛先制御や、Proxy Server 上で宛先ベースの通信制御を実施する場合は、HTTP の CONNECT メッセージから平文で読み取り可能であるため、サーバー名ベースでの制御が可能となります。

    < まとめ >
    Skype for Business  Online / Microsoft Teams をご利用いただくにあたり、ファイアウォールでのポート開放を宛先ごとに実施される場合は、公開情報に記載されているすべての宛先を、IP アドレスベースにて開放いただくことを、Microsoft としては必須要件とさせていただいております。 ALG 機能による開放につきましては、Skype for Business や Teams への対応を表明されている製品もございますが、詳細につきましては各メーカーまでお問い合わせいただきますようお願いいたします。


    Minecraft Education Edition takes the Australian Curriculum into a whole new world.

    $
    0
    0

    For good reason Minecraft Education Edition is exploding in popularity and landing in classrooms all over the world. Not just a game, Minecraft Education Edition is a platform that allows students to freely explore, imagine and create through virtual environments and collaborative worlds. It’s no surprise that Australian educators are rapidly uncovering the pedagogical potential of this platform and providing opportunities for their students to be immersed in interactive virtual learning experiences through Minecraft Education Edition linked explicitly to the Australian Curriculum.

    On a recent webinar, we asked four Australian innovative educators to share their experience using Minecraft Education Edition in their classrooms. Not only did we hear how engaged the students were in their learning, most importantly they explain the synergies between Minecraft Education Edition and The Australian Curriculum Learning Areas and The General Capabilities.

    Humanities & Social Sciences: Civics and Citizenship

    For Jason Milner (Teacher at Northholm Grammar School in NSW) it’s important to always start with learning outcomes first and consider the best technology tool or platform that will facilitate this. As teachers we are always exploring cross curricular links, so for his unit on Democracy, Minecraft Education Edition was more than just covering the History Curriculum, it also enabled the integration of Geography (students investigated change in the natural Australian environment), Literacy (comprehension a range of text in different media and technologies) and well as Mathematics (position and mapping using grid referencing and x and y coordinates).

    Democracy:

    Jason set the task for his students to design and create two different worlds. One that demonstrated a dystopian society and another that represented a democratic society. Students had used the texts that they had been reading in their literacy sessions about dystopian and democratic society and were able to recreate and model their understanding of this in the world of Minecraft. Having students use the screen record function in PowerPoint and tour their world whilst verbally comparing the two societal concepts provided Jason with valuable formative information about what students had learned from this experience.

    “As this was my first time using Minecraft in the classroom, I was initially fearful that collaboration between students would decrease with being engrossed in their screens as they build in Minecraft. The virtual collaboration provided quite the opposite and was a great stimulus for supporting team work and dialogue in my physical classroom.” Jason Milner

    Humanities & Social Sciences: Australian History

    Move over dioramas, hello virtual worlds! An early adopter and keen Minecrafter himself, Laurens Derks (Teacher and Leader at Abbottsleigh School in NSW) is finding Minecraft Education Edition and the classroom tools has made it even easier for fellow teachers to adopt Game Based Learning into their practice too.

    “Thanks to the Minecraft Education Edition integration into Office 365, Teachers now have a powerful tool to create and simulate worlds and environments for our students to discover and build understanding of key concepts.” Laurens Derks

    Early Settlers of Australia

    Students in Grade 4 had completed a topic learning about the Early Settlement of Australia and were learning about building materials as part of a Science Inquiry. With access to an unlimited inventory (building materials) in Minecraft Education Edition, students were invited to join a collaborative world taking on the role as those who had arrived on the First Fleet. Challenged to recreate dwellings and infrastructure of the first white settlement, students were required to justify and explain how an Early Settler had access to particular building materials and the processes required to build with it. Laurens noticed that in this setting, students who were not traditionally academically strong, shone as leaders, great collaborators and peer mentors for others during the virtual build.

    Victorian Gold Rush

    During a Grade 5 unit on the Victorian Gold Rush, teachers used Minecraft Education Edition to create the basics of a gold mining settlement. Students were immersed in this environment and encouraged to act as miners searching for gold. A key understanding for the students was to understand the different ‘classes’ that emerged during the time of the Gold Rush, so an economy was established to model this. Some students were poor miners and others with rich. Rich miners were provided with high quality tools and inventory to help them with their mining – and “we found that the students started to demonstrate real life behaviours where by they would cluster in class groups, plan acts of theft and even sabotage other ‘richer’ players in order to survive in simulation. This was a fantastic opportunity for the students to gain a sense of how and why people behaved during this time” (Laurens Derks). In this example, learning became and experience.

    ANZACS (Mapping and 3D Printing)

    Traditional learning in History often places students as consumers of information. For Lynne Telfer (Teacher at The Grange P-12 College and M:EE evangelist) Minecraft:Education Edition has enriched the experience of learning about the ANZACs providing the chance for students to work as creators to collaboratively build and print a model of ANZAC Cove using mapping tools and structure blocks to 3D print Minecraft Education Editions artefacts.

     

    “I have taught my students about The ANZACs for many years. This is the first time, even as a teacher, that I have felt immersed in the story and captured a sense of what it would have felt like to be at ANZAC Cove.” Lynne Telfer

    Lynne has also developed and shared her Fred the Human Body lesson plan and world template which you can download from the Minecraft Educator Community website.

    Digital Technologies Curriculum

    Computational Thinking:

    With the integration Code Builder in Minecraft Education Edition, Lynne Telfer’s students have been exploring ways to program their Code Agent powered by Microsoft Make Code. This requires students to access their computational thinking and develop a set of algorithms (set of instructions) for the Code Agent to create with structure blocks within Minecraft Education Edition. The Code Agent is a fantastic way to expose students to both visual programming and free coding in Java Script. Students experience the benefits of its application through the designing their own commands and solving efficiency challenges when building digital artifacts.

    Digital Citizenship

    Learning in a collaborative digital environment

    Like any technology, simply allowing students to access Minecraft Education Edition in the classroom will not automatically engage students in purposeful learning. For Chris Cividino (Callaghan College, Wallsend Campus NSW) the key to successfully integrating Game Based Learning is ensuring learning is scaffolded through the digital collaborative experience.

    At Callaghan College, students use OneNote Class Notebooks to manage and plan their Minecraft Education Edition projects. Chris and his team have adapted Problem Based Learning templates to enable students to create a portfolio of evidence and manage their team work.

    “Creating easy to follow instructions with clearly identified rules and expectations is essential to the success of any collaborative Minecraft Education Edition project.” Chris Cividino

    Before inviting students to collaborative in a virtual learning space such as Minecraft Education Edition, it is important to prepare them for this type of learning. Whilst many of our students are familiar with playing in Minecraft, learning and collaborating through this digital environment is often new to them. “Setting clear ‘rules of engagement’ for using Minecraft Education Edition is critical” (Chris Cividino).

    Involving students in a dialogue and building behavioural norms strengthens their capacity as digital citizens. Experience Minecrafters will know the term ‘griefing’ which is the act of destroying another players creations in Minecraft. These virtual worlds are an extension of the classroom and therefore our values remain the same. Respecting one another’s work and creations in Minecraft is just as important as doing so in the physical classroom.

    Watch the Webinar: Hear from 4 x Microsoft Innovative Educators as they share their Minecraft Education Edition classroom tips and lesson ideas: 

    For more support material for getting started with Minecraft Education Edition visit http://Education.minecraft.net

    SQL Server アップグレードパスについて

    $
    0
    0

    皆さん、こんにちは。 BI Data Platform サポートチームです。今回は SQL Server のアップグレードパスについてご紹介いたします。

    アップグレードパスにつきましては、弊社では以下のような技術情報を公開いたしております。(下記の技術情報は SQL Server 2016 へのアップグレードパスに関する情報です。)

     

    タイトル : サポートされるバージョンとエディションのアップグレード

    URL      : https://docs.microsoft.com/ja-jp/sql/database-engine/install-windows/supported-version-and-edition-upgrades

     

    上述の公開情報は、同一サーバーにおけるアップグレードパス (インプレース アップグレード) に関し記載しているものであり、別サーバーへのデータベース移行によるアップグレード (マイグレーション) の場合には該当いたしません。

    例えば、上述の公開情報によるインプレース アップグレードでは、SQL Server 2014 Standard Edition から SQL Server 2016 Express Edition はサポートされていないアップグレードパスである為、アップグレードを実施した場合には失敗します。一方、マイグレーションによるアップグレードの場合には、上述の公開情報には該当しない為、SQL Server 2014 Standard edition から別のサーバーの SQL Server 2016 Express Edition へのデータ移行によるアップグレードは成功いたします。

    つまり、マイグレーションによるアップグレードの場合には、上述の公開情報のパスを意識する必要はなく、下位のエディションにもアップグレードが可能となります。また、公開情報にあるアップグレード元のサービスパックの適用条件も考慮する必要はありません。

    ただし、移行先となる SQL Server のエディションによる制限 (例えば、Express Edition の場合では 1 データベースに対し、最大 10 GB の容量制限) には該当いたしますので、移行先の SQL Server のエディションが移行元より下位の場合には特に注意が必要です。また、一度上位のバージョンにアップグレードしたデータベースは、下位のバージョン環境にリストアする事ができません。

    なお、上記の類似内容は以下にご案内する自習書に記載がございますので、併せてご確認いただけると幸いに存じます。

     

    タイトル : SQL Server 2016 実践シリーズ No.1

    URL      : http://download.microsoft.com/download/F/7/1/F71B2DD9-D68F-4F50-92B5-3BC4688FACC8/SQL13_Adv01_Upgrade.pdf

    項目 : 移行可能なデータベース

     

    Blogの内容は、2017 12 月現在の内容となっております

     

    D365ffO: D365ffO VHDを社内ネットワーク内で使用するとログインできない現象

    $
    0
    0

    上記現象に関して、事例ベースに解決策を紹介させて頂きます。

     

    (事例1)

    C:AOSServicewebrootweb.config defaultProxyの情報を御指定頂くことで

    D365foにアクセスできるようになりました。

    <defaultProxy>

    https://msdn.microsoft.com/ja-jp/library/kd3cf2ex(v=vs.110).aspx

     

    (事例2)

    インターネットに接続した環境(プロキシ等に制限されないネットワーク)

    AdminUserProvisioning ツールを実行してプロビジョニングした後に

    社内環境で使用することでログインできるようになりました。

     

    (事例3)

    Fiddler を使用し、弊社に構築した D365fO VHDでアクセス制限を掛けた環境で、

    基本的な操作でアクセスした URL を確認したところ以下のURLにアクセスしていることが分かりました。

    以下のサイトをプロキシの対象外とすることでログインできるようになりました。

    < Log on 処理 >

    https://usnconeboxax1aos.cloud.onebox.dynamics.com

    https://login.microsoftonline.com

    https://login.windows.net

    https://msft.sts.microsoft.com

    https://a.config.skype.com

    https://b.config.skype.com

    https://latest-swx.cdn.skype.com

    https://pipe.skype.com

    https://swx.cdn.skype.com

    https://webdir.online.lync.com

    https://webdirjp1.online.lync.com

    https://webdir0m.online.lync.com

    https://webdir0f.online.lync.com

    https://portal.azure.com

    https://shell-s2-portal.azurecomcdn.net

    https://hubs-s2-portal.azurecomcdn.net

    https://login.live.com

    https://ipv6.login.live.com

    https://auth.gfx.ms

    < Management Reporter 起動 >

    https://secure.aadcdn.microsoftonline-p.com

    https://t.urs.microsoft.com

    https://urs.microsoft.com

    < Excel Add-in 使用 >

    https://appsforoffice.microsoft.com

    https://officeclient.microsoft.com

    https://vortex.data.microsoft.com

    https://iecvlist.microsoft.com

    https://nexusrules.officeapps.live.com

    https://nexus.officeapps.live.com

    https://odc.officeapps.live.com

    https://roaming.officeapps.live.com

    https://store.office.com

    https://az667904.vo.msecnd.net

    https://az689774.vo.msecnd.net

    https://az416426.vo.msecnd.net

    https://ajax.aspnetcdn.com

    https://telemetryservice.firstpartyapps.oaspapps.com

    https://dc.services.visualstudio.com

    http://vassg142.ocsp.omniroot.com

    http://vassg142.crl.omniroot.com

    < 無操作状態( Idle state ) で確認 >

    http://go.microsoft.com

    http://next-services.apps.microsoft.com

    https://ieonline.microsoft.com

     

     

    (その他の事例)

    (A)VM とホストPCのタイムゾーンをあわせることで解消。

    (B)ファイヤーフォールを解除することで解消。

    (C)コマンドプロンプトから iisreset を実行し IIS を再起動することで解消。

    (D)InPrivateブラウズ (右上部歯車アイコン ->セーフティ→ InPrivateブラウズ) で実行することで解消。

    Upcoming Events @MicrosoftEdu UK

    $
    0
    0

    It's a wrap for the 2017 #MicrosoftEdu Roadshows

    As we embark on the last few weeks of 2017, we reflect on the amazing #MicrosoftEdu UK Roadshow series which has travelled from the top of Scotland across the UK to London areas, fulfilling our mission to empower the students and teachers of today to create the world of tomorrow. If you missed these incredible introductions to Microsoft technologies do not fear, because the Roadshows will be back in February 2018! Look out for more updates about our Roadshow series on Twitter online by following the hashtag #MicrosoftEDU or @microsofteduk. Also visit the Microsoft Educator Community UK Roadshow page to find out about the events near you and sign up.

    Our aim is to reach every corner of the UK, so if you are able to host a Roadshow in your locality then please contact us on the e-mail: Eduroadshow@microsoft.com.

     


    Microsoft Training Academy

    This week also sees the last of our Microsoft Training Academy events at Microsoft HQ in Paddington with a hands on approach to workshops in our newly refurbished classroom. In 2017, the Paddington MTA has hosted a variety of educators who were in the process of adopting Office 365 and/or Windows 10 into their institutions and enabled them to better understand the benefits of Microsoft in Education and in turn empower their students to achieve more. As with our Roadshow series, we want to continue to spread the word about Microsoft in Education during 2018 and encourage those educators or institutions that require a more bespoke CPD package to reach out to our MTA team to arrange a training session in Paddington.

    To book a session please email mstrainingacademy@microsoft.com and state your institution, why you want to attend a training academy session what Office 365 and Windows 10 in particular you would like the day to include and a range of dates that you would like to attend.


    Digital Events Online

    Today Skype in the Classroom have organised a Computer Science based broadcast with two female engineers entitled #Skype2Code as a follow up to the hour of code event last week. Broadcast at 1pm GMT,  Skype engineers Vanessa Villa and Lauren Kuan will give students a peek into the world of computer science, including mixed and virtual reality. They'll explain their own paths which led to computer science at Microsoft on the Skype team, and will show some of the virtual reality worlds they work in every day. The broadcast will be followed by a live QA session via Twitter. There is still time to sign up and register for this event here. 

     


    Save the Date for BETT 2018

    Early in 2018, we will also be exhibiting and presenting at the BETT show! For the Microsoft education team, the BETT Show is a special time of the year. The show offers the whole team a chance to meet with our broader community, provide a stage to our Showcase Schools and MIEEs to share their stories/best practice and connect with the many Microsoft partners exhibiting at the show. We can't wait and will have more exciting details to follow about this in the New Year!

    Location, dates and times.
    ExCeL London, Royal Victoria Dock, 1 Western Gateway, London E16 1XL, United Kingdom.
    Wednesday 24th January, 10:00 - 18:00
    Thursday 25th January, 10:00 - 18:00
    Friday 26th January, 10:00 - 18:00
    Saturday 27th January, 10:00 - 15:00

    Register now here, to ensure your place at BETT 2018 is reserved!

    blogpost_odecs

    Smart solutions 2: Programming Computer Vision in C/AL code

    $
    0
    0

    In the previous post, we looked at an example of how Microsoft has built Azure Machine Learning (ML) functionality into Dynamics NAV. We discussed the Image Analyzer extension, which uses the Computer Vision API from Microsoft Cognitive Services to identify attributes in images attached to items and contact persons.

    We're going to go a little deeper in this post, and look at how to analyze pictures from C/AL code.

    Get started with the Computer Vision API

    To start with, we need to have the Computer Vision API, either as a free trial or in the Azure portal if we have an Azure subscription. We covered how to get the service in the previous post. Once we have the Computer Vision API, we're ready to start analyzing pictures from the Item or Contact cards in Dynamics NAV.

    The first thing to point out is that there are some new helper objects in Dynamics NAV 2018 that we can use to send pictures for analysis in just a few steps:

    1. Specify the image source from Media(set), BLOB, or file
    2. Specify the analysis type. The type can be Tags, Colors, or Faces
    3. Run an analysis and get results.

    The following is a code sample that we can use to check that it actually works. Import and compile this codeunit in Dynamics NAV 2018.

    Code samples

    Let's first check that it works - import and compile this codeunit into Dynamics NAV 2018:

    OBJECT Codeunit 90909 Image Analysis Demo
    {
      OBJECT-PROPERTIES 
      {
         Date=;
         Time=; 
         Modified=Yes;
         Version List=; 
      } 
    
      PROPERTIES
      {
         OnRun=BEGIN
                //specify URL and Key there. Remember to add /Analyze to the URL!
                ImageAnalysisManagement. SetUriAndKey('https://westeurope.api.cognitive.microsoft.com/vision/v1.0/Analyze','123456789'); 
                Item.GET('1908-S');
                ImageAnalysisManagement.SetMedia(Item.Picture.ITEM(Item.Picture.COUNT));
                ImageAnalysisManagement.AnalyzeTags(ImageAnalysisResult);
                MESSAGE(ImageAnalysisResult.TagName(1));
                END;
      }
      CODE
      {
        VAR
          Item@1001 : Record 27;
          ImageAnalysisManagement@1000 : Codeunit 2020;
          ImageAnalysisResult@1002 : Codeunit 2021;
        BEGIN
        END.
      }
    }

    As you can see, we need just five lines to send a picture of an item to be analyzed by the Computer Vision API. The following walk-through shows more details about the process.

    Create a new codeunit and make a new variable:

    • Name: ImageAnalysisManagement
    • Type: Codeunit
    • SubType: 2020

    Start by initializing it, which basically reads the URL and key for the Computer Vision API.

    ImageAnalysisManagement.Initialize;

    The codeunit has three functions to specify the image you want to analyze: SetMedia, SetImagePath, and SetBlob. Here are examples for each each function:

    To specify the image

    Example 1:

    // New variable Item, Record 27
    // Item uses MediaSet for Pictures
    Item.GET('1908-S');ImageAnalysisManagement.SetMedia(Item.Picture.ITEM(Item.Picture.COUNT));

    Example 2:

    // New variable Contact, Record 5050
    // Contact uses Media for Pictures
    Contact.GET('CT200014');ImageAnalysisManagement.SetMedia(Contact.Image.MEDIAID);

    Example 3:

    // New variable CompanyInformation, record 79
    // CompanyInformation uses BLOB
    CompanyInformation.GET;CompanyInformation.CALCFIELDS(Picture);
    // New variable TempBlob, TEMP record 99008535
    TempBlob.Blob := CompanyInformation.Picture;
    ImageAnalysisManagement.SetBlob(TempBlob);

    Example 4:

    // Just load the picture from disk. Remember that code runs on NST, so the file path is on NST
    ImageAnalysisManagement.SetImagePath('c:PicsMyPicture.jpg');

    To specify the type of analysis

    Another new variable:

    • Name: ImageAnalysisResult
    • Type: CodeUnit
    • SubType: 2021

    Run either:

    ImageAnalysisManagement.AnalyzeTags(ImageAnalysisResult);

    -or-

    ImageAnalysisManagement.AnalyzeColors(ImageAnalysisResult);

    -or-

    ImageAnalysisManagement.AnalyzeFaces(ImageAnalysisResult);

    To get the results

    Depending on the type of analysis, ImageAnalysisResult returns a number of tags, colors, or facial details. The recommendation is to use ImageAnalysisResult to get the result as described below. Or, for a quick and easy way to see the "raw" result, design codeunit 2020 and add this line in the InvokeAnalysis function:

    Task := HttpContent.ReadAsStringAsync;
    MESSAGE('Result ' + FORMAT(Task.Result)); // New line
    JSONManagement.InitializeObject(Task.Result);

    However, for a more correct way to get the result, copy the code below into a function and create a new ResultString text variable:

    FUNCTION GetResult()
    ImageAnalysisResult.GetLatestAnalysisType(Analysistype);
    ResultString := '';
    ResultString := 'Recog type: ' + FORMAT(Analysistype) + '';
    
    // tags, faces and colours
    CASE Analysistype OF  Analysistype::Tags:
        BEGIN
          FOR i := 1 TO ImageAnalysisResult.TagCount DO BEGIN
            ResultString := ResultString + 
              ImageAnalysisResult.TagName(i) + ' ' +
              ' -- ' + FORMAT(ImageAnalysisResult.TagConfidence(i)) + '';
          END;
        END;
      Analysistype::Colours:
        BEGIN
          ResultString := ResultString +
            'Foreground: ' + ImageAnalysisResult.DominantColorForeground + '' +
            'Background: ' + ImageAnalysisResult.DominantColorBackground + '';
            FOR i := 1 TO ImageAnalysisResult.DominantColorCount DO BEGIN
              ResultString := ResultString + 'Dominant Colour: ' + ImageAnalysisResult.DominantColor(i) + '';
            END;
        END;
      Analysistype::Faces:
        BEGIN
          FOR i := 1 TO ImageAnalysisResult.FaceCount DO BEGIN
            ResultString := ResultString + 
             ImageAnalysisResult.FaceGender(i) + ' ' +
              FORMAT(ImageAnalysisResult.FaceAge(i)) + '';
          END;
          END;
     END;

    To handle errors

    IF ImageAnalysisManagement.HasError THEN BEGIN
      ImageAnalysisManagement.GetLastError(ErrorTxt,IsLimit);
      MESSAGE(ErrorTxt);
    END;

    And that's all the code you need to run an analysis on items, contacts, or any image you like.

    Going further

    Check out the API for Computer Vision here: https://westus.dev.cognitive.microsoft.com/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fa

    Note that visualFeatures contains Tags, Faces, and Color, but it can do more than what we've implemented in codeunit 2020. If you're interested in performing a quick experiment, design codeunit 2020 and find this line:

    PostParameters := STRSUBSTNO('?visualFeatures=%1',FORMAT(AnalysisType));

    Now try to replace it with this, to get a short description of the image:

    PostParameters := STRSUBSTNO('?visualFeatures=%1, Description',FORMAT(AnalysisType));

    or this to see if Computer Vision recognizes a landmark in the picture:

    PostParameters := '?details=Landmarks';

    Or the celebrity:

    PostParameters := '?details=Celebrities';

    If we change this implementation we will get a different response from the Computer Vision API, and we would also want to change the ImageResult (codeunit 2021) implementation to decode the changed response. It's interesting, but we'll save that discussion for another time.

    Office 365 Devs: Deprecation of Outlook REST API v1.0

    $
    0
    0

    As you aware that the Version 1.0 of the Outlook REST API was launched in 2015 to provide API access to mail, calendar, contacts, and other data from Exchange Online. Later we came up with Outlook REST API v2.0 and Microsoft Graph, both of which provide richer features, and better performance and reliability than Outlook REST API v1.0. So some technologies become obsolete, because they no longer provide the best way to interact with Office 365 data. Here is our support deprecation policy statement.

    So please note that we announced that from November 1st, 2018, we will stop supporting Basic Authentication in Outlook REST API v1.0. Additionally, starting on November 1st, 2019, we will decommission the Outlook REST API v1.0 in favor of Microsoft Graph and Outlook REST API v2.0. This means that new or existing apps will not be able to use Basic Authentication in Outlook REST API v1.0 starting November 1st, 2018 and will not be able to use Outlook REST API v1.0 at all starting November 1st, 2019.

    What’s next? If you have been using the Outlook REST v1.0 API in your app, you should plan on transitioning to Microsoft Graph-based Outlook REST APIs to continue accessing Exchange Online data.

    Hope this helps.


    Microsoft Tech Summit 2017

    $
    0
    0

    Olá pessoal!

    Semana passada tivemos a oportunidade de apresentar no Microsoft Tech Summit 2017 com o tema de upgrade de SQL Server 2017.

    Nesta sessão tivemos a oportunidade de contar um pouquinho sobre os novos recursos que vieram na versão recém lançada (2017).

    Como prometido, a apresentação e o script utilizado na demo de native scoring e ML Services encontram-se aqui para download.

    BRK2045_Upgrade-SQL-Server-2017-On-Prem-IaaS-and-PaaS_final

    ML_Demo

    Abraços e até a próxima!
    Zavaschi

    test

    MIEE Spotlight- Nicole Ponsford

    $
    0
    0


    Today we shine the MIEE Spotlight on Nicole Ponsford who has etched a uniquely tech-centric career path for herself. Not only has she spent more than a decade working in schools as an award-winning AST, school leader and examiner, but she’s also the creative director and co-founder of global edtech consultancy TechnoTeachers. Nicole also co-authored TechnoTeaching, a book she wrote with her partner, Dr. Julie M. Wood (completely online and having never met in person).

    Nicole's passion for teaching using digital technologies has led her from Secondary Education into her current role at a leading not-for-profit organization, Achievement for All (a Microsoft partner), that works to close the gaps at every level of the education system. With hard work, dedication, and the constant need to keep evolving and embracing the ever-changing tech environment, Nicole has been able to reinvent herself many times over and find more ways to make her skill set valuable.
    Read Nicole's full story in this blog.

    You can follow @NicolePonsford on Twitter  to keep up to date with the amazing work she is doing using Microsoft technologies.


    Interact with the Sway below to see how Nicole is engaging her students with Microsoft technologies in her own words!


    Follow in the footsteps of our fantastic MIEE's and learn more about how Microsoft can transform your classroom with the Microsoft Educator Community.

    Azure Log Analytics: Finding CPUs with perf counters

    $
    0
    0


    Today I saw a question on how find the count of CPUs that a server has, maybe you need this for licensing or maybe just for inventory purposes.  I remember looking at this before…

    The easiest way I’ve found (unless you know different) was to convert a syntax I used in the old query language to ALA v2.

    You may need to add "Processor(*)% Processor" to your Windows Performance Counter list in [Advanced Settings]

    This counter gives you the _Total and info for each CPU.  So this line will find all Processor data:

    | where ObjectName == "Processor" and CounterName == "% Processor Time"

    However to exclude _Total, I added this syntax to ignore the total info, i.e.  !=”_Total” giving me the full line:

    | where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName!="_Total" 

    This can give you a report like this:

    image

    I liked the extra detail of showing the CPUs in a list, for this once again I used makeset and sort to get the data in order (however I need to look at a better method as above 10CPUs the order is wrong).  So I ended up with:

    // needs perf counter "Processor(*)% Processor"
    Perf
    | where TimeGenerated >= ago(1h)
    | where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName!="_Total"
    | sort by InstanceName asc nulls first
    | summarize makeset(InstanceName), dcount(InstanceName) by Computer

    image

    First Look Into Blockchain

    $
    0
    0

    There’s been a ton of buzz about Blockchain lately (Bitcoin anyone?) so what better time to highlight this video from Premier Developer consultant Razi Rais on understanding Blockchain technology.


    Since last year, I have been spending time with customers understanding how blockchain can help them improve/replace existing processes. It’s relatively a new technology but evolving very fast. Anyways, recorded an hour long video session  First Look Into Blockchain for Channel9. It’s predominately focused on blockchain from developers perspective.

    • [0:57] What is Blockchain?
    • [2:14] How is this different than a standard distributed database?
    • [5:16] DEMO: Introduction and Overview of Blockchain in a Dev/Test lab on Azure
    • [30:40] DEMO: Blockchain and .NET
    Viewing all 29128 articles
    Browse latest View live


    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>