O Sharepoint Designer, a ferramenta da Microsoft para editar páginas, sites, e criar workflows no Sharepoint agora é gratuita. A versão em português da página do download mostra a chave a ser usada para ativar o produto, enquanto que a notícia original, juntamente com o vídeo do gerente do produto Tom Rizzo explicando a mudança, explica melhor a novidade.
Protegendo formulários contra edição após aprovação
Esta semana tive necessidade de criar um formulário para publicar no Forms Services, que passaria por um formulário de aprovação e que não poderia ser editado após ser aprovado - mas o usuário tinha que ser capaz de alterá-lo até obter essa aprovação. Após uma pesquisada, descobri uma solução que me servia, com algumas "variantes".
Todas as variantes envolvem, antes de mais nada, criar uma segunda view no Infopath, copiar todo o seu formulário para esse segundo view, e torná-lo read-only (duplo clique no nome da view na aba de ferramentas na direita, e selecionar o checkbox "Read-only").
Depois disso, a solução mais simples envolve criar um "checkbox" no formulário que indica se o documento já foi conferido. Depois basta criar uma regra na abertura do formulário (menu Ferramentas - Opções do Formulário - Abrir e Salvar - Comportamento ao abrir - Regras) que tem como condição o checkbox criado estar em "true", e troca a view do formulário para a sua view somente-leitura. Pronto! Depois de marcar esse checkbox, toda vez que o seu formulário abrir ele abrirá como somente leitura.
Outra forma de fazer isso envolve um pouco de código - na verdade, é reproduzir a opção anterior escrevendo diretamente o código. Crie o mesmo checkbox, mas ao invés de criar a regra de abertura, vá em Ferramentas --> Programação --> Evento de abertura. No Visual Studio que abre, insira o seguinte código no "loadingEvent":
XPathNavigator xnDocument = this.MainDataSource.CreateNavigator();
XPathNavigator xnDefaultView = xnDocument.SelectSingleNode("/my:myFields/my:conferido", this.NamespaceManager);
if ((xnDefaultView != null) && (xnDefaultView.Value != ""))
{
switch (xnDefaultView.Value)
{
case "false":
e.SetDefaultView("Escrita");
break;
case "true":
e.SetDefaultView("Read-only");
break;
}
Esse código foi retirado integralmente de um exemplo da própria Microsoft. Lembre de trocar o nome do campo (no meu caso, é "conferido") e das views para os nomes que estiver usando no seu formulário.
Ainda outra opção (ufa!) seria ler o valor do status do workflow que controla a aprovação do documento através de um data source secundário que lê dados da lista do Sharepoint, e usar uma das opções acima, trocando o teste contra o valor do checkbox por um teste contra o valor desejado do workflow.
Material Sobre Project Server
Material que vale ouro para aqueles estudando Project Server:
- Toda a documentação do Microsoft sobre Project Server 2007 em um único arquivo. Imperdível.
- Todos os webcasts da Microsoft sobre EPM
Divirtam-se!
Warren Buffet sobre a crise
Estou fugindo completamente do tópico do blog, mas achei bom demais o comentário. Vem do Warren Buffet, em uma entrevista na rede de TV CNBC (leiam a transcrição na íntegra aqui):
"Você só descobre quem está nadando nu quando a maré baixa. Bom, nós descobrimos que Wall Street estava numa praia nudista."
Bom demais...
Alterando o template de sites de projeto do Project Web Access
Uma necessidade comum no uso do Project Server 2007 é a alteração do template usado na criação de espaços de trabalho de projetos. Essa personalização permite incluir automaticamente em cada projeto criado processos específicos da organização, templates de arquivos, workflows, conteúdos pré-populados como listas de tarefas, ajustes visuais...
Esse é um exemplo perfeito de um ponto sobre o qual sou bem enfático, pois isso nem sempre é bem compreendido nas empresas usuárias de Project Server: 90% da configuração do Project Server é configuração de Sharepoint, e é vital que a equipe de implantação e/ou manutenção do sistema domine esta competência. O Sharepoint não é um sistema acessório ao Project Server, mas sim seu fundamento. Clientes ficam frustrados quanto têm que fazer alguma customização baseada no Sharepoint, pois acreditam que estão gastando sua energia em um sistema "acessório", sem perceber que toda a arquitetura do Project Server é construída sobre o Sharepoint.
Mas voltando ao tema: a alteração do template do PWA envolve a criação de uma instância do template original, a alteração dessa instância de acordo com a sua necessidade, e o armazenamento e publicação desse site como novo template. Passo a passo:
O que é gerenciamento de projetos
Estive hoje dando uma olhada na minha conta no Slideshare, e descobri com muita satisfação que minha apresentação sobre gerenciamento de projetos já recebeu mais de 650 750 visualizações. Ela sempre esteve disponivel no próprio Slideshare (e, como descobri hoje, também no blog Peça Demissão E Vá Trabalhar), mas com a mudança do meu próprio site ela acabou saindo de cena por aqui. Como parece que gerou um certo interesse, ei-la de novo:
Novo tema visual a partir de hoje!
Continuando a (lenta) mudança radical do site, a partir de hoje temos um tema visual novo. Este tema é baseado no "Dark Theme" do Drupal, com alguns poucos ajustes. Falta ainda definir a estrutura de menus e as barras laterais (ficarão ambas aqui na direita), e depois retornaremos o conteúdo estático. Está ficando melhor, eu acho...
Casa nova, vida nova
Acabo de mudar de host, do DreamHost para o WebFaction. Chegou a hora de renovar minha conta no DreamHost, e a performance dos sites por lá anda terrível, então acabei olhando novamente o WebFaction, que já me havia chamado a atenção por oferecer suporte facilitado para aplicações em Python como Django, Zope, e principalmente o Trac, que é uma lenda pra instalar no DreamHost.
Aproveitando a mudança, mudarei o site também. Pretendo agregar o blog e o site convencional em um só, dando mais destaque ao blog. O conteúdo estático continuará existindo, mas como páginas acessadas através da barra lateral e do menu superior. Vamos ver como fica....
