You are on page 1of 15

2

Utilizao e Customizao de Sites






Guia de Referncia para
Utilizao e Customizao de
Sites

3




Utilizao e Customizao de Sites
Copyright 2009 TOTVS S.A. Todos os direitos reservados.
Nenhuma parte deste documento pode ser copiada, reproduzida, traduzida ou transmitida por
qualquer meio eletrnico ou mecnico, na sua totalidade ou em parte, sem a prvia autorizao
escrita da TOTVS S.A., que reserva-se o direito de efetuar alteraes sem aviso prvio. A TOTVS
S.A no assume nenhuma responsabilidade pelas conseqncias de quaisquer erros ou
inexatides que possam aparecer neste documento.
TOTVS S.A.
Av. Santos Dumont, 831, Joinville, SC, Brasil, CEP 89.222-900
3




Utilizao e Customizao de Sites
ndice
Criao e Customizao de Sites ..................................................... 5
Layout ............................................................................................................ 5
Site ................................................................................................................. 6
Pgina de Site ................................................................................................ 7
Painel ............................................................................................................. 7
FreeMarker .................................................................................................... 7
Sumrio de Mtodos .......................................................................... 9
Exemplos de utilizao de alguns mtodos ................................... 11
getCardDataset ............................................................................................ 11
getDocumentLink ......................................................................................... 11
getCardContent ............................................................................................ 12
getRssFeeds ................................................................................................ 12
getFavorites ................................................................................................. 13
getProcess ................................................................................................... 13
getMostPopularDocument ........................................................................... 13
getCurrentUser ............................................................................................ 14

Third Party Trademarks ................................................................... 15



















4




Utilizao e Customizao de Sites


5




Utilizao e Customizao de Sites
Criao e Customizao de Sites
Os Sites utilizam o conceito de Web Parts, que permitem a criao de sites
mais ricos e possibilitam a realizao de customizaes da maneira que
desejar.
Para facilitar a configurao e utilizao, disponibilizado junto ao produto um
exemplo de site, esse exemplo esta na pasta Sites criada automaticamente
pelo produto na raiz do TOTVS | ECM e pode ser acessado atravs do link
<URL_ECM>/site/cec/1.
Para que um site seja disponibilizado pelo TOTVS | ECM, so necessrias
algumas configuraes, so elas: Criao de um Layout e a criao de um
documento do tipo Site e outro do tipo pgina de site. A seguir cada um
desses itens explicado.

Layout
O layout um modelo desenvolvido em HTML que tem como funo definir a
forma de distribuio dos componente no site.
Abaixo tem-se um exemplo de um layout. No exemplo abaixo importante
destacar o uso da tag <LAYOUT:SECTION orientation="V" name="Primeira
Secao">. essa tag que ir definir onde os painis sero posicionados dentro
do site. A orientao pode ser definida como horizontal H ou vertical V no
atributo orientation. J o atributo name serve para identificar o Layout
Section no momento da edio de um site.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title> TOTVS | ECM - Central de Externalizao de Contedo </title>
</head>
<body>
<table width="100%">
<tr>
<td width="15%"></td>
<td>
<table width="100%">
<tr>
<td bgcolor="#778899" colspan=2 class="titulo"><center>

6




Utilizao e Customizao de Sites
<img src="ByYouECM.png"></img></center>
</td>
</tr>
<tr>
<td>
<LAYOUT:SECTION orientation="V" name="Primeira Secao">
</td>
<td>
<LAYOUT:SECTION orientation="V" name="Segunda Secao">
</td>
</tr>
<tr>
<td>
<LAYOUT:SECTION orientation="V" name="Terceira Secao">
</td>
<td>
<LAYOUT:SECTION orientation="V" name="Quarta Secao">
</td>
</tr>
</table>
</td>
<td width="15%"></td>
</tr>
</table>
</body>
</html>

Alm do arquivo HTML necessria uma imagem com o nome icon que
represente a forma grfica de como vai ficar o layout. Isso ir facilitar a
identificao do layout no momento de cadastrar uma nova pgina.

Site
O site possui o mesmo conceito de uma pasta, onde dentro desse site
somente podem ser cadastrados documentos do tipo pgina de site. A
descrio atribuda ao site ser utilizada posteriormente para montar a URL
do site. Dentro de um site podem existir mais de uma pgina cadastrada.
OBS: Um site s pode ser criado abaixo de uma pasta com a descrio
Sites criada na raiz do TOTVS | ECM.

7




Utilizao e Customizao de Sites

Pgina de Site
Uma pgina s pode ser criada abaixo de um site. Ela responsvel por
exibir os painis configurados, por isso uma pgina deve obrigatoriamente ser
relacionada a um layout.
Assim como no site, a descrio da pgina de site ser utilizada na URL para
acesso a pgina. A pgina cadastrada como index, no ter necessidade de
digitar na URL de acesso a sua descrio, o site ir identificar essa pgina
como sendo a padro e ir acess-la.
A URL para acessar uma pgina composta da seguinte estrutura:
<URL_ECM>/site/<COD_SITE>/<COD_EMPRESA>/<DESC_PAGINA>
Exemplo:
http://localhost:8080/webdesk/site/cec/1/pagina

Painel
Ao abrir uma pgina atravs do TOTVS | ECM, sero exibidos os painis que
podem ser editados e customizados, os painis so as Web Parts dentro do
site.
As customizaes podem ser realizadas utilizando HTML, CSS e JavaScript,
alm dessas opes, utilizado tambm um framework de templates
chamado FreeMarker.

FreeMarker
O FreeMarker um "template engine", uma ferramenta genrica utilizada para
gerao de sada de texto. Foi desenvolvido para ser prtico na gerao de
pginas Web em HTML.
Exemplo da sintaxe do FreeMarker:
Criao de variveis:
[#assign var = "valor da variavel"]

Imprimir o valor de uma varivel na tela:
[#assign var = "valor da variavel"]
${var}

Condio:
[#if condio]
...
[/#if]

Repetio (lista):

8




Utilizao e Customizao de Sites
[#assign var = ["valor 01", "valor 02", "valor 03"]]
[#list var as x]
Valor da varivel: ${x}
[/#list]


Para mais informaes, a documentao completa do FreeMarker esta
disponvel no link http://freemarker.sourceforge.net/docs/index.html.

9




Utilizao e Customizao de Sites
Sumrio de Mtodos
A customizao de sites realizada pela criao de scripts. Para isso so
disponibilizados pelo TOTVS | ECM alguns mtodos que permitem acesso a
dados do produto, so eles:

Sumrio de mtodos
getDataset(String datasetId)
Retorna uma lista com todos os
resultados da execuo do
dataset informado.
getCardDataset(String codFichario)
Retorna uma lista de mapas com
o nome do campo e seu valor
para cada ficha.
getCustomDataset(String datasetId)
Retorna o resultado da execuo
do dataset customizado
informado.
getDocumentContent(String
documentId)
Retorna uma String
representando o array de bytes
do documento.
getDocumentLink(String documentId)
Retorna o link para o documento
informado.
getDocumentStream(String documentId)
Retorna o link para o arquivo
fsico do documento informado.
getCardContent(String cardId)
Retorna o cdigo HTML
correspondente a ficha
informada com seus campos
devidamente preenchidos.
getRssFeeds(String urlRss)
Retorna uma lista de RSS da
URL informada.
getProcess()
Retorna os processos que o
usurio logado pode iniciar.
countDocumentsToApprove()
Quantidade de Documentos para
aprovar.
countExpiredTasks()
Quantidade de Solicitaes
Atrasadas.
countOpenTasksByKind()
Quantidade de Solicitaes
pendentes.

10




Utilizao e Customizao de Sites
countMyActiveRequests()
Quantidade de Solicitaes
Abertas.
countMyDocuments()
Quantidade de documentos
aguardando Aprovao
getFavorites(int maxResult)
Retorna os documentos
favoritos.
getMostPopularDocuments(int
maxResult)
Retorna os documentos mais
acessados.
getTaskCentralLink()
Retorna o link para acesso a
central de tarefas.
getCurrentUser()
Retorna um objeto com as
informaes do colaborador
logado.


IMPORTANTE
Alguns mtodos possuem como retorno um objeto do tipo Document ou
processDefinitionVersion. Para saber quais so os atributos destes objetos e
poder acess-los, acesse os datasets chamados document ou
processDefinitionVersion, no item Dataset do menu do TOTVS | ECM. Na
visualizao do dataset so apresentadas varias colunas, onde cada uma
representa um atributo do objeto de retorno, que pode ser acessado nas
pginas de site.
Os mtodos que retornam um objeto do tipo Document so os seguintes:
- getFavorites;
- getMostPopularDocuments.

O mtodo que retorna um objeto do tipo processDefinitionVersion o
seguintes:
- getProcess.

11




Utilizao e Customizao de Sites
Exemplos de utilizao de alguns
mtodos
getCardDataset
Levando em considerao que existe no TOTVS | ECM um fichrio
cadastrado com cdigo 17. Para buscar todas as fichas que esto nesse
fichrio, segue o exemplo:
[#ftl][#assign listaFichas = getCardDataset("17")]
<table id="box-table-a">
<tr> <th align="center" colspan="4">Fichas</th></tr>
[#list listaFichas as ficha]
<tr><td>
${ficha.<nomeCampoDaFicha>}
</td></tr>
[/#list]
</table>

OBS: No lugar da expresso <nomeCampoDaFicha> deve ser colocado o
nome do campo da ficha que deseja recuperar o valor.

getDocumentLink
O exemplo abaixo cria dois links, um para o documento de cdigo 8 e outro
para o documento de cdigo 9. Caso o documento correspondente ao cdigo
informado no exista, ou o usurio no tenha permisso de acesso ao
documento, o mtodo retorna uma String false, por isso utilizada a
expresso [#if valor1 != "false"], que somente ir exibir o link para o
documento, caso ele realmente exista.
Segue o exemplo:
[#ftl][#assign valor1 = getDocumentLink("8")]
[#assign valor2 = getDocumentLink("9")]
<table id="box-table-a">
<tr><th align="center" colspan="4">Documentos</th>
</tr>
[#if valor1 != "false"]

12




Utilizao e Customizao de Sites
<tr><td>
<a href="${getDocumentLink('8')}" target="_blanck">
Descrio do documento </a>
</td></tr>
[/#if]
[#if valor2 != "false"]
<tr><td>
<a href="${getDocumentLink('9')}" target="_blanck">
Descro do document </a>
</td></tr>
</table>

getCardContent

Levando em considerao que existe no TOTVS | ECM uma ficha
cadastrada com cdigo 19. Para buscar o cdigo HTML correspondente
a essa ficha e poder renderiza-la, segue o exemplo:
[#ftl][#assign html = getCardContent("19")]
<table id="box-table-a">
<tr> <th align="center" colspan="4">Favoritos</th></tr>
<tr><td>
${html}
</td></tr>
</table>

getRssFeeds
Exemplo utilizando a URL de RSS da TOTVS.
[#ftl][#assign rss =
getRssFeeds("http://totvs.com/c/blogs/rss?areaId=12&companyId=1009
7")]
<table id="box-table-a">
<tr> <th align="center" colspan="4" scope="col">RSS
TOTVS</th></tr>
[#list rss as valRss]
<tr><td>
${valRss}
</td></tr>

13




Utilizao e Customizao de Sites
[/#list]
</table>

getFavorites
[#ftl][#assign documentos = getFavorites("5")]
<table id="box-table-a">
<tr><th align="center" colspan="4">Favoritos</th>
</tr>
[#list documentos as doc]
<tr><td>
<a href="${getDocumentLink(doc.documentPK.documentId)}"
target="_blank"> ${doc.documentDescription} </a>
</td></tr>
[/#list]
</table>

getProcess
[#ftl][#assign tarefas = getProcess()]
<table id="box-table-a">
<tr><th align="center" colspan="4">Inicializao de
Solicitaes</th></tr>
[#list tarefas as val2]
<tr><td>
<a href="${val2.urlForPortal}" target="_blank">
${val2.processDefinitionVersionPK.processId} </a>
</td></tr>
[/#list]
</table>

getMostPopularDocument

[#ftl][#assign documentos = getMostPopularDocument("5")]
<table id="box-table-a">
<tr><th align="center" colspan="4">Documentos mais
Acessados</th></tr>
[#list documentos as doc]

14




Utilizao e Customizao de Sites
[#if getDocumentLink(doc.documentPK.documentId) != "false"]
<tr><td>
<a href="${getDocumentLink(doc.documentPK.documentId)}"
target="_blank"> ${doc.documentDescription} </a>
</td></tr>
[/#if]
[/#list]
</table>

getCurrentUser

[#assign colleague = getCurrentUser() ]
<table>
<tr>
<td
colspan="3">${colleague.getColleaguePK().getCompanyId()}</td>
<td
colspan="3">${colleague.getColleaguePK().getColleagueId()}</td>
<td colspan="3">${colleague.getLogin()}</td>
</tr>
</table>

15




Utilizao e Customizao de Sites
Third Party Trademarks

Adobe, Flash, Flex, Flex Builder, PostScript and Reader are either registered
trademarks or trademarks of Adobe Systems Incorporated in the United States
and/or other countries.

Apache is a trademark of The Apache Software Foundation.

Apple is a trademark of Apple Inc., registered in the U.S. and other countries

Firefox and Mozilla are registered trademarks of the Mozilla Foundation.

Google, Android and Google Chrome are trademarks of the Google Inc.

IOS is a trademark or registered trademark of Cisco in the U.S. and other
countries and is used under license

JavaScript is a trademark of Oracle Corporation.

Liferay, Liferay Portal, and the Liferay logo are trademarks or registered
trademarks of Liferay, Inc., in the United States and other countries.

Linux is the registered trademark of Linus Torvalds in the U.S. and other
countries.

Microsoft, Active Directory, Excel, Internet Explorer, Outlook, PowerPoint, SQL
Server, Windows and Windows Vista are either registered trademarks or
trademarks of Microsoft Corporation in the United States and/or other
countries.

MySQL is a trademark of Oracle Corporation and/or its affiliates.

openDBcopy is an open-source project by Anthony Smith, published under the
terms of the GNU General Public License

OpenLDAP is a registered trademark of the OpenLDAP Foundation

Oracle, Java and OpenOffice.org are registered trademarks of Oracle and/or
its affiliates. Other names may be trademarks of their respective owners.

Progress and OpenEdge are trademarks or registered trademarks of Progress
Software Corporation or one of its subsidiaries or affiliates in the U.S. and
other countries.

Red Hat and JBoss are registered trademarks of Red Hat, Inc. in the United
States and other countries.

This product includes software developed by the Visigoth Software Society
(http://www.visigoths.org/).

Any other third party trademarks are the property of their respective owners.

You might also like