8
votes

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

J'essaie de mettre en place des supports de formation SharePoint 2007 (et, finalement, 2010) pour les développeurs expérimentés ASP.NET et avoir fait SharePoint depuis des années, je ne me souviens pas vraiment d'où se trouvaient les pires points de collage au début. - Sans parler de la quantité de teneur en SharePoint Googlable est plus importante par un ordre de grandeur il y a deux ans.

Cela dit, quels concepts SharePoint sont les plus difficiles à saisir et / ou quelles parties de SharePoint sont suffisamment ésotériques pour être sans évidence pour un nouveau développeur SharePoint Just-Diving?


0 commentaires

7 Réponses :


8
votes

greg,

Dans mon expérience, émettant l'élimination de l'objet adéquate ( SPSITE SPSITE RÉFÉRENCE SPREQUEST ELAMPERS INTERNAGÉS Les objets) sont un gotcha commun et la source de nombreuses problèmes d'évolutivité, de performance et autres problèmes de codage. Une fois que Microsoft a rendu compte de l'ampleur de la question et du degré de confusion de développeur dans cette zone, ils ont écrit un article de guidage important ( http://msdn.microsoft.com/en-us/library/aa973248.aspx ) et développé l'outil SPDisposetcheck ( http://code.msdn.microsoft.com/spdisposeCheck ).

C'est mon vote pour "Non évident pour un développeur de SharePoint Newbie SharePoint juste dans": -)

Pour ce que ça vaut la peine!


1 commentaires

+1 ainsi que les détails de quels modèles à utiliser lorsque pour lesquels il existe encore une confusion Stackoverflow.com/Questtions/1237862/...



8
votes

Ma liste des choses les plus difficiles à saisir sont:

  • Code Access Security et tout le Autres fonctions de sécurité
  • Différence entre site / application Pages et personnalisées / incompagnées Pages
  • caml dans les deux requêtes et tous les DÉFINITIONS
  • Qu'est-ce qui est déjà dans SharePoint pour vous Ne réinventez pas la roue
  • abandonner le contrôle.

    Vous ne contrôlez pas les pièces Web sont sur une page et comment ils sont connectés. Vous devriez simplement les rendre possible à Réutiliser

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

  • manque de soutien pour plusieurs Langues
  • Ne jetez pas SPWEB et SPSITE si vous Obtenez-les de SPContext.Current
  • Contrôles des délégués

    Autres choses qui sont nouvelles mais semble être plus facile à comprendre sont les suivantes:

    • Solutions / Fonctionnalités
    • Tous les espaces réservés de Masterpages

3 commentaires

+1 Pour CAML dans les requêtes et les définitions, sachant ce qui est déjà dans SharePoint et abandonnant le contrôle.


+1 Pour les pages et les fonctionnalités personnalisées / incompurisées + solution (des développeurs de choses simplement doivent comprendre pour un déploiement de code approprié).


et un gros +1 pour ce qui est déjà dans SharePoint, vous ne réinventez pas la roue, la plaque de la plaque est si énorme (encore plus dans l'édition 2010) qui est si difficile de connaître tous les petits bijoux cachés (ou non))



7
votes

* manque de contrôle *

Ceci est le problème clé comme Per Jakobsen mentionne . Se déplacer le long de ...

  1. Il n'est pas possible d'entrer et d'éditer des fichiers .aspx et .master où que vous soyez comme si vous avez envie. Il y a des conséquences telles que dérangement, soutien et qu'il ne fonctionne souvent pas comme on pourrait s'attendre. Une bonne compréhension de la manière dont SharePoint compose des pages est critique.

  2. Il n'y a pas de moyen (supporté et fiable) pour interroger la base de données directement. Ceci est extrêmement frustrant pour les développeurs ASP.NET qui sont utilisés pour concevoir / travailler avec des bases de données intégrées et bien conçues. Les requêtes CAML ne substituent pas la puissance des requêtes SQL bien optimisées.

  3. (plus d'un 2B): support médiocre pour les données relationnelles entre les listes. Impair pour une application d'entreprise.

  4. Un peu hors sujet mais HTML Markup et CSS ont été un cauchemar en 2003 et pas beaucoup mieux en 2007. Il est douloureux de travailler avec et pas assez non plus. Vous devez passer aux grandes longueurs pour produire un site entièrement conforme aux normes Web et aux meilleures pratiques.

    résumer, les choses doivent généralement être faites "la manière SharePoint". Cela n'est souvent pas la manière la plus efficace ou élégante qu'un DROIT ASP.NET DEV préfère. Les développeurs comme l'élégance et ils ne sont pas comme abandonner le contrôle.

    Il y a aussi des gothas sur le produit ( Sean a mentionné une clé ) cachée comme de petits trip-wires pour le problème sans méfiance. Le seul moyen de les connaître et de les comprendre est de connaître SharePoint - et c'est un produit gros .

    Voir plus de discussion à ce sujet à Pourquoi ne pas les développeurs ASP.NET utilisent WSS? sur SharePointDevwiki.


1 commentaires

+1, en particulier pour le "Que voulez-vous dire par je ne peux pas toucher la base de données?!?!" point. SharePoint est entrelacé avec une bande si complexe d'interdépendances qu'il aurait probablement pu avoir son propre feuilleton quotidien sur la télévision nationale :-)



3
votes

Per a couvert a recouvert la plupart des points pour moi, mais je vais ajouter un couple de plus:

  1. SPContext - Le concept d'exécution de code conécutille par ex. SPContext.current ou objet de propriétés dans une réception de l'événement.

  2. Suite à partir du contexte, il est également important de comprendre qui le code fonctionne comme il convient à quelles actions il peut compléter - élever (élever des privilèges), imprudence (jetons) et exécution (Services Web / Recievers de l'événement) .

  3. Gestion des erreurs - Tout le monde crie lorsque la seule erreur de surfacée est "Une erreur s'est produite", donc comprendre les journaux SP et les codes d'erreur sont critiques. Ceci est important pour réduire le temps perdu lors de la poursuite d'une erreur XML infilitant.

  4. Visual Studio Tools - WSPBuilder, VS Tools pour SharePoint, etc. Réduisez la douleur du déploiement et de la débogage en raccourcissant le cycle d'intégration.


1 commentaires

+1 pour 3 (la recherche d'erreurs peut être trop difficile initialement) et 4 (un bon outil sauve tellement de problèmes)



4
votes

Qu'est-ce qui est déjà dans SharePoint pour ne pas réinventer la roue. Je vote pour cela.


0 commentaires

0
votes

Créer un rapport / tableau de bord à l'aide de services de rapport de SQL Server pour des problèmes de monde réel et le montrer à SharePoint Site. Nombre d'exemples / didacticiel trouvés en ligne non cette affaire est toujours insuffisante (je suppose).


0 commentaires

0
votes

tout ce qui concerne l'architecture et les implémentations du monde réel. Je suis un développeur mais je dois me salir la main si je veux avoir aussi près que possible l'environnement clientèle sur mes environnements virtuels sans attendre un soutien informatique officiel. Essayez de créer une petite ferme avec un intranet, un Internet, un extranet, un mécanisme d'authentification mixte, des mappages d'accès alternatifs, une configuration d'en-tête d'hôte, etc. C'est tout un travail dédié, mais vous devrez plonger si vous souhaitez développer des implémentations de moyenne à grande échelle.


0 commentaires