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

[Sample Of Feb. 17] How to achieve dashed routing in ASP.NET Core

$
0
0
image
Feb.
17
image
image

Sample : https://code.msdn.microsoft.com/How-to-achieve-dashed-836bbda6

This sample demonstrate how to achieve dashed routing in ASP.NET Core.

image

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.


Microsoft Dynamics 365 新機能: 新しいアプリケーション: サイトマップデザイナー

$
0
0

みなさん、こんにちは。

前回の記事で Dynamics 365 新機能からアプリケーションデザイナーを紹介しました。まだご覧になっていない方はご覧ください。

Microsoft Dynamics 365 新機能: 概要
Microsoft Dynamics 365 新機能: 新しいアプリケーション: 概要
Microsoft Dynamics 365 新機能: 新しいアプリケーション: アプリケーションデザイナー

今回は、サイトマップデザイナーをより詳細に見てみたいと思います。

概要

サイトマップデザイナーは、アプリケーションのサイトマップを画面上で構成できるツールです。
これまで Dynamics CRM では、サイトマップをエクスポートし、XML ファイルを変更するか、外部ベンダーのツールを利用していましたが、
Dynamics 365 で標準機能で提供されるようになりました。

サイトマップデザイナーで構成できる要素は 3 つです。3 層構造になっています。

– エリア
– グループ
– サブエリア

エリア

エリアは、サイトマップの一番上位の要素です。
以下の例では、営業、サービス、マーケティングの 3 つのエリアが構成されています。
エリアは、配下にグループ、またはサブエリアを定義できます。

image

グループ

グループは、エリアの配下に構成できる要素です。1 つのエリアには複数のグループを構成できます。
グループは、配下にサブエリアを定義できます。

image

サブエリア

サブエリアは、サイトマップの一番下位の要素です。1 つのグループに複数のサブエリアを構成できます。
image

またサブエリアには、4 種類から選択することができます。

ダッシュボード

システムに登録されている特定のダッシュボードを選択できる。

エンティティ

システムに登録されている特定のエンティティを選択できる。

Web リソース

システムに登録されている Web リソースを選択できる。

URL

外部サイトといった特定の URL を設定できる。

サイトマップの確認

実際にサイトマップデザイナーを開いて、アプリケーションのサイトマップの構成を確認してみましょう。
今回は営業アプリケーションのサイトマップを例に紹介します。

サイトマップデザイナーの表示

1. [設定] > [カスタム] > [システムのカスタマイズ] をクリックします。

2. [アプリ] をクリックします。

3. [Sales] をダブルクリックします。アプリケーションデザイナーが表示されます。

4. サイトマップをクリックします。サイトマップデザイナーが表示されます。

image

エリアの確認

1. 営業エリアをクリックします。

image

2. 営業エリア配下の、グループおよびサブエリアが表示されます。

image

3. 右ペインにエリアのプロパティが表示されます。エリアのタイトル、アイコン、URL など定義することができます。

image

image

グループの確認

1. 自分の仕事グループをクリックします。

image

2. 右ペインにプロパティが表示されます。言語ごとにタイトルや説明を設定できます。

image

サブエリアの確認

続いてサブエリアを見ていきましょう。

1. ダッシュボードをクリックします。

image

2. 右ペインにプロパティが表示されます。
このサブエリアでは「営業活動ソーシャルダッシュボード」が設定されています。

image

3. 続いて取引先企業を選択します。

image

4. 右ペインにプロパティが表示されます。取引先企業エンティティが設定されているのがわかります。

image

5. 続いて、[トレーニング] > [Dynamics 365 ヘルプ] を表示します。

image

6. 右ペインにプロパティが表示されます。ヘルプの URL が設定されています。

image

まとめ

次回は、簡単にカスタムアプリケーションを作成してみましょう。

– プレミアフィールドエンジニアリング 河野 高也

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります

Hello NAV_Developer

$
0
0

The NAV_Developer blog is coming back into action as a NAV supporter’s place. This will be by and for people who support the Dynamics NAV products in one way or the other. Starting with the newest version of the NAV_Diag tool from the Coffee Break team
https://blogs.msdn.microsoft.com/nav_developer/tag/coffeebreaks/

and lists of NAV CU builds for supported versions:
https://blogs.msdn.microsoft.com/nav_developer/category/release/

and a new Performance Tooling series:

https://blogs.msdn.microsoft.com/nav_developer/category/tooling/

and much more to follow.

 

Welcome back, and we will look forward to providing useful information here and to hear back from you!

Visual Studio 2017 is Launching on March 7

$
0
0

Join us at 17:00 CET on March 7 for a two-day online event celebrating the launch of our latest version as well as 20 years of Visual Studio.

Tune in to https://launch.visualstudio.com/ for the live, online event.

March 7 features a live stream of keynotes featuring Julia Liuson, Brian Harry, Miguel de Icaza, and Scott Hanselman as they share the newest innovations in Visual Studio, .NET, Xamarin, Azure, and more. After the keynote, Microsoft engineers will lead interactive technical demo sessions to help you get the most out of Visual Studio 2017 and the rest of our tools and platform.

On March 8, we’ll help you get productive even faster by hosting a full day of live interactive trainings. Don’t forget to click Save the Date above and sign up for email reminders!

Whether you are new to our tools or have been with us since the beginning, we’d love to hear and share your Visual Studio story. Share a photo of memorabilia or a short video clip of your story with Visual Studio on Instagram or post your story on Twitter and Facebook using #MyVSstory.

Check out Julia’s launch event announcement for more details.

Einführung von Visual Studio 2017 am 7. März

$
0
0

Besuchen Sie uns am 7. März um 17:00 Uhr MEZ bei einer zweitägigen Online-Veranstaltung, bei der die Markteinführung unserer neuesten Version als auch das 20-jährige Jubiläum von Visual Studio gefeiert werden.

Nehmen Sie direkt am Online-Ereignis teil unter https://launch.visualstudio.com/.

Der 7. März beschert einen Live-Stream an Keynotes mit Julia Liuson, Brian Harry, Miguel de Icaza und Scott Hanselman, wo diese die neuesten Innovationen in Visual Studio, .NET, Xamarin, Azure und anderem vorstellen. Nach den Keynotes werden Microsoft-Techniker interaktive fachliche Demo-Sitzungen leiten, um Sie dabei zu unterstützen, das Meiste aus Visual Studio 2017 sowie aus unseren übrigen Tools und Plattformen herauszuholen.

Am 8. März werden wir Ihnen bei der ganztägigen Veranstaltung mit einem interaktiven Live-Training helfen, noch schneller produktiv zu werden. Vergessen Sie nicht, oben Datum merken anzuklicken und melden Sie sich für die E-Mail-Benachrichtigung an!

Gleich, ob Sie nun hinsichtlich unserer Tools ein Neuling sind oder schon von Anfang an mit dabei sind, wir würden uns freuen, Ihre Erfahrungen bezüglich Visual Studio zu hören und diese weiter zu teilen. Teilen Sie ein Erinnerungsfoto oder einen kurzen Video-Clip über Ihre Erfahrung mit Visual Studio auf Instagram oder posten Sie Ihre Erfahrung auf Twitter und Facebook, versehen mit #MyVSstory.

Für weitere Einzelheiten beachten Sie die Ankündigung für Julias Einführungsveranstaltung.

Visual Studio 2017 sera lancé le 7 mars

$
0
0

Rejoignez-nous à 17h00 HNEC le 7 mars pour une manifestation en ligne de deux jours qui célébrera le lancement de notre toute dernière version et les 20 ans de Visual Studio.

Connectez-vous à https://launch.visualstudio.com/ pour participer à l’évènement en ligne et en direct.

Le 7 mars, nous proposerons un programme en direct avec des discours de Julia Liuson, Brian Harry, Miguel de Icaza et Scott Hanselman, qui partageront les toutes dernières innovations de Visual Studio, .NET, Xamarin, Azure, et d’autres encore. Après cette introduction, les ingénieurs de Microsoft animeront des sessions de démonstrations techniques interactives pour vous aider à tirer le maximum de Visual Studio 2017 et du reste de nos outils et de notre plateforme.

Le 8 mars, nous vous aiderons à être productifs encore plus rapidement avec des formations interactives en direct toute la journée. N’oubliez pas de cliquer sur Enregistrer la date ci-dessus et de vous inscrire pour recevoir les e-mails de rappel!

Que vous débutiez avec nos outils ou que vous nous connaissiez depuis le début, nous aimerions beaucoup entendre parler de vos expériences et les partager avec Visual Studio. Partagez une photo souvenir ou une petite vidéo de votre histoire avec Visual Studio sur Instagram ou postez votre histoire sur Twitter et Facebook en utilisant #MyVSstory.

Consultez l’annonce de Julia sur la manifestation de lancement pour plus de détails.

#TheFeed – Empowering Teachers with OneNote at Microsoft School Acklam Grange, by Jon Tait

$
0
0

The following post features in the Jan/Feb 2017 issue of #TheFeed, our online magazine bringing you the best stories from Microsoft Showcase Schools and #MIEExperts, thought leadership, and news from the Microsoft in Education team. This piece is written by Jon Tait, Deputy Head Teacher at Microsoft School Acklam Grange, and looks at how the practice of flipped learning has been applied to leadership meetings in combination with Surface devices and OneNote to enable more productive and cost effective uses of time.

Head over to SlideShare to browse all the latest stories from this edition of #TheFeed:


Empowering Teachers with OneNote – by Microsoft School Acklam Grange

cvssessxyaa33ku

“This is now an expectation of all leaders prior to any meeting they attend and part of the highly professional approach towards school leadership that was recognised by Ofsetd in 2016 as outstanding.”

Some meetings seem to go on forever and then there’s even meetings about meetings! But have you ever stopped to think about the effectiveness of your meetings and if you’re getting the very best out of your staff in them? You only have to look around your next senior leadership or middle leaders meeting and count up the amount of bodies to do a rough estimate of how much money is being spent on wages for that specific meeting.

Once you do the rough maths it will probably scare you to death. So if we know the importance attached to every meeting due to the financial implications, then we need to ensure that the face to face time we have in meetings is as effective as possible. One way that we have revolutionised our leadership meetings at Acklam Grange School is to take on a flipped learning approach by using OneNote. Every member of the leadership team has been supplied with a Microsoft Surface tablet for use at home and school. In OneNote we have set up staff notebooks that have an SLT Collaboration space. There is a tab created for each weekly leadership meeting and then each item on the agenda has its own page within the meeting tab.

As in any well-structured and well run meeting, items are added to the agenda in advance, but in this case, leaders who have added an item must upload their presentation slides or information documents to the specific page related to that item on OneNote at least 24hrs prior to the meeting. This is where OneNote comes into its own. Leaders now have the opportunity to read the information prior to attending the meeting and have time to process it over time.


previewimage

“No longer do we sit in meetings and have to listen to information for the first time and have to digest it quickly without much thought and then have to make big decisions based upon it.”

Leaders are now fully in the picture when they enter the meeting, having read their pre-meeting information, meaning that face to face time can be so much more productive, based on a group of people who are extremely well informed. The secondary benefit to this flipped meeting approach is financial. As every leader in the meeting has their own Surface tablet in front of them on the boardroom table, there is absolutely no need to photocopy hundreds of sheets of paper per meeting.

Think about the last big meeting you attended and the amount of paper that was given to you. If you’re anything like we used to be and you were present at a results analysis meeting or an attendance meeting then you’ll have probably left with a whole load of graphs and information. Now times this by the amount of people in the room and it soon starts to drive up the cost of that meeting. We’ve already saved thousands of pounds over the past year on printing alone!

Leaders can also go back to any meeting throughout the year and quickly access the information, presentation or minutes directly from their tablet or mobile device linked to OneNote, meaning they can feel empowered with that knowledge and information wherever they are. Gone are the days at Acklam Grange of scrabbling through filing cabinets trying to locate an important document from a few months ago. With a couple of clicks you can access everything you need. Information sheets and presentations are displayed in full colour and can be zoomed in, copied and pasted or altered at a click of a button.

A quote from our Headteacher Andrea Crawshaw sums this culture shift up perfectly:

“As a forward thinking school, our innovative use of Microsoft OneNote has enabled us as a leadership team to role model the effective and efficient use of sustainable resources. As we enter into a time of uncertain and limited funding, it is essential that we keep pushing the boundaries, but with sustainable solutions.”

Follow Jon Tait on Twitter @TeamTait


The five Microsoft Training Academy schools currently offering free workshops are:

  • Treorchy Comprehensive School, in South Wales.
  • Shireland Collegiate Academy in Sandwell, West Midlands.
  • Bolsover Church of England Junior School, in Derbyshire.
  • Danesfield School in Buckinghamshire.
  • Simon de Senlis Primary School in Northampton.

More information about the schools, together with details and timetables of the CPD programmes on offer, together with information on booking are available here.

Telerik UI for UWP 오픈소스 공개

$
0
0

Telerik에서 UWP를 위한 UI 컨트롤을 오픈소스로 공개했습니다.

uwp-ui

Github에서 받아서 UWP앱 개발에 사용하면 됩니다. Telerik은 오랫동안 UI 컨트롤을 만들어서 개발자들에게 라이센스를 판매했었는데 상당히 품질이 좋고 적용하면 개발 시간을 많이 단축 시킬 수 있습니다.

Telerik UI for UWP는 모두 22개의 컨트롤을 제공하네요.

telerik-up-uwp

더불어 웹 개발 할 때 사용할 수 있는 JQuery 기반의 Kendo UI도 오픈소스로 공개되어 있습니다. 컨트롤 개수가 상당히 많은데 전체를 다 공개한건 아니에요.

 


OneNote API (C#) を使いページ コンテンツを表示するサンプル コード

$
0
0

こんにちは、Office Developer サポートの森 健吾 (kenmori) です。

今回の投稿では、OneNote API を使用して、ノート、セクション、ページを選択し、コンテンツを表示するプログラムを、実際に C# で開発するエクスペリエンスをご紹介します。

ウォークスルーのような形式にしておりますので、慣れていない方も今回の投稿を一通り実施することで、プログラム開発を経験し理解できると思います。本投稿では、現実的な実装シナリオを重視するよりも、OneNote API を理解するためになるべくシンプルなコードにすることを心掛けています。例外処理なども含めていませんので、実際にコーディングする際には、あくまでこのコードを参考する形でご検討ください。

現在のところ Microsoft Graph において OneNote API はベータ版のみの提供となります。ベータ版の API は本番環境における使用はサポートされません。そのため、代わりに OneNote エンドポイント (https://www.onenote.com) 配下に要求を実行する実装コードで実現しております。

事前準備

以前の投稿をもとに、Azure AD にアプリケーションの登録を完了してください。少なくとも以下のデリゲートされたアクセス許可が必要です。

View OneNote Notebooks

onenoteapi1

その上で、クライアント ID とリダイレクト URI を控えておいてください。

 

開発手順

1. Visual Studio を起動し、Windows フォーム アプリケーションを開始します。
2. ソリューション エクスプローラにて [参照] を右クリックし、[NuGet パッケージの管理] をクリックします。
3. ADAL で検索し、Microsoft.IdentityMode.Clients.ActiveDirectory をインストールします。
4. [OK] をクリックし、[同意する] をクリックします。
5. 次に同様の操作で Newtonsoft で検索し、Newtonsoft.Json をインストールします。
6. 次にフォームをデザインします。

onenoteapi2

コントロール一覧

  • OneNoteTestForm フォーム
  • NoteBooksCB コンボボックス
  • SectionsCB コンボ ボックス
  • PagesCB コンボボックス
  • ContentTC タブコントロール (TabPages : ブラウザー表示、HTML 表示)
  • ContentWB Web ブラウザー コントロール (ブラウザー表示のタブに配置)
  • ContentTB テキストエディタ (HTML 表示のタブに配置、MultiLine = True)

7. プロジェクトを右クリックし、[追加] – [新しい項目] をクリックします。
8. MyNotes.cs
を追加します。
9.
以下のような定義 (JSON 変換用) を記載します。

using System.Collections.Generic;

namespace OneNoteDemo
{
    public class NoteBooks
    {
        public List<NoteBook> Value { get; set; }
    }
    public class NoteBook
    {
        public string Name { get; set; }
        public string SectionsUrl { get; set; }
    }
    public class Sections
    {
        public List<Section> Value { get; set; }
    }
    public class Section
    {
        public string Name { get; set; }
        public string PagesUrl { get; set; }
    }
    public class Pages
    {
        public List<Page> Value { get; set; }
    }
    public class Page
    {
        public string Title { get; set; }
        public string ContentUrl { get; set; }
    }
}

10. フォームのコードに移動します。
11. using
を追記しておきます。

using Microsoft.IdentityModel.Clients.ActiveDirectory;
using Newtonsoft.Json;
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using System.Windows.Forms;

12, フォームのメンバー変数に以下を加えます。
※ clientid や redirecturi Azure AD で事前に登録したものを使用ください。

        const string resource = "https://onenote.com/";
        const string clientid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
        const string redirecturi = "urn:onenotedemo";
        // ADFS 環境で SSO ドメイン以外のテナントのユーザーを試す場合はコメント解除
        //const string loginname = "user@tenant.onmicrosoft.com";
        string AccessToken;

13. フォームのデザインでフォームをダブルクリックし、ロード時のイベントを実装します。

        private async void OneNoteTestForm_Load(object sender, EventArgs e)
        {
            AccessToken = await GetAccessToken(resource, clientid, redirecturi);
            DisplayNotes();
        }

        private async Task<string> GetAccessToken(string resource, string clientid, string redirecturi)
        {
            AuthenticationContext authenticationContext = new AuthenticationContext("https://login.microsoftonline.com/common");
            AuthenticationResult authenticationResult = await authenticationContext.AcquireTokenAsync(
                resource,
                clientid,
                new Uri(redirecturi),
                new PlatformParameters(PromptBehavior.Auto, null)
                // ADFS 環境で SSO ドメイン以外のテナントのユーザーを試す場合はコメント解除
                //, new UserIdentifier(loginname, UserIdentifierType.RequiredDisplayableId)
            );
            return authenticationResult.AccessToken;
        }

        private async void DisplayNotes()
        {
            // ノートブック取得 (REST)
            string NoteBooksUrl = "https://www.onenote.com/api/v1.0/me/notes/notebooks/";
            NoteBooks notebooks;
            using (HttpClient httpClient = new HttpClient())
            {
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken);
                HttpRequestMessage request = new HttpRequestMessage(
                    HttpMethod.Get,
                    new Uri(NoteBooksUrl)
                );
                var response = await httpClient.SendAsync(request);
                notebooks = JsonConvert.DeserializeObject<NoteBooks>(response.Content.ReadAsStringAsync().Result);
            }
            // ノートブック コンボボックスの描画
            NotebooksCB.DataSource = notebooks.Value;
            NotebooksCB.DisplayMember = "Name";
            // 先頭アイテムを自動選択
            if (NotebooksCB.Items.Count > 0)
            {
                NotebooksCB.SelectedIndex = 0;
            }
        }

14. NoteBooksCB の SelectedIndexChanged イベントをダブルクリックして、処理を実装します。

        private async void NotesCB_SelectedIndexChanged(object sender, EventArgs e)
        {
            // 選択したノートブックが保持するセクション一覧の URL を取得
            string SectionsUrl = ((NoteBook)NotebooksCB.SelectedItem).SectionsUrl;
            Sections sections;
            if (!string.IsNullOrEmpty(SectionsUrl))
            {
                // セクション一覧を取得 (REST)
                using (HttpClient httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken);
                    HttpRequestMessage request = new HttpRequestMessage(
                        HttpMethod.Get,
                        new Uri(SectionsUrl)
                    );
                    var response = await httpClient.SendAsync(request);
                    sections = JsonConvert.DeserializeObject<Sections>(response.Content.ReadAsStringAsync().Result);
                }
                // セクションをコンボボックスに描画
                SectionsCB.DataSource = sections.Value;
                SectionsCB.DisplayMember = "Name";
                // 先頭アイテムを自動選択
                if (SectionsCB.Items.Count > 0)
                {
                    SectionsCB.SelectedIndex = 0;
                }
            }
        }

15. SectionsCB の SelectedIndexChanged イベントをダブルクリックして、処理を実装します。

        private async void SectionsCB_SelectedIndexChanged(object sender, EventArgs e)
        {
            // 選択したセクションが保持するページ一覧の URL を取得
            string PagesUrl = ((Section)SectionsCB.SelectedItem).PagesUrl;
            Pages pages;
            if (!string.IsNullOrEmpty(PagesUrl))
            {
                // ページ一覧を取得 (REST)
                using (HttpClient httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken);
                    HttpRequestMessage request = new HttpRequestMessage(
                        HttpMethod.Get,
                        new Uri(PagesUrl)
                    );
                    var response = await httpClient.SendAsync(request);
                    pages = JsonConvert.DeserializeObject<Pages>(response.Content.ReadAsStringAsync().Result);
                }
                // ページをコンボボックスに描画
                PagesCB.DataSource = pages.Value;
                PagesCB.DisplayMember = "Title";
                // 先頭アイテムを自動選択
                if (PagesCB.Items.Count > 0)
                {
                    PagesCB.SelectedIndex = 0;
                }
            }
        }

16. PagesCBの SelectedIndexChanged イベントをダブルクリックして、処理を実装します。

        private async void PagesCB_SelectedIndexChanged(object sender, EventArgs e)
        {
            // 選択したページが保持するコンテンツの URL を取得
            string ContentUrl = ((Page)PagesCB.SelectedItem).ContentUrl;
            if (!string.IsNullOrEmpty(ContentUrl))
            {
                string content = "";
                // ページ一覧を取得 (REST)
                using (HttpClient httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken);
                    HttpRequestMessage request = new HttpRequestMessage(
                        HttpMethod.Get,
                        new Uri(ContentUrl)
                    );
                    var response = await httpClient.SendAsync(request);
                    content = response.Content.ReadAsStringAsync().Result;
                }
                // コンテンツをテキスト ボックスに描画
                ContentTb.Text = content;
                // コンテンツをブラウザー コントロールに描画
                ContentWb.DocumentText = content;
            }
        }

上記ソリューションをビルドして、OneNote API の動作をご確認ください。

動作概要

・左上から最初のコンボボックスに自分の OneNote ノートブックが表示されます。
・左上から 2 番目のコンボボックス名には、選択したノートのセクションが表示されます。
・左上から 3 番目のコンボボックス名には、選択したセクション内のページが表示されます。
・画面下のタブ コントロール左のブラウザー表示では選択したページのコンテンツが表示され、HTML 表示ではページのソースが確認できます。

 

補足 : このコードでは、ページ コンテンツとして返された HTML をブラウザー コンポーネントで表示するだけとなります。アクセストークンを送信して、画像などのページ内に埋め込まれたリソース データを取得できないためリンク切れのような状態になります。

onenoteapi3

onenoteapi4

OneNote Online にもアクセスして内容と比較してみましょう。

onenoteapi5

参考情報

OneNote API についてさらに詳細な情報を確認する場合は、以下の情報をご参考にしてください。

タイトル : OneNote の開発
アドレス : https://msdn.microsoft.com/ja-jp/office/office365/howto/onenote-landing

タイトル : OneNote の認証とアクセス許可
アドレス : https://msdn.microsoft.com/ja-jp/office/office365/howto/onenote-auth

タイトル : OneNote authentication and Azure AD application permissions
アドレス : https://msdn.microsoft.com/en-us/office/office365/howto/onenote-auth-appperms

タイトル : OneNote API を使用して開発する
アドレス : https://msdn.microsoft.com/ja-jp/library/office/dn575421.aspx

タイトル : OneNote デベロッパーセンター
アドレス : http://dev.onenote.com/docs

 

Windows SDK for Google Analytics 오픈소스 공개

$
0
0

요즘은 웹사이트를 개설하거나 블로그라도 만들면 필수적으로 Google Analytics를 붙여서 웹 애플리케이션의 사용패턴을 보면서 운영을 합니다.

이제 Windows 10 UWP 앱, Xamarin 앱, WinForm, WPF 앱에도 Google Analytics를 쉽게 붙여서 사용자들의 앱 사용 정보를 수집 할 수 있습니다. Windows SDK for Google Analytics가 오픈소스로 Github 공개 되었습니다. Nuget Package (UWP.SDKforGoogleAnalytics로 검색)로 받을 수 있습니다. C#용과 C++, Javascript용이 따로 있네요.

앱에서 사용자들이 하는 행동(Event)을 보낼 수 있습니다. 디버그 일 때는 안보내도록 하는 플래그도 보이고, UnhandedException을 수집하는 기능, UWP의 Life cycle의 변화를 수집할 수도 있습니다.

Azure Application Insight와 더불어 앱 사용 패턴 분석에 또 다른 좋은 옵션이 생겼습니다.

uwp-google-analytics-sdk

 

아래 11분 짜리 동영상(영어)을 살펴보시면 어떤 기능이 있고 어떻게 사용하는지 알 수 있습니다.

Social Selling Assistant: A new value proposition for salespeople in Microsoft Dynamics 365

$
0
0

Invest 5 minutes a day to become a successful social seller. The Social Selling Assistant recommends personalized actions for you, like which posts to share, based on machine learning. No need to spend hours to spot relevant content or crawl through hundreds of updates anymore.

Social Selling became a big trend in recent years. It allows sellers to use social networks to achieve more. Studies* show that top sellers use social channels to build a highly efficient network, create new opportunities, and stay in touch with existing contacts. Digitalization accelerates the trend to turn products into services. Increasingly, sellers need to stay in touch with a customer throughout the entire product lifecycle. With social networks, the Internet of Things, customer 360 and increasingly artificial intelligence based recommendations, sellers have the tools at hand to master the change.

*7 Key Insights from LinkedIn’s Study ‘The State of Sales in 2016’

*How B2B Sales Can Benefit from Social Selling

What is Social Selling?

There are many definitions and ideas around how to define social selling. We adopted a simple and broad definition: “Leveraging social networks to sell more”. This doesn’t imply that a salesperson uses social networks to sell products directly. In fact, most successful social sellers use social networks to build their networks, increase their reputation and become an influential thought leader. Which, in turn, increases their reach to share their product’s USPs and value proposition with potential customers and other influencers. Additionally, it provides insights to sellers about the right timing to engage with a customer to discuss challenges and their solution.

What do we offer?

The Social Selling assistant is a digital assistant that helps you to leverage social networks to sell more. It takes less than 5 minutes a day to grow your network, connect with the right people, and become a thought leader in your domain. The assistant proposes 10 recommended actions per day. It’s easy and efficient. Let me give you an example:

Meet Nancy, she’s a legal advisor. She is busy with all his clients and rarely finds time to share articles about important topics in her industry. She’d like to be more active on social media but it’s just too time-consuming to research good content and keep up with a growing network.

How can we help Nancy to achieve more? To grow and nurture her digital network, Nancy needs persistence, consistence, and good content. That’s the exactly where the recently released Social Selling Assistant helps. The first version helps sellers to spot relevant content. Based on machine learning, the assistant makes recommendations about what content to share by analyzing millions of social posts in a specific domain like legal services. It will take only 5 minutes a day to create a steady flow of relevant information for an audience. In a monthly cadence, we will improve the assistant by adding more types recommendations.

 

The assistant provides 4 types of sharing recommendations:

  • Promoted content: Manually selected editor’s picks, for example from the marketing team.
  • Owned content: Published by your own company on social media.
  • Trendy content: Posts that are currently trendy in your industry.
  • Recommended content: Recommendations based on the sharing behavior of the entire sales team to leverage the collective intelligence. The assistant learns from all your actions to get better.

You can share all the content on LinkedIn, Twitter and Facebook.

How do I get the Social Selling Assistant?

The capabilities are based on Microsoft Social Engagement which is part of the Dynamics 365 (online) Plan 1 and the Sales, Customer Service, Field Service, Project Service Automation apps. For additional information, see Dynamics 365 pricing.

Follow the quick steps below to get started with the assistant.

Step 1: Bookmark the Social Selling URL on your mobile phone or in your browser

If you have a Microsoft Dynamics 365 user license, you already have access to Microsoft Social Engagement where the Social Selling assistant is based on. Just go to the app switcher and select Microsoft Social Engagement. In Microsoft Social Engagement, you select in the navigation bar the item Social Selling. Bookmark this link on your mobile phone or in your browser.

Additionally, you can integrate the experience into Dynamics 365 by connecting Microsoft Social Engagement and Dynamics 365 and installing the “Social Selling Assistant” app from app source.

For information about installing the Social Selling Assistant in Dynamics 365, see TechNet: Install the Social Selling Assistant.

Step 2: Customize the service to your needs

The Social Selling assistant needs input to come up with the best possible recommendations. Best practices include:

  • Add your social accounts as social profiles in Microsoft Social Engagement to be able to share content.
  • Tell the system what your own content channels are, like your company’s Twitter account(s).
  • Include keyword searches about your domain like “legal tech” in the advisory example – this needs special permission in Microsoft Social Engagement. Please work with your administrator to get this done.
  • Include relevant 3rd party social accounts (customers, competitors) as another source of potentially relevant information.

More information: Configure Social Engagement for the Social Selling Assistant

Step 3: Get recommendations and share the first piece of content into your network

Now you are ready to go. Open your bookmark in your browser and the assistant will recommend you first posts to share. For each recommendation, you have the choice to share it or dismiss it. A best practice follows a zero-inbox strategy. Go through all recommendations until there are none left so the system can learn from your actions and get smarter.

More information. Work with the Social Selling Assistant

How does Social Selling Assistant relate to the LinkedIn Sales Navigator?

The Social Selling Assistant is not a replacement for the Sales Navigator – but they fit well. So, we recommend using them in combination.

What’s Next

In the next blog post about the Social Selling Assistant we will share an example how a typical customer implemented social selling with the assistant and how and the setup looks like in detail.

Now, it is up to you to start social selling – never been easier!

 

François Rüf

Principal Group Program Manager, Dynamics 365

Resolution for Sharepoint Document ID Issue with Metalogix Migration

$
0
0

Metalogix is a widely-used migration tool specially when we need to migrate content in large scale. But the fact cannot be denied that it comes with some known limitation/issue as well. Sometimes we don’t even have any idea what went wrong in a specific scenario. One of such case is while migrating Document workspace sites, often we end up with document url suffixed with source url. As a result, due to inappropriate document url we face issues with sharing feature. Even attempt to open the document will lead to error page.

It is an intermittent issue but when it occurs, it leads to customer escalation L. After doing a lot of investigation although we could not find the reason for this issue, but we have a resolution to remediate this. We can use the share point document id regeneration to resolve.

Process to Re Generate the Document ID

  1. Ensure Document ID Service Feature is activated on the Target sites

Go to Site Settings > Site Collection Administration > Site Collection Feature and Ensure Document ID Service feature is activated

 

untitled2. Go to Site Settings > Site Collection Administration > Document ID Settings

untitled

3.   Click on Document ID Settings link and go to the Document ID Settings Page. Provide the inputs as shown below, ensure the Begin IDs with the following characters settings should comply the constrains

  • Should not be left empty

untitled

  • Must be 4 to 12 character long

untitled

  • Click on ok. If we re navigate to the same page it will comes up with the following message and it will stay till the process completed

untitled

  • It will take some time and once it is completed the document ID will be regenerated with appropriate target url and the Document ID will contain the Phrase provided in the Begin IDs with the following characters

 

Note: In case we need to have an urgent fix for this issue, we have a quick workaround. If we do a check out of the document followed by undo/discard checkout, the document url issue will get resolved.

 

HoloLens: Inception – The real world within mixed reality

$
0
0

Disclaimer: I’m not on the HoloLens team

This week the HoloLens team announced SpectatorView which addresses three key scenarios, including allowing an audience to view what the HoloLens wearer sees on a 2D screen.  This offers a professional grade solution to video capture the holographic content and video stream it in real-time to an external screen.  Essentially the use case for this scenario is:

“How can I create a way for people to see what someone sees when they are wearing a HoloLens from a third-person perspective? I want people to not only see what I see when wearing a HoloLens, I want people to feel like they are part of the experience!”

To solve this, there is now an open source library available and some additional hardware necessary: https://developer.microsoft.com/en-us/windows/holographic/spectator_view.

What I’m sharing here is a different use case, that allows you (the HoloLens wearer) to see the real world within mixed reality in real-time ie. a “RealWorldView”.  So if the question is one of the below, keep reading:

“How can I see myself from a third person view within mixed reality.  I want to see how I interact with holograms from the outside-in.” eg. Training scenarios

“How can I monitor another room in the real world whilst I’m in a different mixed reality one.” eg. CCTV scenarios

“How can I control a physical camera within mixed reality” eg. AV scenarios

Why not just stand in front of a mirror?

To address part of the first question, you could just stand in front of a mirror (whilst wearing the HoloLens) if you just need to see your reflection interacting with Holograms.  But what if you need to see behind you, or from a different angle?  Or something completely different, perhaps in another room, that isn’t in your field of vision?  This solution will show you what is in the camera lens and display it in 2D within mixed reality.  Further more, you can take control of the cameras functions – control zoom, focal point and take photos onto the camera.

Keep talking, tell me what I need?

So, similar to SpectatorView there is an additional camera and some software required so this solution won’t work for everyone.  However, the end result is a fully untethered rig with no additional computer:

 

HoloLens and camera

 

Hardware/Software component Description
Sony digital camera compatible with Smart Remote Control Tested with Sony RX100M3, other Sony cameras with a compatible API should also work
Sony RX Remote – Windows Store Windows Store UWP application, recently updated for the HoloLens

So then, what does this achieve?

This setup will allow you to see whatever the camera can see in a 2D window within mixed reality.  If the camera is pointing towards you (as the HoloLens user) it’s akin to standing in front of a mirror, you’ll see yourself but without the holographic content.  But you’ll be able to continue interacting with any other holograms eg:

Hololens third-person perspective

How is this useful?

DevicesLets consider you have created a virtual or augmented world that captivates the user, but the user needs to be aware of how they appear in the real world.  For example, imagine a hologram of a golf or baseball – I want to swing at the ball to interact with it, but at the same time I want to see what my real swing actually looks like.  Filming yourself practicing sports is one of the best ways to improve and correct mistakes or bad habits.  Another example is monitoring or CCTV, where you have a requirement to watch a physical entity in the real world whilst you are immersed in a digital one.  This is an untethered solution, the camera and the HoloLens are not physically connected and there are no additional computers or devices required – meaning this can be setup easily in most environments.

What’s going on here?  How does this actually work?

DevicesThe Sony RX100 is one of a range of Sony cameras that support Sony’s Smart Remote Control.  The camera acts as a wifi hotspot and exposes an API that can be used to read data from the camera or send commands to it.  A while ago I developed Sony RX Remote originally for Windows Phone 8.1, this has since been updated to Universal Windows Platform (UWP).  Therefore, it runs on many different types of Windows 10 device – including the HoloLens.

 

But I don’t have a compatible Sony camera, can you just show me what happens?

Here’s an example of a what the experience is like – recorded using Mixed Reality Capture (MRC).The real world within mixed reality

#NewWayOfWork – work while travelling

$
0
0

Stell Dir vor, Du könntest diesen eisigen Temperaturen entfliehen und bei warmen 30 Grad unter Palmen Menschen kennen lernen und neue Eindrücke gewinnen?

 

Diese Möglichkeit eröffnete sich mir, als ich von meiner Universität auf eine Ausschreibung aufmerksam wurde: „2 Monate für ein Infrastrukturprojekt nach Rio de Janeiro“. Nur fiel der Zeitrahmen des Projektes genau in meine Zeit bei Microsoft. Zu diesem Zeitpunkt war ich nämlich als Werkstudent bei Microsoft im Bereich Services engagiert und verantwortlich für administrative und organisatorische Tätigkeiten innerhalb eines dynamischen IT-Projektes bei der Implementierung eines Customer-Relationship Systems für einen deutschen Großkonzern.

Den Werkstudentenjob für das Projekt in Rio de Janeiro aufzugeben, stand für mich außer Frage, da mir die Arbeit bei Microsoft einfach viel zu sehr gefiel. Dennoch wollte mich der Gedanke nicht loslassen, für ein zweimonatiges Abenteuer nach Südamerika zu gehen. Deshalb kam mir die Idee: “Warum nicht beides kombinieren? Warum sollte es nicht möglich sein, meinen Teilzeitjob für Microsoft weiterzuführen, und an dem Projekt in Rio teilzunehmen?”

Nicht umsonst haben wir bei Microsoft durch die Office-Produkte die Möglichkeit, komplett virtuell miteinander zu interagieren: sei es an Telefonkonferenzen via Skype teilzunehmen, Dokumente über OneDrive zu teilen, oder SharePoint als Teamplattform zu nutzen.

So wie viele andere Jobs bei Microsoft, bestand mein Job aber auch aus Tätigkeiten, die beim Kunden Vorort erledigt werden müssen. Deshalb überlegte ich mir zusammen mit meinem Manager und dem Projektteam einen Plan, ob und wie die Vorortaufgaben an andere Teammitglieder übergeben werden können.

Dies erwies sich als einfacher als erwartet, da alle Beteiligten voll und ganz hinter mir standen und ihr Bestes gaben, um mich bei diesem Vorhaben zu unterstützen. Nachdem meine Aufgaben innerhalb des Projektes komplett auf eine „Homeoffice-Arbeit“ ausgerichtet wurde, bewarb ich mich an der Universität für das Projekt und bekam schon ein paar Wochen später die Zusage.

Wenige Monate später startete ich dann meine Reise in die Cidade Maravilhosa (die „wunderschöne Stadt“, Rio). Dort angekommen, war ich in der ersten Woche einzig damit beschäftigt, meine beiden Projekte aufeinander abzustimmen, was mich sicher die eine oder andere Nacht an Schlaf kostete. Anschließend hatte ich endlich die Möglichkeit, die faszinierende Stadt mit dem Zuckerhut kennen zu lernen:

blogpost1

Beeindruckt von den Erlebnissen in Rio und erleichtert darüber, dass ich es geschafft hatte beide Projekte ohne größere Probleme bewältigt und „unter einen Hut“ gebracht zu haben, fasste ich den Entschluss, noch eine einmonatige Rundreise durch Lateinamerika anzuhängen. Dies war aufgrund meines noch offenen Urlaubs auch problemlos möglich.

So reiste ich nach Abschluss meines Projektes in Rio noch über Chile bis nach Peru. Knüpfte viele Freundschaften mit Menschen aus den unterschiedlichsten Kulturen und Ländern und sammelte wunderschöne und bleibende Eindrücke und Erlebnisse.

blogpost2

Ich empfinde diese Zeit als eine Bereicherung meines Lebens und kann es jedem nur wärmstens empfehlen. Oft fehlt in späteren Jahren die Zeit, oder auch der Mut, sich auf ein solch unkonventionelles Abenteuer einzulassen.

Falls Du beabsichtigst, ein solches Vorhaben in die Tat umzusetzen, solltest Du auf folgende Dinge Rücksicht nehmen:

Vorbereitung

Informiere Dich im Vorfeld darüber, wie die Internetverfügbarkeit an dem Standort ist, an dem Du Dich aufhalten wirst. Gerade bei Telefonkonferenzen ist eine stabile Internetverbindung unabdingbar. Gegebenenfalls müssen auch Zeitunterschiede berücksichtigen werden (Der Zeitunterschied von Brasilien nach Deutschland beträgt je nach Sommer-Winterzeit 3-5 Std.).

Organisation ist das A und O

Bevor ich die Reise antrat, wurde genau definiert, welche Aufgaben ich zu erfüllen habe und welche Kollegen zwischenzeitlich meine restlichen Aufgaben übernehmen.

Schaffe Dir Zeitfenster

Mir hat es sehr geholfen, Zeiten in Outlook zu blocken, in denen ich mich meinen Aufgaben gewidmet habe. Das verschafft Dir die Zeit, die Du brauchst, um Deine Aufgaben auch wirklich zu erledigen.

 

Wenn Du diese Sachen berücksichtigst und ein gutes Team hast, das Dich bei Deinem Vorhaben unterstützt, dürfte Dir nichts mehr im Wege stehen – was ich in meinem Falle einer Firmenpolitik wie der von Microsoft zu verdanken habe.

Mit diesem „Post“ will ich aber nicht nur meine Eindrücke schildern, sondern mich vor allem nochmals bei allen Beteiligten bedanken, die mir dieses Abenteuer ermöglicht haben!

Facebook 앱 설치 광고 – Windows 10 UWP 앱도 가능

$
0
0

Facebook 사용자들은 하루에도 몇 번씩 보는 Facebook 광고 중에 앱 광고가 있습니다. Facebook 앱 설치 광고(Facebook App Install Ads)라고 불리는 것입니다. 타임라인 중간에 앱에 대한 광고와 “앱 설치” 버튼 말이죠.이제 부터는 Windows 10 UWP 앱도 Facebook에 광고를 할 수 있게 되었습니다. “그 동안 못하는 거였어?”라고 하시겠지만 그랬습니다. 이제 여러분들이 만드신 UWP 앱과 게임을 Facebook을 통해 광고하세요.

저도 개발자라 직접 광고를 해보지는 않았지만 나이, 성별, 지역 등 타케팅 된 광고를 할 수 있다고 들었습니다. 그리고 이 광고를 통해서 앱이 설치 되었을 때 설치측정, 이벤트 측정, 앱 내 전환 측정, 딥 링크 (광고에서 쿠폰을 준다고 했으면 앱이 설치되면 바로 쿠폰 페이지로 들어가도록 설정) 등 앱 설치 광고와 연결되는 기능들을 개발할 수 있습니다.

이를 위해서 그동안 UWP 앱에서 Facebook 로그인 등의 연결에 사용되었던 Windows SDK for Facebook 에 해당 기능이 업데이트 되었습니다.

Windows 10이 발전되는 만큼 UWP 앱 시장도 커지고 Facebook을 통해서 광고를 하는 국내 UWP들이 생기기를 기대해 봅니다.

 


Microsoft .NET wird 15!

$
0
0

wp_20170209_19_12_07_rich_thumb

Herzlichen Glückwunsch Microsoft .NET Framework, zu deinem 15. Geburtstag. Unser geliebtes .NET Framework ist diese Woche 15 Jahre alt geworden.

15 Jahre in der Zeit in der sich ständig und einfach alles verändert ist eine lange Zeit. Allerdings heißt das nicht, dass .NET deswegen in die Jahre kommt.

Ganz im Gegenteil!

Das Microsoft .NET Framework ist mächtiger, schneller, schlanker – flexibler als jemals zuvor.

4 Dinge die man über .NET wissen sollte:

  • Microsoft .NET ist mehr als ein Framework für Windows.
    Mit .NET Core ist es möglich native Windows, Linux und Mac Anwendungen zu entwickeln.
  • Es gibt ein Microsoft .NET Standard Komitee, dass dafür sorgt, dass plattformübergreifende APIs auf jeder Plattform absolut identisch sind.
  • Xamarin?
    Mit Xamarin und dem Mono Framework ist es möglich native Apps für iOS, Android  und Windows Phone zu entwickeln.
  • Mono?
    Schon früher war es möglich mit der Mono Class Library .NET Anwendungen für andere Plattformen zu entwickeln, selbst bevor es .NET Core gab.

In dem Sinne,

Happy Birthday .NET Framework & keep growing.

Richer exception details in Application Insights (custom exceptions!)

$
0
0

Hello everyone,

while working on a project recently I encountered a situation where we needed to report custom exceptions to Application Insights. To keep things simple, they looked something like this:

public class CustomException : Exception
{
    public String AdditionalInformation { get; set; }

    public CustomException()
    {
    }

    public CustomException(string message) : base(message)
    {
    }

    public CustomException(string message, string additionalInformation) : base(message)
    {
        AdditionalInformation = additionalInformation;
    }

When throwing them we would provide addition context information, which was important to understand the failure. Something along these lines:

throw new CustomException("Something went wrong.", 
    "A piece of information I need to see in Application Insights.");

Unfortunately, by default – apart from the stack trace – all you get in Application Insights is the type of the exception and the message:
Capture

Luckily, the ExceptionTelemetry object accepts additional parameters, and with a bit of .NET reflection magic we can easily get all properties of any exception, serialize them and ship them off to Application Insights. Here’s an example of how to do this:

// ignore cyclic references
private static JsonSerializerSettings jsonSettings = 
    new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore };

void LogException(Exception exception)
{
    ExceptionTelemetry telemetry = new ExceptionTelemetry(exception);

    // serialize properties that an exception may have and send them to application insights
    Type exceptionType = exception.GetType();
    if (exceptionType != null)
    {
        foreach (PropertyInfo property in exceptionType.GetProperties())
        {
            if (string.Equals(property.Name, "StackTrace") ||
                string.Equals(property.Name, "Message") ||
                string.Equals(property.Name, "TargetSite"))
            {
                // skip duplicate data
            }
            else
            {
                telemetry.Properties[$"{exceptionType.Name}.{property.Name}"] 
                    = JsonConvert.SerializeObject(property.GetValue(exception), jsonSettings);
            }
        }
    }

    client.TrackException(telemetry);
}

If we now report our CustomException to Application Insights, we get a lot more context information. It’ll show up in the “Custom Data” section in the Application Insights dashboard:
Capture2

In our project, we used this custom logging function in a Web Job which was a plain console application. However, if you’re using Application Insights in a Web App, you can create a custom exception filter to easily add this information to all exceptions reported to AI.

I hope this helps you troubleshoot your issues!

Cheers,

Helge Mahrt

So entwickelst Du mobile Anwendungen für Windows Mobile, iOS und Android!

$
0
0

Du wolltest schon immer eine mobile Anwendung für Windows Mobile, iOS und Android entwickeln? Wie Du Zeit sparen kannst und dabei aber auf kein Feature der jeweiligen Plattform verzichten musst werden wir Dir hier in diesem Beitrag erklären. Wir dürfen vorstellen: Xamarin. Mit der Programmiersprache C# kannst du iOS, Android und Windows-Apps schreiben. Dabei kann der Quellcode für alle Plattformen genutzt werden. Um dir bei der Entwicklung mit Xamarin zu helfen, gibt es Xamarin University. Wir werden jeden Freitag einen Beitrag zu den dort angebotenen Kursen liefern damit du einen Überblick bekommst was dich in dem jeweiligen Kurs erwartet.

Hier einmal ein kurzer Überblick über die Themen die dich in den nächsten Wochen erwarten:

Xamarin.com

Los geht’s: Heute wird sich alles um den Einstieg auf Xamarin University drehen bevor wir dann nächste Woche Freitag in die verschiedenen Themen eintauchen werden.

Dazu kannst du dich kostenlos für eine Probezeit von 30 Tagen auf https://www.xamarin.com/university registrieren. Ein kleiner Tipp um Zeit zu sparen: Falls Du noch keine Visual Studio Version auf deinem Rechner installierst hast, dann schau vorbei auf https://www.visualstudio.com/downloads/ und lade Dir eine für dich passende Version herunter. Wir empfehlen dir: Visual Studio Community 2015

Xamarin University

Nach einer erfolgreichen Registration kannst du dich kurz mit der Oberfläche von Xamarin University vertraut machen. Du kannst hier zwischen den verschiedenen Kursen wählen, dir Live-Vorträge in deinen Kalender eintragen, dein Profil bearbeiten und dir deinen Zertifikat Fortschritt anschauen. Du kannst auf Xamarin University auch ein Zertifikat bekommen wenn bestimmte Kurse erfolgreich abschließt. Zum Thema Zertifikat wird nächstes Woche Freitag auch einiges auf unserem Blog zu lesen sein.

Xamarin UniversityWenn du auf “Get Started” klickst, dann bekommst Du auch schon die erste Kurs Einheit zur Verfügung gestellt. Du kannst nun zwischen einem “Self-Guided” Kurs oder einem Live-Vortrag wählen. Ein “Self-Guided” Kurs stellt dir Video Material und Dokumentation für ein Selbststudium zur Verfügung. Ein Live-Kurs wird von einem unserer ausgewählten Experten gehalten. Dabei gibt es mehrere Angebote jedoch sind die verschiedenen Kurszeiten zu beachten.

Was erwartet dich/Was wirst du lernen in der Einheit “Introdution to Xamarin Development”:

1. Die unterschiedlichen Ansätze eine mobile Anwendung zu entwickeln
2. Der Mobile Software Development Lifecycle (SDLC) mit Xamarin
3. Installation von Xamarin
4. Aktualisierung deiner Entwicklungswerkzeuge
5. Arbeiten mit Visual Studio auf der Windows- und macOS Plattform.

Nach einem erfolgreichem Abschluss eines Kurses kannst Du in Deinem Profil Deinen Fortschritt beobachten.

My Profile

Gratulation an alle die es schon so weit geschafft haben. Ich hoffe die Anmeldung auf Xamarin University hat geklappt und Du hast schon die ersten Erfahrungen mit Xamarin gesammelt. Du hast Fragen zu Xamarin University? Dann bitte entweder als Kommentar auf unserem Blog oder persönlich als E-mail: t-nidobi@microsoft.com.


Nächste Woche Freitag (24.02) werden wir uns mit Xamarin.Android beschäftigen. Ein kleiner Teaser: Es wird ein Gewinnspiel geben. Dazu wird ein erfolgreicher Abschluss der 1. Einheit sowie die Installation der Entwicklungswerkzeuge vorausgesetzt.

Die Microsoft DX Österreich wünscht Dir ein erholsames Wochenende!

 

Connecting your own Hadoop or Spark to Azure Data Lake Store

Encoding Hints and SQL Server Analysis Services vNext CTP 1.3

$
0
0

The public CTP 1.3 of SQL Server vNext on Windows is available here! The corresponding versions of SQL Server Data Tools (SSDT) and SQL Server Management Studio (SSMS) will be released in the coming weeks. They include much-anticipated new features, so watch out for the upcoming announcements!

Encoding hints

CTP 1.3 introduces encoding hints, which is an advanced feature used to optimize processing (data refresh) of large in-memory tabular models. Please refer to the Performance Tuning of Tabular Models in SQL Server 2012 Analysis Services whitepaper to better understand encoding. The encoding process described still applies in CTP 1.3.

  • Value encoding provides better query performance for columns that are typically only used for aggregations.
  • Hash encoding is preferred for group-by columns (often dimension-table values) and foreign keys. String columns are always hash encoded.

Numeric columns can use either of these encoding methods. When Analysis Services starts processing a table, if either the table is empty (with or without partitions) or a full-table processing operation is being performed, samples values are taken for each numeric column to determine whether to apply value or hash encoding. By default, value encoding is chosen when the sample of distinct values in the column is large enough – otherwise hash encoding will usually provide better compression. It is possible for Analysis Services to change the encoding method after the column is partially processed based on further information about the data distribution, and restart the encoding process. This of course increases processing time and is inefficient. The performance-tuning whitepaper discusses re-encoding in more detail and describes how to detect it using SQL Server Profiler.

Encoding hints in CTP 1.3 allow the modeler to specify a preference for the encoding method given prior knowledge from data profiling and/or in response to re-encoding trace events. Since aggregation over hash-encoded columns is slower than over value-encoded columns, value encoding may be specified as a hint for such columns. It is not guaranteed that the preference will be applied; hence it is a hint as opposed to a setting. To specify an encoding hint, set the EncodingHint property on the column. Possible values are “Default”, “Value” and “Hash”. At time of writing, the property is not yet exposed in SSDT, so must be set using the JSON-based metadata, Tabular Model Scripting Language (TMSL), or Tabular Object Model (TOM). The following snippet of JSON-based metadata from the Model.bim file specifies value encoding for the Sales Amount column.

  {
    "name": "Sales Amount",
    "dataType": "decimal",
    "sourceColumn": "SalesAmount",
    "formatString": "\$#,0.00;(\$#,0.00);\$#,0.00",
    "sourceProviderType": "Currency",
    "encodingHint": "Value"
  }

Extended events not working in CTP 1.3

SSAS extended events do not work in CTP 1.3. We plan to fix them for the next CTP.

Download now!

To get started, download SQL Server vNext on Windows CTP1.3 from here. Be sure to keep an eye on this blog to stay up to date on Analysis Services.

Viewing all 12366 articles
Browse latest View live