lundi 29 avril 2013

Astuces: Crystal Report dans Visual Studio 2010

Voici des informations pouvant vous aider dans vos développements via l'ide visual studio pour Crystal Report


Option "Select distinct": Permet de forcer un select distinct de vos enregistrements



Comparer 2 champs pour en afficher qu'un:
Lorsque l'on veut vérifier des valeurs ou les manipuler pour X raisons, on peut créer des Champs de formule, ce qui permet d'afficher le résultat.
Exemple de besoin: En lecture/modification la colonne CPOS  de l’enregistrement (Personne.CodePostal) correspondant est affichée si l’enregistrement (Instance.CodePostal) consulté ne disposent pas de données adresses. Sinon, c'est la donnée de l’enregistrement (Instance.CodePostal) qui est affiché:


Manipuler les paramètres / Clause Where du rapport
Afin d'affiner l'affichage, on peut passer des paramètres au rapport qui permet de lui ajouter une clause "WHERE": Edition de la formule de sélection des enregistrements --> en langue Crystal Report ;o)
Pour y accéder cliquer sur le bouton "Sélectionner l'Expert":
Règles de bases: Les paramètres sont précédés du signe ? et toutes les valeurs sont comprises en accolades {}

Afficher +1 enregistrement dans par ligne

Pour afficher 2 enregistrement dans une même section "Détails", donc par Ligne
exemple:

Cliquez sur Expert Section

Activer le multi colonnes


Aller dans le nouvel onglet "Présentation"

Déterminer le sens de répétition, définir une largeur qui va permettre la répétition de l'élément, c'est à dire que tant que cette largeur rentre l'espace (Largeur ou Hauteur) du rapport, elle se répète.


vendredi 19 avril 2013

Business Connectivity Service (BCS) dans SharePoint 2010


L'architecture


Les BCS se présentent comme un Service Application, ce qui signifie qu'il est distribuable. Les BCS permettent d'utiliser des sources de données externes comme si le contenu faisait partie intégrante de la plateforme.

Les BCS de SharePoint 2010 permettent de faire du CRUD (Create, Read, Update, Delete) ce qui présente un énorme avantage.

Avec BCS, il est possible d'accéder à des sources de données via : 
  • Bases de données SQL Server
  • Service Web WCF 
  • Assemblies .Net
En utilisant les assemblies .Net on peut donc considérer qu'on développe un connecteur a des sources de données externes du moment qu'elle soit interrogeable en .Net. Ainsi il est pensable d'avoir un BCS pour interroger une base de données Oracle, MySQL, DB2, d'interroger des web services externes, sur le cloud par exemple ou alors de développer un connecteur pour un fileshare spécifique: Novell.


Les limitations dans les listes SharePoint

Cependant, Il est important de comprendre les limites des External list :
  • Pas de versionning, ce qui est normal puisque les données sont stockées dans la base de données pas dans SharePoint, il serait donc impossible de gérer le versionning
  • Pas de Information Management Policy, ce qui est aussi normal puisqu'on ne va pas pouvoir demander à stocker les informations autre part
  • Pas de workflow en out of the box, mais on verra comment contourner ce problème
  • Pas d'inline editing (la moi pas comprendre), en effet cela est techniquement possible
  • Pas de Rating
  • Impossible d'exporter en Excel ou d'ouvrir avec Visio, Access ou Project. (http://exportexternallist.codeplex.com/ export vers excel)
  • Pas d'accès Rest avec ListData.svc
  • Pas de flux RSS
  • Pas de permission niveau item (ou pas on verra comment contourner le problème)
  • Pas de lookup
  • Pas d'attachements


EXEMPLE

Création d’un type de contenu externe

La méthode la plus intuitive pour créer une connexion BCS « basique » reste sans conteste l’utilisation de SharePoint Designer 2010

1) Ouvrer votre site SharePoint dans SharePoint Designer 2010

2) Dans le panneau de navigation de gauche, sélectionner « Types de contenu externe »


3) Cliquer sur le bouton « Type de contenu externe »


4) Cliquer sur le lien « Cliquez ici pour découvrir les sources de données externes... »


5) Cliquer sur le bouton « Ajouter une connexion »


6) Sélectionner « SQL Server » dans la liste déroulante qui permet de définir le type de source de données


7) Entrer le nom de votre serveur sql ainsi que le nom de votre DB


8) Quand la connexion est établie vous verez apparaitre votre DB dans la fenêtre « Data Source Explorer ».

Dérouler votre DB (en cliquant sur le +) ainsi que votre table et faite un click droit sur la table que vous avez créer.
Sélectionner le premier menu « Créer toutes les opérations »


Vous voyer apparaitre un Wizard où vous avez la possibilité de définir les différents paramètres de votre connexion BCS.

9) Cliquer sur le bouton « Suivant» pour accéder à la page des paramètres


10) Sélectionner le champ qui sera votre identifiant (dans mon cas j’utilise le champ « AddressID ») et cocher la case « Mapper sur l'identificateur »


11) Cliquer sur le bouton « Terminer»

Vous verrez sur la droite de l’écran la liste des opérations disponible pour votre DB externe


12) Sauvegarder vos modifications (Penser à mettre un Nom à votre type de contenu externe car il ne sera pas modifiable par la suite)



Donner accès à votre Application de service BDC

Administration centrale > Gestion des applications > Gérer les applications de service
1. Définir les autorisations de l'Application du service BDC


Ajouter les autorisations aux personnes / groupes pouvant visualiser les informations externes


2. Créer Service Banque d’informations sécurisé  -- Application Service Banque d’informations sécurisé
Mettre en place l'accès à l'information en mode "impersonate", afin d'usurper l'information de connexion avec la DB.


Donner un nom unique pour identifier votre connexion "impersonate"

Définir les informations de connexion à la base

Générer la clé



3. Reset des informations de connexion
Vous pouvez maintenant redéfinir l'accès à votre contenu externe




Saisir l'identifiant du Secure Store à utiliser pour se connecter



4. Magasin de métadonnées
Donner l'accès aux métadonnées




PowerShell Editor _ The Ultimate Scripting PowerFull


Windows possède en natif – ou presque – un très bel éditeur PowerShell, pas forcément le plus complet ni le plus pratique, mais largement suffisant et pratique à utiliser chez les clients qui ne peuvent rien installer!!
De plus, sans que ce soit forcément un avantage, ce fut l’un des premiers outils en WPF fourni par Microsoft. Cela permet notamment d’avoir une jolie fonction de zoom sur le code assez pratique à mon avis :o)
Tout d’abord, si vous êtes sur un OS plutôt ancien, soit vous n’avez pas PowerShell du tout (XP-), soit vous avez une V1 (Vista, 2008 Server), il vous faudra dont télécharger la V2 avant toute chose:


Si vous êtes sous Seven ou 2008 Server R2, vous êtes normalement bien outillé.

Première réflexion si vous êtes sur ces derniers OS, vous avez bien PowerShell mais où est donc passé l’éditeur????????
Huuummmmm, c’est embarrassant comme dirait l’autre.
Lancer donc votre première commande PowerShell: Import-Module ServerManager;Add-WindowsFeature PowerShell-ISE


Installation automatique de l'IDE:

Installation terminée...

Vous pouvez maintenant lancer l'IDE:



C’est du basique, personne n’aura de mal à s’y retrouver, notons cependant les points suivants:

  1. Menu Debug: ce n’est pas juste un éditeur, vous pouvez jouer directement à partir d’ISE vos scripts mais surtout les débuguer. Si c’est juste pour lancer quelques commandes, une console sera certainement plus rapide et plus pratique, par contre pour développer vos scripts c’est bien meilleur ici.
  2. 2.Menu Add-ons: les petits gars de PowerShell ont bien fait les choses, le programme est extensible par script et ce très simplement.
  3. Run: click and run du script de l’onglet courant, pratique.
  4. Titre: ceci aussi est scriptable, et l’environnement host utilise son propre profil 
  5. Command: fenêtre ligne de commande, fonctionne comme la console, exécuter vos commandes PowerShell directement à partir de là (pour tester une syntaxe par exemple pendant que vous écrivez vos scripts)
  6. Résultat: fenêtre de résultat d'éxecution de script Et de commande (je peux très bien exécuter le script en cours et lancer un ‘clear’ à la main dans la fenêtre commande pour nettoyer ce bloc)
  7. Script: Fenêtre d’édition du script.
  8. Zoom: totalement fortuit comme feature mais on a du mal s’en passer…





Un autre outils externe existe -- qui selon moi est encore plus efficace de par ses fonctionnalités "ajoutées"à l'IDE, 
Idera Powershell Plus Gratuit !

L'IDE vient avec un pack de librairie et l'interface est bien intuitive pour exécuter et debugger ses script.

Renommer une VM SharePoint de développement (2010 & 2013)


1.  Prérequis

1.1.   VM

Lorsque vous lancer la VM avec votre player, sélection l’option « J’ai copié la VM »

1.2.   Compte

Pour renommer un serveur SharePoint il faut impérativement se signer avec l’administrateur SharePoint.

1.3.   SQL

Vérifier que les canaux nommés sont actif sur le serveur.

1.4.   4 étapes

Pour modifier le nom d’un serveur SharePoint 2010, il faut :
1.       renommer le serveur SharePoint via stsadm,
2.       configurer les mappages d’accès de substitution ,
3.       renommer le serveur au niveau SQL,
4.       renommer le serveur au niveau Windows.


Pour modifier le nom d’un serveur SharePoint 2013, il faut :
1.       configurer les mappages d’accès de substitution,
2.       renommer le serveur SharePoint via stsadm,
3.       renommer le serveur au niveau SQL,
4.       renommer le serveur au niveau Windows.

2.  Procédure SharePoint 2010 (Step by Step)

2.1.1.    Suivre les étapes suivantes :



Créer un ficher batch contenant le script suivant :
"c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN\STSADM.EXE" -o renameserver -oldservername "NOM_SERVEUR" -newservername "NOUVEAU_NOM_SERVEUR"
pause;




Exécuter votre fichier en tant qu’administrateur


Configurer les mappages d’accès de substitution


Modifier le nom du serveur sur l’ensemble des urls présentes


Mettre le nom du nouveau serveur


Créer un ficher batch contenant le script suivant avec les valeurs propre à l’environnement :
@echo off
set SName=" NOM_SERVEUR\INSTANCE_SHAREPOINT"
set DbName="master"
@echo on
sqlcmd -S %SName% -d %DbName% -I -i SQLQueryRenameSQLServer.sql >> _renameSQLLog.txt 2>&1
pause;


Modifier le fichier SQLQueryRenameSQLServer.sql :
sp_dropserver ‘NOM_SERVEUR\INSTANCE_SHAREPOINT;
GO
sp_addserver ‘NOUVEAU_NOM_SERVEUR\INSTANCE_SHAREPOINT, local;
GO
SELECT  server_id,name,is_linked
FROM    sys.servers;
GO




Exécuter votre fichier en tant qu’administrateur


Renommer le serveur sous  windows


Cliquer sur modifier les paramètres


Cliquer sur modifier
                               
Modifier le nom du serveur


Cliquer sur OK


Redémarrer le serveur


2.1.2.    Renouveler votre IP



Créer un ficher batch contenant le script suivant :
ipconfig /flushdns
ipconfig /release
ipconfig /renew
pause;


Exécuter votre fichier en tant qu’administrateur


3.  Procédure SharePoint 2013 (Step by Step)


Configurer les mappages d’accès de substitution
Modifier le nom du serveur sur l’ensemble des urls présentes
Mettre le nom du nouveau serveur
Créer un ficher batch contenant le script suivant :
"c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\BIN\STSADM.EXE" -o renameserver -oldservername "NOM_SERVEUR" -newservername "NOUVEAU_NOM_SERVEUR"
pause;

Exécuter votre fichier en tant qu’administrateur
Créer un ficher batch contenant le script suivant avec les valeurs propre à l’environnement :
@echo off
set SName=" NOM_SERVEUR\INSTANCE_SHAREPOINT"
set DbName="master"
@echo on
sqlcmd -S %SName% -d %DbName% -I -i SQLQueryRenameSQLServer.sql >> _renameSQLLog.txt 2>&1
pause;


Modifier le fichier SQLQueryRenameSQLServer.sql :
sp_dropserver ‘NOM_SERVEUR\INSTANCE_SHAREPOINT;
GO
sp_addserver ‘NOUVEAU_NOM_SERVEUR\INSTANCE_SHAREPOINT, local;
GO
SELECT  server_id,name,is_linked
FROM    sys.servers;
GO

Lancer une console de commande en tant qu’administrateur et aller exécuter votre fichier directement dans le répertoire
Renommer le serveur sous  windows