lundi 4 octobre 2010

Debug feature EventReceiver

Vous vous êtes peut-être déjà demander comment debuger un event receiver, ce qui n'est pas evident, eh bein c'est simple il faut ajouter dans les post build event de votre projet :

net stop sptimerv4
net start sptimerv4

et mettre les points d'arrêt dans vos events.

vendredi 24 septembre 2010

The document at the url http://XXX:port/_vti_bin/Copy.asmx was not recognized as a known document type.

Je suis tombé sur un problème en voulant ajouter une référence web à mon projet (Add Service reference -> Add Web Reference).

The document at the url http://XXX:port/_vti_bin/Copy.asmx was not recognized as a known document type.

Sur plusieurs post j'ai trouvé un début de solution, utiliser http://XXX:port/_vti_bin/Copy.asmx?WSDL

Seulement, j'arrivais sur une erreur 404. J'ai essayé avec le port de ma centrale d'administration, et BINGO.

Donc pour utiliser une référence web dans un projet, vous devez taper :
http://Serveur:PortDeLaCentraleDadministration/_vti_bin/Copy.asmx?WSDL

FileNotFoundException sur new SPSite

Je suis tomber sur un problème, à priori très répandu.

Quand on veut utiliser SPSite à partir de la console par exemple on peut tomber sur ce genre d'erreur

FileNotFoundException was unhandled
The Web application at http://serveur/sites/default.aspx could not be found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application.

pour résoudre ce problème, il suffit d'aller faire un tour dans le gestionnaire de configuration et de s'assurer que la configuration est mise à x64 ou AnyCPU, et plus de problème.

mercredi 22 septembre 2010

Rajouter un menu dans la centrale d'administration sharepoint 2010

Bonjour, dans ce post je vais vous montrer comment ajouter un menu dans la centrale d'administration de Sharepoint 2010.

1) Créez un nouveau projet vide Sharepoint 2010 sur VS 2010, utilisez l'adresse de votre centrale d'administration, et deployez-le en tant que solution de ferme.

2) Créez un nouvel élément, appelez-le comme vous voulez.Il faudra vous assurez que la deature est en scope Web ou Site.

3) dans le Element.xml, il faut rajouter 2 champs, CustomActionGroup et CustomAction


‹?xml version="1.0" encoding="utf-8"?›
‹Elements xmlns="http://schemas.microsoft.com/sharepoint/"›
‹CustomActionGroup Id="NomDuGroupe"
Title="Titre Du Groupe"
Location="Microsoft.SharePoint.Administration.Default"
Sequence="106"
Description="Une description"
ImageUrl="/_layouts/images/myImage.png"›
‹UrlAction Url="UrlDeLaPage.aspx"/›
‹/CustomActionGroup›
‹CustomAction Id="IdDeLAction"
Title="Titre de L'action"
Location="Microsoft.SharePoint.Administration.Default"
GroupId="NomDuGroupe"
Sequence="106"›
‹UrlAction Url="UrlDeLaPage.aspx"/›
‹/CustomAction›
‹/Elements›


Félicitations, vous venez de rajouter un menu personalisé à la centrale d'administration SP2010.

Si vous souhaitez ajouter un menu personnalisé à un menu existant, il faut changer les paramètres "Location" et "GroupID" en fonction de l'emplacement désiré, voici la liste des emplacements que vous pouvez utiliser : http://bloggingabout.net/blogs/arjen/archive/2010/02/04/custom-action-definitions-in-sharepoint-2010.aspx

mardi 14 septembre 2010

Changer la page d'acceuil et masterpage d'un site par code

Dans les exemples suivants curWeb est un SPWeb.

Changer la masterpage par défaut:

Uri masterUri = new Uri(curWeb.Url+ "/_catalogs/masterpage/mymasterpage.master");
curWeb.MasterUrl = masterUri.AbsolutePath;
curWeb.CustomMasterUrl = masterUri.AbsolutePath;
curWeb.Update();

Changer la page d'acceuil:

PublishingWeb pubWeb = PublishingWeb.GetPublishingWeb(curWeb);
SPFile homePageFile = curWeb.GetFile("SitePages/mypage.aspx");
pubWeb.DefaultPage = homePageFile;
pubWeb.Update();

Voilà j'espère que cela vous sera util.

lundi 6 septembre 2010

Utiliser ADLDS pour faire de l'authentification par Formulaire sur Sharepoint 2010

Bonjour à tous,

Ce post va vous montrer comment utiliser ADLDS pour vous authentifier sur votre site Sharepoint 2010.

1) Installation et instanciation de ADLDS

Tout d'abord, installez ADLDS sur votre serveur (gestionnaire de serveur -> ajouter des roles -> services ADLDS).

Ensuite, créez une instance ADLDS (Outils d'administration -> Assistant Installation des services ADLDS)

pour la partie creation d'une instance je vous laisse allez voir Georges Khalil http://www.gk.id.au/2009/05/ad-lds-sharepoint-and-forms-based.html

Arrétez vous avant la partie 3) qui concerne Sharepoint 2007.

2) Utilisation dans votre WebApp


a) Créez une Web App pour l'authentification par formulaire


cliquer sur New pour créer une nouvelle web app.

Choisissez l'authentification Claims:



puis entrez le nom membership (ou ce que vous voulez) dans le champ ASP.Net Membership provider name



b) Modifiez les fichier web.config


Lancez INETMGR via la command run (touche windows + R).


Faites un click droit sur le Sharepoint Central Administration, puis Explorer.


FAITES UNE SAUVEGARDE DE VOTRE web.config.

puis ouvrez le, trouvez la section ‹membership›


selectionnez toute la section puis remplacez par :

‹membership defaultProvider="AspNetSqlMembershipProvider"›
‹providers›
‹add name="membership"
type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
server="VOTRE SERVEUR LDAP"
port="LE PORT LDAP"
useSSL="false"
userDNAttribute="distinguishedName"
userNameAttribute="name"
userContainer="CN=Users,CN=SPFBAStore,DC=georgeskhaliltesting,DC=COM"
userObjectClass="user"
userFilter="(ObjectClass=user)"
scope="Subtree"
otherRequiredUserAttributes="sn,givenname,cn" /›
‹/providers›
‹/membership›

Sauvegardez et fermez le web.config de la central d'administration

retournez sur le gestionnaire IIS, ouvrez les Sharepoint Web Services, puis click droit Explorer sur SecurityTokenServiceApplication.

FAITES UNE SAUVEGARDE DE VOTRE web.config.


Descendez au bas du document puis rajoutez juste avant le ‹/configuration›


‹system.web›
‹membership›
‹providers›
‹add name="membership"
type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
server="VOTRE SERVEUR LDAP"
port="LE PORT LDAP"
useSSL="false"
userDNAttribute="distinguishedName"
userNameAttribute="name"
userContainer="CN=Users,CN=SPFBAStore,DC=georgeskhaliltesting,DC=COM"
userObjectClass="user"
userFilter="(ObjectClass=user)"
scope="Subtree"
otherRequiredUserAttributes="sn,givenname,cn" /›
‹/providers›
‹/membership›
‹/system.web›


Sauvez et fermez le fichier web.config
Revenez sur le gestionnaire des services IIS, click droit Explorer sur votre web app créé plus tôt.
FAITES UNES SAUVEGARDE DE VOTRE web.config.

Recherchez la section ‹membership defaultProvider="i"›
ATTENTION il ne faut pas remplacer cette section mais rajouter dans la section providers


‹add name="membership" type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" server="VOTRE SERVEUR LDAP" port="LE PORT LDAP" useSSL="false" userDNAttribute="distinguishedName" userNameAttribute="name" userContainer="CN=Users,CN=SPFBAStore,DC=georgeskhaliltesting,DC=COM" userObjectClass="user" userFilter="(ObjectClass=user)" scope="Subtree" otherRequiredUserAttributes="sn,givenname,cn" /›

Sauvez et fermez le fichier web.config


Tous les fichiers web.config ont été modifés.


Il reste une étape très importante avant la possibilité de tester, il faut autoriser les utilisateurs de l'ADLDS à utiliser la web app.

3) Autorisation des utilisateurs

Pour autoriser les utilisateurs de l'ADLDS à utiliser votre web app, allez dans votre central administration, puis selectionner votre web app, clickez sur User Policy:



Sur la fenetre qui vient de s'ouvrir, cliquez sur Add Users, puis Next.

Dans Users, vous pouvez entrez directement le nom specifique que vous voulez ajouter, ou vous pouvez faire une recherche avec Browse, si vous voulez, vous pouvez selectionner directement tous le groupe membership, ce que j'ai fait, ce qui permet qu'un nouvel utilisateur dans le groupe membership, via l'ADSI Edit, possède les même droit que ceux qui y sont déjà.

Vous devriez avoir quelque chose comme ca :



Maintenant il ne reste qu'a créer une collection de site pour votre web app, pour tester.

4) Le Test


Pour tester il suffit d'ouvrir votre site créé, vous tomberez sur une page qui va vous demander de selectionner un mode d'authentification.



Si vous avez entrez le bon identifiant vous vous retrouverez sur votre page d'accueil, quelque soit le mode d'authentification que vous avez choisis.

J'espère que ce post va vous aider.

A bientôt pour un prochain post util.

mardi 18 mai 2010

soap:Server was unable to process request. ---> Value does not fall within the expected range

Salut à tous ceux qui suivent ce blog.
Je suis tombé sur un problème assez génant sur Sharepoint Designer 2010. En voulant télécharger une master page à partir de Sharepoint Designer, je recevait ce message :


Pour résoudre ce problème, il suffit tous simplement de se connecter sur votre site Sharepoint par le nom de domaine et non par localhost.
Et voilà.
Bon Sharepoint à tous.