L’accès mobile dans SharePoint 2007
Toujours curieux dans les technologies SharePoint, je fait ce petit post en préparation d’une future plongée profonde dans l’accès mobile.

(oui je suis joueur, désolé)
En pratique, l’accès mobile de SharePoint est une redirection vers des templates de rendu spécifiques. Il est basé surtout sur la notion de site collaboratif (STS) mais il peut être aisément adapté, soit :


http://blogs.msdn.com/martinkearn/archive/2006/04/21/SharePoint-on-your-Phone_2100_.aspx
Il s’agit de vues mobiles sur les différentes listes d’un site avec une Homepage assez “générique”. Il permet de visualiser sur un périphérique mobile le contenu de site SharePoint via ses différentes listes. Comme bien souvent, tout est stocké dans des listes, ce principe fonctionne assez bien. Il ne transforme pas un site MOSS en vue mobile mais donne accès à des vues mobiles de certains contenus.
Le fonctionnement est assez simple :
- la feature MobilityRedirect(les adresses en /m) fait une redirection vers un page mobile
- la page mobile contient différents control mobile de contenu spécifique à SharePoint comme des liens vers les divers vues des listes en mobiles
En ce qui concerne la personnalisation, il y a plusieurs axes d’étude possibles
Fondamentalement, il s’agit de travailler sur les CONTROLTEMPLATES utilisés dans les Listes, Forms et Fields rendering. Soit des controles chargeant leur rendu graphique et leur contenu par l’utilisation de template stocké dans des ASCX et des ID. Le tout mixant des controls Mobile et SPMobile.
Ainsi, la Feature MobilityRedirect fait une redirection par Module vers _layouts/mobile/default.aspx. Cette page fait la redirection par l’appel du Template “MobileHomePageRedirect”, soit ControlTemplaptes\MobileDefaultTemplates.ascx. Template contenant le control SPMobile:SPMobileUrlRedirection paramétré sur la futur page d’accès mobile
Autre Exemple : pour un nouveau rendering de vue du control SPMobileListContents
<SharePoint:RenderingTemplate ID="Mobile_104_View_Contents" RunAt="Server" >
<Template>
<SPMobile:SPMobileControlContainer RunAt="Server">
<SPMobile:SPMobileComponent RunAt="Server" TemplateName="MobileViewPicker" />
<SPMobile:SPMobileComponent RunAt="Server" TemplateName="MobileDefaultSeparator" />
</SPMobile:SPMobileControlContainer>
<mobile:Label RunAt="Server" Text="Hello SharePoint Mobile User!"/>
<SPMobile:SPMobileListItemIterator RunAt="Server" ListItemSeparatorTemplateName="MobileListItemSeparator" />
</Template>
</SharePoint:RenderingTemplate>
Donc, en terme d’approche, on peut convenir
- de modifier/créer une feature de redirection plus sélective (donc des templates de redirection )
- un ou plusieurs homepage MOBILE avec les contrôles SharePoint et ASP Mobile avec mise en page
- changer les templates utilisés par les contrôles mobiles pour adapter les rendus de contenu ou
Tips : les ID utilisés par les contrôles MOBILE de SharePoint utilise une norme : Mobile_ SiteTypeID _HomePage_ PageArea
Il est donc facile d’adapter le type de rendu en jouant par exemple sur l’ID du Site Definition par exemple (ou pour le remplacer)
- Mobile_BLOG_HomePage_Navigation
- Mobile_STS_HomePage_Contents
Eh oui, c’est un sujet riche, comme bien souvent avec SharePoint, qui nécessite un peu de “recul”. Pour mieux vous aider, voici les quelques liens que je qualifierais d’indispensable pour continuer.
Voila voila
PS : Dans le cas de MOSS, il y a aussi une alternative très intéressante via les Variations !!! Soit un Layout pour l’accueil et les gabarits du site principal et les gabarits alternatif du label Mobile
Pour mes amis développeurs chevronnés, il y a aussi l’alternative avec le principe des HttpModule avec un changement dynamique de MasterPage pour ceux qui aime les approches plus “tricky” :)
Renaud Comte aka TheMit (j’aurais du dire accès Natel :) )
Member of WygTeam
http://www.wygwam.com
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :