Quantcast
Channel: Randy Riness @ SPSCC aggregator
Viewing all 3015 articles
Browse latest View live

MSDN Blogs: Update for SQL server Integration Services Feature Pack for Azure with support to Azure Moon cake and New Blob Storage account

$
0
0

Hi All,

 

We are pleased to announce that an updated version of SQL server Integration Services Feature pack for azure is available now for download. This release mainly has following improvements:

1.       Support for Azure moon cake, the customers can now seamlessly connect to azure moon cake from SQL Server Integration services

2.       Support for connecting to new Blob storage which was released recently. See article1 and article2 for details

3.       Added feature improvement to support Compression/Decompression in Azure blob source/Destination components for text format.

 

Here are the download links for the supported versions:

SSIS 2012: https://www.microsoft.com/en-us/download/details.aspx?id=47367

SSIS 2014: https://www.microsoft.com/en-us/download/details.aspx?id=47366

SSIS 2016: https://www.microsoft.com/en-us/download/details.aspx?id=49492

 

Thanks

 

Jimmy

 

 


MSDN Blogs: 連続音声認識を使った音声入力のUWPサンプル

$
0
0

#wpjp #wpdev_jp #win10jp #w10mjp

Windows 10 には Cortana がいます。Cortana は音声認識とAIと検索によって構成されているWindows 10 の機能の一つですが、この音声認識の部分は Windows 10 のOSからも提供されており、アプリケーションの中で単独で使うことが出来ます。

 

■UWPでの音声認識エンジン

この音声認識のためのAPIがSpeechRecognizer クラスです。

このSpeechRecognizer には2つの認識方法があって、1つは認識エンジンが起動し、認識し、終了するという1文ごとに使うものと、Cortana の待ち受けがそうであるように、話したことをずっと聞いていてその都度認識して結果を出すというもの。今回はこの連続認識(Constraint)の使い方の実装です。

ということで、簡単なサンプルを作ってみました。Visual Studio を使ってUWPのアプリケーションを作ってみてください。

 

■もっとも簡単な音声認識の実装 UI

 

MainPage.xaml のUI側には以下の2行を追加します。上が結果を表示するためのもの。したは途中経過を表示するもの。

<Grid Background="LightGray"><TextBlock x:Name="output" FontSize="24" Padding="10" Text="" Margin="0,0,0,54" TextWrapping="Wrap"></TextBlock><TextBlock x:Name="textBlock1" Foreground="White" TextAlignment="Center" FontSize="24" Text="Waiting..." VerticalAlignment="Bottom" Margin="10"/></Grid>

 

■音声認識の実装とその処理内容。

続けてMainPage.xaml.cs には以下のコードを追加します。初めは SpeechRecognizer のインスタンスを作って、Constraintsとしてコンパイルします。あとはStartAsyncで認識開始します。認識中は逐次HypothesisGenerated イベントが起動しますので、その都度画面に認識内容を表示します。話し終わってしばらく空くとResultGenerated イベントが起動するのでここで最終決定として文を処理(画面に表示)します。

ちなみに初期化時に SpeechRecognizer(newLanguage(“en-US”)); と書くと話したことを英語として認識します。(掘った芋いじったな→ What time is it now ? )しかしOSに英語音声のライブラリがないとException 起こすので注意です。

画面表示の際に dispatcher.RunAsync を使っていますが、これは認識時はUIとは別スレッドで処理が行われているため、UIに対して直接操作ができないのです。そこでdispatcher を使ってプライマリスレッドであるUIスレッドに対してアプローチして、その中でUIに書き込んでいます。非同期処理から画面を操作するときにはよく使う方法です。

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
    }

    //連続音声認識のためのオブジェクト
    privateSpeechRecognizer contSpeechRecognizer;privateCoreDispatcher dispatcher;protected async override void OnNavigatedTo(NavigationEventArgs e)
    {//ハックグラウンドスレッドからUIスレッドを呼び出すためのDispatcher
        dispatcher = CoreWindow.GetForCurrentThread().Dispatcher; //初期化
        contSpeechRecognizer = new Windows.Media.SpeechRecognition.SpeechRecognizer();await contSpeechRecognizer.CompileConstraintsAsync();        //認識中の処理定義
        contSpeechRecognizer.HypothesisGenerated += 
            ContSpeechRecognizer_HypothesisGenerated;
        contSpeechRecognizer.ContinuousRecognitionSession.ResultGenerated +=
            ContinuousRecognitionSession_ResultGenerated;        //認識開始await contSpeechRecognizer.ContinuousRecognitionSession.StartAsync();

    }

    private async void ContSpeechRecognizer_HypothesisGenerated(SpeechRecognizer sender, SpeechRecognitionHypothesisGeneratedEventArgs args)
    {        //認識途中に画面表示await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => 
        {
            textBlock1.Text = args.Hypothesis.Text;
        });
    }private async void ContinuousRecognitionSession_ResultGenerated(SpeechContinuousRecognitionSession sender, SpeechContinuousRecognitionResultGeneratedEventArgs args)
    {        //認識完了後に画面に表示await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
        {
            textBlock1.Text = "Waiting ...";
            output.Text += args.Result.Text + "。n";
        });
    }

}

起動したらこんな感じ。勿論 Windows 10 Mobile でも使えます。

voicerecognition

音声認識の品質は実はマイクの感度に大きく影響します。de:code 2016 のキーノートで、Bridgestone のデモの際に有線マイクを使っていたのはその為で、あの会場ではBluetooth ヘッドセットはかなり品質的には苦しかったんです。ホテルの部屋では結構大丈夫だったんですけどね。

なので、マイクの品質チェックには気を付けて下さい。その辺はもしかしたら Windows 10 Mobile の方がいいかもしれません。

MSDN Blogs: Distinguished Paper Award at PLDI 2016

$
0
0

I’m pleased to report that our paper Types from data: Making structured data first-class citizens in F# won a Distinguished Paper award at PLDI 2016 in Santa Barbara. The paper also has a page on Tomas Petricek’s blog.

 

 

 

The .NET and Managed Languages team have been a huge part of making F# type providers a reality, and the open source story has enabled the F# community to roll out an amazing set of type providers. This includes the FSharp.Data library highlighted in the paper, and also type providers for Azure Storage, T-SQL, SQL, R and many more.

You can find out more about academic publications related to F# on the publications page of the F# Software Foundation.  To find out more about how F# is being used in practice, see these testimonials about the use of F#, several of which feature the use of the FSharp.Data library.

Best regards,

Don

p.s. I forgot to mention this when it happened a month ago when it happened.

 

 

MSDN Blogs: ODT 2016 を使用したインストールで 3029-10011 エラー

$
0
0

Japan Lync/Skype Support チームです。
 

Skype for Business 2016 のインストールに Office 展開ツール (Office 2016 バージョン) をご利用の方も多いのではないかと思います。
この Office 展開ツールを使用した Office 2016 / Skype for Business 2016 のインストールで、3029-10011 エラーでインストールが失敗する問題が発生していました。
 

本問題は、新しいバージョンの Office 展開ツールで修正されました。

3029-10011 エラーが発生してお困りの場合は、最新バージョンの Office 展開ツールをお試しください。

Title: Office 2016 Deployment Tool
URL: https://www.microsoft.com/en-us/download/details.aspx?id=49117

 

なお、上記 Office 展開ツールのダウンロード URL では、最新のバージョンのみが公開されています。
これから Office 展開ツールをダウンロードしご利用いただく場合には、本問題は発生いたしませんのでご安心ください。
 

[発生する環境]

本問題は、以下の環境で発生していました。

該当する場合は、最新の Office 展開ツールをダウンロードしてご利用ください。

  • 構成ファイル (configuration.xml) で SourcePath を指定してダウンロード・インストールを行っている
  • setup.exe のバージョンが “16.0.7118.5775” である

odt_verinfo
 

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

MSDN Blogs: Azure News on Friday (KW29/16)

$
0
0

Auch diese Woche gab’s wieder viele Nachrichten zur Microsoft Azure Plattform. Hier sind nähere Infos dazu…

Aktuelle Neuigkeiten

DatumNachricht
21.07. Azure Diagnostic Logs can now be streamed to Event Hubs
Azure Diagnostic Logs jetzt über Azure Event Hubs streamen – Logs live (z.B. via Stream Analytics) überwachen
21.07. Update: Mobile and Desktop app telemetry experience in Application Insights and HockeyApp
Neues zu den Möglichkeiten zur Auswertung von Mobile Apps Telemetriedaten via Application Insights und HockeyApp
21.07. Azure Security Center, now generally available, proven to improve security
Azure Security Center jetzt allgemein verfügbar
20.07. Service Bus and the New Azure Portal
Neues zur Verfügbarkeit des Azure Service Bus im neuen Azure Portal – Aufteilung in Messaging, Event Hubs und Relay
20.07. New grid control at your service
Neue Grid Controls in Visual Studio Application Insights zu Visualisierung und Analyse von App Telemetrie
20.07. Introducing MPI support for Linux on Azure Batch
MPI Unterstützung für Linux in Azure Batch
19.07. Azure ML Now Supports Multiple R & Python Versions, Including Microsoft R Open & Python 3
Azure Machine Learning jetzt mit Unterstützung für neue R und Python Derivate, darunter Microsoft R Open & Python 3
19.07. Ingest data from Apache Cassandra, Salesforce and Data Management Gateway 2.0 release
Data Management Gateway 2.0 für Azure AppFabric Data Pipelines verfügbar – Konnektoren für Cassandra und Salesforce
19.07. Microsoft Azure Storage: Service version removal update
Wichtige Hinweise für Nutzer der Azure Storage Services – Deaktivierung einiger älterer Services Versionen
19.07. Announcing Azure Storage Node.js GA
Azure Storage Node.js Client Library jetzt allgemein verfügbar
19.07. Unified proactive diagnostics in Application Insights
Proaktive Benachrichtigungen zu Auffälligkeiten in Azure Application Insights App Telemetrie
18.07. Premium Messaging: How fast is it?
Interessante Informationen zur Performance von Premium Messaging im Azure Service Bus
18.07. Transition from Mobile Services to Mobile Apps: Node.js Edition
Alles zum Umstieg von Azure Mobile Services zu Mobile Apps für Node.js Entwickler
18.07. Azure Data Lake U-SQL July Updates
Neues zu Azure Data Lake und U-SQL im Monat Juli – Breaking Changes, Bugfixes und neue Funktionen
18.07. Upcoming Azure Active Directory certificate rollover: August 15, 2016
Informationen zum nahenden Certificate Rollover in Azure AD – möglicher Impact auf Webseiten, die AAD nutzen
16.07. Azure News on Friday (KW28/16)
News der letzten Woche zu Microsoft Azure – Docker, Service Bus, SQL Data Warehouse, Mobile Apps etc.
15.07. Implementing Client-side Encryption with Azure Mobile Apps
Client-seitige Verschlüsselung für lokale Offline-Daten in Azure Mobile Apps implementieren
15.07. To get smart, cities must get connected — and have an IoT plan
Der Weg einer Stadt zur Smart City mit den IoT Services der Microsoft Azure Plattform

Neue Videos

DatumNachrichtVideo
19.07. Tuesdays with Corey – Highlights from his keynote at Chef Conf
Corey Sanders mit einem kurzen Rückblick auf seine Keynote auf der Chef Conf

MS Access Blog: Automatic albums, improved search, Pokémon and more updates to the OneDrive photos experience

$
0
0

Photos are one of the most popular and most important file types that our users save to OneDrive. We’ve been working on improving the OneDrive photos experience across the web and in our mobile apps.

Here’s a look at new features we are rolling out:

Automatic albums

You upload photos to OneDrive so you can easily find and relive memories—whether from another device or by sharing them with friends and family. With automatic albums, this experience is now even easier.

OneDrive photos experience 1

OneDrive detects whenever you take a few photos in a short period of time, in a particular location. The highest quality photos are then selected and put into an album. You are even notified when they’re ready to view and share on OneDrive.com, in our mobile apps or via the Windows 10 Photos app. In addition, to celebrate all of the fun stuff you do over the weekend, on Monday morning albums from your weekend photos are automatically created.

On this day…

On OneDrive.com, you’ll also see the new “On this day” view in your All photos page. We love discovering photos we’ve taken in the past, and this view updates every day with images you have taken over the years on that same day. It’s a great way to relive birthdays or anniversaries or to remember old family vacations.

OneDrive photos experience 2

Improved search

You can now search directly from the All photos view too. This includes finding photos that have been tagged (such as “cat” or “sunset”) or photos from a specific location (try your last vacation). You can even search using emojis. These searches also work in the OneDrive mobile apps.

OneDrive photos experience 3

Photo folders

We listened to your feedback and now have a dedicated view for your folders that have a lot of photos in them. The new photos view includes a hero image, larger thumbnails and a revised menu to help you quickly create an album or share photos.

OneDrive photos experience 4

Updated app experience

In addition to giving the photos view in our mobile apps a little bit of a facelift, we worked closely with the Windows team to improve the experience in the Windows 10 Photos app. Now, when you sign in to Windows 10 with your Microsoft account, all of your OneDrive photos show up—including albums that were created for you automatically by OneDrive! You can even upload local albums to OneDrive so that those albums roam with you and are available across all your devices.

Automatic albums improved search Pokémon and more updates to the OneDrive photos experience image 5

Poké detector

And finally, we know that the Pokémon* craze has captured everyone’s attention. A lot of players take screenshots of their captured Pokémon to show off to their friends—both digitally and in person. We had to make it easier for you to find all your Pokémon screenshots, so we went to work and partnered with Microsoft Research to bring a Pokémon detector to OneDrive.

OneDrive photos experience 5

When you have the OneDrive app on your phone and camera upload is turned on, the screenshots you take from the game are automatically saved to OneDrive and 150 Pokémon are identified for your searching and viewing pleasure. You can also search for your favorite Pokémon by name.

—Douglas Pearce, group program manager for the OneDrive team

*POKÉMON is a trademark of Nintendo Co., Ltd., Nintendo of America, Inc. or their affiliated entities. Neither Microsoft nor OneDrive are affiliated with Nintendo.

The post Automatic albums, improved search, Pokémon and more updates to the OneDrive photos experience appeared first on Office Blogs.

MSDN Blogs: Froggy goes to Seattle: Persiapan sebelum keberangkatan

$
0
0

Tentunya sudah tau ya kalau satu tim dari Indonesia, None Developers dari Universitas Trunojoyo Madura, lolos masuk ke babak World Finals Imagine Cup 2016! Ya, dengan game mereka, Froggy and the Pesticide (Windows, Android), mereka berhasil meyakinkan juri Imagine Cup 2016 dan terpilih menjadi 1 dari 35 tim yang berangkat dari seluruh dunia. Luar biasa!

Nah, sama seperti tahun-tahun sebelumnya, tim None Devlopers dibantu oleh Microsoft Indonesia mempersiapkan diri untuk bertarung di tingkat dunia. Apa saja yang mereka persiapkan?

image

Penyempurnaan Froggy

Sejak diumumkan sebagai World Finalists, None Developers berkomunikasi intensif dengan Microsoft Indonesia untuk menyempurnakan game Froggy and the Pesticide. Dengan masukan dari Microsoft Indonesia dan berbagai pihak yang mendukung, Froggy disempurnakan agar siap bertarung di tingkat dunia. Biasanya proses ini dilakukan sebagai bagian dari bootcamp yang dijalani oleh tim di Jakarta. Akan tetapi, karena tahun ini proses persiapan terpotong oleh libur Lebaran, maka proses awal dilakukan oleh None Developers di Madura. Barulah setelah libur Lebaran, None Developer terbang ke Jakarta dan melakukan bootcamp intensif di kantor Microsoft Indonesia.

image

Penyempurnaan Presentasi

Selain penyempurnaan game Froggy, None Developer dibantu Microsoft Indonesia juga menyempurnakan presentasi None Developers, baik dari sisi slide yang digunakan, maupun teknik presentasi dan tanya jawab. Secara intensif, setiap hari, bahkan lebih dari sekali sehari, None Developer berlatih presentasi di hadapan tim Microsoft Indonesia dan mendapatkan masukan-masukan untuk menyempurnakan presentasi mereka.

image

Persiapan Administrasi

Salah satu hal penting yang langsung diproses oleh None Developers adalah administrasi untuk keberangkatan ke Seattle. Setelah dihubungi oleh Microsoft Indonesia bahwa mereka terpilih sebagai World Finalists, hal pertama yang disiapkan adalah paspor, karena ada tiga anggota tim yang belum memiliki paspor. Sempat terjadi sedikit kesulitan karena ada anggota tim yang memiliki ejaan nama yang berbeda antara KTP/KK dan Akta Kelahiran, sehingga harus diperbaiki dahulu dengan pihak Dinas Kependudukan setempat.

Setelah paspor sudah dimiliki, maka proses selanjutnya US VISA. Dua anggota tim langsung berhasil mendapatkan US VISA, sementara dua anggota lagi sempat tertunda cukup lama karena membutuhkan pemrosesan administrasi tambahan. Anggota tim ketiga berhasil mendapatkan US VISA 1 minggu sebelum berangkat, sementara anggota tim terakhir mendapatkan US VISA 3 hari sebelum berangkat. Sungguh perjuangan dan drama yang luar biasa!

Siap untuk berangkat!

Setelah penyempurnaan terhadap Froggy, latihan presentasi yang melelahkan, dan persiapan administrasi yang penuh drama, akhirnya Froggy siap untuk berangkat ke Seattle! Rombongan pertama (dua anggota tim, satu mentor dan pendamping dari Microsoft Indonesia) akan berangkat hari Minggu, 24 Juli 2016 sore, sedangkan rombongan kedua (dua anggota tim) akan berangkat hari Senin, 25 Juli 2016.

Ikuti perjalanan Froggy di Seattle melalui blog ini, yang akan kami update setiap hari. Juga ikuti live tweet kami di @msdevid.

Mohon doanya agar proses keberangkatan dapat berjalan dengan baik dan Froggy dapat mengibarkan bendera Merah Putih di panggung dunia!

MSDN Blogs: How Azure Security Center Secures Your Azure Security Center Data

$
0
0

imageThat’s sort of a mouthful, isn’t it? Smile

Many people we talk to want to understand how Azure Security Center secures the data it uses to help secure the workloads you deploy in the Azure cloud. These people know that some of this information is sensitive and require that this information is secured from end-to-end.

In order to provide the advanced prevention, detection and response capabilities we have in Azure Security Center, we need to store a lot of information in order to use it for analysis:

  • Configuration information
  • Virtual machine and other types of metadata
  • Crash dump files (used in crash dump analyses which can find hidden malware)
  • Event logs
  • Application and service logs
  • Network logs
  • Recommendations we give you
  • Information related to our analysis of your deployment

And more!

This information is obtained from a number of sources, including:

  • Azure services
  • Network traffic
  • Partner solutions
  • Virtual machines

This data need to be protected, and we use a number of methods to protect it:

  • Data segregation controls
  • Data access controls
  • Data access controls
  • Data location controls

Interested in the details on how we do this? Then check out the article Azure Security Center Data Security.

Thanks!

image

Thanks!

Tom
Tom Shinder
Program Manager, Azure Security
@tshinder | Facebook | LinkedIn | Email | Web | Bing me! | GOOG me!

image


MSDN Blogs: CJIS Implementation Guidelines for Microsoft Government Cloud

$
0
0

imageAt Microsoft, we are committed to implementing state-of-the art technology and world-class security solutions to meet the applicable controls of FedRAMP, NIST Special Publication 800-53 , and the Criminal Justice Information Services (CJIS) Security Policy to allow our customers to meet their compliance requirements.

To help you use the Azure security features and capabilities we provide to you, we have created the CJIS Implementation Guidelines white paper. This document provides guidelines and resources to assist CJIS Criminal Justice Information Services (CJIS) Security Policy Systems Agencies (CSA) and law enforcement agencies (LEA) in implementing and utilizing Microsoft Government Cloud features. These features meet the applicable CJIS certification standards and are consistent with FBI CJIS Security Policy v5.4 and future policy versions.

This document is designed to provide insight into the CJIS security controls applicable to Microsoft Cloud services, and provide guidance to law enforcement agencies on where to access detailed information to assist in CJIS audits.

The goal is to offer you guidelines that CJIS Systems Agencies and law enforcement agencies can use to understand how the security controls are met and to simplify the CJIS IT audit process

image

Thanks!

Tom
Tom Shinder
Program Manager, Azure Security
@tshinder | Facebook | LinkedIn | Email | Web | Bing me! | GOOG me!

image

MSDN Blogs: Let’s talk about Technical Debt

$
0
0

It seems that every company has at least one application built on aging technology and held together by virtual duct tape. Have you been thatdeveloper, fighting to upgrade a solution before it breaks? Have you been that business guy making the tough budget decision—maintenance or new development? This post is for both of you.

How did we get here?

  • Just make it work now, we’ll fix it later.
  • If it’s not adding new value, we’re not investing in it.
  • We know it’s a problem, but it’s not a priority

Technical Debt

What is Technical Debt? Many developers would say it simply represents all the code they would fix if they had the time to do it. It’s sometimes described as the gap between making something work and building it the right way.

The term technical debt received a lot of well-deserved attention in recent years. If you don’t maintain code periodically, it has a way of eventually commanding attention, not because code wears out, but because it’s part of an ecosystem of other moving parts and dependencies that continue to change. Sooner or later those changes will expose problems in apps if they are ignored long enough. Sometimes you know it’s coming, but frequently it creeps up on you.

Technical debt comes in many forms and is most commonly just code that developers make work, knowing that there’s a right way and a fast way to get things done. The fast way helps code get out the door to meet a deadline. “The right way” is often postponed for a future release when more time will be allocated to fix things. When dev work gets delayed, it’s sometimes hard to measure the true risk of doing so. From a business perspective, why invest time and money unless the effort delivers clear value (aka – new features)? This is a game we all play to ship code on time and prioritize resources.

Support Lifecycle

When we talk about Technical Debt, it’s important to consider Support Lifecycle. They go hand in hand. As a developer, you might not upgrade code just because a new SDK becomes available, but when it has been deprecated, risk is elevated significantly. For example, when support forimage Windows XP ended, Microsoft stopped fixing bugs and patching security vulnerabilities. Many customers wanted to continuing using it, because “it still worked.” This is an incredibly risky position to be in since new vulnerabilities are imminent and eventually the changing technical landscape will expose products to threats they were not designed to handle. After support ends, the end user (not Microsoft) absorbs the risk for all issues and when a business system depends on deprecated products, it’s just a matter of time before they are compromised. Being aware of the Support Lifecycle for all the technologies in any solution is critical to planning upgrades on your terms and not under crisis conditions.

Most IT and business teams are able to track the support lifecycle of major products, but ignore more granular changes with developer libraries. For example, .NET went through some major transitions in January 2016 to deprecate older versions and move everyone to a current, supported set of .NET runtimes. Another example is the Azure Storage libraries which will deprecate various REST endpoints this August. The VB6 runtime can still be found all over custom applications and while it has managed a very long support lifecycle, not every runtime and SDK is so lucky. Missing one of these deprecating changes can leave you unsupported or dealing with a costly outages when they stop working.

Consider: Effort and Risk

  • Do you know all the component and runtime dependencies of the line of business apps that are critical to your business?
  • Do you know what support lifecycle they follow?
  • If you had to modernize an application, how much technical debt stands in the way of that effort?
  • If an application stopped working tomorrow, what would the impact be to your business?

Real Life Perspective

Imagine a critical line of business application that was deployed into hundreds of worldwide field offices. It’s used by thousands of workers every day and depends on a library that works but is several releases behind. The library vendor releases many updates and fixes over the years but the business app is not updated with them. Over time, the technical debt builds as the amount of work it would take to modernize the application and make it work with current code seems too costly to invest in. The unthinkable happens. A critical security patch is pushed that closes a vulnerability which just happens to be something those old libraries needed to work. Sites are completely offline and business stops. Now the business must choose to ignore the critical patch and run global sites with the risk of exploitation *or* upgrade the application to use a current library and overcome all the technical debt between the last release to get there. This would also involve a prioritized effort to finish code, test software, and perform a global release and migration while business is halted. That effort, performed in crisis mode, is estimated at a multi-million dollar project. It’s a true story and this scenario happens more often than you think.

Premier Support works with Microsoft’s largest and most strategic customers. We see it all—the best and the worst. As diligently as we try to help customers stay in a supported state and get the most from Microsoft technology, we frequently end up getting the call when critical applications are neglected and fail.

Practical Tips to minimize Risk

While most of Microsoft’s Support Lifecycle is published online, it’s a big job to keep track of all the moving parts in your business. Premier can help you stay ahead of the changes and drive awareness through regular Support Lifecycle communications and planning with your organization.

With Premier Support for Developers, your ADM can help assess the dependencies in the applications that drive your business and work with development teams to stay current and align to our technology roadmaps.

For any organization, it’s a good idea to:

  • Establish a roadmap and lifecycle for your applications so there is a projected end of life date and/or an established project plan to modernize the code.
  • Periodically assess your line of business catalog and ask some key questions:
    • When are the major lifecycle transitions that will impact the application?
    • What are the component dependencies of the application?
    • How big is the effort (time, cost, people) to update the application?

Finally, talk to your developers about technical debt track the work with ALM tools like Visual Studio to eliminate surprises and mitigate risks often and early.

Contact your Premier ADM or email us to learn how Premier Support for Developers can help you minimize technical debt and ensure your solutions stay supported with Microsoft by your side.

MS Access Blog: Office 365 news roundup

$
0
0

At the annual Worldwide Partner Conference (WPC) last week, Microsoft partners from every part of the globe heard about our newest innovations and how they can use Office 365 to transform their customers’ businesses while building their own. One of the highlights at WPC was when Facebook CIO Tim Campos took the stage to explain why his fast-growing company is using Office 365 to enhance productivity, collaboration and mobility for its global workforce.

One of the great things about WPC and the other conferences that Microsoft hosts throughout the year is that they bring together a community of like-minded people who want to learn more about Office 365 and our other products. Yet, as valuable as those conferences are, they are not the only good way for you to engage with your peers on issues related to Office 365. We recently announced the public preview of the Office 365 Network, an online community where IT pros, technical experts, product enthusiasts and Office 365 customers can come together to share information and best practices.

Three other announcements also underscore the value of keeping up-to-date on Office 365 news. Earlier this week, we announced the preview of Microsoft Stream, a new business video service that makes it easier to access and discover video content inside your organization and to integrate video with business workflows. Microsoft Stream builds upon the success of Office 365 Video and eventually the two experiences will converge. Meanwhile, Office 365 Video won’t change. In addition, we extended the Office 365 Data Loss Prevention Policy Tips to OneDrive mobile apps for Android, iOS and Universal Windows, which will let organizations empower their employees to work anywhere, at any time, while helping to protect their content. Further, we introduced a new Office 365 service called Microsoft Bookings to help make appointment scheduling simpler and more efficient for you, your staff and your customers. Bookings allows customers to schedule time with your business directly online and make self-service changes, while providing you a centralized booking calendar for a complete view of upcoming appointments.

As we keep improving Office 365 with updates, enhancements and new features, we will also continue to offer multiple opportunities for you to learn more and share information about the service.

Below is a roundup of some key news items from the last couple of weeks. Enjoy!

CSC elevates workplace agility, cultivates new market opportunities with Office 365—Discover why CSC, an IT services company, is using Office 365 to redesign its global workplace into a flexible, connected and mobile environment.

Why Facebook is betting on Office 365 and the Microsoft Cloud—Learn how Facebook is using Office 365 to help its global workforce connect and collaborate more securely and efficiently.

Discovery Communications embraces Office 365 to foster creative culture of innovation—Find out how a leading entertainment company is using Office 365 to promote collaboration and unleash creativity.

Guardian Industries—connect, collaborate and innovate from anywhere—Discover how this global company is using Office 365 to “out-innovate” the competition.

Kennametal saves more than $750,000 annually with move to Skype for Business Online—Learn how Kennametal saved money while expanding capabilities by switching from traditional telephony to Skype for Business Online.

Momentum, opportunity highlight Microsoft Office 365 messaging at WPC—At the Microsoft Worldwide Partner Conference in July, partners learned how they can profit by integrating Office 365 into other solutions and building their own custom offerings on top.

Back on top: Microsoft owns the modern office again—Find out how Microsoft’s mobile-first, cloud-first, multiplatform approach has made Office 365 the king of productivity apps.

The post Office 365 news roundup appeared first on Office Blogs.

MSDN Blogs: Retail Discount Concurrency Modes

$
0
0

When configuring discounts and setting the Discount concurrency mode, you have the option to choose Exclusive, Best price, or Compounded.  The question presented when ringing up POS transactions is which one takes precedence when you have multiple discounts that are applicable to the same sale?  This article will provide you with a brief explanation on the precedence of these configurations.

Discounts form

As you configure your discounts with these 3 options, keep in mind:

  1. When multiple Compounded discounts are applicable, the highest discount will always calculate first.  The next highest discount is then calculated on the remaining amount.  This calculation hierarchy will continue until all applicable Compounded discounts have been applied.
    • Correct: 40% discount + 20% discount = 52% discount
      • (40% discount on $100 = $40. Remaining = $60.  20% discount on $60 = 12. Remaining = $48)
    • Not Correct: 40% discount + 20% discount = 60% discount
  2. Exclusive discounts will always apply over a Best price or Compounded discount, even if it is the lowest discount percentage.
    • When more than one Exclusive discount is applicable, the highest will be used.
  3. When Best price and Compounded are both applicable or if multiple of the same one is applicable, the highest discount will be used.

Now that we have covered the basics, let’s take a look at a transaction matrix consisting of 3 discounts (20%, 30%, and 40%) for each transaction.  Each Discount will be configured with 1 of the 3 concurrency modes.  We will then determine which discount is applied to the transaction based on what we know about the discounts in the information provided above.

DiscountMatrix2

MSDN Blogs: Deploying a NixOS VM on Microsoft Azure

$
0
0

Today we are excited to announce the ability to provision a NixOS VM on Azure. NixOS is a Linux distribution that uses a declarative approach to configure your system. You can read more about NixOS on https://nixos.org/ .

We will use the Azure CLI to provision a NixOS VM.

You can install the latest Azure CLI here

To get started follow the steps outlined in this github repository.

The first step is to create a storage account in Azure and upload the NixOS vhd which can be downloaded here. The VHD is about 2GB in size and if you are on a slow network as I was when I was uploading it at home, it could take up to 10 mins for the upload to complete.

Screen Shot 2016-07-21 at 10.38.23 PM The URI of the uploaded vhd is of the format https://<storage -account-name>.blob.core.windows.net/<storage-container-name>/<vhd-file-name>.vhd which on my case is https://bg09p.blob.core.windows.net/vm-images/nixos-unstable-standalone.vhd

Once the upload is complete, you can use the $azure vm create command to provision a VM.

Screen Shot 2016-07-21 at 10.39.21 PMOnce the VM is created, you can view FQDN of the created VM by using the $azure vm show command as shown below.

Screen Shot 2016-07-22 at 8.55.18 PM

You can the SSH into the machine using the command $ ssh username@FQDN as shown below. Once you are logged in, you can view the status of the agent by typing in $ status waagent as shown below.

Screen Shot 2016-07-22 at 8.55.43 PM

This is our first step towards enabling NixOS on Azure and we hope that you will find it useful. Given that this is still in beta, please file any issues here

MSDN Blogs: How It Works: Reader / Writer Synchronization

$
0
0

This post is not about a specific SQL Server object but instead outlines a technique used in various locations to reduce contention while still providing thread synchronization.  There are hundreds of locations throughout the SQL Server code base that must account for multi-threaded access.   A common technique used in multi-threaded coding is a reader, writer lock.

The idea behind a reader, writer synchronization object is to allow reader parallelization in conjunction with writer synchronization.  Let’s look at a simple pattern of a single path synchronization object.  (Example: spinlock)

  • T1 – Acquires access for read
  • T1 – Starts doing some work
  • T2 – Attempts to acquire access for read – BLOCKED and spins, burning CPU and not making forward progress

image

 

  • T1 – Release access
  • T2 – Stops spinning and finishes acquire
  • T2 – Does some work
  • T2 – Releases access

A spinlock can be as simple as a while loop using InterlockedCompareExchange to place 1 into the variable as long as the value at the time of exchange is 0.

while(0 != InterlockedCompareExchange(&lock, 1, 0))
{
   _pause();
}

Following the steps above T1 would have exchanged 1 into the lock location.  Then T2 would have spun because when it tried to place 1 into the lock variable the previous value was already 1, not 0.  When T1 is done with the lock it sets the lock back to 0 so T2 is able to acquire the lock.

In a practical example this might look a lot like waiting in line to checkout at the grocery store.   The single access pattern prevents parallel operations even for readers.  A reader, writer implementation changes the behavior to allow multiple readers as long as there is not a conflict with a writer.  This allows parallel operations, better throughput and better use of existing resources.

A reader, writer implementation often takes advantage of the CPU’s, Interlocked* instruction set while treating the lock variable as a bit field.  For example, taking a 4 byte integer value we can break down the bits and treat the bits as a structure that might look something like the following.

image

struct  MyLock
{
   int WriterBit : 1;
   int SpinlockBit : 1;
   int HasWaitersBit : 1;
   int ReaderCount : 29;
}

Instead of just exchanging a single value the reader, writer can leverage the requested mode and bits to determine if the lock can be acquired or a wait is required.  Going back to our example lets use a reader/writer implementation.

  • T1 – Acquires access for read
  • T1 – Starts doing some work
  • T2 – Attempts to acquire access for read – IS ALLOWED TO ACQUIRE
  • T2 – Starts doing some work
  • T1 – Releases
  • T2 – Releases

The algorithm might look something like the following.

MyLock  myLocalCopy = 0;
MyLock  originalCopy = lock;

if(read == requestMode)
{
   // A valid reader can only update reader bits so keep other bits zeroed
   myLocalCopy.ReaderCount = originalCopy .ReaderCount +1;  

   if(originalCopy != InterlockedCompareExchange(&lock, myLocalCopy, originalCopy))
   {
       retry or add to waiter list
   }

}

As long as no waiter, writer or spinlock bits are held the reader count can be incremented.  When T1 acquires the lock the ReaderCount = 1 and when T2 acquires the lock ReaderCount is incremented to 2.  As they release the counts are decremented.

If a writer is required, the writer bit is set which prevents other writers or readers as the writer, has waiters and spinlock bit has to be 0 to increment the readers and the readers, has waiters and spinlock as to be 0 to set the writer bit.

This allows SQL Server and related components to take advantage of reader, writer behavior.   Just imagine of all the times SQL Server may need to lookup something in a cache.  Using a reader, writer object allows multiple threads on multiple CPUs to do the lookups in parallel versus lining up behind a single, gated synchronization object design.

Bob Dorr – Principal Software Engineer SQL Server

MSDN Blogs: Global resources in Xamarin Forms! No App.xaml? Create one!

$
0
0

In a recent post from his blog, Premier Developer Consultant Joe Healy shows us how to create global resources in Xamarin Forms.


Xaml developers moving to Xamarin Forms are hoping to take some of their good habits from the Windows (WPF/Silverlight/UWP) dev world with them. And probably a few of their bad ones as well but we don’t want to talk about those. But sometimes the constructs the devs hope to find in Xamarin Forms are not there waiting for them by default. Such is was the case with App.Xaml.

Continue reading on Joe’s blog…


MSDN Blogs: MSN News app now supports a new Dark Theme

$
0
0

Hello, everyone!

Dark Theme has been a consistent top feedback point for the MSN News app. Back in January we released dark theme for articles to help with nighttime reading, but this did not extend to the full MSN News experience. Now, we are very happy to respond to your feedback, and showcase a new and improved dark theme experience across MSN News.

 

Another sample of Dark Theme on MSN News

Dark Theme on MSN News

The new experience is available on version 4.12.184 and higher. To double-check your app version, you can always go to Settings, About.

If your operating system theme is already set to dark, the app will automatically switch to the dark theme. Otherwise you can always switch to the dark theme via “Turn on dark theme” menu item in the Command Bar or via the app settings page. Note that certain pages which are served via external web pages may not support the dark theme.

We would like to hear from you on your experience with the dark theme. Let us know! Please use the in-app Feedback feature, or ping me via @xnt.

MSDN Blogs: 三緯國際力攻機器人市場,加速跨平台開發 以 Microsoft Xamarin 橫跨多重平台及開發團隊轉換程式,確保服務功能及效能一致性

$
0
0

對於未來科技的想像正在付諸實現,三緯國際以「XYZ robot」自有品牌行銷服務型機器人與教育娛樂型機器人,不僅在台灣嶄露頭角,並已打進美、日等地市場,商用化的速度和成熟度領先競爭對手。

HANS0012

機器人所提供的服務內容來自於後端複雜而精密的演算法,而在前端的人機介面則多以行動平台呈現。金寶電子選擇Microsoft Xamarin來銜接及轉換這兩個以不同程式語言構成的開發環境,讓兩個團隊能各司其職,又能加速服務的商品化。

由新金寶電集團轉投資成立,專攻3D列印與高階機器人的三緯國際立體列印科技公司專責機器人的研發工作,該公司的技術研發總管理處林傳凱襄理表示:「Microsoft Xamarin可以和目前所有使用中的開發工具無縫整合,無需花費額外的介接或整合心力,最重要的是,在關鍵的跨平台轉換功能及結果完全符合我們的期待與需求。」

 

機器人外銷有成,腳步領先

三緯國際的機器人團隊在前年開始啟動,去年正式成立專責部門。針對教育市場、鎖定中小學生的小型機器人已經在台灣、日本和美國市場銷售,可以自己撰寫程式來控制機器人,做出跳舞或打架的連續動作。值得一提的是,機器人所有的控制器、馬達和模具,全部都由三緯國際研發生產。

服務型機器人目前的應用場域則包括賣場、銀行、圖書館。以賣場為例,機器人的功能在於協銷,關鍵的自動導航功能可引導客戶購買商品,自由移動的機器人搭配機身的螢幕,還能定時到特定貨架做促銷,也可配合點閱率來向商品供應商收取廣告費,目前正與多家美國知名賣場洽談合作中。

應用於銀行的服務型機器人則著重在語音互動,像是根據來行客戶想要辦理的業務項目提供指引、發放號碼牌,以及資訊查詢如匯率、利率,也可以結合人臉辨識功能,從來行客戶裡辨認出銀行貴賓,自動將其導引至VIP櫃檯。

HANS0016

異質平台程式完整轉換,效能不減

從導航定位到人臉辨識,這些關鍵技術全由三緯國際的團隊一手開發,人力配置為200人,包含泰國與菲律賓。機器人開發團隊主要使用的程式語言是Windows平台的C#C++,前端使用介面則是採用Android平台,故須進行介接轉換,為了減輕轉換心力、加快轉換速度,三緯國際決定以尋找合適的工具方案進行因應。在評估產品的過程裡,透過昕力資訊的協助,三緯國際對Microsoft Xamarin進行了嚴格測試。首先,是由昕力的顧問負協助轉換程式碼,確定可以正確且無誤地轉換;其次,則是驗證程式轉換後的效能,不會因為轉檔而變差。

林傳凱襄理說:「這兩項測試都順利完成,讓我們能安心採用Microsoft Xamarin。讓我們驚喜的是,它不僅具備優異的跨平台轉換能力,而且可以保持同等級的執行效能,像是導航功能非常耗費運算資源,但測試結果發現,跨平台轉換後的程式效能還是很好。」

 

靈活統整開發團隊,加速服務商品化

三緯國際當前面臨的挑戰是已有演算法,但必須加速進行服務的商品化;其次是因應行動平台的多樣化,無法找到足夠且合適的人才。事實上,除了機器人開發團隊、Android開發團隊以外,三緯國際還編制有iOS開發團隊,有了Microsoft Xamarin的協助,有限開發人力就能更有效地調度。

HANS0021

以機器人導航功能為例,開發團隊耗費一年的時間完成,學習使用Xamarin及程式碼轉換則花了三個月的時間,原本就有C#C++經驗的工程師很快就能上手。也由於對Xamarin的掌握度愈來愈好,現在團隊成員已可直接在Xamarin介面進行開發。

HANS0006

林傳凱襄理表示,未來會以平台的概念來推展機器人,物聯網(Internet of Things) 與雲端服務,也為目標市場之一,舉例來說,其可提供客戶選購及增加所需的功能;其次,吸引開發者參與開發服務,像是導航功能就可以和掃地機器人的開發廠商結合,讓使用者可隨時掌握機器人在家裡的位置,以及使用手機遠端遙控機器人等等類似的產品和服務的結合,必然將讓機器人的應用更為多樣化。

 


 

 

若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922

MSDN Blogs: Lab 11: Using aspnet_regiis

$
0
0

General information

  • The description of the aspnet_regiis tool can be found here

Lab 11-1 Setup

  • 2 IIS servers are needed for this lab, install IIS as per these instructions Lab 1, but the CSharpGuitarBUgs web site is not required
  • Place a copy of each of the c:windowssystem32inetsrvconfigapplicationHost.config files in a temporary location, mark them so you know which server they came from
  • Copy c:windowssystem32inetsrvconfigapplicationHost.config from (IIS Server 1) and to the same location (IIS Server 2)
  • ASP.NET should initially be installed on both (IIS Server 1) and (IIS Server 2) server, ASP.NET 4.5 was used in this lab

image

Lab 11-1 – Error when changing application pool identity

Issue when an applicationHost.config is copied to another IIS server

  • It is usually better to use ShareConfiguration than to copy the configuration file
  • It is also possible to use WebDeploy to synchronize web sites in a web-farm

1. Click on Application Pools in the IIS Management Console

2. Click on DefaultAppPool and select the Advanced Settings… link from the Actions pane

3. Change the Identity to a custom account and press the OK button, the above window is rendered. NOTE: in production, never use an administrator account as the identity of a worker process, for simplicity only is this done here.

image

When attempting to change the identity of an application pool to a custom identity the following error is rendered: “Value does not fall within the expected range.”

image

4. Q: In which context does the application run in? I.e. which bit mode and .NET version does it run in. You need to know this to find which version of the aspnet_regiis to execute… A: by default on an IIS 8.5 server the worker is running in 64 bit mode and .NET Framework 4 is present.

image

5. From the location where the applicationHost.config file came from (IIS server 1) and execute the following commands to export the sessionKeys:  NOTE:  ASP.NET must be installed on this server.

a. aspnet_regiis -px “iisConfigurationKey” “c:tempiisConfigurationKey.xml” -pri

b. aspnet_regiis -px “iisWasKey” “c:tempiisWasKey.xml” –pri

image

image

6. Copy the applicationHost.config and the 2 XML files created in step 5a and 5b from (IIS server 1) to (IIS Server 2)

7. Place the (IIS server 1) applicationHost.config (same as you did in the setup of this Lab) into the c:windowssystem32inetsrvconfig directory and reproduce the error

8. Import the sessionKeys to server 2 by executing the following commands:

a. aspnet_regiis -pi “iisConfigurationKey” “D:iisConfigurationKey.xml”

b. aspnet_regiis -pi “iisWasKey” “D:iisWasKey.xml”

image

9. The issue no longer happens and you can enter a custom identity for the application pool

Lab 11-2 Setup

  • Replace the current c:windowssystem32inetsrvconfigapplicationHost.config with the original on (IIS Server 2)
  • Place a deafult.aspx file into the c:intetpubwwwroot directory

Lab 11-2

1. Open IIS manager and navigate to the default.aspx file using a browser

image

2. Open the Handler Mappings feature and find the handler for the requested file type, it is missing

image

3. Q: What is the requested file type? A: ASPX

4. Find out which context the application pool is running in, I.e. bit mode and .NET version, then navigate to that directory via a command prompt, for example, c:windowsMicrosoft.NETFramework64v4.0.30319

5. Prior to IIS 8 you could use aspnet_regiis –i to reinstall/reset ASP.NET as you can see from the above image that the handlers are not present.  Use WPI as discussed in Lab 2, but it is always more important to take a backup of your configuration as discussed in Lab 9 and here, which is a lot easier and les risky than a complete reinstall.

image

6.  Once installed, reopen the Handler mapping feature and you will find the ASPX handler.  Refresh the default.aspx page and it renders as expected

Lab 11-3 Setup

  • Create a web.config file that includes a <connectionString> like below and place it into the c:inetpubwwwroot directory

<?xmlversion=1.0?>

 <configuration>

   <connectionStrings>

    <addname=TopSecretConnectionString

         connectionString=Initial Catalog=aspnetdb;data source=localhost;Integrated Security=SSPI

         providerName=System.Data.SqlClient />

   </connectionStrings>

 </configuration>

Lab 11-3

1. View the contents of the web.config file, pay special attention to the ConnectionStrings section.

image

2. Confirm the .NET version and bit-ness in which the application pool is running under and navigate to the correct version of the aspnt_regiis.

image

3. Execute the following command: aspnet_regiis –pef “connectionStrings” C:inetpubwwwroot –prov “DataProtectionConfigurationProvider”

image

4. Open the c:inetpubwwwrootweb.config file and you will see that the content is encrypted.

image

5. No code changes required to encrypt the connection string

MSDN Blogs: Jak na logování v Azure App Service

$
0
0

V posledních měsících jsem se hodně věnoval diagnostice webových aplikací s využitím služby Application Insights. Co když ale Application Insights z nějakého důvodu nepoužíváte a přesto potřebujete zalogovat důležitou informaci během vykonávání kódu? Jak získat přehled o selháních HTTP požadavků? Se službou Azure App Service má vývojář k dispozici jednoduché ale velmi mocné diagnostické služby, které v tomto článku krátce popíši.

Přehled diagnostických služeb

V Azure App Service lze snadno aktivovat logování událostí a získat dokonalý přehled o tom, co se ve vaší aplikaci právě děje.

Web Server Diagnostics

Web Server Diagnostics poskytuje tři odlišné typy logů:

  • Detailní Error Log, který nabízí pohled na HTTP chyby (4xx >)
  • Request Tracing pro zfailované požadavky včetně trasování IIS
  • Web Server Logging, který nabízí pohled na HTTP transakce ve W3C log formátu

Application Diagnostics

Zatímco Web Server Diagnostics logy se sbírají na základě zpracování HTTP požadavků, Application Diagnostics log se generuje na základě samotného kódu. V ASP.NET aplikacích může vývojář použít

System.Diagnostics.Trace.TraceError("Trase message here")

pro trasování.

Deployment Logs

Speciálním typem logů jsou deployment logy, které služba App Service generuje během publikování aplikace. Pro tyto logy není potřeba nic nastavovat (vše se děje automaticky). Využít deployment logy lze nejčastěji při nasazování aplikací pomocí PowerShell scriptů.

Povolení diagnostických služeb v Azure

V prostředí Azure lze najít povolení diagnostických služeb na jediném místě v sekci Settings > Diagnostics Log u vybrané služby App Service. K dispozici je několik možností:

  • Application Logging (FileSystem / Blob)
  • Web server logging (FileSystem / Blob)
  • Failed request tracing

diagnostics-log-azure-app-service

Společně s Application Logs lze nastavit i úroveň logů. Pokud je nastavena například na Error, pak se logují pouze Trace.TraceError (zatímco Trace.TraceInformation a Trace.TraceWarning jsou ignorovány).

Na rozdíl od změn prováděných ve web.config změna nastavení diagnostiky v Azure nerecykluje aplikační doménu. Samotné nastavení ve web.configu vůbec není potřeba.

Přístup k logům

Logy ve službě Azure App Service jsou dostupné přes FTP, lze je stáhnout jako ZIP pomocí Azure PowerShellu nebo Azure CLI. Struktura adresářů je následující:

  • Application logy: /LogFiles/Application (textové soubory)
  • Failed Request Traces: /LogFiles/W3SVC###### (XML+XSL soubory)
  • Detailní error log: /LogFiles/DetailedErrors (HTM soubory)
  • Web server logy: /LogFiles/http/RawLogs (TXT soubory dle standardu W3C)
  • Deployment logy: /LogFiles/Git (logy generované během deploy procesů)

diagnostics-log-export

Nástroj Azure Diagnostics Log Stream

Velmi zajímavý nástroj je Log Stream, který sbírá Application Logs a Web Server Logs a zobrazuje je v reálném čase přímo v portálu Azure. Nalézt jej lze v sekci: Tools > Log Stream ve službě App Service.

log-stream

Na obrázku výše si můžete všimnout, že zapnutím funkce Detailed error messages se v konzoli zobrazí chybová stránka přesně tak, jako uživateli.

Další diagnostické nástroje v App Service

Vedle zmíněných nástrojů pro logování Azure App Service poskytuje několik dalších nástrojů, které slouží především k pohledu na celkový stav aplikace. Tyto nástroje jsou dostupné v bohaté sekci Settings > Support and Troubleshooting.

support-tools

  • Live HTTP Traffic je graf, který nabízí pohled na počty requestů a HTTP errors v čase, filtrovat lze dle hostname
  • AppLens umí to samé ale navíc zobrazuje kdy došlo k posledním deploymentům… lze tak odhalit výkonnostní problémy po nasazení nových verzí aplikace

requests-vs-deployments

  • Metrics per Instance za posledních půl roku hodně pokročily a nabízí performance counters proti jednotlivým instancím (při horizontálním škálování) v téměř reálném čase
  • FREB logs poskytuje logy sesbírané IIS modulem (FREB) a nabízí filtrovatelný grid včetně možnosti stažení XML souborů s podrobným logem.

freb

  • Diagnostics as a Service je chytrý modul, s pomocí kterého lze snadno získat přístup k HTTP logům, Event Viewer logům nebo Memory Dumpu

daas

KUDU

Posledním (neméně zajímavým) místem, kde lze získat přehled o stavu aplikace, zkontrolovat aktuální konfiguraci prostředí nebo například debugovat aplikaci pomocí konzole (CMD / Powershell) je KUDU. KUDU je dostupné pro aplikace nasazené v Azure App Service pod URL:

http(s)://{nazev aplikace}.scm.azurewebsites.net

Podrobná dokumentace ke KUDU je dostupná ve Wiki

Závěr

Spuštění diagnostických služeb v Azure App Service je otázkou několika kliknutí a nabízí detailní pohled na dění ve vaší aplikaci. I když Vám dnes funguje vše správně, doporučuji logování spustit, protože v případě nenadálých potíží se jedná o první místo, kde lze zjistit příčinu chyb. Application Logs jsou nejsnazší cestou jak trasovat chování webových aplikací nebo například Web Jobů nasazených ve formě konzolové aplikace ve službe Azure App Service.

Miroslav Holec

MSDN Blogs: Waatah…Enter The Script Editor. Hiding the Page Title in SharePoint 2013 using the SEWP (Script Editor Web Part)

$
0
0

One of my customers asked me if there is a way to remove some of the items that exist by default on a SharePoint Team site. Now as you may know, digging through any type of code can be like Bruce Lee fighting his way up the levels of the temple in the movie the Game of Death. Enter the Script Editor Web Part, document.getElementById() and Internet Explorer Developer Tools (F12).

What is document.getElementById()?

document.getElementById() returns a reference to the element by its ID. The ID is a string that can be used to identify the element; it can be provided using the id attribute from HTML id or script.

What is the Script Editor Web Part?

The Script Editor Web Part is a SharePoint 2013 out of the box webpart, that allows users to add scripts directly to the page without the need to edit the HTML or aspx files directly.

First, we need to find the where the title is located in the source code.

  • Open Internet Explorer.
  • Click F12 button on your keyboard to bring up Internet Explorers Developer Tools.


  • Click the Select Element (Ctrl+B)


  • Now let’s click on the Title we want to remove.


  • We now see that the title “Root Site” is associated with the span id DeltaPlaceHolderPageTitleInTitleArea


  • We can then test by adding display:none in the Inline style.


  • We will also see that the Inline style has been added to the span id DeltaPlaceHolderPageTitleInTitleArea


  • And now our Title has been removed.


    From the above test, we have found the DeltaPlaceHolderPageTitleinTitleArea is the area we want to remove. We also found that adding the inline style display:none removes the title.

    Now let’s remove the title permanently using the Script Editor Web Part.

  • From the SharePoint 2013 page. Click Page>Edit


  • Click Insert>Web Parts


  • Click Media and Content>Click Script Editor>Click Add


  • Click the drop down arrow to the far right inside of the Script Editor box>Click Edit Web Part


  • Click EDIT SNIPPET


  • And then paste in
<script type=”text/javascript”>
document.getElementById(‘DeltaPlaceHolderPageTitleInTitleArea’).style.display = ‘none’;

</script>

  • Click Insert after pasting in the above script.


  • Click Apply and Ok


  • Click Save


  • Now the Title is gone for good.


The Break Down:

In the first section, I explain how to grab the document.getElementById() using the Internet Explorer Developers Tools.

In the second section, I explain now to add the Script Editor Web Part to a page and add the necessary script to remove HTML parts by their ID.

Using the SharePoint 2013 Script Editor Web Part and document.getElementById(), I am able to remove all aspects of a SharePoint site as long as I can find the ID.

Note:

I have also removed the search bar in the upper right corner using the same method.

Before:


After:


I was able to stack the script in the Script Editor Web Part right below the script I used to remove the title.


To remove the search bar, I used this ID “ct100_PlaceHolderSearchArea_SmallSearchInputBox_csr_sboxdiv”

Viewing all 3015 articles
Browse latest View live