Nokia Developer will dead today… and I will be part of the history

This year I will do 10 years as a member contributor and at this moment I can say the Nokia Wiki Developer was the place where I published more content.. in ~1 year I published ~70 articles. It was a nice experience, I meet great contributors and I met an amazing person, he is Hamish Willee (Community Manager) how support me in all my articles and of course I learned a lot there.

I was month contributor, week contributor for some times and I was Nokia Developer Champion…. it be history one day..that day starts today? or just started…? I belong to that history, because I was the last month contributor… and I won as Lumia 1020, which is amazing device! Community work sometimes has good things, we can not see only the hard part ūüôā

nokia developer wiki

My work was moved to the TechNet Wiki, and it was not published by me, but it has my reference, these articles are published here in my blog, too.

My first Xamarin Workshop: 1010 ENEI Sessions App

The Portuguese National Meeting of IT Students (ENEI) is an annual event which main goal is to gather the national IT student community for a few days. ENEI was designed to allow access to new knowledge as well as to promote the sharing of experience, networking and social activities. The 10th edition will take place this year (2015) in Coimbra, from the 27th to 30th of March.

I was invited to present a Xamarin Workshop which I accepted from the begin, and last Saturday it happened! There were 420 students and my session was full with +50 students, where some of them could not see it because of the room size.
xamarin workshop

Goals: In this Xamarin Workshop, you will learn what’s Xamarin and its products, how to create mobile cross-platform applications, using Xamarin for Android, iOS and Windows. You will learn the two most used patterns in this kind of applications and at the end you will create your own 1010 ENEI Sessions App.

For me it was a big¬†challenge, it was my first Workshop, but after some research and contacts with¬†Allan Pead¬†and¬†Craig Dunn. I defined a draft for the workshop… and when I finished the result was 7 demos/guides, which can be found:

WebSite: http://saramgsilva.github.io/XamarinWorkshop/

Reporitory: https://github.com/saramgsilva/XamarinWorkshop

Slides:

Guides:
guides

Teach other is always a challenge and in future I would like to see it with more guides/samples (I still have a lot of ideas for it!!) and if any Xamarin User Group wants to use it, feel free to use! I only would like to know that and I would like have the¬†user group’s name in a list “Used by”. I will analyse¬†the best way to provide it for user groups, because I want to have the 1010 ENEI version ūüôā
1010ENEI - Xamarin Workshop
Have fun! ūüėÄ

I was “Microsoft Azure Technical Guru – February 2015”

The TechNet Wiki Awards is out!

One more time my articles were selected and in February 2015 I was¬†Microsoft Azure Technical Guru ūüôā

TechNet Technical Guru

See the related article: The Microsoft TechNet Guru Awards! (February 2015)

Slides from my presentation “Integrating Cortana in a Windows Phone application “

Yesterday I spoke  @ TNWikiSummit15  (online event) and I want to share the slides I used

Which source code is available on GitHub: https://github.com/AppStudioSamples/Menu

Azure Mobile Services: How to change the database

Scope

This article has the goal to show how to change the database associated with an existing Azure Mobile Service.

Introduction

Azure Mobile Services creates a Azure SQL Database for each Azure Mobile Service, this way the database will be connected with it, as we can see in the following image:
azure

In this article, we will see how to replace the database with other database instance.

Description

To change the database from an Azure Mobile Service, wee need to go the Configure separator from the Azure Mobile Service, and at the bottom of the page we will see the following menu:

change database menu

Clicking “Change Database” we will have the following screen
create database

Which allow to create a new database, create a free database (if available) and choose an existing database. After it, we will wait for a while and a new database instance will be related with the Azure Mobile Service:

database changed

If we apply a refresh, the page will load the data and the connection string used to connect to the database will be updated, as we can see in the following image:
connection string

Azure Mobile Services: Q&A and Tips for .Net Backend

Q & A

Which tools & SDK version should I use for .Net Backend?

You should use the last stable version:

  • Visual Studio 2013 Update 4
  • Azure SDK 2.5
  • Last stable Nuget packages

How to avoid assemblies load when the .Net project is updated?

The Azure Mobile Services – .Net Backend uses different Nuget packages and it is not recommended to update all Nuget available in ‚ÄúUpdate‚ÄĚ windows from ‚ÄúManage Nuget Package‚ÄĚ. We should only update Microsoft Azure Mobile Services .NET Backend Entity Framework Extension¬†Nuget package. If something went wrong you should uninstall all packages and then install

For more information see this article.

Which Nuget package should I use if I want to use Azure Storage?

You can use the Microsoft Azure Mobile Services .NET Backend Azure Storage Extension, to avoid this kind of errors:

“Found conflicts between different versions of the same dependent assembly ‘Microsoft.WindowsAzure.Storage’: 4.3.0.0. Please change your project to use version ‘3.1.0.1’ which is the one currently supported by the hosting environment.”

Can I define a Dev and Prod environments?

Yes, you can. To create different environments using the same code you can use transform file as described in this article.

Can I run my services in localhost?

Yes, you can. In development you should use first localhost and after the tests are ok, you can publish it to the Azure. This way, you are not doing ‚Äúcall APIs‚ÄĚ to your Azure Mobile Services. For more information see this article (Running the service in localhost).

Can I use a local SQL Server database when the services are running in localhost?

Yes, you can. In local development you can use a local SQL Server database but you must be aware that there are few difference between SQL Azure database and SQL SQL Server database.

Can I use a SQL Azure database when the services are running in localhost?
Yes, you can. To use a SQL Azure database in localhost you must allow your IP to access the database, and this configuration must be done in Azure Portal (in the database separator). For more information see this article (Defining the allowed IP for the database).

How I can see the WebConfig file published in Azure?

To see the WebConfig file published in Azure you should use Kudo. For more information see this article.

How to see the log files in server?

In Azure Portal, it is possible to see the logs from the selected Azure Mobile Service (in Logs separator), but for some reason is need to see the log files, you should use Kudo to get it. For more information see this article and in this article (How to see details about errors).

How can I write my logs?

In you service, you should have a property called Services, provided for example by TableController, which has a property called Log and this way is possible to write logs, and is possible to define the type Error or Information.

Is possible to debug my code which is running in Azure?

Yes, you can deploy to Azure and is possible to debug that version, this way each request by the client application can be catch by the remote debugger. For more information see this article.

How should I manage images in Azure Mobile Services?

In Azure Mobile Service you should not send the image to the backend. You should not save in your SQL Database and you should save all images, videos, etc, in Blob Storage. This way, you need notify the Backend about it and the Backend will provide the information required to upload the image to the blob storage. See more information in Upload images to Azure Storage by using Mobile Services.

 Why CreateAt, UpdateAt and Version are null in my requests?
These properties are called ‚Äúsystem properties‚ÄĚ and the client application can request it doing something like

var q = todoTable.CreateQuery();

q.Parameters.Add("__systemproperties", "*");

items = await q.Where(todoItem => todoItem.Complete == false).ToCollectionAsync();

Or using the solution provided in: Using the new system properties of Azure Mobile Services Tables from a client application.

Should I use model & dtos or should expose model as dtos?

It depends of the application requirement, but in general it is preferred to use model & dtos because in some cases there are information in database which cannot be public or shared outside, this way dtos only expose the information we need.

Tips

 

Samples

Samples to help developers to use Azure Mobile Services.

 

Microsoft Azure Mobile Service: How to create the Azure Mobile Service in Azure Portal

This article aims to show how to create an Azure Mobile Service in the portal and how to create the Visual Studio 2013 Project.

Microsoft’s Windows App Studio Beta: Connecting a Menu App to Azure Mobile Service

This article aims to connect the Menu App from Windows App Studio with Azure Mobile Service, using .Net back end. It includes the main point each developer must know:

  • Analysis the model;
  • Create a table controller (a service)
  • Validate data
  • Overview about DomainManager class, EntityDomainManager class
  • The Entity Framework‚Äôs context
  • Database (connection string, defining the allowed IP for the database, migration, seed)
  • Running the service in localhost
  • Publish and run the service in Azure
  • How to see errors
  • Remote debug

TechNet Wiki International Summit 2015 – Starts today!

technet wiiki summit
TechNet Wiki International Summit  is an online event provided by TechNet Wiki Community with the goal to promote all knowledge provided by contributors. See more in this blog posts:

This event will start today until 19th March.
speaker

You can register by filling out the TNWiki Summit15  and choosing your favorite Presentations. REGISTER NOW  !!!

Here’s¬†the schedule:

¬†DAY 1 –¬†March, 17th
Time / GMT  DEV track WIKI track  INFRA track
GMT “-8” ¬†: ¬†01h00PM
GMT “-2” ¬†: ¬†07h00PM
GMT “0” ¬† : ¬†09h00PM
GMT “+2” : ¬†11h00PM
“TechNet Wiki
Social Synergy”
by Ed Price
GMT “-8” ¬†: ¬†01h45PM
GMT “-2” ¬†: ¬†07h45PM
GMT “0” ¬† : ¬†09h45PM
GMT “+2” : ¬†11h45PM
“SharePoint:
Adding client-side
controls to an AngularJS
app in Office 365”
by Matthew Yarlett
“Wiki Life (Turkish):
Best Practices”
by Hasan Dimdik,
Erdem SELÇUK,
Recep YUKSEL
and Ugur Demir
“SQL Server:
SQL Server Memory”
by Shashank Singh
aka Shanky
GMT “-8” ¬†: ¬†02h30PM
GMT “-2” ¬†: ¬†08h30PM
GMT “0” ¬† : ¬†10h30PM
GMT “+2” : ¬†12h30AM
“Wiki Life (Portuguese):
Best Practices”
by Alan Carlos,
Durval Ramos
and Luciano Lima
“Exchange Server
Kurulum SenaryolariKSEL”
by Recep YUKSEL
(only Turkish Language)
GMT “-8” ¬†: ¬†03h15PM
GMT “-2” ¬†: ¬†09h15PM
GMT “0” ¬† : ¬†11h15PM
GMT “+2” : ¬†01h15AM
“Small Basic”
by Ed Price
“Writing a Good Wiki Article”
by Matthew Yarlett
“Seguran√ßa em Profundidade
em Ambientes Microsoft”
by Luciano Lima
(only Portuguese Language)
¬†DAY 2 –¬†March, 18th
Time / GMT  DEV track WIKI track  INFRA track
GMT “-8” ¬†: ¬†09h00AM
GMT “-2” ¬†: ¬†03h00PM
GMT “0” ¬† : ¬†05h00PM
GMT “+2” : ¬†07h00PM
“Creating and Querying
Microsoft Azure
DocumentDB”
by Chervine Bhiwoo
“Visio with Office 365
SharePoint Online”
by Daniel Christian
aka Dan Christian
GMT “-8” ¬†: ¬†09h45AM
GMT “-2” ¬†: ¬†03h45PM
GMT “0” ¬† : ¬†05h45PM
GMT “+2” : ¬†07h45PM
“Visual C#:
Working with
WCF Data Services”
by Jaliya Udagedara
“Cross-Linking and Making
our¬†Articles Discoverable”
by Richard Mueller
“Transact-SQL:
The power of
INSTEAD OF Triggers”
by Ronen Ariely aka Pituach
GMT “-8” ¬†: ¬†10h30AM
GMT “-2” ¬†: ¬†04h30PM
GMT “0” ¬† : ¬†06h30PM
GMT “+2” : ¬†08h30PM
“Building a Business
Intelligence Solution with
Power BI Components”
by Paul Turley
“Wiki Ninjas
Social Media”
by Ronen Ariely aka Pituach,
Peter Geelen
and Sandro Pereira
“Windows Server:
Leading Spaces in
Active Directory Names”
by Richard Mueller
GMT “-8” ¬†: ¬†11h15AM
GMT “-2” ¬†: ¬†05h15PM
GMT “0” ¬† : ¬†07h15PM
GMT “+2” : ¬†09h15PM
“Small Basic and TechNet”
by Nonki Takahashi
“Exchange Server”
by Ugur Demir
(only Turkish Language)
GMT “-8” ¬†: ¬†01h45PM
GMT “-2” ¬†: ¬†07h45PM
GMT “0” ¬† : ¬†09h45PM
GMT “+2” : ¬†11h45PM
“How to Integrate Cortana
in a Windows Phone
application”
by Sara M.G.Silva
“TechNet Guru”
by Peter Laker
aka XAML guy
“BizTalk Server 2013 R2
JSON support and
integration¬†with Cloud API’s”
by Steef-Jan Wiggers
GMT “-8” ¬†: ¬†02h30PM
GMT “-2” ¬†: ¬†08h30PM
GMT “0” ¬† : ¬†10h30PM
GMT “+2” : ¬†12h30AM
“Wiki Ninja Belts”
by Margriet Bruggeman,
Peter Laker
aka XAML guy
and Ed Price
“DevOps¬†Desenvolvimento
e Opera√ß√Ķes Juntos!”
by Alan Carlos
(only Portuguese Language)
¬†DAY 3 –¬†March, 19th
Time / GMT  DEV track WIKI track  INFRA track
GMT “-8” ¬†: ¬†11h15AM
GMT “-2” ¬†: ¬†05h15PM
GMT “0” ¬† : ¬†07h15PM
GMT “+2” : ¬†09h15PM
“Implementing audio
media stream sources in
windows phone 8.1”
by Mihai Cosmin
aka MCosmin
GMT “-8” ¬†: ¬†12h00PM
GMT “-2” ¬†: ¬†06h00PM
GMT “0” ¬† : ¬†08h00PM
GMT “+2” : ¬†10h00PM
“Office 365
SharePoint Uygulamalari”
by Erdem SELÇUK
(only Turkish Language)
“Pr√©sentation de la recherche
dans SharePoint 2013”
by Benoit Jester
(only French Language)
GMT “-8” ¬†: ¬†01h00PM
GMT “-2” ¬†: ¬†07h00PM
GMT “0” ¬† : ¬†09h00PM
GMT “+2” : ¬†11h00PM
“Wiki Life (French):
Best Practices”
by Benoit Jester
and Gokan Ozcifci
“Windows Server:
Active Directory Migration”
by Hasan Dimdik
GMT “-8” ¬†: ¬†01h45PM
GMT “-2” ¬†: ¬†07h45PM
GMT “0” ¬† : ¬†09h45PM
GMT “+2” : ¬†11h45PM
“Structured Error
Handling Mechanism
in SQL Server 2012 & 2014”
by Saeid Hasani
“Wiki Life: Technet Wiki
Best Practices
(from administrators view)”
by Peter Geelen
“The good,the bad and¬†ugly
part for Office365
for large sized enterprises”
by Gokan Ozcifci
(only French Language)
GMT “-8” ¬†: ¬†02h30PM
GMT “-2” ¬†: ¬†08h30PM
GMT “0” ¬† : ¬†10h30PM
GMT “+2” : ¬†12h30AM
“Getting Started with
MongoDB on Azure”
by Jan Hentschel
aka Horizon_Net
“TechNet Wiki:
User Groups”
by Craig Lussier
GMT “-8” ¬†: ¬†03h15PM
GMT “-2” ¬†: ¬†09h15PM
GMT “0” ¬† : ¬†11h15PM
GMT “+2” : ¬†01h15AM
“From Forums to Wiki:
Templates”
by Sandro Pereira
“FIM 2010
Best Practices &¬†Technet Wiki”
by Peter Geelen
GMT “-8” ¬†: ¬†04h00PM
GMT “-2” ¬†: ¬†10h00PM
GMT “0” ¬† : ¬†12h00AM
GMT “+2” : ¬†02h00AM
“Evitando que minha
coluna IDENTITY quebre
a sequencia num√©rica”
by Durval Ramos
(only Portuguese Language)
“TechNet Wiki
International Communities”
by Ed Price
“The difference between
SharePoint On-Prem’ platforms
and Cloud/Hybrid”
by Gokan Ozcifci

If you can’t make a session, we’ll have the videos available to watch! A special thank you goes out to all our presenters!

[PT] REVISTA PROGRAMAR N¬ļ 48 ‚ÄĒ MAR√áO 2015

Programar n¬ļ48

Quase na Primavera, aqui temos mais um edição da Revista PROGRAMAR!  Nesta edição trazemos até si, como artigo de capa, o artigo Criar um Cluster de Processamento Paralelo MPI com Raspberries, de António Santos.  Nesta 48ª edição pode ainda encontrar os seguintes artigos:

Clique aqui para fazer o download desta edição!

Continuaremos tamb√©m a premiar os autores dos tr√™s melhores artigos, dado o sucesso nas edi√ß√Ķes anteriores. E os leitores devem dar a sua opini√£o para que possamos premiar correctamente. Para isso vote em¬†http://bit.do/ProgramarED48_V.