Simple et rapide: Faire une formulaire InfoPath en mode lecture seule (InfoPath Forms Services dans MOSS)

Il y a un scénario commun comme ceci:

  • Utilisateur remplit un formulaire InfoPath.
  • Soumet le formulaire.
  • Processus de flux de travail longues kicks off.
  • Alors que le flux de travail est en cours d'exécution, Nous ne voulons pas n'importe qui de modifier le contenu du formulaire.

Cet exemple office.microsoft.com décrit comment créer une vue distincte de »" et marquer la vue entière en lecture seule. Il s'agit d'une approche viable mais présente l'inconvénient que vous avez effectivement créé deux versions toute de même forme et devez maintenant garder synchronisés manuellement. Si vous ajoutez un champ à l'affichage modifiable, vous devez ensuite l'ajouter à la vue non modifiables, ainsi. Au fil du temps, avec différents développeurs, Il peut y avoir certaines divergences.

Cette solution pourrait mieux fonctionner dans certains cas:

  • Ajouter un nouveau champ pour le formulaire intitulé « IsEditable ».
  • Sa valeur par défaut la valeur true.
  • Faire la promotion lors de la publication de mousse.
  • Dans le flux de travail, la valeur de IsEditble la valeur false.
  • Revenir à la forme.
  • Ajouter une règle qui "sur ouverture du formulaire", désactiver votre enregistrer bouton lorsque IsEditable a la valeur false.

L'inconvénient de cette approche est que tous les champs seront toujours modifiables sur l'écran. L'utilisateur peut obtenir une impression erronée en ce qu'ils peuvent réellement changer de contenu. Vous pouvez atténuer qu'en mettant dans un texte que le formulaire est désactivé, peut-être en grandes lettres rouges en haut de la page.

Dans un projet, J'ai créé un état de flux de travail »" point de vue. Au fur et le flux de travail, il mettrait à jour les champs statut spécifique qui avaient été promus de la forme. Lorsque l'utilisateur ouvre le formulaire, le formulaire ouvert »" règle automatiquement commuté pour que la vue et l'utilisateur avaient un statut Sommaire peu agréable.

</fin>

S'abonner à mon blog.

Utiliser des sémaphores dans le flux de travail SharePoint Designer pour éviter les boucles infinies

Il est possible de provoquer une boucle infinie dans un flux de travail SharePoint Designer. Un modèle commun de mise en œuvre comme ça la cause du problème:

  • Créer un flux de travail et l'associer à une liste.
  • Indiquent qu'il devrait démarrer sur créer de nouveaux articles et mise à jour des éléments existants.
  • Une étape dans le flux de travail met à jour un champ dans le « Élément actuel ».
  • Puisque l'élément actuel a changé, le workflow démarre un nouveau.

Pour éviter cette boucle sans fin, mettre en œuvre un sémaphore simple:

  • Ajouter une colonne de site (ou colonne de la liste/bibliothèque si vous n'utilisez pas de types de contenu).
  • Cacher la page edit (facile à faire si une colonne de site via ses propriétés, pas facile si une colonne de la liste).
  • Dans le flux de travail, vérifie si la valeur de la colonne de sémaphore est vide.
  • Si c'est vide, Il a une valeur non vide et d'aller de l'avant.
  • S'est n'est pas vide, quittez immédiatement.

Cela peut devenir une solution assez nuancée, Selon les besoins de l'entreprise et ainsi de suite, mais il a été un modèle réalisable lorsque j'ai besoin.

</fin>

S'abonner à mon blog.

Développeurs: Comment apprendre SharePoint?

MISE À JOUR: 04/25/08: A rattraper sur certains articles du blog et trouve un lien vers cet article: http://www.networkworld.com/news/2008/032608-microsoft-sharepoint.html?page=1. J'ai faire note de celui-ci, car en plus de demander, « Comment apprendre sharepoint?", certaines personnes demandent « pourquoi dois-je apprendre sharepoint?". Cet article répond en partie postérieure.

Au cours des derniers mois, une douzaine ou plus de gens partir à travers la planète ont été emailing moi et poser la question générale, « Comment apprendre SharePoint?"

Je ne suis guère autorité, mais j'ai eu quelques succès (et d'essayer de s'améliorer tout le temps) alors j'ai pensé que j'ai documenterait ma feuille de route personnel. D'autres peuvent trouver utiles.

Avant de faire, Je veux seulement observer qu'il est évident pour moi, basé sur ces courriels personnels et le nombre encore plus grand de MSDN / Université de SharePoint postes de même nature, qu'il y a intérêt de développeur énorme pour se mettre au diapason avec WSS/MOSS. Je me demande ce qu'il va être comme d'ici un an … plus facile de trouver de bons talents de SharePoint? De même? Sont des gens s'engageant à la plate-forme à un taux suffisant pour faire face à la demande de bonnes ressources? Comment pouvez vous même comprendre quelque chose comme ça court d'un PLAISANTIN?

Feuille de route de Paul

J'ai été employé par les bonnes gens à Conchango alors que j'ai suivi cette feuille de route à plein temps. Cela signifie que dans une perspective d'apprentissage, J'ai été activement engagé dans des projets que j'ai suivi les étapes que j'ai aperçu ci-dessous.

Quelques termes de base

Pour les personnes entrant dans ce monde, Il y a deux principaux sigles:

  • WSS: Windows SharePoint Services
  • MOUSSE: Microsoft Office SharePoint Server

WSS est « libre" en ce qu'elle a livré avec windows server 2003 (ou au moins peuvent être téléchargés à partir de MS). J'ai mis des guillemets autour de libre car vous avez besoin d'une boîte, une licence valide de systèmes d'exploitation et probablement le SQL (Bien qu'il y a "gratuit" type de SQL ainsi).

MOSS est basé sur WSS et étend. Il n'y a pas de mousse sans WSS. MOSS n'est pas gratuit.

Peut-être pas la première journée, mais peu de temps après que vous avez certaine connaissance de base de la plate-forme, Il est important d'apprendre les différences. Par exemple, un puissant composant WebPart, le WebPart requête de contenu, est une fonctionnalité de MOSS et WSS non disponible. Les gens font souvent la supposition erronée que WebPart est disponible dans WSS et puis finissent par le brouillage d'une mesure de bouche-trou quand ils réalisent leur erreur.

Frapper les livres

J'ai commencé à travailler avec WSS/MOSS sur tout 01/02/2007. J'ai eu un peu d'expérience préalable avec SPS 2003 mais très peu. Pour obtenir de moi a commencé, J'ai acheté le deux livres mentionnés ici (http://paulgalvin.spaces.live.com/lists/cns!1CC1EDB3DAA9B8AA!203/).

J'ai commencé avec le livre de la grande bleue administration. Naturellement, Il couvre l'administration. En même temps, Il fournit un relevé de toutes les fonctionnalités MOSS (et les fonctionnalités WSS ainsi).

Pour moi, Il n'est pas tellement important de se rappeler tous les détails divers (jusqu'à ce qu'il est temps d'obtenir la certification) mais il est bon de connaître les limites. (Je suivre cette même approche dans 1er tireurs personne que jouer sur la xbox ou PC — J'entre dans une salle et ont tendance à faire une boucle dans le sens antihoraire jusqu'à ce que je serai de retour où j'ai commencé. Je me sens mieux connaître la forme de la boîte, en que je suis.)

Après avoir lu le livre bleu grand, J'avais lu tout le livre à l'intérieur de WSS. Il plonge profondément dans les questions que les soins de développeurs plus sur.

Créer un environnement virtuel

Afin de faire tout développement ou d'utilisation incorrecte de l'environnement, Il faut un système de d'exploitation de serveur windows soufflé complet avec SharePoint Designer, Visual Studio 2005 (2008 travaux, mais certains outils utiles doivent encore être porté de la rédaction de cet article), InfoPath 2007 et quelques autres trucs. Il y a plusieurs entrées de bon blog décrivant ce processus. J'aurais un oeil à ces deux:

De plus,, Andrew Connell a partagé son expérience avec VMWare ici:

Utilisez votre moteur de recherche préféré pour voir comment les autres gens. C'est un exercice d'apprentissage utile en soi.

Passer quelques minutes avec colère dénonçant le fait que vous avez besoin d'un environnement de serveur permettant de faire du développement. Mais … ne vous embêtez pas bloguer sur elle ou en postant sur des forums MSDN. C’est déjà fait 🙂. Au lieu de cela, l'embrasser et de passer. Vous serez mieux lotis pour elle.

Obtenez certifié

Je crois que le chemin d'accès de certification MS SharePoint, qui compose de quatre examens, est exhaustive. Je suggère que vous suivez leur guide de préparation en ligne et faites de votre mieux pour comprendre chacun des domaines de l'essai.

JE Ne pas donnent à penser que vous prenez l'examen juste pour réussir. JE Ne pas suggèrent que vous utilisez un de la décharge de cerveau »" style « outils tiers" pour passer des tests de MS. Si vous pouvez passer le test, Pass qu'elle basée sur une combinaison de votre propre réalisé étude et expérience pratique, vous serez un candidat développeur et l'emploi plus fort pour elle.

Il y a quatre essais à deux « voies »:

Développeur:

Admin:

Je recommande que les développeurs étudient pour tous ces examens. Vous serez fort pour eux, mais je suppose que si vous avez ignoré les examens admin, vous obtiendrez.

J'ai trouvé la version WSS à être beaucoup plus difficile que les versions correspondantes de mousse, à ma grande surprise. J'étais dans une classe récemment et plusieurs autres ont le même point.

Alors que j'étudiais pour la 70-542 examen (Développement MOSS) J'ai suivi mes ressources d'étude. Il peuvent être utiles de vous aussi bien: http://paulgalvin.spaces.live.com/Blog/cns!1CC1EDB3DAA9B8AA!192.entry

Vous branchez sur la communauté

La communauté SharePoint est dynamique, solide et en croissance plus tout le temps.

Vous voulez regarder ce qui suit pour démarrer:

  • Blogs
  • Forums
  • CodePlex
  • Twitter

Blogs

Si vous ne comprenez pas RSS, tout arrêter et apprenez-le. Il faudra 10 minutes de l'apprendre, peut-être une autre 10 minutes pour trouver un site web basé lecteur RSS (J'aime reader de google, www.google.com/Reader).

Commencez par ajouter ce blog à votre lecteur RSS 🙂

Prochaine, ajouter www.sharepointblogs.com à votre lecteur. Ils regroupent de nombreux blogs en un seul flux.

Au fil du temps, vous trouverez des articles qui ne sont pas agrégées comme ça. Il suffit d'ajouter eux individuellement.

Je souscris à quelques dizaines blogs dont j'ai accumule au cours de la dernière année. Si tu veux, Je peux exporter ma liste et par e-mail.

Par la suite, vous pouvez commencer votre propre blog. Personnellement, je pense qu'une série d'entrées de blog décrivant un "newbie" apprentissage QUE WSS/MOSS serait une intéressante série de progrès. Je souhaite que j'avais fait que moi-même.

Forums

Participer activement dans les deux groupes de forum: MSDN et Université de SharePoint.

Les forums sont d'excellents endroits pour apprendre. Les gens poser des questions allant de la simple (« Comment créer une colonne de site ») à la panique (« Mon serveur est down!") pour des questions de conception plus hypothétiques.

Une fois que vous obtenez une saveur de l'environnement, Aventurez-vous et commencez à vous répondez. Court d'interagir directement avec un client, rien n'est mieux pour les mains sur l'expérience.

CodePlex

Atteindre www.codeplex.com.

Check it out et recherche pour les projets SharePoint.

S'abonner au sommaire quotidien que CodePlex se nourrit dans votre lecteur de flux.

Ajouter tous les nouveaux projets SharePoint à votre lecteur de flux.

Par la suite, Après lecture des forums et face vers le bas de vos propres démons WSS/MOSS, envisager de mettre sur pied votre propre projet codeplex.

Twitter

Comme j'écris ce billet, beaucoup de folk ont commencé à l'aide de SharePoint Twitter.

Il est difficile de caractériser Twitter. Vous aurez juste à le vérifier vous-même.

Conclusion

Qui se termine ma feuille de route et me rend actuel. J'ai juste commencé à utiliser Twitter il y a deux semaines.

WSS/MOSS est une plate-forme très cool et la communauté se développe tout le temps. Utiliser les ressources communautaires pour améliorer vos compétences et de profiter du voyage!

</fin>

S'abonner à mon blog.

Data Protection Manager: Ressemble à une grande Solution de sauvegarde/restauration de SharePoint

À la Groupe d'utilisateurs SharePoint dans le New Jersey réunion hier soir, Microsoft Sr. spécialiste des produits que Duwayne Harrison présenté Microsoft Data Protection Manager 2007. DuWayne était génial (et il a été soutenu par un ou deux collègues du public dont les noms je ne me souviens). Vous pouvez obtenir le matériel de présentation ici.

Jusqu'à hier soir, J'ai jamais entendu de DPM.

Je ne suis pas une personne de type admin système, alors j'ai écris ceci du point de vue du consultant SharePoint et peuvent obtenir une partie des mots mal. Pour moi, DPM est une solution de sauvegarde/restauration pour Microsoft « trucs »:

  • Fichiers
  • SQL
  • SYSTÈMES D'EXPLOITATION
  • Machines virtuelles (sauvegarde de la machine virtuelle en direct, même si la machine virtuelle s'exécutant Unix).
  • Récupération du métal nue (i.e. défaillance matérielle catastrophique).

Au-delà de ça, que je considérerais comme des exigences minimales pour tous les types de « real" produit de sauvegarde/restauration, DPM a aussi une intelligence intégrée pour SharePoint. Il comprend sur les batteries de serveurs et vous permet de restaurer:

  • Bases de données entières (e.g. contenu, config, etc.).
  • Collections de sites
  • Sites individuels
  • Éléments individuels (e.g. documents).

Le processus de restauration réelle consiste à extraire les données de la cible de la sauvegarde et l'enregistrer dans une ferme de restauration »" puis à partir de là, vers l'environnement de production (ou partout où vous voulez restaurer). Je pense que c'est sans couture, mais il y avait beaucoup d'emphase sur la nécessité d'une « ferme de restauration ». La ferme de restauration n'a pas besoin correspondre à l'environnement de production dans chaque détail (principalement dans la topologie physique) mais il a besoin de correspondre en termes de modèles, versions, etc..

Je ne voyais une démo complète de bout en bout, mais DuWayne n'a montrer des captures d'écran et des démonstrations en direct. Il semble être aussi bon qu'il doit être, au moins pour un modéré taille environnement.

J'ai été particulièrement frappé par la tarification. De toute évidence, ne me retenez cette, mais je crois que le plus cher de prix est approximativement comme suit (en USD):

  • $600 pour DPM elle-même.
  • Matériel pour un serveur DPM (et d'autres choses associées pour les médias et tout ce que).
  • $450 pour chaque serveur que vous souhaitez sauvegarder (« entreprise" licence).

Une batterie de cinq serveurs coûterait au plus:

  • $600 pour DPM
  • $450 x 5 serveurs = $2,250

Coût total de licences: $2,850

Dans la pratique, Il serait moins. Vous ne serait pas nécessairement besoin d'avoir installé sur chaque web frontal DPM, par exemple. Vous ne devez nécessairement licences d'entreprise soit.

L'interface utilisateur est semble très simple, sans doute ne nécessiterait aucune formation spéciale pour se mettre au diapason. J'ai demandé à ce sujet plus précisément et il n'y a apparemment une 1.5 classe de jour disponible, Bien qu'il n'est pas évident pour moi que n'importe qui aurait vraiment besoin des prendre en.

Dans l'ensemble, Je pense que c'est certainement une valeur sur si vous vous absentez il y a la recherche d'une solution de protection des données pour SharePoint.

</fin>

S'abonner à mon blog.

Tags Technorati:

Twitter: http://twitter.com/pagalvin

Portique: Places disponibles de la formation d'employé modèle correction désinscrire Bug

Comme beaucoup de gens le savent, le modèle de formation de l'employé fourni par Microsoft ici a un bug que nous pouvons reproduire en suivant ces étapes:

  • Créer une classe avec une taille maximale de 10 étudiants.
  • S'inscrire –> Total disponible loge correctement décrémente un. Résultat: 9 places disponibles.
  • Annuler l'inscription: –> Bug. Total de sièges disponible devrait augmenter par un. Ce n'est pas. Résultat: 9 places disponibles : SharePoint, mais en fait, Il y a 10 places disponibles.

Solution: Utiliser SharePoint Designer pour corriger le flux de travail.

Première, ouvrir le site. La liste des dossiers pour moi ressemble à ceci:

image

Si nous avons un regard sur l'enregistrement des participants »" flux de travail, Nous voyons qu'il y a un pas étiqueté « Enforce assise politique ». Il ressemble à ceci:

image

Cette étape du flux de travail met à jour l'élément en incrémentant « remplis de sièges" colonne de métadonnées sur le parcours. Si nous qui tirer vers le haut plus en détail, nous le voyons:

image

C'est toute l'information dont nous avons besoin corriger le processus d'annulation d'inscription.

Si nous retourner pour le workflow d'annulation d'inscription, Il n'y a aucune étape de workflow similaire. Ajoutez-la comme suit:

1: Développez « participant d'annulation d'inscription" et ouvrir le XOML (voir premier écran tourné si vous êtes perdu).

2: Ajouter une nouvelle variable de flux de travail, « Nouveaux sièges remplis" de type « Nombre ».

3: Assignez une valeur à la « nouvelle remplis de sièges" comme le montre:

image

4: Décrémenter les sièges remplis par 1:

image

5: Mise à jour de l'élément de cours connexe:

image

6: Assurez-vous que toutes les étapes sont dans la bonne séquence. Pour moi, Il ressemble à ceci:

image

7: Terminer le flux de travail à reconstruire il.

8: Test.

</fin>

S'abonner à mon blog.

Tags Technorati: ,

Observation de samedi matin au hasard

J'ai été dans des classes ces dernières deux semaines et une chose qui me frappe est qu'il y a beaucoup de réflexion, gens intelligents travaillant sur SharePoint (titre de consultants ou de personnel informatique) qui ne le blog, Twitter, sont conscients des babillards public comme forum MSDN ou à l'Université de SharePoint, maintenir les profils Facebook ou LinkedIn, etc.. Ils sont des consommateurs de l'information pure. Pas mal, juste intéressant.

</fin>

Tags Technorati:

S'abonner à mon blog.

WebPart requête de contenu: Prenant la parole au groupe d'utilisateurs SharePoint de New York

Je parlerai avec mon collègue, Natalya Voskresenskaya, à la Groupe d'utilisateurs SharePoint de New York réunion du mercredi 7 mai.

Grâce à Bob Fox pour lancer nos noms dans le chapeau et aider nous obtenir cette occasion!

Notre thème global est le WebPart requête de contenu, et nous espérons donner des informations utiles aux deux publics distincts:

  • Utilisateurs professionnels (non-développeurs): Montrer comment CQWP peut être configuré pour résoudre certains problèmes communs d'entreprise sans codage.
  • Développeurs: Montrer comment WebPart peut être étendu pour faire des choses assez intéressantes qu'un utilisateur professionnel ne serait pas normalement l'aise faire eux-mêmes. Cette partie de la présentation aidera les utilisateurs professionnels à comprendre ce qui est possible à l'aide de ce composant WebPart afin qu'ils puissent fournir les exigences mieux et plus réalistes à leurs partenaires de développement.

Voici l'avis que NYSPUG par la poste plus tôt cette semaine:

« Utiliser le WebPart requête de contenu pour résoudre les problèmes de l'entreprise ».

Composant WebPart requête de contenu de MOSS 2007 (CQWP) permet aux utilisateurs de créer des vues personnalisées de données interrogées provenant de nombreuses sources, et de présenter ces données dans un seul endroit. Malgré sa requête puissant & options de contenu raffinement, CQWP est souvent sous-estimé et négligé. CQWP est tant un « données d'extraction moteur" (trouver des documents ou des éléments de liste n'importe où dans une collection de sites) et aussi un outil de présentation de première classe qui permet aux utilisateurs de contrôler comment le contenu est présenté en enveloppant le HTML et les styles pour mettre en forme l'affichage de presque toute façon que vous désirez.

Dans cette session démo-lourds, ils feront preuve de l'utilisation de la CQWP pour résoudre les problèmes de l'entreprise en montrant des caractéristiques de base.

  • utiliser les fonctionnalités CWQP par défaut, dont l'auditoire cible

  • Utilisez CWQP comme un outil de reporting n'importe où dans une collection de sites via des critères de filtre, comme « tous les documents créés aujourd'hui ».

  • changer de look & impression des résultats de la requête pour mettre en surbrillance des données de l'entreprise, afficher des colonnes supplémentaires d'information, afficher des informations dans un format de grille, et d'autres.

  • montrer comment CQWP peuvent faciliter l'administration de type de contenu (i.e. trouver tous les documents d'un type particulier de contenu afin de comprendre l'impact potentiel de modifier une définition de CT).

  • décrire certaines limitations de la CQWP

  • fournir une liste de ressources de techniques avancées de CQWP, y compris les blogs, Projet Codeplex ECQWP & Documentation MSDN.

</fin>

S'abonner à mon blog.

Tags Technorati:

RAPIDE intégration de SharePoint: Exécuter une requête Simple

Il s'agit d'une continuation dans mon jeûne codage mini-série pour SharePoint folk. Le bit de code suivant exécute une recherche du terme "test" dans rapide via une application de Console. De toute évidence, C'est un saut, sauter et jump s'encapsuler cette logique à l'intérieur d'un composant WebPart ou une page d'application:

à l'aide de Système;
à l'aide de System.Collections.Generic;
à l'aide de System.Linq;
à l'aide de System.Text;
à l'aide de System.Collections.Specialized;
à 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;

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

            #région Initialiser notre communication avec FAST
            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);

            #endregion # Region Lancer une requête

            chaîne queryString = « test";

            Requête Query = Nouveau Requête(queryString);

            requête.SetParameter(BaseParameter.REGROUPEMENT, faux);
            requête.SetParameter(BaseParameter.NAVIGATION, True);
            requête.SetParameter(BaseParameter.NAVIGATION_DEEPHITS, 100);

            ISearchView searchView;
            searchView = searchFactory.GetSearchView(« sharepointconn");

            IQueryResult résultat = searchView.Search(requête);

            Console.WriteLine(« Total des résultats de recherche: [" + résultat.DocCount + "].");

            int docCounter = 0;

            tout en (docCounter < résultat.DocCount)
            {

                docCounter   ;

                IDocumentSummary thisDocSummary = résultat.GetDocument(docCounter);

                Console.WriteLine("[" + docCounter + "]: " + thisDocSummary.GetSummaryField(« url").StringValue);

            } // tout en

            Console.ReadLine();
            #endregion

        }
    }
}

Il génère le résultat suivant:

image

</fin>

S'abonner à mon blog.

Tags Technorati: ,