Archives mensuelles: Décembre 2007

Penser à des produits commerciaux

J'ai mis en place un Projet extensions SharePoint Designer en hausse à CodePlex plus tôt cette année et même si il est vraiment très limité en portée, J'estime qu'il est été téléchargée par 40 À 60 (peut-être même 100) entreprises à peu près deux mois. Qui m'indique qu'il existe un marché pour cette solution, et si j'étais à commercialiser avec succès, that could translate into a goodly amount of beer 🙂

J'ai en fait beaucoup plus dans le développement de produits et je sais ce qui est nécessaire pour amener un produit haut de gamme, par opposition à un projet de passe-temps de CodePlex, sur le marché. Dans mon vie passée, J'ai été responsable de produit R&D pour tous les produits logiciels. La différence entre hier et aujourd'hui, c'est que je suis un consultant qui travaille maintenant pour une (Excellente) Cabinet de Conseil (Conchango). Précédemment, J'ai eu une compagnie entière derrière moi et en face de moi, vendre et à supporter les produits que nous avons mis sur le marché. Aujourd'hui, Je serais seul.

J'ai plusieurs idées de produit dans l'esprit, mais je pense que le plus simple serait de créer une version commerciale de ce projet CodePlex qui utilise comme point de départ et l'étend plus loin. Ma pensée au pied levé floue est de charger quelque chose comme $100 pour une licence de développeur illimité et $500 par production web front-end. Je pense que je donnerais aussi loin le code source.

Si vous avez des pensées ou des expériences que vous êtes prêt à partager, s'il vous plaît laisser un commentaire ou m'envoyer un email directement. Je voudrais entendre des opinions comme:

  • Il est tout vaut la peine?
  • Suggestions pratiques pour la commercialisation, récolter de l'argent, distribution.
  • Tarification.
  • Soutien.
  • Tout autre commentaire que vous souhaitez quitter.

Il est "facile" à venir avec des idées de produits et de les appliquer, Bien que plusieurs dizaines d'heures de travail sont nécessaires. L'autre substance n'est pas aussi facile pour moi.

</fin>

Tags Technorati:

Drôle de dimanche matin: “Jésus doit mourir”

Nous avons acheté notre premier (et la seule) "le luxe" arrière de la voiture lors de l'ouragan Floyd cloué la côte est des États-Unis. Nous avons eu beaucoup de pluie ici dans le New Jersey et plusieurs jours se sont écoulés avant que la vie revenue à la normale. Juste avant que Floyd a frappé, Nous avons fait une offre pour une Volvo usage 850 GL et Floyd a touché, Il a conduit maison.

C'était notre première voiture avec un lecteur de CD. Comme la plupart des propriétaires de voiture nouvelle, Nous sommes allés un peu fou de CD, revivre notre CDthèque dormant et passait de longs trajets juste pour écouter les CD dans la voiture. Comme tous les modes, ce passé pour nous et nous avons fini d'écouter le même CD maintes et maintes fois. Dans notre cas, Il a été Jésus Christ Superstar.

Un de la (de nombreux) pièces brillantes dans cet opéra rock est chanté par les types d'établissement religieux, dirigé par Caïphe, le « grand prêtre ». Ils chantent leur chemin en décidant de la façon de traiter le problème de Jésus"" et Caïphe leur ordonne à la conclusion que « Jésus doit mourir ». Le refrain de la chanson est "juste doit mourir, doit mourir, doit mourir, Ce Jésus doit mourir". Vous qui entendez s'abstenir beaucoup dans ce morceau.

À l'époque, mon fils avait environ trois ans. Vous pouvez probablement voir où cela va.

Je suis venu du travail un jour et mon fils est dans le salon en jouant avec des jouets et fredonner à lui-même. Je suis décoller ma veste, la recherche par le biais de la messagerie et tous que mes trucs habituels de walk-in-the-door et j'ai soudain réaliser qu'il est juste en disant, pas vraiment chanter: "Jésus doit mourir, doit mourir, doit mourir." J'ai été mortifié. Je pouvais juste lui faire cela alors que sur l'un de ses bébé voir jouer dates à la maison d'un ami — sans doute le dernier jouer à date avec cet ami de bébé.

We pulled that CD out of the Volvo after that 🙂

</fin>

Tags Technorati: ,

Google a fait accepter mon Blog espaces vivants dans le programme AdSense

MISE À JOUR: Comme des 03/09, Je n'ai trouvé aucun moyen d'intégrer mon compte live espaces avec Google Adsense. Système de Microsoft ici semble empêcher tous les mécanismes techniques permettant à Google adsense futurs hébergeurs. J'ai tendance à croire que c'est principalement un effet secondaire de la sécurité qu'ils ont construit dans des espaces vivants, pas un effort direct pour désactiver Adsense.

Ce n'est pas un post de SharePoint, mais peut être d'intérêt pour les blogueurs en général.

Quelqu'un a commenté sur leur blog Windows Live Spaces que Google refusée par l'affirmative leur demande de participation au programme AdSense. Elle a théorisé que Google lui a refusé car Windows Live Spaces héberge son blog. Cependant, J'ai été récemment accepté dans le programme pour mon blog live espaces, donc la politique a soit changé ou Google a refusé de lui pour une autre raison.

Bien sûr, Je ne vois aucun moyen évident d'intégrer Google AdSense dans mon espace direct, but it’s a start 🙂

</fin>

Tags Technorati: ,

Mise en oeuvre de maître / Détail des relations à l'aide de listes personnalisées

Forum utilisateurs fréquemment questions comme ceci:

> Salut,
>
> Veuillez me dire si il y a des possibilités pour créer une liste personnalisée avec
> type de Master et de détail (comme les factures) sans l'aide d'InfoPath.
>

SharePoint fournit certains sur les fonctionnalités de la boîte qui prennent en charge les types de besoins de l'entreprise comme ça.

En général, on relie deux listes ensemble en utilisant une colonne de recherche. Liste A contient les informations d'en-tête de facture et la liste B contient les détails de la facture.

Utiliser des listes supplémentaires pour maintenir les numéros de client, numéros de produit, etc..

Utiliser un composant WebPart requête de contenu (dans la mousse uniquement) et/ou une données Découvre le composant WebPart pour créer des affichages des listes fusionnées. SQL Server Reporting Services (SRS) est également disponible pour le côté rapports.

Cependant, Il existe certaines limitations importantes qu'il seront difficile d'utiliser les fonctionnalités d'out-of-the-box pures pour tout ce qui est même modérément complexe. Il s'agit:

  • Taille de recherche connexe listes vs. « débrouillardise" le type de colonne lookup. Un type de colonne de recherche se présente sur l'interface utilisateur différemment selon que vous avez activé sélection multiple ou pas. Dans les deux cas, le contrôle de l'out-of-the-box affiche tous les éléments disponibles dans la liste source. Si la liste source a 1,000 articles, Cela va être un problème. Le contrôle de liste de choix ne pas paginer ces éléments. Au lieu de cela, Il tire tous dans le contrôle. Cela fait pour une interface utilisateur très délicate tant en termes de performances et de saisie de données.
  • Recherches « traction arrière" une colonne d'informations. Vous pouvez tirez jamais plus d'une colonne d'informations dans la liste source. Par exemple, vous ne pouvez pas sélectionner un client « 12345" et afficher le nombre ainsi que les nom et adresse du client en même temps. La recherche ne montre que le client numéro et rien d'autre. Ceci en fait une interface utilisateur maladroit et difficile.
  • Aucune communication intra-formulaire. J'ai écrit au sujet de cette espèce. Vous ne pouvez pas implémenter les listes déroulantes en cascade, conditionnellement activer/désactiver le champs, etc..
  • Pas les suppressions en cascade ou intégrité référentielle intégrée. SharePoint, traite des listes personnalisées comme des entités indépendantes et ne vous permet pas de les relier les uns aux autres dans un sens traditionnel de ERD. Par exemple, SharePoint vous permet de créer deux listes personnalisées, « client" et « en-tête de facture ». Vous pouvez créer un en-tête de facture qui relie à un client dans la liste des clients. Puis, vous pouvez supprimer le client de la liste. Out of the box, Il n'y a aucun moyen d'éviter cela. Pour résoudre ce genre de problème, vous utiliseriez normalement des gestionnaires d'événements.

Il peut sembler sombre, mais je voudrais encore utiliser SharePoint comme point de départ pour la construction de ce genre de fonctionnalité. Bien qu'il existe des écarts entre ce que vous avez besoin dans une solution, SharePoint permet de combler ces lacunes à l'aide d'outils tels que:

  • Les gestionnaires d'événements. Utilisez-les pour appliquer l'intégrité référentielle.
  • Colonnes personnalisées: Créer des types de colonnes personnalisés et les utiliser en remplacement de la colonne de recherche par défaut. Ajouter la pagination, Buffering et fonctionnalités AJAX pour les rendre sensibles.
  • BDC. Cette fonctionnalité uniquement MOSS nous permet de requête répertorie les autre SharePoint avec une interface utilisateur supérieure de la colonne de recherche habituel. BDC peut également tendre la main à une application de serveur back-end. BDC permet d'éviter la réplication. Plutôt que de la réplication des informations de la clientèle d'un back-end système ERP, Utilisez plutôt les BDC. Les fonctionnalités BDC fournissent une interface utilisateur agréable pour tirer ces informations directement du système ERP où elle appartient et évite les tracas de maintenir une solution de réplication.

    BDC est une caractéristique de la mousse (non disponible dans WSS) et est difficile à configurer.

  • Formulaire de web ASP.NET: Créer une complète activée AJAX qui utilise SharePoint objet modèle ou web services pour tirer parti des listes SharePoint tout en fournissant une interface utilisateur très sensible.

Cette dernière option peut se sentir comme vous êtes à partir de zéro, mais tenir compte du fait que la plate-forme SharePoint commence vous avec les fonctionnalités clées suivantes:

  • Modèle de sécurité avec entretien.
  • Système de menu entretien.
  • « Maître table" (i.e. listes personnalisées) avec sécurité, entretien intégré et l'audit.
  • Recherche.
  • Outils d'intégration back-end (BDC).

Si vous démarrez un nouveau projet vide dans visual studio, vous avez beaucoup d'infrastructure et de plomberie à construire avant de vous approcher de ce qu'offre SharePoint.

Je crois que Microsoft a l'intention d'étendre SharePoint dans cette direction du développement d'applications. Il semble comme un prolongement naturel à la base de SharePoint existant. Application CRM de Microsoft fournit beaucoup d'extensibilité des types nécessaires pour soutenir le développement d'applications en-tête/détail. Bien que ces fonctionnalités soient dans CRM, la technologie est évidemment disponible pour l'équipe de développement SharePoint et j'espère qu'il fera son chemin dans le produit SharePoint en fin de 2008. Si quelqu'un possède une connaissance ou un aperçu de ce, Veuillez laisser un commentaire.

</fin>

Astuce rapide: WebPart requête de contenu, XSL et la valeur de la colonne lookup

J'ai un nom de colonne dans un type de contenu nommé « Location de biens immobiliers ».

Cette colonne est de type « recherche ».

J'ai modifié <CommonViewFields> et ItemStyle.xsl pour afficher la colonne.

Un simple <XSL:valeur de choisir =…> renvoie à une valeur interne qui comprend les données de position ordinale, comme:

1;#Miami

Pour obtenir la valeur conviviale, utiliser xsl sous-chaîne après, comme le montre:

<XSL:valuXSLf select = "substring-after(@ Real_x005F_x0020_Estate_x005F_x0020_Location,’#’)"></XSL:de la valeur>

Utilisez cette technique chaque fois que vous travaillez avec des valeurs de recherche dans les fichiers de transformation XSL et nécessaire obtenir la valeur conviviale.

<fin />

Tags Technorati: , ,

Numéro de décembre du Beagle SharePoint jusqu'à & Live

Beaucoup d'entre vous le savent déjà, mais l'édition de décembre du Beagle de SharePoint est en ligne.

Chaque article vaut la lecture, à mon avis.

Je veux donner un coup de main petit extra pour article de mon collègue (Natalya Voskrensenskya). Elle fournit une extravagance de capture d'écran en racontant comment elle a utilisé des listes personnalisées, flux de travail, SharePoint Designer, vues de données et d'autres éléments à mettre en œuvre un dispositif de formation libre-service dans MOSS. Elle décrit des techniques qui peuvent être appliquées dans de nombreux scénarios différents métiers. Vérifier son blog pendant que vous y êtes.

N'oubliez pas de vérifier mon article as well 🙂 I wrote about using MOSS to help an HR department manage open positions.

</fin>

MOUSSE Me dit “Accès refusé” pour modifier une tâche de flux de travail, Mais je dois vraiment accès

J'ai mis en place un workflow à l'aide de SharePoint Designer sur un site qui est principalement lecture seule à « NT_AUTHORITYAuthenticated utilisateurs" (i.e. tout le monde). Il y a une bibliothèque de formulaires pour un formulaire InfoPath. Il y a une liste de tâches de flux de travail associé ainsi afin que lorsque le flux de travail fonctionne, Il peut assigner des tâches aux personnes.

Rompre la permission pour la liste de Bibliothèque et de la tâche de formes afin que tout utilisateur authentifié peut créer des formulaires et mettre à jour leurs tâches assignées.

J'ai tester avec mon compte de test basse-privilèges.

Puis-je remplir hors et enregistrer un formulaire à la bibliothèque? –> OUI

Puis-je accéder à la tâche d'un lien de Courriel? –> OUI

Est-ce que je peux voir un lien de tâche de flux de travail Edit –> OUI

Puis je clique sur ce lien? –> AUCUN … Autorisation refusée.

Pourquoi est-ce que je peux voir un modifier le lien qui me refuse une autorisation lorsque je clique sur elle? Ce n'est pas comment il est censé travailler…

Je vais à nouveau la configuration de la sécurité, très étroitement. Je le referais. Je considère que la suppression de ce poste parce que je n'évidemment sais quoi que ce soit sur la sécurité.

Enfin, Je recherche les Internets. Je trouve ce fil du forum MSDN hautement improbable: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Les affiches semblent être ce qui suggère que le simple fait d'exporter le flux de travail d'un plateau de disque résoudra pas un problème de sécurité de mousse? J'ai peine à croire que j'ai tapé juste que. Je me souviens de l'épisode de South Park sur le 9/11 complot où Stan demande à notre Preznit, « Vraiment?" maintes et maintes fois.

Si, rien à perdre, J'incendie de SPD, faites un clic droit sur le flux de travail et l'enregistrer sur mon c:\ en voiture. Ce serait le c:\ en voiture sur mon portable. Je suis regarder par-dessus mon épaule tout le temps afin que personne ne me demandera, « Pourquoi vous épargnent ce flux de travail de votre ordinateur portable?"

Incroyablement, qui a résolu mon problème. Je peux modifier la tâche.

Par les présentes, je propose ceci pour être le plus solution Workflow Bizarre de 2007.

</fin>

SharePoint Designer, L'élément courant “Codé URL absolue” et HTTPS

Souvent, nous voulons envoyer un email contenant un lien hypertexte vers l'élément ou le document qui a déclenché le flux de travail. Nous pouvons utiliser "codé URL de l'élément actuel absolue" à cet effet. Cependant, Il semble toujours utiliser http »" pour le protocole d'URL. Si votre site fonctionne sur HTTPS alors cela ne fonctionnera pas pour vous.

image

Je sais aussi, Il n'y a aucune sortie de la solution à ce problème de boîte. Si vous devez utiliser le protocole HTTPS, vous n'avez pas l'option de boîte de.

Pour le résoudre, créer une action personnalisée qui fournit une fonction de remplacement de chaînes à utiliser dans votre flux de travail. Vous pouvez également, utiliser un outil de parti 3e comme l'excellent package ici: http://www.codeplex.com/spdwfextensions 🙂

</fin>

Facile et rapide: Déterminer le nom de la colonne interne d'une colonne de Site

MISE À JOUR: Jeremy Thake a blog à ce sujet et certains sont conditionnés code pour une application console qui montre les noms internes.

J'essayais d'obtenir un composant WebPart requête de contenu pour afficher une date d'échéance d'une tâche et que l'étiquette de l'écran est « Due Date », Je suppose que le nom de la colonne à utiliser dans <CommonViewFields> est « Due_x0020_Date ».

Mauvais!

Le nom de colonne réelle dans la présente affaire était « DueDate ».

Comment le trouver? J'ai relu Heather Entrée de blog de Salomon sur la modification de la CQWP pour afficher des colonnes supplémentaires de données. Elle décrit ce processus à l'étape #13. Lui faire confiance. C'est correct. Au moins, C'était bon pour moi. J'ai il ne faisait pas confiance au début d'une autre colonne ayant un nom beaucoup plus de temps.

Je dis « confiance en elle" parce que je ne faisait pas confiance il et probablement perdu près de deux heures, ma tête contre le mur en butée. Après que j'ai résolu « DueDate" nom, Je voulais ajouter un autre champ de <CommonViewFields>. En utilisant la technique de Solomon, Je devenais un nom de colonne comme « XYZ_x0020_Project_x0020_Due_x00 ».

Je me suis dit, C'est clairement un nom tronqué. Je suis allé à suivre et non tronqué il sans succès. J'ai finalement utilisé le nom apparemment tronqué et cela a fonctionné.

Astuce Bonus: Quand je travaillais avec la CQWP, Si j'ai ajouté un mauvais nom interne à <CommonViewFields>, la CQWP me disait que la requête n'a retourné aucun résultat. Mais, Si j'ai ajouté un type de données le nom de domaine, elle retourne un résultat. Ajout de données type masqué en fait un problème puisque j'étais faisant référence à un champ inexistant. Je pourrais ajouter, mais quand j'ai essayé d'afficher sa valeur, Je voudrais obtenir toujours un blanc.

Cela ne pas masquer l'erreur:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Cela masquer l'erreur:

<CommonViewFields>Due_x0020_Date,DateTime;</CommonViewfields>

</fin>

Méfiez-vous de briser les changements de ItemStyle.xsl

J'ai travaillé avec ItemStyle.xsl pour personnaliser l'aspect d'un WebPart requête de contenu et de droit sur l'heure du déjeuner, J'ai fait une rupture changer le xsl. Je ne savais pas il, mais cela a eu pour effets tout au long de la collection de sites pour atteindre. Je suis allé à déjeuner et à mon retour, remarqué ce message apparaissant dans un tas de lieux:

Impossible d'afficher ce composant WebPart. Pour résoudre le problème, ouvrez cette page Web dans un éditeur HTML compatible avec Windows SharePoint Services comme Microsoft Office SharePoint Designer. Si le problème persiste, Contactez votre administrateur de serveur Web.

J'ai blâmé le client (ne réalisant pas encore que c'était ma faute, à ce stade) mais finalement remarqué que visual studio intellisense a été m'avertissant que j'avais mal formé dans XSL. J'ai corrigé il et tout a commencé à travailler.

Être sacrément prudent lorsque vous manipulez ItemStyle.xsl (et aucun des fichiers XSL globales) — les casser affectent de nombreux artefacts de la collection de sites.

<fin />