2013 Do SharePoint: Adicione recursos aos aplicativos do Office

Com o uso de dois novos modelos de desenvolvimento, é possível automatizar processos integrados entre seus aplicativos do SharePoint e Office.

V. Gnanasekaran

Os novos modelos de desenvolvimento em 2013 Office e SharePoint 2013 criam algumas novas oportunidades para integrar aplicativos Office SharePoint. Estes modelos de desenvolvimento — apps para aplicativos para o Office e SharePoint — ajuda você aproveitar uma variedade de opções de desenvolvimento Web, incluindo HTML5, JavaScript, jQuery e CSS3, além disso, os recursos existentes em linguagens server-side.

Estes novos paradigmas de desenvolvimento fornecem mais recursos do lado do cliente. Neste artigo, mostrarei como você pode aproveitar SharePoint em apps para o Office por meio de um cenário de exemplo.

Apps para SharePoint

Os apps para o modelo de SharePoint fornece maneiras mais flexíveis para personalizar o seu ambiente do SharePoint. Você também pode usá-lo para acessar dados através de vários modelos de programação de aplicação, tais como:

  • Modelo de objeto de servidor
  • Modelo de objeto do cliente
  • Modelo de objeto de JavaScript
  • API REST
  • WCF Data Services Framework

Você deve usar esses modelos de objeto e acessar métodos baseados em contexto operacional. Por exemplo, você deve usar o modelo de objeto móvel (disponível sob o modelo de objeto do cliente) para realizar actividades relacionadas com o SharePoint em um Windows Phone.

Aplicativos para escritório

Os novos aplicativos de modelo de desenvolvimento do Office permite interagir com produtos do Office por meio de APIs JavaScript. Que também ajudam a alavancar a outras pilhas de desenvolvimento Web como HTML5, CSS3 e jQuery. Os apps para o modelo do Office é baseado em Web e dá-lhe muito mais flexibilidade do que a tradicional Office Adicionar-ins.

Para este exemplo, vamos olhar para duas atividades de negócios comuns — preparação de documentos e revisão. Você pode gerar documentos para o direcionamento de potenciais oportunidades de negócios, tais como propostas, materiais de vendas ou folhetos. Você pode também estar desenvolvendo relatórios detalhados como parte de processos de negócios, transações ou documentos estabelecendo parcerias de negócios e ligações legais como acordos contratuais.

Revisão de documentos é parte integrante do processo. Não há mais ênfase nesta etapa ao lidar com documentos legais. Documentos são revisados contra normas de conformidade de negócios e para a empresa é contra qualquer problema legal. Quando o processo de revisão de um documento legal vinculativo é comprometido, ela pode levar a danos financeiros ou pior.

Microsoft Word automaticamente pode revisar um documento para erros gramaticais. Se houvesse tal automação para validar um documento legal ou negócios, ele iria simplificar os processos de negócios. O exemplo que discutirei aqui vai olhar para fornecer este tipo de capacidade, aproveitando a potência disponível por meio de modelos de desenvolvimento de aplicativos Office e SharePoint.

Um olhar sobre o uso do negócio

Como parte de uma proposta de processo de licitação, a empresa exemplo, Contoso, tem um documento revisão atividade onde todos os documentos de proposta de projeto são revisados contra a abordagem de solução, estimativas, modelo de execução, diferenciando os fatores e assim por diante. Documentos são revisados em quase todos os aspectos, com base no contexto. Por exemplo, se um documento de proposta está preparado para um projeto de taxa fixa, vai ser analisada a presença de palavras "censuráveis". Este é o processo de validação do negócio de documento.

Palavras ofensivas são definidas pela equipe jurídica. A equipe jurídica considera que a presença destas palavras "censuráveis" predefinidos desnecessariamente irá expor a empresa a questões regulamentares. Contoso quer automatizar todos os negócios validação de documentos gerados pela equipe do projeto. A empresa espera que isso vai aumentar a taxa de proposta da equipe e o tempo de retorno. Ele também iria minimizar incidentes onde documentos são negligenciados no processo de revisão.

Como primeiro passo, a Contoso quer automatizar o processo de revisão de documentos para procurar palavras ofensivas predefinidas, como se trata de uma atividade repetitiva. Este processo de revisão do documento baseia-se em regras predefinidas, configuradas em um local central. A empresa quer fazer este processo disponível aos colaboradores que irão acessá-lo dentro da rede corporativa através de um modelo de segurança de autenticação integrada do Windows.

Este exemplo utiliza o SharePoint e apps para o Office para desenvolver o cenário e automatizar o processo de validação do negócio de documento. A lista de providências inclui:

  • Criar um aplicativo de painel de tarefas para Office e selecione a palavra. O nome deste OfficeApp1. Ele terá dois projetos: OfficeApp1 e OfficeApp1Web. Você pode fazer qualquer código personalizado necessário no projeto OfficeApp1Web.
  • Como você vai usar o modelo de objeto de cliente do .NET SharePoint, adicionar uma página ASPX (chamado Home. aspx) para o projeto e torná-lo a página padrão.
  • Atualize o arquivo de OfficeApp1.xml no projeto OfficeApp1, usando o atributo DefaultValue o SourceLocation como Home. aspx, como descrito aqui:

<DefaultSettings> <SourceLocation DefaultValue="~remoteAppUrl/Pages/Home.aspx" /> </DefaultSettings>

  • Crie uma lista de SharePoint denominada ObjectionableWords. Guarde a lista em um subsite chamado FirstSiteCollection.
  • Adicione referências para o Microsoft.SharePoint.Client e a Microsoft no projeto OfficeApp1Web.
  • No code-behind do arquivo aspx, adicione referências a Microsoft.SharePoint.Client e o código em Figura 1 sob o evento de load da página (esse código irá vincular a lista do SharePoint, puxar a lista de palavras e preencher as palavras em uma matriz de JavaScript).

Figura 1 este script preenche a lista de palavras ofensivas.

string arrayString = string.Empty; string PIN = string.Empty; // Starting with ClientContext, the constructor requires a URL to the // server running SharePoint. ClientContext context = new ClientContext("http://c4968397007/sites/First/"); // Point this URL to the right URL in your environment // Assume the Web has a list named "ObjectionableWords." List objWrdsList = context.Web.Lists.GetByTitle("ObjectionableWords"); // This creates a CamlQuery that has a RowLimit of 100, // and also specifies Scope="RecursiveAll" so that it grabs all list items CamlQuery query = CamlQuery.CreateAllItemsQuery(100); Microsoft.SharePoint.Client.ListItemCollection items = objWrdsList.GetItems(query); // Retrieve all items in the ListItemCollection from List.GetItems(Query). context.Load<List>(objWrdsList); context.Load<Microsoft.SharePoint.Client.ListItemCollection>(items); context.ExecuteQuery(); foreach (Microsoft.SharePoint.Client.ListItem listItem in items) { if (arrayString.Length > 0) arrayString += ","; arrayString += "'" + listItem.FieldValues["Words"].ToString() + "'"; } this.ClientScript.RegisterArrayDeclaration("myWords", arrayString);

  • Escritório 2013 permite interagir com seus aplicativos através de Office.js, a biblioteca de API de JavaScript para o Office. Adicionar a função getDocument para o arquivo de JavaScript OfficeApp1.js, onde todas as interações com a palavra vão acontecer (ver Figura 2).

Figura 2 adiciona o getDocument função no arquivo JavaScript OfficeApp1.js.

function getDocument() { //var fileContent = ''; var strContent = ''; Office.context.document.getFileAsync("text", function (result) { var myFile = result.value; myFile.getSliceAsync(0, function (result) { if (result.status == "succeeded") fileContent = result.value.data; checkString(); checkPendingItem(); }); }); }

  • Esta função interage com um documento do Word por meio da biblioteca de API de JavaScript para o Office. Ele extrai o conteúdo e chama a outra função checkString, que realmente irá realizar a validação.
  • Adicione a função checkString no arquivo Office.js, conforme mostrado no Figura 3.

Figura 3 checkString função adicionada ao arquivo Office.js.

function checkString() { // Check for the objectionable words. for (var i = 0; i < myWords.length; i++) { contains = fileContent.toLowerCase().trim().indexOf(myWords[i].toLowerCase().trim()); if (contains >= 0) { break; } } // If the document contains "Objectionable" words, indicate it. if (contains < 0) { document.getElementById('imgSts').src = 'YES.PNG'; document.getElementById('imgSts').height = '42'; document.getElementById('imgSts').width = '42'; } else { document.getElementById('imgSts').src = 'NO.PNG'; document.getElementById('imgSts').height = '42'; document.getElementById('imgSts').width = '42'; } }

Essa função compara o conteúdo extraído da palavra com a matriz de JavaScript, que foi preenchida com palavras da lista do SharePoint. Ele então indicará se o conteúdo extraído contém qualquer uma das palavras da lista censurável.

Uma vez que você executa a solução, ele vai sinalizar palavras que não são permitidas. Por exemplo, quando um usuário digita a palavra "Melhor" (que está na lista ObjectionableWords) e clica em revisão, o app irá indicar que o documento não cumpre com o requisito de "palavras ofensivas".

Quando um usuário escreve "TODO" para indicar um item pendente em um documento, o aplicativo vai mostrar se o documento é completo. Você pode personalizar ainda mais esse processo para mostrar uma porcentagem de conclusão de um documento. Isso vai ser útil especialmente em cenários onde diferentes partes de um documento são montados em diferentes locais e você precisa acompanhar o progresso geral do documento.

Vantagens de produtividade

Utilizando este nível de automação com SharePoint e seus aplicativos do Office, a Contoso percebe os seguintes benefícios:

  • Ele pode garantir a coerência na validação do documento comercial.
  • Quaisquer alterações à lista de palavras ofensivas ocorrem centralmente e são refletidas no processo de revisão de documentos em toda a empresa.
  • Completar o processo de revisão de documentos com este tipo de automação reduz o tempo necessário para a conclusão.
  • Revisão de documentos baseados em regras fornece recursos mais sofisticados.

O modelo de objeto de cliente do SharePoint permite que você use aplicativos para escritório para integrar com recursos do SharePoint. Combinar o poder dos produtos do SharePoint e Office por meio de aplicativos para escritório ajuda você a alcançar ganhos significativos de produtividade. SharePoint e Office tornam-se mais do que a soma de cada solução.

V. Gnanasekaran

V. Gnanasekaran tem mais de 14 anos de experiência como TOGAF 9 Certified Enterprise Architect e parte da Microsoft Consulting Services India, onde ele fornece serviços de consultoria de arquitetura para os clientes. Suas atuais áreas de foco incluem SQL Server OLAP/OLTP, SharePoint e Windows Azure. Ele tem tecnologia artigos publicados em diversos periódicos, incluindo The Architecture Journal e foi publicado no CodeProject. Blogs de He em gnanasekaran.com.

Conteúdo relacionado