RAPIDE intégration de SharePoint: Exemple de Code pour afficher toutes les vues rapides disponibles

Voici un code qui affiche toutes les vues disponibles dans un RAPIDE basé sur le nom de serveur QRServer (le processus du serveur avec laquelle nous communiquons). Je vous offre ceci vers le haut pour vous donner un avant-goût de ce qu'est d'utiliser l'API fournie rapidement.

à l'aide de Système;
à l'aide de System.Collections.Generic;
à l'aide de System.Linq;
à l'aide de System.Text;
à l'aide de Com.FastSearch.esp.search;
à l'aide de Com.FastSearch.esp.search.http;
à l'aide de Com.FastSearch.esp.search.navigation;
à l'aide de Com.FastSearch.esp.search.Query;
à l'aide de Com.FastSearch.esp.search.Result;
à l'aide de Com.FastSearch.esp.search.View;
à l'aide de System.Collections.Specialized;
à l'aide de System.Collections;


espace de noms Conchango
{
    classe EnumerateFASTViews
    {
        statique VOID Principal(chaîne[] args)
        {

            ISearchFactory searchFactory;

            NameValueCollection nameValueCollection = Nouveau NameValueCollection();

            nameValueCollection.Add(« fastsearchengine", « Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
            nameValueCollection.Add(« Com.FastSearch.Esp.Search.Http.QRServers", « fastdemoback:15100");
            nameValueCollection.Add(« Com.FastSearch.Esp.Search.Http.RequestMethod", "GET");

            searchFactory = SearchFactory.NewInstance(nameValueCollection);

            Console.WriteLine(« Vues totales: [" + searchFactory.GetSearchViewList().Comte + "].");

            int Je = 0;

            foreach (objet o dans searchFactory.GetSearchViewList())
            {
                Console.WriteLine(« Point de vue [" + i    + "]: [" + o.ToString() + "].");

            }

            Console.ReadLine();

        }
    }
}

Notez que je me considère comme un programmeur c# à peine compétent et j'ai la peau mince, afin de ne pas envoyer toute ma façon de framboises, surtout re: le foreach » (o objet dans …)" construct 🙂

</fin>

Tags Technorati: ,

S'abonner à mon blog.

RAPIDE et premier aperçu de l'intégration SharePoint

J'ai été chanceux d'avoir l'occasion de travailler sur un rapide <–> Projet d'intégration de SharePoint et de la pensée, que je le ferais continuer à partager mon expérience limitée avec la communauté.

Microsoft est en le processus d'achat RAPIDE. Je ne sais rien sur le calendrier sauf qu'elle devrait être achevée au 2ème trimestre"" ce qui je suppose signifie par 06/30/08.

Conception de mon projet, à un niveau très élevé, les appels pour la création de quelques composants WebPart qui ont approximativement le même look, boîte de recherche de la convivialité et la fonctionnalité comme la mousse standard et les résultats de base WebPart, mais traction de FAST. J'ai fait quelques petits pas dans cette direction.

FAST est un moteur de recherche dédié. Il n'est pas basé sur la technologie Microsoft, mais il est évident pour moi que certains des ingénieurs rapides comprendre clairement MS tech (ou qu'ils ont fait utiliser des entrepreneurs).

RAPIDE:

FAST est un produit serveur de gros monstre (et je ne dis pas que dans un sens mauvais; MOUSSE est un produit de la big monstre m'ainsi). Il semble être basée sur Java et j'ai remarqué quelque chose d'apache et peut-être quelques PHP. Je ne serais pas surpris s'il y avait les autres morceaux de tech mélangés dans ici et là. Certainement, il s'exécute sur windows server et fonctionne très bien dans l'environnement virtuel dont je me sers.

Il se sert d'un service web de façade que les analyses le contenu SharePoint pour une indexation dans sa manière rapide spéciale.

Un utilisateur de SharePoint serait assez bien à la maison avec l'interface utilisateur de FAST. Il a recherche simple/avancée, affiche les résultats, est grand sur la pertinence (Bien que je ne vois pas comment il gère la pertinence sociale). Cependant, elle ne va pas plus loin. Son issue semble mieux. J'ai vraiment ne peux pas l'exprimer ainsi, mais je vais juste dire « c'est mieux." Vous pouvez prendre ma parole pour lui, or not 🙂 I may elaborate on this point in the future, comme en apprendre davantage.

MOUSSE:

Fournit rapidement un. Facile à NET DLL qui fournit une interface pour le moteur rapide. Cela rend possible pour nous de créer des composants WebPart ou les pages d'application ou tout ce que nous voulons interroger rapidement et présenter les résultats.

Il semble qu'une interface de service de web.

J'ai également accès à un composant WebPart rapide fourni qui s'intègre-t-il MOSS et rapide. Je ne sais pas s'il s'agit d'un CEP, quelque chose qui a été fouettée comme une démo ou quoi. C'est certainement un outil d'apprentissage bon, pas si sûr si il est prête à la production.

C'est tout pour l'instant. Comme j'ai des progrès à travers le projet, Je posterai plus.

</fin>

Tags Technorati: , ,

S'abonner à mon blog.

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: ,