• Categorias

  • Posts por Data

    fevereiro 2012
    S T Q Q S S D
    « ago    
     12345
    6789101112
    13141516171819
    20212223242526
    272829  

Palestra Tech-ed Brasil 2011: Backup e Restore com SharePont 2010

http://www.microsoft.com/pt-br/showcase/details.aspx?uuid=2c750e08-5a27-42bb-8fc9-b3caf761f384

Habilitar a Pesquisa de Pessoas no SharePoint (Search People)

Um dos maiores problemas pós configuração do SharePoint é habilitar a pesquisa de pessoas, no link abaixo tem um artigo Microsoft de como fazer isso:

http://technet.microsoft.com/en-us/library/ee808863.aspx

Project Detail Pages (PDPs)

As PDPs podem ser utilizadas para coletar informações dos usuários durante a criação dos projetos. Uma PDP é uma página customizada do SharePoint (página de WebPart) que permite a inclusão de WebParts do Project Server 2010.

As PDPs podem ser utilizadas para preenchimento dos campos customizados, inclusão de informações de relatórios ou integração com sistemas proprietários, neste último caso a maioria das vezes requer desenvolvimento.

Existem três tipos de PDPs que podem ser criadas:

  • New Project: usadas para a criação do projeto. Este tipo de PDP deve ser usada como primeira página para a criação do projeto.
  • Workflow Status: mostra o andamento de uma proposta de portfólio.
  • Project: usada para editar um determinado projeto.

Abaixo mostro como é utilizada uma PDP do Project Server 2010.

1 – Dentro da Central de Projetos > Novo > Selecionei um dos projetos que tenho na lista.

image

2 – A primeira PDP que aparece no meu caso é do tipo New Project e contém estes campos abaixo.

image

3 – A segunda PDP contém os campos customizados e é do tipo Project e contém os campos customizados para este tipo de projeto.

image

A próxima PDP que aparecerá será com relação ao cronograma, bom agora vamos aprender a criar estas PDPs e fazer a ligação entre elas.

Para criar uma Project Detail Page proceda: Configurações do Servidor > Páginas de Detalhes do Projeto.

image

Veja como as Web Parts foram acrescentadas, a única Web Part mais importante é do Project Custom Fields, que a primeira PDP deve conter no mínimo os campos: “Nome do Projeto”, “Descrição”, “Data de Início” e “Proprietário”.

Importante: não se esqueça que a primeira deve ser do tipo “New Project”, você pode trocar nas propriedades da página na tela anterior.

Depois que as PDPs foram criadas, você precisa determinar a informação do Departamento do Projeto: Configurações do Servidor > Campos Personalizados da Empresa > Tabela de Pesquisa Department. Nela crie pelo menos duas informações, uma com o nome da empresa e outra pode ficar como Indefinido. Exemplo:

image

As informações que estão aparecendo como SQLNet Soluções Tecnológicas irão aparecer para o template desejado, as outras não aparecerão. A idéia é, você poder dividir os tipos de projeto pelos departamentos.

Após preencher as informações do campo “Departament”, selecione quais campos customizados pertencem a qual departamento.

O próximo passo e salvar o cronograma como um template, com a informação do “Department” correto, assim os campos customizados serão filtrados para este modelo de cronograma. Exemplo:

image

Após toda a configuração acima, você deverá fazer a ligação dos itens para aparecer no menu Novo da central de projetos, para isso: Configurações do Servidor > Tipos de Projetos da Empresa.

Faça as ligações dos tipos de páginas, do modelo de cronograma e o modelo de site que será utilizado para este modelo de projeto. Quando o menu novo for utilizado para criar um novo projeto, tudo será ligado, chamando o modelo certo, com os campos certos e com o site certo.

image

Não se esqueça em as opções da “Nova Página do Projeto” devem abrir o projeto, ou seja, ter os campos Nome do Projeto, Descrição, Início e Proprietário. E claro serem do tipo “New Project”.

Espero ter auxliado a criar páginas de Detail Page.

Reporting Service FormatDateTime

Na hora de alterar as informações de DateTime de um Relatório temos a função FormatDateTime, mas se você quiser colocar a data no estilo português do Brasil você poder utilizar a seguinte sintaxe:

=Format(Fields!FinishDate.Value),"dd/MM/yyyy"

Isso fará com que a data fique no formato brasileiro, mas essa função “Format” não é listada no reporting service.

Como utilizar Case no SQL Server

Um modo prático de modificar o resultado obtido com os dados do SQL Server é a utilização do “Case”, abaixo mostro uma consulta com “Case” que pode ser utilizada para retornar os valores de acordo com intervalos de informações.

Select    Title, Category, Exposure,
        Case
            When Exposure > 7 Then ‘Alto’
            When Exposure > 3 Then ‘Médio’
            When Exposure > 0 Then ‘Baixo’
            Else ‘Não há riscos’
        End As ExposureLabel
From    MSP_WssRisk_OlapView

A consulta acima está aponta para uma tabela com 3 colunas, e quero apresentar uma quarta coluna com as informações de “Alto”, “Médio”, “Baixo” ou “Não há riscos”, para isto utilizei o Case.

Link MSDN com outros exemplos: http://msdn.microsoft.com/en-us/library/ms181765.aspx

Project Server: Error to Export Grid Excel (Erro ao Exportar Grid para Excel Project Server)

Em algumas estações de trabalho você acaba recebendo a mensagem: "The ActiveX control on which this feature depends could not be created. Because of this error, you can only copy the XML data to the Clipboard. Do you want to continue?"

Quando o problema ocorrer proceda:

  1. Adicione a url do Project Server como um site confiável.
  2. Edite as propriedades de segurança do Internet Exemplorer em sites confiáveis, e localiza a opção: “Initiate and script ActiveX control not marked as safe for scripting” de “Disable” para “Prompt”
  3. Feche e abra o Internet Explorer, acesse o site e tente novamente.

Artigo original: http://solvecomputerissues.ideacity.ro/2009/03/project-server-export-grid-to-excel.html

Using Today in Calculated fields in SharePoint

Artigo original: http://blogs.msdn.com/b/cjohnson/archive/2006/03/16/552314.aspx 

Você esta com problema para calcular duas datas dentro do SharePoint, os passos abaixo resolvem o problema:

  1. Crie uma coluna na lista chamada “Today”
  2. Crie o seu campo calculado fazendo o calculo de datas mas usando a coluna “Today”, exemplo: datadif([Data1];[Today];”d”)
  3. Depois apague o campo Today criado anteriormente.

 

Pronto.

Calculando datas no InfoPath 2003

Um dos grandes problemas do InfoPath é a incapacidade de calcular datas, para isto devemos progredir utilizando codificação, e neste caso vou utilizar VBScript para isto.

O artigo original está no link: http://www.bizsupportonline.net/infopath2003/datediff-vbscript-infopath.htm 

Mas vou resumir o artigo acima.

1. Modifique o InfoPath para executar códigos em VBScript ao invés de JScript: Ferramentas – Opções do Formulário – Avançado

2. Crie três campos no seu formulário, sendo:

a) startDate e endDate como DateTime

b) dateDiff e dateInterval como Text

3. Acrescente o código conforme informações abaixo:

Dentro do formulário:

Function ISODateStringToVBDate(ISODateString)
  Dim dtRetVal
  dtRetVal = Null

  If Trim(ISODateString) <> "" Then
    dtRetVal = DateSerial(Mid(ISODateString, 1, 4), _
      Mid(ISODateString, 6, 2), Mid(ISODateString, 9, 2))
  End If

  ISODateStringToVBDate = dtRetVal
End Function

Sub CalculateDateDifference()
  Dim strStartDate
  Dim strEndDate
  Dim strDateInterval
  Dim dtStart
  Dim dtEnd
  Dim intDateDiff

  ‘Retrieve the ISO date from the InfoPath date fields
  strStartDate = XDocument.DOM.selectSingleNode("/my:meusCampos/my:startDate").text
  strEndDate = XDocument.DOM.selectSingleNode("/my:meusCampos/my:endDate").text

  ‘Convert ISO date into VBScript date
  dtStart = ISODateStringToVBDate(strStartDate)
  dtEnd = ISODateStringToVBDate(strEndDate)

  If Not IsNull(dtStart) And Not IsNull(dtEnd) Then

    ‘Retrieve the date interval to be used
    strDateInterval = XDocument.DOM.selectSingleNode("/my:meusCampos/my:dateInterval").text

    Select Case LCase(strDateInterval)
      Case "yyyy"
        ‘Difference between dates in years
        intDateDiff = DateDiff("yyyy", dtStart, dtEnd)
      Case "m"
        ‘Difference between dates in months
        intDateDiff = DateDiff("m", dtStart, dtEnd)
      Case "d"
        ‘Difference between dates in days
        intDateDiff = DateDiff("d", dtStart, dtEnd)
      Case "h"
        ‘Difference between dates in hours
        intDateDiff = DateDiff("h", dtStart, dtEnd)
      Case "n"
        ‘Difference between dates in minutes
        intDateDiff = DateDiff("n", dtStart, dtEnd)
      Case "s"
        ‘Difference between dates in seconds
        intDateDiff = DateDiff("s", dtStart, dtEnd)
      Case Else
        ‘If interval is not recognized so use difference in days
        intDateDiff = DateDiff("d", dtStart, dtEnd)
    End Select

    ‘Set the value of the dateDiff field
    XDocument.DOM.selectSingleNode("/my:meusCampos/my:dateDiff").text = intDateDiff

  End If

End Sub

4. Duplo clique no campo startDate vá em Validação de Dados e depois selecione OnAfterChange no evento e clique em Editar. Acrescente o código a seguir, tanto no startDate quanto do endDate.

Sub msoxd_my_startDate_OnAfterChange(eventObj)

If eventObj.IsUndoRedo Then
Exit Sub
End If

CalculateDateDifference

End Sub

Comando Switch no Reporting Service (Trocando Figuras)

Um item muito interessante do Reporting Service é fazer com que uma imagen seja exibida de acordo com um terminado valor de um campo. Isto pode ser feito através do comando “switch”.

1 – Crie um relatório, acrescente um campo do tipo imagem, este campo pode ser até acrescentado dentro de um Grid.

image

2 – Acesse as propriedades do seu campo imagem, em “Gereral” na opção “Use this image” clique no botão “Fx” e acrescenta a fórmula abaixo:

=Switch(Fields!Status.Value=1,"green",Fields!Status.Value=2,"yellow",Fields!Status.Value=3,"red")

Importante: no caso desta fórmula eu tenho um campo que se chama Status no banco de dados, e altero os valores das imagens de acordo com o valor que nele apresenta. Você precisa adicionar as imagens no reporting service para funcionar.

image

Como enviar e-mail utilizando o InfoPath 2003

Geralmente as ferramentas mais antigas sempre tem as suas limitações, utilizando-se hoje do InfoPath 2010 podemos notar uma grande diferença entre as ferramentas, principalmente quando dizemos respeito a funcionalidades.

Uma das coisas que sempre queremos e enviar o conteúdo do InfoPath no corpo do e-mail, e na versão 2003 não era possível fazer isso sem colocar uma codificação, ou fazer com o usuário clica-se no botão correspondente ao e-mail na caixa de ferramentas e colocasse as informações.

O código abaixo auxilia na chamada desta caixa com os respectivos e-mails já preenchidos. Basta colocar seu conteúdo em um botão.

function OpenMailEnvelop(subject, to)

{

    try

    {

  var oEnvelope = Application.ActiveWindow.MailEnvelope;

  oEnvelope.Subject = subject;

  oEnvelope.To = to;

  oEnvelope.Visible = true;

        return true;

    }

    catch(exception)

    {

        return false;

    }

}

function btnSomeButton::OnClick(eventObj)

{

  OpenMailEnvelop("this is the subject", "someone@somewhere.com")

}

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.