SharePoint Tip #14: Changing the URL of a List

In WSS (and MOSS), when you create a list, the name you gave it is used as its URL (except any special characters which are replaced with their respective codes). Later on, you may rename the list but its URL will remain unchanged since SharePoint's interface doesn't allow you to explicitly change it. The alternative is using SharePoint Desinger, which allows a list's URL to be changed (pressing F2 or using the context menu, after selecting the list in the site structure treeview).

SharePoint Tip #13: Beware of Lookups

Lookup fields are the equivalent of foreign keys if you consider SharePoint lists as tables of a relational data base. When creating a lookup site column, you just need to choose which list and field (of that list) will be the target of the lookup. However, this kind of fields has a few limitations:

  1. The target list must reside in the same web site as the field you are defining;
  2. You cannot, using SharePoint's UI, change the target list/field after the lookup field is created;
  3. After the lookup field is created, SharePoint will still allow the target list and target field to be deleted, which might lead to data inconsistencies.

To make this problem easier to understand, consider the following example:

  • In Site A there's a list called Cities;
  • You create a lookup site column, named City, whose target is the Title field of the Cities list;
  • You create a site content type, named Address, that includes the City lookup field; 
  • If you delete the Cities list, no error is thrown by SharePoint;
  • Even if you create a new list called Cities, it will have a different ID and, for that reason, it will not be recongnized as the target of the lookup;
  • If you try changing the City field, you won't be able to change the target list or target field.

The only solution is to remove the field from the content type, delete it and start everything for scratch… but when you do so, you lose all the information the column contained in each of the lists where you used it.

MCTS x4

Yesterday I received the confirmation of my last Microsoft Certified Technology Specialist certification. I'm already counting four:

  • BizTalk Server 2006: Custom Applications
  • Microsoft Office SharePoint Server 2007: Configuration
  • Microsoft Windows SharePoint Server 3.0: Application Development
  • Microsoft Office SharePoint Server 2007: Application Development

The idea is not collecting certifications, but to assess if my personal investment in these areas is paying off. If, with that investment, I can bring added value to my company and its clients, the better 🙂

TechDays 2007

Estive esta semana no "maior evento técnico anual da Microsoft Portugal", o TechDays 2007. Foram 3 dias preenchidos com mais de 110 sessões e laboratórios focados nas tecnologias mais recentes e naquelas que ainda estão para vir. As sessões estavam organizadas nos temas: Arquitectura (ARC), Base de Dados (DAT), Ferramentas de Desenvolvimento (DEV), Serviços de Hosting (HST), Sistemas de Integração (INT), Gestão e Operação da Plataforma (MGT), Windows Mobile e Embedded (MOB), Segurança (SEC), Infra-estrutura de Servidor (SRV) e Comunicações Unificadas (UCM). De todos os temas, o que normalmente mais me interessa é Ferramentas de Desenvolvimento, mas assisti também a sessões de outros temas sobre as quais faço um resumo rápido abaixo.

Dia 1

10h00 KEY001: People Ready – As Pessoas fazem as Organizações

Esta foi a sessão de abertura, destinada a apresentar genericamente os temas que serão abordados durante os três dias. Foi um bom começo, com alguns dos oradores da casa a fazerem apresentações curtas para "abrir o apetite".

14h15 DEV002: The Microsoft Web Story: ASP.Net 2.0, ASP.Net AJAX and WPF/E (Jeff Prosise)

Nesta sessão o Jeff Prosise passou pelo passado, presente e futuro das ferramentas de desenvolvimento da Microsoft para a web. Falou um pouco de ASP.Net 2.0, mas focou-se principalmente no ASP.Net AJAX e no WPF/E. O primeiro é o novo toolkit da Microsoft para facilitar a integração de AJAX (Asynchronous Javascript and XML) nas aplicações web e tem como principais vantagens o facto de poder ser usado com qualquer plataforma web e permitir dar uma experiência mais rica ao utilizador com um esforço de desenvolvimento mínimo. O WPF/E (Windows Presentation Foundation Everywhere) é a aplicação do WPF à web. Trata-se de um subconjunto das funcionalidades oferecidas pelo WPF disponibilizadas num browser através de um plug-in proprietário.

Foi uma sessão mais teórica, mas incluiu algumas demonstrações de ASP.Net AJAX e WPF/E que, apesar de relativamente simples, mostraram o potencial destas duas tecnologias.

16h00 DEV006: Windows Presentation Foundation (Chad Hower)

Esta sessão estava completamente lotada. O Chad Hower é um excelente orador e conseguiu mostrar o potencial do Windows Presentation Foundation na implementação de aplicações Windows. As demonstrações foram muito interessantes e especialmente adequadas à audiência, já que o Chad optou por mostrar as vantagens do WPF em cenários realistas e não as típicas demos com "vídeos em esferas a girar". Uma nota interessante: em vez do tradicional powerpoint, ele optou por criar toda a apresentação directamente em WPF.

17h45 DEV004: Desenvolvimento de Jogos com XNA Express (Rob Miles)

Assisti a esta apresentação mais por curiosidade do que outra coisa. O XNA é um toolkit da Microsoft para o desenvolvimento de jogos 2D e 3D. A ideia é simplificar a gestão dos activos (assets) necessários no desenvolvimento de jogos (elementos gráficos e sonoros principalmente, mas não só) e facilitar a interacção com o DirectX. As demos foram relativamente simples e mais focadas no desenvolvimento de jogos "casuais", ou seja, jogos simples e rápidos como os disponibilizados pelos telemóveis. Os jogos comerciais, ditos Triple-A, são já um "big business" e representam investimentos de muitos milhares de dólares e equipas de dezenas de pessoas, pelo que não são o objectivo principal do XNA. Uma característica interessante do XNA é o facto de permitir criar jogos que podem ser instalados na XBox.

O Rob Miles é um MVP e professor universitário inglês que usa o XNA para ensinar programação OO aos seus alunos do curso de Computer Science.

Dia 2

09h30 DEV009: ASP.Net AJAX (Jeff Prosise)

O Jeff deixou-me curioso com as demos que fez na sessão do primeiro dia e, por isso, decidi assistir a esta sessão. Na parte inicial repetiu um pouco o que já tinha dito sobre o AJAX, mas as demos da parte final compensaram. Ficou claro que o ASP.Net AJAX é um toolkit muito poderoso e relativamente simples de usar e que a sua utilização em casos específicos pode melhorar muito a experiência do utilizador na utilização de uma aplicação web. Os controlos fornecidos com o toolkit em conjunto com o pacote de controlos disponibilizados pela comunidade, ajudam a ter resultados rápidos com muito pouco desenvolvimento. É definitivamente uma ferramenta que merece um olhar mais atento.

11h15 ARC004: The Social Life of Information (Part 2/3): Search (Beat Schwegler)

Finalmente uma sessão sobre Office SharePoint Server 2007! Esta segunda parte foi focada no Business Data Catalog e nas funcionalidades de Search do SharePoint mas, dada a complexidade do assunto e o relativo desconhecimento da audiência sobre o tema, foi uma sessão bastante introdutória. Ainda assim, penso que foi uma excelente sessão e deu para qualquer pessoa ficar com uma boa ideia sobre estas duas funcionalidades do MOSS.

13h30 ARC005: The Social Life of Information (Part 3/3): Workflows, Forms and Excel Services (Beat Schwegler)

Continuação da sessão anterior, desta feita orientada para a utilização dos workflows, Forms Services e Excel Services. Tal como a sessão anterior, foi uma introdução ao tema muito bem estruturada e destinada a dar um overview sobre o potencial deste serviços na criação de aplicações de negócio sobre SharePoint.

15h15 DAT003: Office 2007: Capacidades de Business Intelligence (Kirk Hanselden)

O Excel tem sido e continuará a ser a ferramenta de Business Intelligence mais usada pelos utilizadores de negócio. É simples de utilizar e oferece um conjunto de funcionalidades que permite ao utilizador de negócio trabalhar a sua informação de forma muito eficiente. A integração do Excel com o SharePoint traz enormes vantagens ao nível da colaboração e transmissão dessa informação no seio da empresa. Este foi tema abordado pelo Kirk nesta sessão.

17h00 DAT004: Office OBA: Desenho e Implementação de Aplicações para a Gestão de Desempenho (Kirk Hanselden)

Apesar do título desta sessão, o tema abordado foi o PerformancePoint Server 2007 (também conhecido por PPS), a nova peça do puzzle de Business Intelligence da Microsoft que deverá ser disponibilizada mais para o final do ano. Trata-se de um pacote em que foram integradas três aplicações já existentes: o Business Scorecard Manager (agora chamado de PerformancePoint Scorecard Builder), que representa o componente de Monitoria, o BizSharp (agora chamado de PerformancePoint Planning), que representa o componente de Planeamento, e o ProClarity (adquirido pela Microsoft e agora chamado de PerformancePoint Analytics), que representa o componente de análise. O PPS está actualmente em versão CTP1 esperando-se o lançamento da CTP2 nos próximos dias. A sessão foi bastante teórica, até porque a versão actual do sistema ainda está bastante incompleta, mas serviu como introdução a este novo produto.

Dia 3

09h30 ARC007: As Angústias de uma Arquitecto (Tiago Pascoal / Bruno Câmara)

O Tiago e o Bruno, da Agilior, decidiram fazer uma sessão diferente e discutir as várias opções arquitecturais representando uma sessão de psicanálise em que um arquitecto de software se queixa ao seu psicanalista das difíceis decisões que enfrenta no seu trabalho. De uma forma mais descontraída abordaram temas como ESB, EAI, SOA, WS-*, RENT e muitas outras.

11h15 DEV020: Extensibilidade do Windows Workflow Foundation com Custom Activities (João Pedro Martins)

Não assisti a esta sessão por o orador ser o Jota, mas não deixa de ser uma vantagem. O objectivo foi explicar a forma como podemos acrescentar funcionalidade ao WF criando novas actividades. O Jota procurou mostrar que utilizar o WF não implica estar preso ao Visual Studio 2005, e que criando actividades que representam conceitos de negócio podemos trazer a modelação de processos para junto dos utilizadores. Foi uma sessão excelente e as demos deram uma grande ajuda na compreensão dos conceitos.

13h30 DEV023: The power of Expression Blend for UI design (Jon Harris)

O Expression Blend (anteriormente chamado Expression Interactive Designer) é a ferramenta de design para criar interfaces WPF. O conceito por detrás desta ferramenta é facilitar a comunicação entre designers e programadores no desenvolvimento de aplicações com interfaces ricos. A grande vantagem do Blend é permitir que o designer faça o seu trabalho usando uma ferramenta de design que gera XAML (linguagem baseada em XML utilizada para descrever interfaces WPF) e partilha uma solution com o Visual Studio 2005. Esta característica consegue que o designer e o programador trabalhem simultaneamente no mesmo projecto usando o mesmo paradigma usado no ASP.Net para separação entre interface e comportamento, também conhecido como code-behind.

O Jon Harris vem de uma carreira de designer na Macromedia, e trabalha agora na Microsoft, e conseguiu fazer uma apresentação excelente do produto e do problema que este pretende resolver.

15h15 DEV024: Construir Serviços WCF com WF – Presente e Futuro (Miguel Barros)

Esta sessão teve já um nível bastante mais avançado, com muitas demonstrações e pouca teoria. O objectivo foi mostrar a dificuldade em criar aplicações que integram WCF e WF com a versão actual destes dois componentes (Framework .Net 3.0). Ambos os componentes foram desenvolvidos em simultâneo tornando-se muito complicado para as equipas de desenvolvimento definir formas simples de integração entre ambas. Agora que tanto o WCF como o WF estão disponíveis na sua versão final, preparam-se já as próximas versões de ambos sendo um dos objectivos da nova versão a facilidade de integração. A versão 3.5 da Framework .Net será disponibilizada com a próxima versão do Visual Studio, por enquanto ainda conhecido por Orcas.

17h00 INT008: Experiências de Implementação de Factura Electrónica (Pedro Teixeira)

Nesta sessão final, o Pedro Teixeira, da Microsoft, mostrou alguns exemplos de problemas que teve que enfrentar em implementações de Factura Electrónica no nosso mercado. Sem usar PowerPoint, o Pedro conseguiu mostrar como se implementa um sistema de suporte à Factura Electrónica, em cenários B2B, recorrendo ao Microsoft BizTalk Server 2006. Foi uma sessão muito bem apresentada, com demonstrações baseadas em casos reais como sejam a integração com SAP e com Navision, e a troca de facturas em formado iDoc, EDI e XML.

Conclusão

Não é difícil extrair um padrão das sessões a que assisti. Faço um balanço positivo do evento, embora esperasse mais de algumas sessões. Esperava também que houvesse um foco mais forte sobre o Office 2007 e em particular sobre o SharePoint, mas isso talvez seja por ser o produto com o qual tenho trabalhado mais…