Silverlight v4.0 v5.0 Dashboard Installation

Dashboard project in Silverlight

Curieux toutes ces sociétés spécialisées dans les grands systèmes de traitement de l'information et qui maintenant développent des "Tableaux de Bords" (Dashboard). En général, elles ont développé des systèmes de traitement de données, des plateformes complexes à l'a fois dans le déploiement des solutions, la maintenance et le contrôle du système. Leurs clients demandent maintenant qu'elles développent des applications simples d'utilisation permettant de contrôler le bon déroulement des opérations sur leur plateforme installée. C'est comme cela que l'on voit fleurir le développement des Dashboards.

On rencontre nombre de Dashboard en Silverlight, le web permettant l'administration et le contrôle des plateformes à distance.

La principale remarque que je ferais, c'est pourquoi ces sociétés éditrices de logiciels n'ont pas intégré ce besoin au moment de la conception et le corollaire en est que le développement de ce type d'application est particulièrement complexe à posteriori.

Et une deuxième pour la route,  soit le Dashboard impacte peu sur le système d'information existant mais alors il ne rend compte que partiellement de l'exécution du système et ne permet que de faire peu de choses. Soit il devient une véritable pieuvre, il simisse partout et fini par impacter le système en production.

Silverlight Downloads and Installation

A l'heure actuelle, la dernière version de Silverlight étant la version 5.0 je pars sur l'installe de la v5.0.

Silverlight v5.0


Attention n'installez pas le SDK tout seul si vous l'intention d'installer les Tools : Silverlight 5 Tools for Visual Studio 2010.

Curieusement, elle installe la version 3.0 et la version 5.0

C:\Program Files\Silverlight\v3.0
C:\Program Files\Silverlight\v5.0

C:\Program Files\MSBuild\Microsoft\Silverlight\v3.0
C:\Program Files\MSBuild\Microsoft\Silverlight\v5.0

Hors le projet qui nous intéresse est développé en v4.0 !? Bon ...

Silverlight v4.0

http://www.microsoft.com/fr-fr/download/details.aspx?id=18149

En gros on installe tout ça :
  • Runtime Microsoft Silverlight 4 Developer
  • Kit de développement logiciel Microsoft Silverlight 4 SDK
  • Microsoft Silverlight 4 Tools pour Visual Studio 2010
  • Services RIA WCF V1.0 pour Silverlight 4
  • F# Runtime pour Silverlight 4
Configuration requise :
Systèmes d’exploitation pris en charge : Windows 7; Windows Vista; Windows XP Service Pack 3
Windows 7
Windows Vista Service Pack 2
Windows XP Service Pack 3

Composants Visual Studio requis :
Microsoft Visual Studio 2010 avec la fonctionnalité Visual Web Developer
Microsoft Visual Web Developer 2010 Express

Très bien, mais moi je travaille sous Windows 2003 Server R2 SP2 ...
Il me semble donc que sur cette plateforme, je ne puisse pas installer SL v4.0 et que je doive passer par  Silverlight v5.0 et encore ... en installant au préalable Visual Studio SP1 ...
Merci Silverlight ...

Silverlight pour Windows 2003 Server R2

Pour cette plateforme, il faut donc installer :

Microsoft Visual Studio 2010 Service Pack 1
http://www.microsoft.com/fr-fr/download/details.aspx?id=23691

Installation de Microsoft Visual Studio Service Pack 1
Le Visual Studio SP1 regarde les produits installé sur votre plateforme afin de les mettre à jour.

Microsoft® Silverlight® 5 Tools for Visual Studio® 2010 SP1
http://www.microsoft.com/en-us/download/details.aspx?id=28358

Installation Silverlight 5 Tools for Visual Studio 2010 SP1

A guide to create Enterprise Dashboard

C'est le projet qu'il nous intéresse de faire fonctionner, trouvé dans AllInOnSamples
A tutorial to create a sample enterprise dashboard using MVVM pattern.

Au passage, nul besoin de télécharger les composants Visifire car ils sont déjà dans le projet dans le répertoire :
Visual Studio 2010\A-guide-to-create-6ab135b2\C#\Silverlight Binaries

A-guide-to-create Enterprise Dashboard - Solution
A-guide-to-create Enterprise Dashboard - Exécution
Have fun.

Remarques :
- Composants graphiques :
C'est toujours la même question avec les composants graphiques : Lesquels choisir ... ?

Passer de Silverlight v4.0 à Silverlight v5.0

Lorsque vous ouvrez une solution dont un projet est en Silverlight 4.0, il sera grisé mais Visual vous permet alors d'éditer le fichier projet .csproj.

On l'a vu, dans AllInOneSamples beaucoup de projet Silverlight sont en v4.0, donc adaptation :
Dans le fichier du projet :
ProductAndSales.csproj
Remplacer :
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
Par :
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>

Supprimer les deux références aux DLL :
System.Windows.Controls.dll
System.Windows.Controls.Data.Input.dll
Qui sont en version v4.0 par les même références en version v5.0

Vous pouvez également modifier dans le fichier .csproj tous les 4.0 en 5.0

Sauvez, bouton droit sur le projet : Reload

Et le tour est joué.

Entityframework et Silverlight

Projet intéressant

Consuming ADO.NET Entity Framework from Silverlight
http://geekswithblogs.net/berthin/archive/2011/05/29/ado_net_entityframework_from_silverlight.aspx

On va vite se rendre compte que cette page manque sérieusement d'explications.

Silverlight stratégie inadaptée aux services SOAP

Lorsque l'on créé une application Silverlight qui utilise un WCF Service References à l'exécution on obtient un message d'un autre monde :

Une erreur s'est produite en tentant d'effectuer une demande à l'URI 'http://localhost:1365/ServiceSaleEntity.svc'. Ce problème peut être dû à une tentative d'accès à un service entre domaines sans qu'une stratégie entre domaines appropriée soit en place, ou une stratégie inadaptée aux services SOAP. Il est possible que vous soyez contraint de contacter le propriétaire du service pour publier un fichier de stratégie entre domaines et veiller à ce qu'il autorise l'envoi d'en-têtes HTTP SOAP. Cette erreur peut également être liée à l'utilisation de  types internes dans le proxy de service Web sans utiliser l'attribut InternalsVisibleToAttribute. 
Consultez l'exception interne pour plus de détails.

Et pourtant, Il suffit de cocher la case dans les propriétés du projet :
Onglet Silverlight
Case à cocher : Require elevated trust when running in-browser

Silverlight using Entity Framework through WCF Service References

Le sujet était assez intéressant pour que je réalise un projet :

VisualStudio 2010
Silverlight 5

WcfServiceSaleEntity
WCF Service Application
Embarque la BD Sale.mdf dans App_Data
Fournit le ModelEntity : ModelSaleEntity.edmx

SilverlightEntityFramework
Application Silverlight Utilise le Service References : ServiceSaleEntity fournit par WcfServiceSaleEntity

Download Sample : Sivlerlight Consuming Entity Framework

Binding : pourquoi a-ton l'impression de faire de la magie ?

La plus grosse difficulté du projet, devinez ? Je vous le donne en mille : le Binding
Mais pourquoi à t-on l'impression de faire de la magie avec ce fameux binding ?
A mon avis c'est parce que l'intellisense et les outils Visual Studio ne sont pas fait pour ça tout simplement.
Mais aussi, parce que, les données ne sont pas là !
using SilverlightEntityFramework.ServiceSaleEntity;
et
ServiceSaleEntityClient saleService = new ServiceSaleEntityClient();
n'y change rien
Pour écrire la ligne :
<sdk:DataGridTextColumn Binding="{Binding ProductQuantity}"
dans MainPage.xaml c'est démerdez-vous ! Et tous les outils proposés ne vous aident pas !
Silverlight Entity Framework
Bas on n'est pas pret de faire un CRUD !

Create Read Update Delete à travers les Objets de WCF Reference Services utilisé par Silverlight, il faudrait pouvoir faire un DataContext.SaveChanges() pour mettre à jour la BD à partir de EF. Ce n'est pas si difficile  mais ce n'est pas du RAD ... encore que ...

Silverlight notes astuces

Lancez une appli silverlight comme Startupproject :
Exception dans :

private void Application_Startup(object sender, StartupEventArgs e)
{
    WebContext.Current.Authentication.LoadUser(this.Application_UserLoaded, null);
    ...
}

Message :

Le modèle d'URI « file » fourni est non valide ; le modèle« http » était attendu.
Nom du paramètre : via

Perso, j'ai mis la ligne en commentaire dans le projet BookShelf.

Silverlight Installation Suite

Il me manque encore quelque chose, c'est curieux de s'apercevoir par exemple que dans le framework de base il n'existe pas de MenuItem. Et pourtant un Menu cela peut être utile ...

Impossible de trouver l'assembly : System.Windows.Controls.Toolkit

Téléchargement du  : Silverlight 5 Toolkit - December 2011
http://silverlight.codeplex.com/releases/view/78435

Lacement de l'intallation :
Installation du Silverlight Toolkit December 2011
Ce Toolkit met à jour les templates de Visual Studio 2010 :
Silverlight 5 ToolKit December 2011
Sur le disque dur :
Silverlight 5 ToolKit December 2011 sur le disque dur
Pour lire un peu de doc concernant ce ToolKit vous avez la page suivante sur votre disque dur :

C:\Program Files\Microsoft SDKs\Silverlight\v5.0\Toolkit\dec11\Welcome.htm

Silverlight Installation Error

Vous avez un souci pour installer Silverlight sur votre plateforme Windows 2003 Server et c'est normal car c'est un processus assez tortueux. D'abord le "Web Platforme installer" a planté sans rien signaler pour installé Silverlight. En suite vous avez installé MS Visual Web Developer 2010 Express et au moment de créer votre première application Silverlight, voici le résultat qu'affiche votre Visual Studio :

Erreur à la création d'un projet Silverlight avec Web Developer
Pas de problème vous cliquez sur le lien, et vous tenter d'installer Silverlight 5 :

Installation de Silverlight 5
Mais le processus s'arrête brusquement avec l'erreur suivante :

Impossible d'installer Silverlight
Et c'est parti pour un redémarrage ...
Une fois la machine redémarrer le processus d'installation se déroule correctement vous pouvez alors créer votre première application Silverlight mais ou moment de choisir 3, 4 ou 5 vous n'avez pas le choix de 5 alors que vous pensez avoir installer Silverlight 5 ...

Installation de Silverlight 3.0 et 4.0
Et effectivement le SDK Silverlight 5.0 n'est pas installé ... J'ai simplement installé le runtime ... Pour en terminer avec Silverlight 5.0 je vous conseille la lecture du post suivant Ici.

En me trompant d'installe j'obtiens l'erreur suivante :

Install Silverlight 5 Tools Error on 2010 SP1
Le Silverlight 5 Tools for Visual Studio 2010 SP1 est téléchargeable Ici.

Et sinon l'installation continue :
Installation du Silverlight 5 Tools for Visual Studio 2010 SP1
Et se termine par :

Silverlight 5 Tools for Visual Studio 2010 SP1
Et cette fois le SDK Silverlight 5.0 est bien installé :

Installation du SDK Silverlight 5.0 for Visual Studio 2010 SP1