Quels sont les concepts de développement SharePoint les plus difficiles à comprendre pour les développeurs ASP.Net?

StackOverflow https://stackoverflow.com/questions/1424643

Question

J'essaie de rassembler du matériel de formation sur SharePoint 2007 (et éventuellement 2010) destiné à des développeurs expérimentés d'ASP.Net. Après avoir utilisé SharePoint pendant des années, je ne me souviens pas vraiment où se trouvaient les pires points d'achoppement au début. - sans oublier que la quantité de contenu SharePoint de Googlable est supérieure d’un ordre de grandeur à celui d’il ya deux ans.

Cela étant dit, quels concepts SharePoint sont les plus difficiles à comprendre et / ou quelles parties de SharePoint sont suffisamment ésotériques pour ne pas être évidentes pour un développeur débutant en SharePoint qui vient de se lancer?

Était-ce utile?

La solution

Greg,

D'après mon expérience, les problèmes liés à l'élimination correcte des objets ( SPWeb et SPSite , font référence à des SPRequest enveloppes autour du COM non géré. les objets) sont un piège commun et la source de nombreux problèmes d’évolutivité, de performances et d’autres problèmes de codage. Une fois que Microsoft a pris conscience de l'ampleur du problème et du degré de confusion des développeurs dans ce domaine, ils ont rédigé un grand article d'orientation ( http://msdn.microsoft.com/en-us/library/aa973248.aspx ) et a développé l'outil SPDisposeCheck ( http://code.msdn.microsoft.com/SPDisposeCheck ).

C'est mon vote pour "non évident pour un développeur débutant en SharePoint qui vient de plonger dans " : -)

Pour ce que ça vaut!

Autres conseils

Voici ma liste des choses les plus difficiles à comprendre:

  • Sécurité d'accès au code et toutes les autres fonctionnalités de sécurité
  • Différence entre site / application pages et personnalisées / non personnalisées pages
  • CAML dans les deux requêtes et toutes les définitions
  • Ce qui est déjà dans SharePoint pour que vous ne réinventez pas la roue
  • Céder le contrôle.

    Vous ne contrôlez pas les composants WebPart. sur une page et comment ils sont connectés. Vous devriez juste leur permettre de réutiliser

    Vous ne contrôlez pas quelle liste se trouve sur un site ou quels champs ils contiennent

  • Absence de prise en charge de plusieurs langues
  • Ne jetez pas SPWeb et SPSite si vous les obtenir à partir de SPContext.Current
  • contrôles de délégation

Les autres nouveautés, mais qui semblent plus faciles à comprendre, sont les suivantes:

  • Solutions / fonctionnalités
  • Tous les espaces réservés dans les pages maîtres

* Manque de contrôle *

C’est le problème clé en tant que La mention Per Jakobsen . En chemin ...

  1. Il n'est pas possible d'entrer et de modifier des fichiers .aspx et .master où bon vous semble. Il y a des conséquences telles que l'absence de soutien, le soutien et que cela ne fonctionne souvent tout simplement pas comme prévu. Une bonne compréhension de la composition des pages par SharePoint est essentielle.

  2. Il n’existe aucun moyen (supporté et fiable) d’interroger directement la base de données. Cela est extrêmement frustrant pour les développeurs ASP.NET habitués à concevoir / utiliser des bases de données bien conçues et conçues à cet effet. Les requêtes CAML ne remplacent pas la puissance de requêtes SQL bien optimisées.

  3. (Plus d'un 2b): Support médiocre pour les données relationnelles entre les listes. Odd pour une application d'entreprise.

  4. Un peu en dehors du sujet, mais le balisage HTML et CSS était un cauchemar en 2003 et pas beaucoup mieux en 2007. C’est pénible de travailler avec et pas beau non plus. Vous devez faire tout ce qui est en votre pouvoir pour créer un site entièrement conforme aux normes du Web et aux meilleures pratiques.

Pour résumer, il est généralement nécessaire de procéder de la manière "SharePoint". Ce n'est souvent pas la manière la plus efficace et la plus élégante qu'un développeur ASP.NET simple préfère. Les développeurs aiment l’élégance et ils n’aiment pas abandonner le contrôle.

Il existe également des pièges sur le produit ( Sean a mentionné un élément clé ) tapi comme un petit fil pour un imprudent. Le seul moyen de les connaître et de les comprendre est de connaître SharePoint - et c'est un gros produit.

Voir la discussion à ce sujet sur Pourquoi les développeurs ASP.NET n'utilisent-ils pas WSS? sur SharePointDevWiki.

Ce qui est déjà dans SharePoint pour ne pas réinventer la roue. Je vote pour cela.

Par a couvert a couvert la plupart des points pour moi, mais je vais en ajouter quelques autres:

  1. SPContext - Le concept d'exécution de code conecptuel, par exemple. SPContext.Current ou Propriétés dans un récepteur d'événements.

  2. Dans la continuité du contexte, il est également important de comprendre avec qui le code est exécuté et quelles actions il peut exécuter - élévation (privilèges élevés), emprunt d'identité (jetons) et exécution (services Web / récepteurs d'événements) .

  3. Traitement des erreurs - Tout le monde hurle lorsque la seule erreur signalée est "une erreur est survenue", il est donc essentiel de comprendre les journaux et les codes d'erreur SP. Ceci est important pour réduire le temps perdu à courir après une erreur XML insupportable.

  4. Outils Visual Studio - WSPBuilder, Outils VS pour Sharepoint, etc. Réduisez les difficultés liées au déploiement et au débogage en raccourcissant le cycle d'intégration.

Créez un rapport / un tableau de bord à l'aide des services de génération de rapports de SQL Server pour les problèmes réels et affichez-le dans le site SharePoint. Nombre d’exemples / tutoriels trouvés en ligne non, cette question est toujours insuffisante (je suppose).

Tout ce qui concerne l'architecture et les implémentations du monde réel. Je suis développeur, mais je dois me salir les mains si je veux avoir un environnement client le plus proche possible sur mes environnements virtuels sans attendre un support informatique officiel. Essayez de créer une petite batterie avec un intranet, Internet, un extranet, un mécanisme d’authentification mixte, des mappages d’accès de substitution, une configuration d’en-tête d’hôte, etc. C’est un travail entièrement dédié mais dans lequel vous devrez vous plonger si vous souhaitez développer des implémentations de moyenne à grande échelle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top