Archives mensuelles: Mars 2008

Déterminer la rapide QRServer Port

Afin de communiquer avec FAST Search via son API, Nous avons besoin de connaître le port sur lequel s'exécute le QRServer.

J'ai suivi ces étapes pour le localiser:

  1. Ouvrez une session sur le site de l'admin rapide (http://server:port/admin).
  2. Accédez à l'aperçu du système.
  3. Recherchez « recherche répartiteur" Cliquez sur l'icône de la longue-vue:

    image

  4. J'ai utilisé avec succès la valeur, 15100 pour "nom de l'Info" = « http »:

    image

Notes:

1. Port 15100 semble être le numéro de port out-of-the-box par défaut pour le QRServer.

2. Utilisez ce code semblable au suivant pour instancier une connexion rapide:

     ISearchFactory searchFactory;
    
        NameValueCollection nameValueCollection = Nouveau NameValueCollection();
    
        nameValueCollection.Add(« fastsearchengine", « Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
        nameValueCollection.Add(« Com.FastSearch.Esp.Search.Http.QRServers", « fastdemoback:15102");
        nameValueCollection.Add(« Com.FastSearch.Esp.Search.Http.RequestMethod", "GET");
    
        searchFactory = SearchFactory.NewInstance(nameValueCollection);

3. Si vous prenez un port très incorrect, vous obtenez un message d'erreur utile:

image

4. Cependant, Si vous prenez le numéro de port répertorié dans la vue d'ensemble (15102) vous ne recevez pas ce message d'erreur utile. Au lieu de cela, plus tard, lorsque vous essayez d'accéder aux données via une recherche ou une vue rapide de référence, vous obtenez une erreur. Débogage montre que le nombre de vue de la searchFactory est nulle. Vous recevrez le message « Impossible d'extraire la liste d'affichage de recherche ».

</fin>

Tags Technorati:

S'abonner à mon blog.

Vers des modèles de conception technique SharePoint: Flux de travail SharePoint Designer + Récepteur d'événements = Cocktail de haute puissance

Un des nouveaux modèles que je trouve dans l'élaboration de solutions SharePoint exploite les flux de travail SharePoint Designer et un récepteur d'événements.

Voici un scénario d'entreprise en contexte:

  • Télécharger un document à un lib doc.
  • Je coup de flux de travail en plusieurs étapes, créé à l'aide de SharePoint Designer.
  • À un certain moment au cours de ce processus, flux de travail affecte une tâche à quelqu'un (recueillir des données de l'utilisateur ou assigner une tâche).
  • Nous voulons utiliser un indicateur de performance clé pour suivre combien de temps cette tâche est en attente d'achèvement. L'indicateur de performance clé montre verte pour les tâches qui sont accomplies ou régulière plus de 3 jours a partir de maintenant. Il montre jaune si la tâche doit être effectuée demain ou aujourd'hui. Elle brille en rouge si la tâche est en souffrance.
  • Voici le kicker: Je veux que la date à laquelle les lecteurs qu'IRC d'être conscient-vacances.

Je ne peux pas calculer un prenant en charge les vacances due date très facilement dans le flux de travail SharePoint Designer. Je devrais créer une action personnalisée ou utiliser un outil tiers 3e. Cependant, Il est assez facile de calculer une telle date dans un récepteur d'événements. Fusionner ces deux ensemble et nous obtenons un modèle comme celui-ci:

  • Définir un Oui caché et aucune colonne de site sur la bibliothèque de documents n'étiquetés « DoCalcualteDueDate ».
  • Initialiser à false.
  • Au moment opportun dans le flux de travail (e.g. juste avant la « collecte de données" action), Affectez cette valeur à True.
  • Un ItemUpdate() récepteur d'événements attend de voir si DoCalculateDueDate »" a la valeur true. Étant donné que le récepteur d'événements s'exécute sur chaque mise à jour, « DoCalculateDueDate" est normalement faux.
  • Lorsque le workflow assigne DoCalculateDueDate true, le récepteur calcule le vacances-aware due date.
  • Lorsque le récepteur d'événements est ce calcul, Il définit l'indicateur DoCalculateDueDate sur false.

En fin de compte, Flux de travail SPD est communiqué avec un récepteur d'événements via le sémaphore de DoCalculateDueDate et nous avons vacances prenant en charge due dates assignées pour le moment tout à fait correct dans la vie du flux de travail. Les contrôles SharePoint Designer lorsque la date d'échéance est assignée, mais le récepteur d'événements effectue le calcul réel et affectation.

</fin>

S'abonner à mon blog.

Comportement observé: Déplacement des Workflows SPD au sein d'une Collection de sites

MISE À JOUR: J'ai fait des recherches sur l'incorporation d'un flux de travail SPD dans une définition de site. Cette chaîne de forum MSDN a quelques informations intéressantes. Il n'est pas concluante, mais les points de chemin d'accès à travers la jungle.

Je remets ce post un peu excentrique "comportement observé" chef de file depuis que je suis un peu méfiant de tirer des conclusions de celui-ci. Flux de travail SPD sont … capricieux.

Gens se demandent souvent / vous vous demandez / frottement sur le déplacement des workflows SPD d'un endroit à un autre. Aujourd'hui, J'ai suivi ces étapes et a fait ces observations:

  • J'ai créé un flux de travail dans un site rattaché à une bibliothèque de documents à l'aide de SharePoint Designer.
  • La bibliothèque de documents associés a déjà abrité plusieurs documents.
  • J'ai enregistré le site comme un modèle.
  • Quand j'ai enregistré le site comme un modèle, J'ai enregistré le contenu ainsi.
  • J'ai créé un nouveau site dans la même collection de sites à l'aide de ce modèle.

À ce point, J'ai essayé d'exécuter le flux de travail. Elle elle-même terminée rapidement avec le message du journal, « Échec de démarrage ».

Je m'attendais à cela. J'ai de faibles attentes lorsqu'il s'agit de déplacer des workflows SPD.

J'ai continué:

  • Ouvre le site dans SharePoint Designer.
  • Avait un coup d'oeil dans le flux de travail. Il semblait bien.
  • J'ai cliqué sur « Finish ».
  • J'ai couru le flux de travail.

Cette heure, il fonctionnait bien.

J'ajouterai que ce flux de travail utilisé la « collecte de données de l'utilisateur" action qui est une action relativement complexe sous le capot.

Provisoirement, je conclus que le processus de « finition" le flux de travail causé SPD à associer correctement le flux de travail SPD avec la nouvelle bibliothèque de documents. Je conclus également le XOML et autres artefacts XML sont raisonnablement « lâches ». Ils ne sont pas super étroitement couplées à la bibliothèque de documents.

Ce que fait cette moyenne? En supposant que c'est un processus fiable et reproductible, Il n'y a au moins une méthode approximative, que nous pouvons utiliser pour les déplacer. Je ne sais pas si cela fonctionnera si nous avons traversé les frontières de collection de site ou même plus radicalement, tous nouvelles fermes (e.g. dev sur scène à prod).

Si vous lisez ceci et incliné, Veuillez publier un commentaire ou Ecrivez-moi votre histoire de migration de SharePoint Designer. Je mettrai volontiers à jour de cette annonce avec n'importe quel idées ainsi offertes.

</fin>

S'abonner à mon blog.

Simple et rapide: Champ de flux de travail seule mise à jour

Il est souvent utile stocker des informations d'État dans une liste personnalisée comme un code d'approbation qui ne devrait jamais être manipulé directement par les utilisateurs finaux. Il s'agit d'un scénario d'entreprise commune. J'ai travaillé sur un projet de cette année qui génère les différentes dates de statut et de rappel via le flux de travail SharePoint Designer qui continuez de KPI et appui les processus d'affaires urgentes.

Utilisez un type de contenu de site / colonne pour obtenir cet effet.

Créer un type de contenu de site avec la colonne d'État comme le montre:

image

Note de l'État » (pour la démo)" champ en bas.

Prochaine, Cliquez sur le nom de colonne pour accéder aux propriétés de la colonne. Sélectionnez "cachés (N'apparaîtra pas dans les formes)" dans la section paramètres de colonne comme le montre:

image

Cette commande supprime les formes standard modifier/mettre à jour le champ. Cependant, Il est toujours disponible dans les points de vue, IRC, le modèle d'objet et de n'importe où que vous voulez l'utiliser, y compris les flux de travail SPD.

</fin>

S'abonner à mon blog.

Drôle de dimanche: “J'ai pensé que ce devait être une ville riche”

Il y a un peu plus de trois ans, ma femme et j'ai signé mon fils pour une activité estivale, Les joueurs de Midland Park. Il s'agit d'un groupe de théâtre qui passe environ trois ou quatre semaines de préparation pour une pièce de théâtre et ensuite le montrer aux parents, parents et amis. Il est toujours été très bien fait.

Je ne sais pas si l'enfant de tout le monde est comme ça, mais mon fils est extrêmement réticent à essayer de nouvelles choses. Sachant cela, Nous lui signé pour le programme. Nous avons trouvé qu'il est préférable d'attirer l'attention à ces genres de choses tôt et souvent. Si, afin de surmonter sa réticence naturelle, Nous lui avons dit au début et a fait notre mieux pour qu'il sonne comme plaisir, etc.. Même avec une campagne publicitaire de plusieurs mois, Il n'était pas encore convaincu. Nous oblige à faire, Bien que, et comme c'est souvent le cas, Il a passé un bon moment.

Au moment où la deuxième année enroulé autour, il avait une fois de plus s'est convaincu qu'il ne voulait pas participer. Mais, Nous avions signé lui vers le haut et le zéro-jour, Je lui déposa un matin à l'école secondaire où ils exercent. Quand je suis allé lui chercher après le déjeuner, il était très excité, tout sourire et a annoncé, « La pièce est la Lapin de velours et je veux être le lapin". Il avait passé littéralement mois portant (parfois hystérique) sur la façon dont il ne voulait rien avoir à faire avec les joueurs de parc et après le premier jour, il veut être le rôle principal dans la pièce. Nous avons vu ce modèle avant.

(À notre grande surprise, Il n'a obtenu le rôle de lapin et il était incroyable.)

Avance rapide de quelques années. Il a été dans le parc joueurs maintenant trois fois, Il est donc quelque chose d'un ancien combattant. Cet été (2008), Les joueurs démarre à nouveau. Pendant ce temps, Il nous a finalement convaincus qu'il vraiment ne veut pas jouer football et il jamais aimé de basket-ball. Qui l'a laissé sans activités parascolaires pour la fin de l'hiver / au début du printemps. Un client avec qui je travaillais a mentionné que sa fille était dans un programme appelé stade droit. Droit de la scène est une version un peu plus cher du parc joueurs et ce n'est pas dans ma ville, mais adjacents à celui-ci. Parfait.

La chose à savoir sur cette ville, c'est que c'est pratiquement un autre pays en termes de richesse. Il a un train de la haute fréquence droit à Wall Street et NYC en général. C'est juste un endroit riche. Un des thèmes en cours de discussion familiale est si nous devrions ont déménagé dans cette ville au lieu où nous habitons maintenant. C'est une grande ville, ses écoles offrent plus de programmes pour les enfants, etc.. Ma femme a grandi dans cette ville et ses parents y vivent, donc nous sommes "accrochés dans" Bien qu'ils ne vivent ne pas là. J'ai grandi personnellement dans des circonstances différentes, dans le Massachusetts, donc je n'ai pas beaucoup à dire à ce sujet au cours de la conversation du dîner en famille. Cela ne veut pas dire que nous ne sommes pas très heureux là où nous vivons. Nous savons seulement que cette ville est un niveau au-dessus de notre ville économiquement.

Le prochain programme de la droite du stade a commencé trop tôt pour nous pour le lancement de notre campagne de publicité normale pour surmonter les réticences de mon fils. C'est quand il est venu avec un mes arguments favoris personnels contre quelque chose: "Les nuits de vendredi sont premier nuits d'overs de sommeil!" Droit de la scène allait gêner ses socials week-end.

Le jour viendra, Nous lui apporter il et tomber au large et comme avec tout le reste, son amour naturel de tout être vivant a repris et il a été d'avoir un bon moment avec elle.

Ce week-end passé ma femme parlait pour lui et pour la première fois, Je pense qu'il est adapter ses discussions très précisément pour son public. Elle lui avait demandé comment stade droit compare à Midland Park joueurs. Il lui dit que "dans le parc les joueurs, Nous avons des adolescents qui nous aider. Il n'existe pas tout en droit de la scène. Dans le parc des joueurs, adolescents font des accessoires de tous les. À droite de la scène, Nous devons apporter nos propres accessoires. Nous devons faire tout. Et puis il tord le couteau: "J'ai pensé que ce devait pour être une ville riche."

Toutes ces années, J'ai jamais vraiment pensé qu'il était entendre ou comprendre quoi que ce soit en rapport avec la « ville riche ». Cependant, Il s'avère qu'il a été.

</fin>

S'abonner à mon blog.

Tags Technorati:

SharePoint ne fournit pas de calendrier Roll-ups; Solutions possibles

MISE À JOUR: Une personne anonyme dans les commentaires postes ce lien: http://www.atidan.com/atidan-collaboration-kit.php

Les utilisateurs du Forum demandent souvent une question comme ça:

"Je voudrais avoir un calendrier au niveau du site qui est rempli avec des événements de calendriers de sous-site. Idéalement, utilisateurs en sous-sites créera des événements du calendrier, et auront la possibilité de marquer comme "public.’ Événements marqués comme étant publics apparaîtra dynamiquement dans le calendrier du site partagé. Ainsi, le calendrier du site partagé est un roll-up de toutes les manifestations publiques de tous les calendriers de sous-site."

Est WSS 3.0 ou de la mousse 2007, Il n'est pas possible de configurer directement un "roll-up" calendrier. Calendriers existent sur leur propre, indépendant de tout autre calendrier.

Pour créer un calendrier d'enroulement, Suivez un de ces chemins:

  1. Utiliser un composant WebPart requête de contenu. Il s'agit de la solution la plus simple pour les utilisateurs de mousse (WSS ne fournit pas la CQWP). CQWP, Malheureusement, ne fournit pas un affichage de calendrier de données out of the box. Elle offre souplesse rendu énorme (Voir ici pour un exemple) mais par défaut, affiche ses résultats sous forme de liste simple. Dans de nombreux cas, CQWP probablement un bon choix.
  2. Une solution plus axée sur la programmation serait d'utiliser des récepteurs d'événements. Récepteurs d'événements de mise en oeuvre sur les calendriers de sous-site qui gardent leurs manifestations publiques en synchronisation avec le calendrier maître. Tant que sous-site donné le calendrier est modifié, rejoindre le calendrier maître et mettre à jour selon les besoins. Cette option est disponible dans les deux WSS 3.0 et point de riz.

Il y a probablement d'autres solutions intelligentes à ce problème. Si vous avez un ou connaissez un, s'il vous plaît laisser un commentaire ou Ecrivez-moi et je mettrai à jour ce post.

</fin>

S'abonner à mon blog.

Créer des Sites (SPWeb) par le biais de flux de travail SharePoint Designer

Cette entrée de blog c'est plus un « dans le domaine du possible" entrée vs. info béton.

Nous avons une conception technique qui appelle pour nous de créer un site dans une collection de sites via un processus de workflow lancé manuellement. Essentiellement, utilisateurs de saisir des données dans un « nouveau client" liste personnalisée, puis quand ils ont terminé et validé le processus d'entrée de données, Nous avons besoin de créer un site pour ce client.

Je suis un grand fan de flux de travail déclaratif ainsi comme un programmeur de flux de travail faible visual studio, Si je voulais répondre à l'exigence relative à l'aide de SharePoint Designer.

J'ai l'intention d'écrire sur ce sujet plus en détail (et je l'espère présenter à un groupe d'utilisateurs ou deux dans l'année à venir), mais voici la solution globale:

  • Créer une action personnalisée qui s'intègre avec le SPD.
  • L'action personnalisée permet de SPD à invoquer un service web et la transmettre une chaîne XML.
  • Service Web localise la ligne dans la liste personnalisée et crée un nouveau site selon les données pour ce nouveau client à l'aide d'une définition de site personnalisé.
  • Service Web puis met à jour la liste personnalisée avec certaines informations, comme un lien vers le nouveau site.

Nous avons considéré les autres approches, comme les gestionnaires d'événements et de flux de travail visual studio basé. L'approche de la SPD donne à nos utilisateurs un peu plus de contrôle sur le processus. Accordée, Il y a beaucoup de code c# dans cette solution, mais qu'il est encapsulé à l'intérieur d'un flux de travail déclaratif, Nous recevons ainsi certains des avantages du flux de travail déclaratif tandis qu'accrocher dans le service de création de site.

Tout ce que nous besoin maintenant est un outil facile à migrer automatiquement les flux de travail SPD aussi facilement que possible pour les flux de travail de studio visuel et nous allons vraiment être la cuisine au gaz 🙂 Je comprends que certaines gens sont partis travailler là sur ce problème et j'espère qu'ils ont un certain succès avec elle bientôt.

</fin>

S'abonner à mon blog.

Tags Technorati: ,

Simple et rapide: Un site Web à l'aide du modèle d'objet SharePoint en c#

J'ai essayé de chercher pour un petit extrait de code qui montre comment je peux créer un nouveau SPWeb dans une collection de sites. Je n'a pas trouver aussi rapidement ou aisément que je m'attendais alors j'ai pensé que je serait frapper ensemble entrée un peu sur le sujet.

Ce code crée un site Wiki:

 SPSite siteCollection;

    siteCollection = Nouveau SPSite(« http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.webs.Add("xyzzy", "xyzzy titre",
        "xyzzy description", 1033, SPWebTemplate.WebTemplateWIKI, faux, faux);

Mes recherches initiales a échoué parce que je cherchais des expressions telles que « disposition un site web à l'aide du modèle d'objet sharepoint" et autres.

Si vous recherche pour Webs.Add »()", Vous trouverez un certain nombre d'entrées de blog très utile, Articles MSDN et la documentation du SDK qui vont en profondeur sur ce sujet. Je recommande vivement ce site.

</fin>

S'abonner à mon blog.

Tags Technorati:

Intégrer les flux de travail SharePoint Designer avec les Services Web

J'ai été jouer avec des actions personnalisées pour SharePoint Designer pendant un certain temps (voir ici pour des trucs détaillés, Si qui vous intéresse).

Dans mon projet actuel, Nous devons faire certains assez gros et que nous voulons utiliser le flux de travail déclaratif SPD pour gérer le processus métier associé.

Longue histoire courte, C'est tout à fait possible. J'ai prolongé mon projet Codeplex pour appeler un service d'assistance de »" et maintenant nous pouvons invoquer un service web directement depuis un flux de travail SPD.

Voici la signature:

 public chaîne Répartiteur(
        GUID WebID, // Adoptée par l'environnement d'exécution
        GUID SiteID, // Adoptée par l'environnement d'exécution
        chaîne ListID, // Adoptée par la RTE (ne sais pas pourquoi il s'agit d'une chaîne, pas un GUID)
        int ListItemID, // Adoptée par la RTE.
        chaîne XmlMessage) // Transmis par l'utilisateur comme déclarée dans le SPD.

Cela tire parti du fait que nous pouvons obtenir d'information important flux de travail, comme le site, ID de la liste, etc.. C'est bien documenté dans plusieurs endroits pour ceux d'entre vous intéressés par la création de vos propres actions personnalisées. L'idée est d'extraire la chaîne XML fourni par l'utilisateur d'envoyer une procédure appropriée. Fun stuff!

Malheureusement, C'est évidemment un billet aller simple à « Loosey Goosey" Terre anti-pattern, mais il vaut mieux que de frapper un mur de briques 🙂

Est-ce un CRUDy si vous le faites même si vous savez que c'est un CRUDy?

J'espère pour cela enrouler à l'intérieur de Codeplex dans un proche avenir. Si vous êtes intéressé à me faire, Give me poke (Messagerie ou laisser un commentaire) et je serai que plus enthousiastes à l'idée de le faire 🙂

</fin>

S'abonner à mon blog.

Tags Technorati: ,

Drôle de dimanche: “Je me demande si votre mot de passe est …”

J'ai récemment acheté le déjeuner pour mon frère (comme d'habitude) et nous avons fini par parler de drôles de choses que nous avons fait dans nos collèges respectifs. Mon alma mater, Lafayette College, le soutien scolaire service informatique avait une façon très inclusive à ce sujet. On nous a donné beaucoup de corde et j'ai profité de ce tantôt.

Deux mes meilleurs souvenirs ont trait à mon bon ami, Gabe. Il avait fait la terrible erreur de dire aux gens son année freshman que "je suis un étudiant de première année, mais j'ai Sophomore debout" en raison des différentes classes de placement avancé qu'il avait pris, etc.. Beaucoup d'entre nous étaient dans la même situation, mais nous n'en parlons tellement. Son année senior, Quand nous initie aux personnes, Nous dirions « ce est Gabe. Il est une personne âgée, mais il a Sophomore debout ".

Le Collège a certains Sun workstation/serveurs exécutant X-Window. Ils avaient des écrans gigantesques et les ingénieurs leur servant de CAO et autres trucs ennuyeux d'ingénieur. Nous CS gens utilisaient pour apprendre la programmation et, Bien sûr, pour jouer à des jeux.

Nous n'avons pas comme les ingénieurs informatiques-impuissant à beaucoup donc une de nos choses préférées à faire serait de telnet à la boîte, ils étaient sur et exécuter X-yeux sur eux. Ce pop-up serait une paire d'yeux qui a suivi la souris sur l'écran. Vous pourriez apparaître encore plus et ont littéralement une douzaine ou plus des applications X-yeux en cours d'exécution. Try not to laugh out loud when a hapless engineer is trying to close X-eye after X-eye and muttering under his breath about it 🙂

Nous avons également joué X-trek sur ces boîtes. Pour le faire, vous deviez télécharger la source, obtenir diverses dépendances partout où vous pourriez les trouver et construire. Je n'étais pas un programmeur C sophistiqué, mais je pouvais lire les fichiers d'en-tête. Je cherchais à travers ces et trouvé des directives comme "#DEFINE MAX_TORPEDO_DISTANCE 10". J'ai joué un peu avec qui améliorent la portée et la puissance de phases et de torpilles, Il re-construit et sont ensuite détruits Gabe la prochaine fois que nous avons joué.

Gabe a également été un grand fan d'une émission de TV appelée Blake 7. Je n'avais jamais vu, mais qui ne m'a pas empêché d'insistant sur le fait que le Dr. Qui est le montrer supérieur. The arguments would get heated at times 🙂

Un jour, Il m'est apparu que je pouvais deviner probablement son mot de passe UNIX. J'ai s'assit à côté de lui un jour et a annoncé dans un ton fort, « Je vais deviner votre mot de passe dès maintenant, Gabe." "Oui, droit" fut sa réponse. Ensuite, je me suis connecté, entré son identifiant d'utilisateur, se tourna pour lui faire face, tapé et dit à haute voix, "Je me demande si c'est B-L-A-K-E-7" ? Dactylographie a jamais été aussi particulièrement fructueux comme il l'a fait ce jour-là.

La semaine prochaine (ou bientôt): Plus bouffonneries de salle informatique du Collège.

Vous avez tout à partager? Laisser un commentaire ou un e-mail moi et je vais publier ici.

</fin>

S'abonner à mon blog.

Tags Technorati: