SharePoint Conference Mellores Prácticas, “Mellores Prácticas,” eo elefante na sala

I was lucky to attend and present at last week’s SharePoint Best Practices conference. I’m still new to the whole speaking "thing" e, francamente, I was a bit nervous for the first half while I sweated out waiting to speak myself. That sort of nervous feeling made it a little hard for me to pay attention to the presenters (Non é que eu ignorei). Pola, Eu me concentrei un pouco máis sobre os participantes.

Conferences always set my mind racing and there was a lot take in at this one. This conference was excellent. I think it was unusual in several ways. It wasn’t a heavy developer conference. There were certainly dev parts to it, pero eu creo que foi, polo menos, 60% foco cuestións non-dev, maybe as high as 80%. I think that speaks to the evolving nature of the SharePoint market. Companies are implementing SharePoint in a variety of ways and they are looking for guidance on how to do it right. And not just guidance on how to create features/solutions (que ata agora, foi ben establecida).

I believe the conference was tremendously valuable to most everyone that attended and I know that the organizers plan to do the conference again early next year.

Dito isto, I believe there was a missed opportunity which I hope the next conference addresses. I say it’s a missed opportunity, but that’s not a bad thing. Discovering a community need is in and of itself a good thing. The conference discussed a number of best practices in a variety of areas such as governance, formación, levantamento de requisitos, buscar, desenvolvemento, arquitectura da información, etc. I think that the missed opportunity has to do with the "green field" suposicións subxacentes moitas das mellores prácticas.

Cando falamos en campo verde, we mean that SharePoint hasn’t gone into production and we’re starting with a clean slate. This is ideal because you can start straight away using best practices for defining and managing governance, arquitectura da información, etc. Con todo … o que ocorre cando xa está en produción, con varios miles de usuarios (or 10’s of thousands) e non seguir as mellores prácticas no inicio? I’ve seen companies with … ahem … moi estraño information architecture baked into their environment. I don’t think that this conference provided much guidance for organizations with that kind of problem (e non me refiro só IA, senón de gobernanza, buscar, moitas outras áreas). Por suposto, sabendo que ten un problema é unha gran parte da solución, e iso é moi valioso.

I think that the online SharePoint community hasn’t done much to address this either. I know I have not. It’s a very hard problem to solve at many levels. Technically it’s hard. Budget-wise it’s hard. Culturally, it’s hard. Con todo, it’s probably a bigger real world problem than most. Since the conference ended, I’ve been thinking about these kinds of problems and how one would solve them. There has to be a better answer than, "uninstall and reinstall" ea comunidade que afrontalo lo na cabeza.

I think that this a great opportunity for the blogging community and experienced thought leaders to lay out some guidance on how to repair their environments. I think there’s a small but non-zero risk that SharePoint could end up with a bad and enduring reputation as a result of poorly architected implementations that fail due to poor governance, IA, etc.

</final>

Rexístrate para o meu blog.

Technorati Tags:

Nova Blogger sobre o bloque

O meu compañeiro da EMC, Erik Swenson, foi persuadido a ir na pelexa, se erguer e ser contado 🙂

Mantén un blog sobre sobre unha ampla variedade de temas de branding do SharePoint en http://erikswenson.blogspot.com/. Some of his recent posts include interesting stuff about Photoshop, Microsoft Office Live para pequenas empresas, SharePoint Gobernanza, creating custom WCM styles and so forth. He does not confine himself to branding. It’s quite an interesting mix which is a little bit different from a lot of the SharePoint blogs with which I’m familiar.

O seu feed RSS é: http://feeds.feedburner.com/SharepointBrandingDesign

Check it out and give him a little encouragement. We all need that from time to time, especialmente cando realmente mergullo neste mundo dos blogs.

</final>

Rexístrate para o meu blog.

Technorati Tags:

Mellor Conference Prácticas: “Obter Grandes Requisitos” Presentación de PowerPoint

Fixen subida de PowerPoint para unha das miñas sesións, "Get Great Business Requirements," aquí (http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/Public/Paul% 20Galvin% 20Great% 20Requirements.pptx).

Ademais dunha serie de puntos brillantes, poderosamente feito, the deck includes extensive notes which supplement and enhance the afore-mentioned brilliant talking points.

Para aqueles de vostedes que perdeu a mellor conferencia Prácticas, I was lucky enough to present and discuss a process that works very well when trying to discover accurate end user business requirements for SharePoint projects. The PowerPoint plus notes describe this in pretty good detail. It supplements one of my earliest blog postings here: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!146.entry

</final>

Rexístrate para o meu blog.

SharePoint Dashboards liña Seminario

O meu amigo en liña, Mark Miller e máis Usuario final SharePoint (www.endusersharepoint.com) está executando unha hora un seminario gratuíto obxectivo, como sempre fai, at the SharePoint End User community. It takes place at 1pm EDT. Details are here: http://www.endusersharepoint.com/?p=785

Eu participei dun seminario en liña do seu último mes e se fixo moi ben e, se vostede está interesado en algunha información moi práctico sobre dashboards en SharePoint, Estou seguro de que paga a pena 1 investimento horas.

</final>

Rexístrate para o meu blog.

Technorati Tags: ,

SharePoint Esta noite Webcast User Group

Esta noite, 08/20/08, a reunión do grupo de usuario do SharePoint Connecticut está transmitindo un webcast no canto de unha reunión física este mes.

O tema desta noite: "Microsoft Office SharePoint Server 2007 – Metodoloxías de implantación extranet"

Microsoft’s own Chris Lavista will lead the discussion. I’ve worked with Chris before and he really knows his stuff. If you have any interest in this subject, Consulte. Here are the details:

SharePoint Webcast User Group: https://www.clicktoattend.com/invitation.aspx?code=130299

Tema: Microsoft Office SharePoint Server 2007 – Metodoloxías de implantación extranet
Altofalante:
Chris Lavista de Microsoft

Data: Agosto 20º Benvido Tempo: 6:15 AM Tempo: 6:30 AM -8:00AM


Descrición:
SharePoint permite múltiples opcións de implantación. A discusión será centrada en como unha extranet segura na plataforma SharePoint pode ser implantado. Discutir as mellores prácticas e escenarios que implica a integración de tecnoloxías Forefront, ISA Server 2006 e IAG 2007. Opcionalmente, fale co apoio sinal único en casos de uso.
Acerca de Chris:
Chris Lavista is a Technical Architect at recently opened Microsoft Technology Center in New York. His focus is on SharePoint, Colaboración, e Unified Communications. El xa traballou na industria de servizos financeiros (Persecución, Citigroup) antes de ingresar en Microsoft para 8 anos. He started at Microsoft in 2000 como parte da súa práctica de servizos de consultoría antes de unirse ao equipo a principios de MTC 2006.

Rexistro & Máis información: https://www.clicktoattend.com/invitation.aspx?code=130299

</final>

Rexístrate para o meu blog.

Technorati Tags:

Ten o seu Comité de Investigación reuníronse este mes?

É o comezo do mes e agora é un momento tan bo como calquera comisión para a súa empresa de busca para reunirse e analizar as mellores apostas, investigacións exitosas e non tan exitoso, etc.

Non ten un comité de busca? Logo formar un 🙂

WSS and especially MOSS search benefit from some human oversight. Investing a few hours a month on a consistent monthly basis is not only máis divertido que un barril de monos, pode:

  • Give insight into the information needs of the enterprise. If people are searching left and right for topic "xyzzy," you know that’s an important topic to the enterprise.
  • Identify potential training requirements. If people are searching for topic "xyzzy" but should really be searching for "abcd" entón podes usar isto para educar a xente sobre onde e como atopar a información.
  • Help your organization refine its information architecture.
  • Identificar oportunidades para mellorar o dicionario de sinónimos.
  • Outras oportunidades, sen dúbida, van presentarse.

Quen debería estar no comité de procura? You would know your people best, pero considere:

  • Polo menos un (e, se cadra, só un) TI persoa que entende (ou pode aprender) as varias formas de axustar investigación, incluíndo as mellores apostas, Wikipedia, propiedades administrados, etc.
  • Varios expertos no tema que poden ler os informes de investigación, inxerir-lo e comunicar accións negocio-savvy a el para que poida usar os botóns, tirar as alavancas e chave de abrir / pechar como necesario nas recomendacións do comité.
  • Un ou máis información arquitectos que poden validar, dunha forma ou doutra, a arquitectura da información é de procura agradable e se funciona ben para a empresa.
  • A rotating seat on the committee. Bring in one or two people who don’t normally participate in these kinds of efforts. They may bring unusual and valuable insights to the table.

Analizar feliz!

</final>

Rexístrate para o meu blog.

Technorati Tags:

Fácil e rápida: Obter SPFolder de SPItemList

Eu segue correndo para este problema e Google parece nunca entender o que quero facer, entón eu entender que eu ía escribir isto.

Eu teño feito unha morea de depuración receptor de eventos a última semana ou dúas. The ER is defined against a document library. The individual items in the document library are tightly related to their parent folders. Así, I am always getting the folder of the item for various manipulations. While debugging, Eu precisaba actualizar os metadatos dun cartafol para un elemento específico, cuxa ID sei.

Aquí é unha aplicación de consola pouco (deseñado para rodar en servidores no farm) que recibe dous argumentos: a ID dun elemento e un valor a asignar a un campo, "Approval Status". It hard codes a lot of stuff and has no error checking.

O código é un sitio codificado, gets a hard coded document library and then finds the indicated item. It then finds the parent folder of that item and assigns the status value.

The key lesson here for me is that SPItem doesn’t get you access to the folder. You need to use SPListItem.File.

Se alguén se preocupa en ofrecer unha crítica ou suxerir a mellor maneira de obter o cartafol dun elemento, por favor, deixe un comentario.

<código>
utilización Sistema;
utilización System.Collections.Generic;
utilización System.Text;
utilización Microsoft.SharePoint;
utilización System.Collections;

espazo de nomes Conchango
{
    /// <resumo>
 /// </resumo>
 clase ManualFolderUpdate
    {
        estático invalidar Principal(corda[] args)
        {
            corda MSH = "ManualFolderUpdate (v1.0): "; // msh = "Message Header"

 Consola.WriteLine(MSH + "Starting up.  I foi modificada por última vez en 08/04/08.");

            corda url = http://localhost/xyzzy;

            utilización (SPSite oSPSite = novo SPSite(url))
            {

                utilización (SPWeb oSPWeb = oSPSite.OpenWeb())
                {
                    SPList DocLib = oSPWeb.Lists["Documents"];

                    Consola.WriteLine(MSH + "Got the document library.");

                    Consola.WriteLine(MSH + "Doc lib item count: [" + docLib.ItemCount + "].");

                    int FolderID = 0;
                    corda NewStatus = "Xyzzy";

                    FolderID = System.Converter.ToInt32(args[0].ToString());
                    Consola.WriteLine("Seeking folder for item: [" + FolderID + "].");

                    SPListItem li = docLib.GetItemById(FolderID);

                    SPFolder thisItemFolder = li.File.ParentFolder;

                    Consola.WriteLine(MSH + "Got the parent folder.");

                    NewStatus = args[1].ToString();
                    Consola.WriteLine("Setting status to [" + NewStatus + "].");

                    Consola.WriteLine("Press return to commit the update or CTRL-C to abort.");

                    Consola.ReadLine();

                    thisItemFolder.Item["Approval Status"] = NewStatus;
                    thisItemFolder.Item.Update();

                    Consola.WriteLine(MSH + "Finished updating the folder.  Saír.");

                } // usar SPWeb

            } // usar SPSite

 Consola.WriteLine(MSH + "Finished.");

        } // Principal

    } // clase FolderSync
} // espazo de nomes
</código>

</final>

Rexístrate para o meu blog.

Technorati Tags:

Domingo Morning divertido: “Pai, El nin sequera sabe que”

Nós norte de Nova Jersey Galvin do son grandes fans da TV sátira política. programa, The Daily Show hosted by Jon Stewart. I don’t like to get political in my blogging, entón todo o que eu vou dicir sobre iso é que, sen a Daily Show, Podo moi ben perder permanentemente todo sentido do humor ou sobre 12/12/2000.

Estabamos tendo unha comida na cuberta inicio da semana pasada e meu fillo de dez anos trae á luz un episodio recente de Amosar. Eu fixen o comentario, "Jon Stewart knows that he mellor non sacar sarria de min or there will be terrible consequences for Jon Stewart."

O meu fillo pensa sobre iso por un minuto e di:: "Dad, número un: He doesn’t even know you."

Esperei por un número de dous, pero el decidiu que era suficiente e mudouse para o seguinte tema sen perder o ritmo.

Ela adoitaba ser que eu podería ser moito máis milhagem fóra destes tipos de bromas, but he’s getting too used to me or too mature or both. I need to adjust somehow.

</final>

Rexístrate para o meu blog.

Technorati Tags:

Horario empregado Formación e Obras Template — Erro Conde Seat Plus Fix Seguridade(?)

Este é un moi popular "fabuloso 40" modelo. It also has a bug which is widely known (Eu mesmo escribín sobre como resolve-lo).

Sogeti emitiu un proxecto CodePlex esta semana que corrixe o erro (o que é bo por si só, pero non a terra tremer) pero eles tamén afirman ter resolto un problema máis espiñento moi: seguridade. The fab 40 modelo require unha configuración de seguranza moi xeneroso (necesidades de usuarios nivel contribuínte o acceso a practicamente todo). Not any more! According to the codeplex summary:

"This template also includes a new custom workflow action which enables the template to work without having to give all users contribute permissions to the courses list."

Isto é algo bo e paga a pena revisar.

</final>

Rexístrate para o meu blog.

Technorati Tags: , ,

SharePoint Workflow Design, Receptores de eventos e “Actualizar elemento de lista” contra “Establecer campo baixo actual”

Temos un conxunto de fluxos de traballo do SharePoint Design que "comunicar" with an event receiver on the list via changes to site column values. Por exemplo, unha columna de sitio "SetDuedate" é definido como verdadeiro polo fluxo de traballo, o receptor de eventos detecta ese cambio, calcula unha data de caducidade e atribúe esa data a outra columna de sitio, "Due Date." We split things up like this because the event receiver can calculate a due date using complex business rules (taking weekends and company holidays into account) while SPD really can not.

In one specific instance, we ran into a problem with this trick. Debugging all this is pretty difficult, but we came to the definite conclusion that in one case (polo menos), the event receiver was not running all the time. In one step of the workflow, we would change the value of a site column and the event receiver didn’t appear to run. Con todo, it was running consistently in a different step of the workflow.

After reviewing it, I noticed that the happy workflow step used the "Update List Item" while the other step used "Set Field in Current Item." Update List Item was updating the "current item." I’m not sure why we picked one over the other since they would seem to be doing the same thing.

Así … the Update List Item action did cause the event to fire. Por outra banda, the Set Field in Current Item action did not.

I used Update List Item in both places and viola! It worked. [[ Total aside, I played the violin for on a daily basis for almost 15 anos ]]

From this, I tentatively believe that the "Set Field" action does not cause event receivers to fire, at least some of the time.

This issue bedeviled us for weeks.

This is one of those "observed behavior" posts. I observed this happen once in a specific environment and I’m making some guesses as to why things happened as they did. If you have any insight into this one, please share in the comments.

</final>

Rexístrate para o meu blog.