Arquivo mensais:janeiro 2017

Formatação de texto em Textile

Formatação de texto em Textile. Para elementos como cabeçalhos, negrito, tabelas, listas e vários comandos HTML pode ser usado a sintaxe Textile escrita mais rápida e eficiente. Consulte outras publicações no blog para informações de uso de mais funcionalidades. Alguns exemplos são apresentados a seguir por serem mais recorrentes na escrita.

Formatação de texto em Textile

 

Acrônimo

JPL(Jean-Philippe Lang)

Exibe:

JPL

Estilo de fonte

* *negrito*
* _itálico_
* *_negrito itálico_*
* +sublinhado+
* -riscado-
* Texto ^sobrescrito^
* Texto ~subscrito~
* @Monoespaçado em linha@
* normal *negrito* _itálico_ normal;E=mc ^2^
* normal<notextile></notextile>*negrito*<notextile></notextile>_itálico_<notextile></notextile>normal;E=mc<notextile></notextile>^2^
* Escapando: <notextile>*negrito* _itálico_ @monoespaçado@</notextile> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alternativa usando códigos HTML: &#42;negrito&#42; &#95;itálico&#95; &#64;monoespaçado&#64;
* <pre>*algumas linhas*      algum "link":http://www.redmine.org</pre>
* <pre><notextile></notextile>*algumas linhas*      algum "link":http://www.redmine.org</pre>

Exibição:

  • negrito
  • itálico
  • negrito itálico
  • sublinhado
  • riscado
  • Texto sobrescrito
  • Texto subscrito
  • Monoespaçado
  • normal negrito itálico normal;E=mc 2
  • normalnegritoitáliconormal;E=mc2
  • Escaping: *negrito* _itálico_ @monoespaçado@       Alternativa usando códigos HTML: *negrito* _itálico_ @monoespaçado@
  • *algumas linhas*      algum "link":http://www.redmine.org
  • algumas linhas      algum link

Cores

* %{color:red}vermelho% %{color:green}verde% %{color:yellow}amarelo% %{color:#82B6E1}azul%
* %{color:red}vermelho%<notextile></notextile>%{color:green}verde%<notextile></notextile>%{color:yellow}amarelo%<notextile></notextile>%{color:#82B6E1}azul%
* %{background:lightgreen}Fundo verde-claro% %{background:yellow}Fundo amarelo%
* %{background:lightgreen}Fundo verde-claro%<notextile></notextile>%{background:yellow}Fundo amarelo%

Exibição:

  • vermelho verde amarelo azul
  • vermelhoverdeamareloazul
  • Fundo verde-claro Fundo amarelo
  • Fundo verde-claroFundo amarelo

Imagens

  • !image_url! exibe imagem localizada em image_url (textile syntax)
  • !>image_url! imagem alinhada à direita
  • !image_url(Image title)! exibe imagem com atributo alt/title
  • !image_url!:URL exibe imagem localiza em image_url com link embutido

Se você tiver uma imagem anexada na página wiki, pode ser inserida informando o nome do arquivo: !attached_image.png!

Você também pode aplicar estilo CSS na image da mesma forma ao estilizar SPANs. O código !{width: 100%}attached_image.png! irá ajustar a imagem conforme largura do elemento pai.

Cabeçalhos

h1. Título

h2. Subtítulo

h3. Subtítulo

Redmine atribui uma âncora para cada um desses títulos, assim você pode linká-los com “#Heading”, “#Subheading” e assim por diante.

Parágrafos

p. alinhado à esquerda

  p(. identado à equerda em 1em

    p((. identado à equerda em  2em
    bem como as seguintes linhas

                                                                                   p>. alinhado à direita

                                                                        p)))>. identado à direita em 3em

                           p=. Parágrafo centralizado.

Linha horizontal

----
Exibição:


Pré-definido

Para escapar sintaxe wiki

 <pre> *Seu texto não será negrito* </pre>

Exibição:

 *Seu texto não será negrito*

Citações

Inicie o parágrafo com bq.:

bq. Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
To go live, all you need to add is a database and a web server.

Exibição:

Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
To go live, all you need to add is a database and a web server.

Você também pode usar > no inicio de cada linha e empilhá-los para citações aninhadas:

>> Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
>> To go live, all you need to add is a database and a web server.
> Great!

Exibição:

Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
To go live, all you need to add is a database and a web server.

Great!

Listas não-ordenadas

* Item 1
* Item 2
** Item 21
** Item 22
* Item 3

exibição:

  • Item 1
  • Item 2
    • Item 21
    • Item 22
  • Item 3

Listas ordenadas

# Item 1
# Item 2
# Item 3
## Item 3.1
## Item 3.2

exibição:

  1. Item 1
  2. Item 2
  3. Item 3
    1. Item 3.1
    2. Item 3.2

Tabelas

|_.UserID      |_.Nome          |_.Grupo     |_. lista atributos  |
|Iniciando com | uma            |   simples  |linha               |
|\3=.TI                                      |<. alinha esquerda  |
|1             |Artur Pirozhkov |/2.Users    |>. alinha direita   |
|2             |Vasya Rogov     |=. centraliza |
|3             |John Smith      |Admin
                                 (root)      |^. alinha topo      |
|4             |-               |Ninguém
                                 (anônimo)   |~. alinha base      |

displays (all multiple spaces are replaced by 1 space):

UserIDNomeGrupolista atributos
Iniciando comumasimpleslinha
TIalinha esquerda
1Artur PirozhkovUsersalinha direita
2Vasya Rogovcentraliza
3John SmithAdmin
(root)
alinha topo
4Ninguém
(anônimo)
alinha base

Se você quiser inserir o caracter | (pipe) dentro da tabela (ex.: links Wiki), deve-se prevenir que o textile os interprete:

EntradaSaída
<notextile>|</notextile>|

Tabela de conteúdo (TOC)

{{toc}} => toc alinhado à esquerda
{{>toc}} => toc alinhado à direita

Observe que a tag do TOC precisa de uma linha vazia antes e depois da mesma.

Exemplo:


h1. TítuloUm

h2. subtítulo

{{toc}}

h2. outro subtítulo

Textile Comandos Guia Rápido

Textile Comandos Guia Rápido. O principais comandos para editar um arquivo textile. Use estes comandos para criar um arquivo textile.

Escrevendo em Textile
A single paragraph.

Followed by another.
formata em:A single paragraph.

Followed by another.

I am <b>very</b> serious.

<pre>
  I am <b>very</b> serious.
</pre>
formata em:I am very serious.

  I am <b>very</b> serious.
I spoke.
And none replied.
formata em:I spoke. And none replied.
"Observe!"
formata em:“Observe!”
Observe -- very nice!
formata em:Observe—very nice!
Observe - tiny and brief.
formata em:Observe – tiny and brief.
Observe...
formata em:Observe…
Observe: 2 x 2.
formata em:Observe: 2×2.
one(TM), two(R), three(C).
formata em:one™, two®, three©.
Quick Block Modifiers
h1. Header 1
formata em:

Header 1

h2. Header 2
formata em:

Header 2

h3. Header 3
formata em:

Header 3

An old text

bq. A block quotation.

Any old text
formata em:An old text

A block quotation.

Any old text

This is covered elsewhere[1].
formata em:This is covered elsewhere1.
fn1. Down here, in fact.
formata em:

1 Down here, in fact.

Quick Phrase Modifiers
I _believe_ every word.
formata em:I believe every word.
And then? She *fell*!
formata em:And then? She fell!
I __know__.
I **really** __know__.
formata em:I know. I really know.
??Cat's Cradle?? by Vonnegut
formata em:Cat’s Cradle by Vonnegut
Convert with @r.to_html@
formata em:Convert with r.to_html
I'm -sure- not sure.
formata em:I’m sure not sure.
You are a +pleasant+ child.
formata em:You are a pleasant child.
a ^2^ + b ^2^ = c ^2^
formata em:a 2 + b 2 = c 2
log ~2~ x
formata em:log 2 x
I'm %unaware% of most soft drinks.
formata em:I’m unaware of most soft drinks.
I'm %{color:red}unaware%
of most soft drinks.
formata em:I’m unaware of most soft drinks.
Attributes
p(example1). An example
formata em:

An example

p(#big-red). Red here
formata em:

Red here

p(example1#big-red2). Red here
formata em:

Red here

p{color:blue;margin:30px}. Spacey blue
formata em:Spacey blue
p[fr]. rouge
formata em:

rouge

I seriously *{color:red}blushed*
when I _(big)sprouted_ that
corn stalk from my
%[es]cabeza%.
formata em:I seriously blushed when I sprouted that corn stalk from my cabeza.
p<. align left
formata em:align left
p>. align right
formata em:align right
p=. centered
formata em:centered
p<>. justified
formata em:justified
p(. left ident 1em
formata em:left ident 1em
p((. left ident 2em
formata em:left ident 2em
p))). right ident 3em
formata em:right ident 3em
h2()>. Bingo.
formata em:

Bingo.

h3()>[no]{color:red}. Bingo
formata em:

Bingo

<pre>
<code>
  a.gsub!( /</, '' )
</code>
</pre>
formata em:

  a.gsub!( /</, '' )

&ltpre><div style=”float:right;”>

h3. Sidebar

“Hobix”:http://hobix.com/
“Ruby”:http://ruby-lang.org/

</div>

The main text of the
page goes here and will
stay to the left of the
sidebar.</pre>

formata em:

Sidebar

Hobix Ruby

The main text of the page goes here and will stay to the left of the sidebar.

Lists
# A first item
# A second item
# A third
formata em:
  1. A first item
  2. A second item
  3. A third
# Fuel could be:
## Coal
## Gasoline
## Electricity
# Humans need only:
## Water
## Protein
formata em:
  1. Fuel could be:
    1. Coal
    2. Gasoline
    3. Electricity
  2. Humans need only:
    1. Water
    2. Protein
* A first item
* A second item
* A third
formata em:
  • A first item
  • A second item
  • A third
* Fuel could be:
** Coal
** Gasoline
** Electricity
* Humans need only:
** Water
** Protein
formata em:
  • Fuel could be:
    • Coal
    • Gasoline
    • Electricity
  • Humans need only:
    • Water
    • Protein
External References
I searched "Google":http://google.com.
formata em:I searched Google.
I am crazy about "Hobix":hobix
and "it's":hobix "all":hobix I ever
"link to":hobix!

[hobix]http://hobix.com
formata em:I am crazy about Hobix and it’s all I ever link to!
!http://redcloth.org/hobix.com/textile/sample.jpg!
formata em:
!openwindow1.gif(Bunny.)!
formata em:Bunny.
!openwindow1.gif!:http://hobix.com/
formata em:
!>obake.gif!

And others sat all round the small
machine and paid it to sing to them.
formata em:

And others sat all round the small machine and paid it to sing to them.

We use CSS(Cascading Style Sheets).
formata em:We use CSS.
Tables
| name | age | sex |
| joan | 24 | f |
| archie | 29 | m |
| bella | 45 | f |
formata em:
nameagesex
joan24f
archie29m
bella45f
|_. name |_. age |_. sex |
| joan | 24 | f |
| archie | 29 | m |
| bella | 45 | f |
formata em:
nameagesex
joan24f
archie29m
bella45f
|_. attribute list |
|<. align left |
|>. align right|
|=. center |
|<>. justify |
|^. valign top |
|~. bottom |
formata em:
attribute list
align left
align right
center
justify
valign top
bottom
|\2. spans two cols |
| col 1 | col 2 |
formata em:
spans two cols
col 1col 2
|/3. spans 3 rows | a |
| b |
| c |
formata em:
spans 3 rowsa
b
c
|{background:#ddd}. Grey cell|
formata em:
Grey cell
table{border:1px solid black}.
|This|is|a|row|
|This|is|a|row|
formata em:
Thisisarow
Thisisarow
|This|is|a|row|
{background:#ddd}. |This|is|grey|row|
formata em:
Thisisarow
Thisisgreyrow

Leia também um guia de referência completa do textile http://redcloth.org/hobix.com/textile/

Textile

O Textile é uma linguagem de marcação própria para hypertexto do tipo Markup. É simples e fácil de usar, sendo muito mais prática do que o HTML. Assim como no Markdown (uma outra linguagem de marcação – veja um post sobre o Markdown aqui), o Textile permite que você se concentre no conteúdo que está escrevendo, e não na linguagem em si. Linguagens como o HTML, requerem que você saiba exatamente quais são as tags que devem ser utilizadas, obrigando o programador a se concentrar muito mais nas estruturas da linguagem do que no conteúdo em sí. É claro que ninguém escreve textos utilizando as tags do HTML, e é por isso que as linguagem de marcação, como o Textile, existem.

O CMS Textpattern usa esta linguagem na publicação. Também que está acostumado a usar a IDE Eclipse usa esta linguagem.

Textile Principais Comandos

Quick block modifiers:
Header: hn.
Blockquote: bq.
Footnote: fnn.
Numeric list: #
Bulleted list: *

Quick phrase modifiers:
_emphasis_
*strong*
??citation??
-deleted text-
+inserted text+
^superscript^
%span%

To apply attributes:
(class)
(#id)
{style}
[language]

To align blocks:
< right > left
= center
<> justify

To insert a table:
|a|table|row|
|a|table|row|

To insert a link:
“linktext”:url

To insert an image:
!imageurl!

To define an acronym:
ABC(Always Be Closing)

Notepad++ Textile

Baixe o arquivo da linguagem em https://github.com/yangqiang/textile_npp e adicione ao Notepad++. Facilitará bastante a escrita.

Acesse http://redcloth.org/hobix.com/textile/

Como mover blog Tumblr para WordPress

Como mover blog Tumblr para WordPress. Mudar o blog inteiro para WordPress em um único click use o app web. Todos os artigos de post e pages serão convertido em .xml WordPress.

Acesse http://tumblr2wordpress.jar.io

basta colocar o nome do blog Tumblr para ter o arquivo WordPress XML (WXR)completo. A boa vantagem deste método é que você pode guardar o arquivo como backup.

Como mover blog Tumblr para WordPress

Migrar do Tumblr para o WordPress é um processo simples, já que a ferramenta possui recurso nativo para importação. Não é preciso copiar manualmente o conteúdo e nem mesmo qualquer conhecimento técnico.

Acesse o seu blog WordPress em FERRAMENTAS, click em importar XML e pronto.

Se preferir o contrário migrar do WORDPRESS para o TUMBLR acesse: http://wordpress2tumblr.jar.io

Converter arquivos Blogger para WordPress

Converter arquivos Blogger para WordPress. Às vezes para transferir arquivos xml do WordPress para Blogger, ou vice-versa, o indicado é usar os apps web conversores:

Baixe seu arquivo .xml e converta para uma ou outra plataforma conforme seu interesse.

Converter Blogger para WordPress

http://blogger2wordpress.appspot.com/

Converter WordPress para Blogger

http://wordpress2blogger.appspot.com/

Converter WordPress para Blogger

Já se você quer fazer backup do tumblr para wordpress use o app web
http://tumblr2wordpress.jar.io

Sistemas de controles de versão

Sistemas de controles de versão. Aqui a lista do principais sistemas de controle de versão.

SVN subverson subversion.tigris.org/
Git git-scm.com/ Linus Torvalds
Mercurial selenic.com/mercurial Sun using for JDK
Bazaar bazaar-vcs.org
Perforce perforce.com
Monotone venge.net/monotone
Visual SourceSafe msdn.microsoft.com/en-us/vstudio Microsoft

Git

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

SVN subverson

Subversion is an open source version control system. Founded in 2000 by CollabNet, Inc., the Subversion project and software have seen incredible success over the past decade. Subversion has enjoyed and continues to enjoy widespread adoption in both the open source arena and the corporate world. Subversion is developed as a project of the Apache Software Foundation, and as such is part of a rich community of developers and users. We’re always in need of individuals with a wide range of skills, and we invite you to participate in the development of Apache Subversion.

Mercurial

Mercurial is a fast, easy to use, distributed revision control tool for software developers.

Visual SourceSafe

Visual Source Safe 2005 is an easy-to-use solution for developers who want a simple way to manage changes to their source code.

Monotone

monotone is a free distributed version control system. It provides a simple, single-file transactional version store, with fully disconnected operation and an efficient peer-to-peer synchronization protocol. It understands history-sensitive merging, lightweight branches, integrated code review and 3rd party testing. It uses cryptographic version naming and client-side RSA certificates.

Bazaar

Bazaar is a version control system that helps you track project history over time and to collaborate easily with others. Whether you’re a single developer, a co-located team or a community of developers scattered across the world, Bazaar scales and adapts to meet your needs. Part of the GNU Project, Bazaar is free software sponsored by Canonical.

Perforce

Perforce Helix is the only version control system that supports both centralized and distributed workflows with enterprise-grade scalability.

SVN Subversion Principais Comandos

SVN Subversion Principais Comandos. Principais Comandos svn, aqui alguns comandos do Subversion. Para utilizado em ambiente Windows, é necessário que seja instalado o cliente Subversion em linha de comando. Na Bireme, é utilizado comumente o TortoiseSVN ao invés da linha de comando, quando se trabalha com Windows, o cliente por linha de comando precisa ser instalado separadamente.

SVN checkout

É utilizado para descarregar o código do projeto, mantendo o versionamento. Dessa forma, é possível manter o código atualizado, enviar novas atualizações, ver diferenças entre versões de arquivos, entre outras funcionalidades que podem ser encontradas no manual do Subversion.

No exemplo a seguir, é feito o checkout da versão do BVS-Site que está em desenvolvimento para uma pasta chamada bvs-trunk:

$ svn co svn://svn.reddes.bvsalud.org/bvs-site/bvs-site/trunk/ bvs-trunk

Revision keywords

HEAD A última (ou “mais recente”) revisão no repositório. (svn co svn://path -r HEAD)

BASE O número de revisão de um item em uma cópia de trabalho. Se o item tiver sido modificado localmente, a “versão BASE” refere-se à forma como o item estaria sem estas modificações locais. (svn log –revision BASE:HEAD)

COMMITED A revisão mais recente anterior, ou igual a, BASE, na qual o item foi modificado. (svn log –revision COMMITTED path)

PREV A revisão imediatamente anterior à última revisão na qual o item foi modificado. Tecnicamente, isto se resume a COMMITTED-1. (svn log –revision PREV path)

SVN update

É utilizado para atualizar o código fonte local com o código fonte existente no repositório do Subversion. O update pode ser realizado sobre arquivo ou diretórios. Caso feito sobre um diretório, serão atualizados também todos arquivos deste diretório e subdiretórios.

O seguinte comando atualiza o arquivo index.php em bvs-trunk/htdocs:

$ svn update bvs-trunk/htdocs/index.php

O seguinte comando atualiza toda a pasta do projeto:

$ svn update bvs-trunk

SVN add & del

São os comando usados para adicionar e excluir arquivos (respectivamente) no subversion.

$ svn add bvs-trunk/htdocs/info.php

ou

$ svn del bvs-trunk/htdocs/info.php

SVN commit

Quando se modifica arquivo e deseja-se que a moficação seja aplicada também no repositório, é utiliza o comando commit, que envia ao servidor todas as alterações ocorridas no código local. Caso feito sobre um diretório, serão enviados também todos arquivos deste diretório e subdiretórios que tenham alguma modificação, ou que tenha sido adicionado.

O seguinte comando envia o arquivo index.php em bvs-trunk/htdocs:

$ svn ci bvs-trunk/htdocs/index.php

O seguinte comando envia ao servidor todos os arquivos da pasta do projeto:

$ svn ci bvs-trunk -m “Uma mensagem para descrever este commit”

Pode ser preciso autenticação para para se enviar um arquivo para o repositório. Quando este for o caso, pode-se utilizar os parâmetros –username e –password. Assim, o comando acima ficaria da seguinte forma:

$ svn ci bvs-trunk --username=fabio --password=f4b1O -m "Descrição para do commit"

Para os que trabalham com o Trac, é possível ter a interação entre os tickets abertos e as mensagens escritas para o commit. Pode-se, por exemplo, fechar um ticket através de um commit. O exemplo a seguir fecha o ticket de número 3.

$ svn ci bvs-trunk -m "resolve *3"

SVN log

Para viasualizar o log de dos commits realizados asta usar os comandos:

$ svn log bvs-trunk/htdocs/index.php

SVN revert

Nem sempre se quer que as alterções feitas seja enviadas para o repositório. Existem casos que é desejado desfazer as alterações feitas localmente. Para isso se utiliza o comando revert, que como os anteriores, pode ser aplicado sobre arquivos ou pastas.

O seguinte comando reverte as alteraç?s do arquivo index.php em bvs-trunk/htdocs:

$ svn revert bvs-trunk/htdocs/index.php

O seguinte comando reverte as alterações de todos os arquivos da pasta do projeto:

$ svn revert --recursive bvs-trunk

Importante: Não é possível desfazer o revert. Depois de feito, todas as alterações são perdidas!
status

Lista todas as diferenças existentes entre o código fonte local e o existente no repositório. Maiores informações sobre o significado das abreviações presentes no resultado podem ser encontradas digitando o seguinte:

SVN help status

Mostra o estado do arquivo index.php em bvs-trunk/htdocs local, em relação ao servidor:

$ svn status bvs-trunk/htdocs/index.php

Lista o estado de todos arquivos e pastas locais em relação ao servidor:

$ svn status bvs-trunk

SVN diff

Exibe as diferenças dos arquivos modificados com os arquivos presente no repositório. Esta ferramenta pode ser usada para criar patches. Isto pode ser feito criando um arquivo contendo diferença de todos arquivos modificados no projeto, da seguinte forma:

$ svn diff htdocs/admin/editor.php > editor.patch

Após esse comando, vai ser gerado um arquivo com as diferenças entre o arquivo editor.php local e o editor.php do repositório. Para este caso, o conteúdo do arquivo gerado é o seguinte:

Index: htdocs/admin/editor/editor.php
===================================================================
--- htdocs/admin/editor/editor.php      (revisão 3110)
+++ htdocs/admin/editor/editor.php      (cópia de trabalho)
@@ -57,7 +57,7 @@
        

Este patch pode ser aplicado em outro local que também tenha o código fonte, de preferência versionado e sob mesma revisão, do BVS-Site. A aplicação pode ser feita da seguinte forma:

$ patch -p0 < editor.patch

Visualizar diferenças da copia local com uma revisão especifica:

$ svn diff htdocs/admin/editor.php --revision 10 > editor.patch

SVN propset

Este comando adiciona propriedades a arquivos e pastas versionados, para ajudar a gerenciar melhor os arquivos dentro da cópia local do código fonte.
svn:ignore

Diz ao Subversion não versionar arquivos com esta propriedade.

Faz com que nenhum arquivo adicionado em bases/site/rss seja versionado:

$ svn propset svn:ignore *
$ svn commit .

Retira arquivo bvs-site-conf.php do versionamento:

$ svn del bvs-trunk/htdocs/bvs-site-conf.php
$ svn propset svn:ignore bvs-trunk/htdocs/bvs-site-conf.php
$ svn commit bvs-trunk/htdocs

A propriedade é criada no escopo da pasta. Por isso faz-se commit da pasta e não do arquivo.
svn:mime-type

Esta propriedade é muito útil quando se usa o Trac. A maioria dos projetos da Bireme contém código e documentos escrito com o conjunto de caracteres ISO-8859-1. Quando estes documentos são vizualizados no Trac, acontecem alguns problema com acentos e caracteres especiais, pois o Trac assume que todo documento seja UTF-8 quando algo diferente não for especificado na propriedade svn:mime-type.

Diz ao SVN que o CHANGES.txt é um arquivo texto e com caracteres mapeados no ISO-8859-1.

$ svn propset svn:mime-type "text/plain;charset=iso-8859-1" bvs-trunk/CHANGES.txt

SVN info

Imprime informações dos arquivos locais.

$ svn info path

SVN import

Importa arquivos de um path local para o repositório.

$ svn import –m “message” local_path svn_path

SVN export

Exporta a arvore de diretórios.

$ svn export svn_path

Recupera a última versão do repositório sem os arquivos de controle de versão (.svn).

SVN list

Lista diretórios no repositório

$ svn list svn_path

Lista diretórios no repositorio (ls unix)

$ svn list --versobe svn_path

SVN blame

Mostra autor e revisão (annotate, praise e ann).

$ svn blame local_path

Mostra autor e revisão especificando a revisão.

$ svn blame --revision x local_path

SVN resolved

Remove os arquivos criados pelo repositório na existência de conflito.

svn resolved local_path

Outros sistemas de controle de versão:
Git (http://git-scm.com/) Linus Torvalds
Mercurial (http://www.selenic.com/mercurial/wiki/) Sun using for JDK
Bazaar (http://bazaar-vcs.org/)
Perforce (http://www.perforce.com/)
Monotone (http://www.venge.net/monotone/)
Visual SourceSafe (http://msdn.microsoft.com/en-us/vstudio/aa718670.aspx) Microsoft

SVN Guia rápido

Como grande apreciador e usuário há anos do SVN, não poderia deixar de dedicar um pequeno artigo sobre esta fantástica ferramenta de controle de versão, principalmente pela escassez de materais na Internet discutindo seus conceitos de forma pragmática.

Assim, resolvi aproveitar alguns materiais que eu havia escrito para utilização pelos times de desenvolvimento nos quais atuo, incrementei alguma coisinha aqui e acolá e preparei este estrambolicamente dupper master quase infinito artigo.

Para facilitar a leitura, o artigo está dividido em 7 partes:

Público alvo: comentários sobre a quem se destina a leitura deste artigo;
Controle de versão e SVN: o que é controle de versão e como o SVN se encaixa nesse paradigma;
Termos e conceitos básicos: conceitos básicos para entendimento do funcionamento e organização do SVN;
Boas práticas: breve manual de boas práticas na utilização do SVN;
Dicas de utilização: dicas diversas de utilização do SVN;
Ferramentas de apoio: algumas ferramentas interessantes para tornar o uso do SVN mais prático.
Ao infinito e além: costumeira lista de links interessantes.

Público alvo

O cerne deste artigo não é a discussão da utilização do SVN a partir de comandos ou questões técnicas da ferramenta. Para tal, há documentações, livros e artigos na rede muito completos sobre o tema. O público alvo deste artigo são utilizadores do SVN que já tenham familiaridade com suas idiossincrasias e que desejam um melhor entendimento do modelo organizacional da ferramenta e de como estruturar um processo em torno do SVN para tornar mais eficaz o gerenciamento do código-fonte de suas aplicações.
Controle de versão e SVN

Controle de versão é a arte de gerenciar mudanças em informações. Para programadores, é um paradigma obrigatório a ser seguido para assegurar a saúde do código-fonte, ainda mais em grandes equipes atuando cada qual em partes distintas de um projeto.
Back to the FutureVocê, desenvolvedor, também precisa de uma
máquina do tempo para seu código.

O Subversion, ou simplesmente SVN, é uma ferramenta de controle de versão muito poderosa que permite, além do desenvolvimento colaborativo a partir de um repositório único, merge de conteúdo, armazenamento de logs e geração de estatísticas diversas.

Atuando como a máquina do tempo do desenvolvedor, ferramentas com o SVN permitem retornar o código a um estado anterior, facilitando a análise implementações realizadas e a mesclagem de implementações distintas de períodos diferentes para a criação de uma única versão.

(Embora eu seja fãzaço e ávido partidário do SVN, tenho flertado nos últimos tempos com os ótimos Mercurial e GIT, os quais têm realmente me surpreendido e me feito repensar o uso do meu amado idolatrado salve salve SVN. Todavia, isso fica para outro artigo…)
Termos e conceitos básicos
TortoiseSVN Menu

Repositório
É o local aonde estão contidos todos os arquivos do projeto. É armazenado no banco de dados do SVN.
Working Copy
Literalmente, uma cópia de trabalho local na qual o desenvolvedor atua. É criada sempre que é feito checkout de algum projeto.
Checkout
Ato de fazer download de um projeto para a máquina local, de modo que seus arquivos estejam vinculados ao SVN e passíveis de manipulação. O projeto para o qual será feito o checkout deve existir no repositório.
Import
Ato de envio dos arquivos de um novo projeto para o repositório. Após o import, obrigatoriamente um checkout deve ser realizado para que a working copy seja vinculada ao SVN.
Export
Ato de obtenção de um projeto do repositório sem vinculação ao SVN.
Commit
Ato de envio das modificações realizadas localmente para o servidor SVN.
Update
Ato de obtenção das atualizações presentes do servidor SVN, atualizando a cópia local
Revision
Número que identifica cada uma das alterações ou conjunto de alterações realizadas em um repositório. Tal número é obtido a partir de uma sequência a qual é compartilhada por todos os diretórios do repositório.
HEAD
É a revisão mais recente do repositório
Diretórios especiais
Existem no SVN três diretórios especiais com funções bem definidas:

trunk: armazena a versão funcional mais recente de desenvolvimento.
branches: armazena versões de desenvolvimento paralelo oriundas do trunk, porém isoladas deste. Deve ser utilizado quando uma implementação trazer o risco de afetar a integridade do trunk.
tags: armazena etiquetas para facilitar a localização de revisões. Cada etiqueta possui um nome único que a identifica, sendo criada como um diretório, sempre através do trunk.

Branch/Tag
Refere-se à geração de branches ou tags a partir de um trunk ou geração de um branch a partir de uma tag ou outro branch.
Merge
Refere-se à mesclagem de revisões entre os diretórios especiais. Sempre deve ser realizada com a working copy apontando para o destino do merge.
Switch
Alteração do repositório utilizado por uma working copy. É realizada uma atualização ou mesclagem dos arquivos para assegurar que a working copy contenha exatamente o conteúdo do novo repositório mais quaisquer alterações locais.
Relocate
Realocação do endereço de um repositório. Apenas atualiza o endereço, sem realizar nenhum tipo de atualização nos arquivos.

Boas práticas

Toda revisão deve ser comentada para facilitar o entendimento das alterações realizadas.
O código no trunk deve sempre estar pronto para ser compilado e colocado em produção se necessário. Nesse sentido, uma ferramenta de Integração Contínua, como o CruiseControl, deve ser utilizada para a geração de builds de teste a cada commit e todas as noites ao longo da semana.
É dever de cada programador assegurar que seus commits não causem a quebra do build. Novamente uma ferramenta de Integração Contínua pode auxiliar nesta tarefa.
As alterações em um código-fonte devem ser submetidas ao repositório o mais rápido possível. Para tal, é recomendável a divisão das implementações em pequenos pacotes compiláveis e funcionais ou, ao menos, que não causem a quebra do build. Quanto mais tempo um arquivo mantém-se na máquina de um desenvolvedor em edição, mais difícil será sua mesclagem e maior será o risco de quebra de build.
Toda a quebra de build deve ser tratada com máxima prioridade no sentido de sua correção. Mais uma vez uma ferramenta de Integração Contínua pode auxiliar nesta tarefa.
Caso um build esteja quebrado, não se deve submeter alterações ao repositório até que o build seja novamente compilável. Isso assegura que todos os que realizarem updates terão sempre uma versão compilável e funcional oriunda do repositório.
O projeto no repositório deve conter quaisquer componentes e ferramentas necessárias para o funcionamento da aplicação na máquina do desenvolvedor.
Evitar o envio de alterações próximo do fim do expediente. Caso haja algum problema com o commit realizado, poderá não haver tempo para corrigi-lo naquele dia e o build poderá ficar quebrado por um longo período.
Todo e qualquer backup de versões deve ser mantido no repositório, preferencialmente como uma tag.

Dicas de utilização
Uso do trunk

O trunk sempre representa a última versão de desenvolvimento disponível. Nesse sentido, é aqui que ocorre a integração do projeto a partir de builds automatizados e é aqui que a versão funcional mais recente deve estar presente.

É do trunk também que os branches e tags devem ser gerados (embora branches possam ser gerados de tags e outros branches sem restrições técnicas). A ferramenta de revisão gráfica do TortoiseSVN (Revision Graph) permite visualizar os relacionamentos entre as pastas especiais a partir de diagramas.
Fluxo básico de atividades

O fluxo básico de atividades no repositório consiste na utilização do trunk como ponto principal de checkout para o desenvolvimento. Entretanto, quaisquer tarefas que possam causar grande impacto no trunk devem ser realizadas em um branch separado, o qual receberá as alterações do trunk ao longo do dia ou ao fim do dia para que este seja mantido atualizado.

Tags são utilizadas como backups e marcação de releases diversos do projeto.

Segue abaixo explanação da utilização do fluxo:
Diagrama do fluxo

Geração de backup da versão do trunk para marcação de um ponto de restauro rápido antes do início dos branches a partir da opção Branch/Tag (opcional);
Criação de branch para realização de nova implementação que pode impactar no trunk a partir da opção Branch/Tag;
Integração de alterações realizadas no trunk ao branch a partir da ferramenta de mesclagem Merge a Range of Revisions;
Criação de nova branch para realização de nova implementação que pode impactar no trunk a partir da opção Branch/Tag;
Conclusão do primeiro branch criado, ocorrendo a reintegração deste no trunk a partir da ferramenta de mesclagem Reintegrate a Branch e sua deleção;
Atualização da segunda branch criada com as atualizações recém realizadas no trunk a partir da ferramenta de mesclagem Merge a Range of Revisions;
Conclusão da segunda branch criada, ocorrendo a reintegração desta no trunk a partir da ferramenta de mesclagem Reintegrate a Branch e sua deleção;
Geração de etiqueta de release da versão do trunk a partir da opção Branch/Tag.

Fluxo básico de atuação em projeto fechado

Quando em atuação em projetos fechados de customização a um cliente, tem-se comumente uma única versão da aplicação em produção, além de outras em ambientes diversos, como por exemplo homologação e testes.

Neste caso, o fluxo básico de atividades também é utilizado. Entretanto, a cada release gerado, além da tag é criado um branch que representa a versão criada. Assim, tem-se no trunk a última versão de desenvolvimento e, em branches separados, cada uma das versões implantadas em ambientes diversos.

Dessa forma, pode-se prestar manutenção às versões presentes em cada um dos ambientes da aplicação de forma simples. Toda vez que uma nova versão de um determinado ambiente é gerado, o branch anterior para tal ambiente é excluído.

Neste fluxo, sempre se espera que todas as revisões do trunk anteriores ao release façam parte deste, não havendo seleção de revisões na concepção de releases.

Segue abaixo explanação da utilização do fluxo:
Diagrama do fluxo

Geração de backup da versão do trunk para marcação de um ponto de restauro rápido antes do início dos branches a partir da opção Branch/Tag/ (opcional);
Criação de branch para realização de nova implementação que pode impactar no trunk a partir da opção Branch/Tag;
Integração de alterações realizadas no trunk ao branch a partir da ferramenta de mesclagem Merge a Range of Revisions;
Conclusão do primeiro branch criada, ocorrendo a reintegração deste no trunk a partir da ferramenta de mesclagem Reintegrate a Branch e sua deleção;
Geração de etiqueta de release da versão do trunk a partir da opção Branch/Tag;
Criação de branch para o release recém gerado a partir da opção Branch/Tag;
Mesclagem das alterações realizadas no branch do release ao trunk a partir da ferramenta de mesclagem Reintegrate a Branch. Tal branch se manterá ativo enquanto a versão que o representa estiver em utilização.

Fluxo de atuação em projeto fechado com mesclagem de revisões

A exemplo do Fluxo básico de atuação em projeto fechado, neste fluxo também se considera que há apenas uma única versão da aplicação em produção, além de outras em ambientes diversos, como por exemplo homologação e testes.

Nesta técnica, o fluxo básico de atividades também é utilizado. Entretanto, a cada release gerado, é criado primeiramente um branch baseado em uma tag anterior de ambiente, no qual ocorre mesclagem de revisões do trunk, para que somente após o commit de tal branch seja criada uma nova tag de release que aponte para tal branch (o qual, por sua vez, aponta para o trunk).

Assim, tem-se no trunk a última versão de desenvolvimento e, em branches separados, cada uma das versões implantadas em ambientes diversos, sendo que tais versões, embora venham do trunk, são geradas sempre a partir de tags de versões ante
rios, mantendo dessa forma a seleção de revisões realizada.

Dessa forma, pode-se prestar manutenção às versões presentes em cada um dos ambientes da aplicação de forma simples, além da geração de releases baseados em determinadas revisões do trunk.

Toda vez que uma nova versão de um determinado ambiente é gerado, o branch anterior para tal ambiente é excluído.

Segue abaixo explanação da utilização do fluxo:
Diagrama do fluxo

Considerando-se importação inicial do repositório, deve-se inicialmente criar-se uma tag de release para algum dos ambientes, a qual servirá de base para geração do branch do ambiente com o qual a tag se relaciona a partir da opção Branch/Tag;
Criação de branch para a tag do release recém criado a partir da opção Branch/Tag. Tal branch se mantém ativo enquanto a versão que o representa estiver em utilização.
Criação de feature branch para realização de nova implementação que pode impactar no trunk a partir da opção Branch/Tag. O uso desse tipo de branch deve ser avaliado com cautela. O trunk deve sempre ser a versão mais recente de desenvolvimento;
Integração de alterações realizadas no trunk ao feature branch a partir da ferramenta de mesclagem Merge a Range of Revisions;
Conclusão do feature branch criado, ocorrendo a reintegração deste no trunk a partir da ferramenta de mesclagem Reintegrate a Branch e sua deleção;
Reintegração de correções de bugs realizadas no branch do release atual de algum dos ambientes ao trunk a partir da ferramenta de mesclagem Reintegrate a Branch;
Exclusão do branch de algum dos ambientes por conta de nova versão a ser criada para tal ambiente;
Criação de nova branch para o ambiente a ter a nova versão disponibilizada a partir da tag do último release do ambiente desejado utilizando-se da opção Branch/Tag;
Mesclagem de revisões do trunk na nova branch de release a partir da ferramenta de mesclagem Merge a Range of Revisions e posterior commit destas alterações na própria branch;
Geração de etiqueta de release da versão criada a partir do novo branch utilizando-se da opção Branch/Tag;
Mesclagem das alterações realizadas no branch do release ao trunk a partir da ferramenta de mesclagem Reintegrate a Branch. Tal branch se manterá ativo enquanto a versão que o representa estiver em utilização.

Fluxo de atuação em projeto fechado com múltiplos branches

Tal fluxo é uma derivação do Fluxo básico de atuação em projeto fechado. Diferente daquele, neste todas as alterações sempre são realizadas em branches que posteriormente são reintegrados ao trunk. Quaisquer versões a serem geradas (produção, homologação, teste, etc.) são criadas a partir de merge de revisões a partir do trunk sobre o próprio trunk ou de branches sobre o trunk, com posterior geração de novas branches e tag para tal versão.

Neste fluxo, o trunk é utilizado como a versão mais completa da aplicação, contendo todas as implementações já realizadas em branches separados.

O uso dos branches se dá para facilitar a divisão de tarefas e organização das alterações, de modo que solicitações descartadas sejam facilmente ignoradas e não reintegradas ao trunk.

Segue abaixo explanação da utilização do fluxo:
Diagrama do fluxo

Geração de backup da versão do trunk para marcação de um ponto de restauro rápido antes do início dos branches a partir da opção Branch/Tag (opcional);
Criação de branches para realização de novas implementaões a partir da opção Branch/Tag. Como o trunk possui todas as implementações já realizadas, tais branches devem ser criados com base em revisões específicas do trunk que contenham apenas as implementações desejadas;
Integração de alterações realizadas no trunk aos branches a partir da ferramenta de mesclagem Merge a Range of Revisions (opcional – diferente dos fluxos anteriores, a obtenção das últimas alterações pode não ser necessária, uma vez que um branch pode referir-se a uma revisão específica e não necessariamente à última versão presente no trunk);
Conclusão dos branches criados, ocorrendo a reintegração destes no trunk a partir da ferramenta de mesclagem Reintegrate a Branch e posterior deleção;
Geração de release a partir do trunk. Neste fluxo, a geração de release ocorre mesclando-se revisões do trunk em uma working copy de uma revisão específica (não necessariamente a mais recente) do próprio trunk ou dos branches. Assim, pode-se escolher exatamente quais revisões entrarão em uma release, assegurando pleno gerenciamento da montagem de uma versão. A criação do branch é feita a partir da opção Branch/Tag;
Geração de etiqueta de release a partir do branch recém gerado através da opção Branch/Tag;
Mesclagem das alterações realizadas no branch do release ao trunk a partir da ferramenta de mesclagem Reintegrate a Branch. Tal branch sempre estará disponível, não sendo excluído do repositório.

Adobe Experience Manager CQ5 CMS Java

Adobe Experience Manager CQ5. É um CMS todo-redonda que oferece todos os tipos da agilidade e da flexibilidade que uma organização pode querer. Ele ajuda a oferecer uma experiência única ao cliente, oferecendo conteúdo diferente em canais diferentes.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Adobe Experience Manager CQ5 Acesse a página para conhecer mais sobre este JAVA CMS: http://www.adobe.com/solutions/web-experience-management.html

CMS Adobe Experience Manager / CQ5

Adobe Experience Manager / CQ5 Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Adobe Experience Manager / CQ5,CMS Java, best java cms, melhores cms java
Adobe Experience Manager / CQ5

Escenic CMS Java

Escenic. Os clientes de escenic incluem News of the World, The Sun, The Times, os títulos independentes. É uma estrutura Java de código fechado.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Escenic Acesse a página para conhecer mais sobre este JAVA CMS: http://www.escenic.com/

CMS Escenic

Escenic Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Escenic,CMS Java, best java cms, melhores cms java
Escenic

Ambos Atex e Escenic são encontrados para ser altamente popular na Suécia. Alguns dos maiores sites da Suécia usam esses dois CMS. Idg.se usa Atex e Aftonbladet.se usa Escenic

Atex CMS Java

Atex. Atex é um web CMS que usa polopoly tecnologia para entregar conteúdo. Como por reivindicações, é a única indústria líder CMS com construído em paywall.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Atex Acesse a página para conhecer mais sobre este JAVA CMS: http://www.atex.com/

CMS Atex

Atex Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Atex,CMS Java, best java cms, melhores cms java
Atex

A Atex é novamente um dos CMS premium que oferece soluções incríveis para o gerenciamento de sites e ajuda os profissionais de marketing a entregar o conteúdo certo para públicos relevantes. Tem rico conjunto de clientela.

XperienCentral CMS Java

XperienCentral. Xperien central é atualmente o único CMS que oferece conteúdo exclusivo para um visitante como por sua viagem anterior, para que você possa adaptar o conteúdo para aumentar a conversão.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

XperienCentral Acesse a página para conhecer mais sobre este JAVA CMS: http://www.xperiencentral.com/

CMS XperienCentral

XperienCentral Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

XperienCentral,CMS Java, best java cms, melhores cms java
XperienCentral

Ele oferece multi-canal de entrega de conteúdo através do site, canais móveis de mídia social e aplicações. Ele é construído em Java e, portanto, é extremamente escalável e ágil.

Nuxeo CMS Java

Nuxeo. Nuxeno é um poderoso CMS de código aberto construído em arquitetura baseada em Java. Ele oferece soluções relacionadas ao gerenciamento de documentos, gerenciamento de casos e gerenciamento de ativos digitais. É livre de licenciamento gratuito, mas não os custos quando chegar a ajuda de suporte e manutenção.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Nuxeo Acesse a página para conhecer mais sobre este JAVA CMS: http://www.nuxeo.com/en

CMS Nuxeo

Nuxeo Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Nuxeo,CMS Java, best java cms, melhores cms java
Nuxeo

Ele tem fortes grupos de clientes, incluindo a Electronic Arts, Marinha dos EUA e como afirmado no site da empresa, ele tem sido usado em mais de 145 países em milhares de organizações.

Weceem CMS Java

Weceem. Weceem é ainda outro sistema de gerenciamento de conteúdo de código aberto, improvável outro CMS é construído sobre grails Java-estrutura conhecida, primavera e Java em si. Weceem tem garner opiniões positivas e é um CMS ideal quando se trata de grails, mas enfrenta a dura concorrência na categoria Java CMS melhor.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Weceem Acesse a página para conhecer mais sobre este JAVA CMS: http://www.weceem.org/

CMS Weceem

Weceem Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Weceem,CMS Java, best java cms, melhores cms java
Weceem

Encontrei uma discussão do LinkedIn que foi o suficiente para colocar esse CMS na lista Melhor Java CMS.

AtLeap CMS Java

AtLeap. Atleap é um CMS multilíngüe baseado em Java que oferece assistência incrível entrega de conteúdo com SEO e funcionalidades de pesquisa de texto completo. AtLeap, um produto da Blandware, não é apenas um CMS, mas um framework altamente robusto para o desenvolvimento de aplicações web e web

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

AtLeap Acesse a página para conhecer mais sobre este JAVA CMS: http://atleap.dev.java.net/

CMS AtLeap

AtLeap Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

AtLeap,CMS Java, best java cms, melhores cms java
AtLeap

OpenEdit CMS Java

OpenEdit. OpenEdit CMS é uma ferramenta dinâmica para gerenciar o conteúdo do site com recursos de edição on-line. Construído em arquitetura de código aberto, o OpenEdit fornece recursos como gerenciador de usuários, gerenciador de arquivos, controle de versão e ferramentas de notificação para o gerenciamento de sites ricos em mídia.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

OpenEdit Acesse a página para conhecer mais sobre este JAVA CMS: http://www.openedit.org/

CMS OpenEdit

OpenEdit Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

OpenEdit,CMS Java, best java cms, melhores cms java
OpenEdit

O OpenCMS possui plugins de nível empresarial como eCommerce, Content Management, Blog, Calendário de Eventos, Ferramentas de Rede Social e muito mais.

InfoGlue CMS Java

InfoGlue. InfoGlue novamente é um CMS baseado em Java que é conhecido por sua avançada, escalável e robusta arquitetura open-source. É um CMS altamente flexível construído em JSR-168 e vem com suporte multi-idioma completo, excelente reutilização de informação e capacidades de alta integração.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

InfoGlue Acesse a página para conhecer mais sobre este JAVA CMS: http://www.infoglue.org/

CMS InfoGlue

InfoGlue Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

InfoGlue,CMS Java, best java cms, melhores cms java
InfoGlue

Contelligent CMS Java

Contelligent. Contelligent é outra solução inteligente de CMS oferecida sob a pilha de tecnologia Java. É totalmente compatível com o J2EE e oferece uma excelente solução para criar e gerenciar sites personalizados.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Contelligent Acesse a página para conhecer mais sobre este JAVA CMS: http://www.contelligent.com/contell/cms/c1web/contelligent/site/index.html

CMS Contelligent

Contelligent Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Contelligent,CMS Java, best java cms, melhores cms java
Contelligent

Apache Lenya CMS Java

Apache Lenya. O Apache Lenya é outro de código aberto que possui controle de revisão, gerenciamento de vários sites, programação, pesquisa, editores WYSIWYG e fluxo de trabalho, o que torna o desenvolvimento e o gerenciamento de sites bastante interessante e fácil para desenvolvedores.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Apache Lenya Acesse a página para conhecer mais sobre este JAVA CMS: https://lenya.apache.org/

CMS Apache Lenya

Apache Lenya Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Apache Lenya,CMS Java, best java cms, melhores cms java
Apache Lenya

Disponível em uma variedade de línguas, Apache Lenya é CMS altamente preferido entre as empresas que desejam desenvolver websites multilíngues.

Hipo CMS Java

Hipo. Hippo é novamente um CMS open-source poderoso feito em Java que apresenta recursos de nível empresarial que ajuda na entrega de sites e canais personalizados.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Hipo Acesse a página para conhecer mais sobre este JAVA CMS: http://www.onehippo.org/7_8

CMS Hipo

Hipo Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Hipo,CMS Java, best java cms, melhores cms java
Hipo

Hippo esboça seu concorrente, oferecendo excelente experiência ao cliente através de soluções inovadoras. Hippo percorreu um longo caminho desde 1999 servindo de médio a grandes organizações, oferecendo uma plataforma de distribuição de conteúdo multicanal personalizada, incluindo site, celular, tablet, extranets e intranets.

Sua atualização de versão principal foi em dezembro de 2012 e desde então ele está vendo pequenas atualizações a cada dois meses.

Jease CMS Java

Jease. Jease altamente conhecido como ‘Java com facilidade’ é outro sistema de gerenciamento de conteúdo de código aberto que é construído em tecnologias Java populares como db 40, Prest, Lucence e ZK.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Jease Acesse a página para conhecer mais sobre este JAVA CMS: http://www.jease.org/

CMS Jease

Jease Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Jease,CMS Java, best java cms, melhores cms java
Jease

É um CMS extremamente leve com excelente interface Ajax. Devido à sua interface intuitiva e interativa, é altamente simples e fácil de personalizar e implantar websites em Jease mesmo para desenvolvedores Java inexperientes.

DotCMS CMS Java

DotCMS. DotCMS é um CMS de empresa de próxima geração que usa um chapéu de código aberto. É altamente popular e amplamente utilizado CMS devido a suas APIs abertas, arquitetura extensível e escalável que ele usado para criar sites personalizados e atraentes, intranets, extranets e aplicações com facilidade.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

DotCMS Acesse a página para conhecer mais sobre este JAVA CMS: http://dotcms.com/

CMS DotCMS

DotCMS Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

DotCMS,CMS Java, best java cms, melhores cms java
DotCMS

Liferay CMS Java

Liferay. Liferay é um dos CMS mais populares baseados em Java, e é recomendado por muitos especialistas da indústria. Ele vem com recursos incríveis que podem tornar suas tarefas de gerenciamento de conteúdo simples.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Liferay Acesse a página para conhecer mais sobre este JAVA CMS: http://www.liferay.com/

CMS Liferay

Liferay Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Liferay,CMS Java, best java cms, melhores cms java
Liferay

Liferay é um muito popular para o desenvolvimento pessoal, bem como sites profissionais com facilidade.

MeshCMS CMS Java

MeshCMS. MeshCMS é um fácil de usar on-line sistema de edição escrito em Java. Ele vem com uma série de recursos que você vai encontrar em qualquer sistema de gerenciamento de conteúdo ideal no entanto, ele usa uma abordagem convencional na gestão e edição de conteúdo do site.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

MeshCMS Acesse a página para conhecer mais sobre este JAVA CMS: http://sourceforge.net/projects/meshcms/

CMS MeshCMS

MeshCMS Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

MeshCMS,CMS Java, best java cms, melhores cms java
MeshCMS

É considerado um dos mais rápidos CMS para editar arquivos on-line, gerenciar arquivos e construir alguns componentes muito comuns como menus, breadcrumbs, formulários de correio e assim por diante.

O MeshCMS é acompanhado por recursos de navegador cruzado, um editor WYSIWYG, prevenção de hot-linking e tag-library que torna o gerenciamento de conteúdo um assunto interessante.

Pulse CMS Java

Pulse. O Pulse é uma estrutura baseada em Java e uma solução de portal que oferece padrões fáceis de usar e extensíveis para a criação de aplicativos Web de navegador ricos e websites responsivos. Ele traz um monte de componentes inovadores e poderosos, incluindo gerenciamento de conteúdo, lojas na web, gerenciamento de usuários e muito mais.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Pulse Acesse a página para conhecer mais sobre este JAVA CMS: http://pulse.torweg.org/site/Pulsar/en_US.CMS.displayCMS.13./pulse—the-java-web-application-framework

CMS Pulse

Pulse Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Pulse,CMS Java, best java cms, melhores cms java
Pulse

Algumas de suas principais características incluem um sistema de arquivos virtual baseado em WebDAV para gerenciamento de ativos digitais, gerenciamento de usuários e papéis maduros, internacionalização interna e muito mais.

Walrus CMS Java

Walrus. A Walrus é mais um CMS baseado em Spring que oferece capacidades de gerenciamento de conteúdo únicas e eficazes com uma interface administrativa inteligente e instalações de arrastar e soltar.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Walrus Acesse a página para conhecer mais sobre este JAVA CMS: Xhttp://walrus.lt/

CMS Walrus

Walrus Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Walrus,CMS Java, best java cms, melhores cms java
Walrus

Fácil de configurar e desfazer/refazer características tornam Walrus altamente recomendado e adequado CMS para o governo e empresas sem fins lucrativos.

OpenCMS CMS Java

OpenCMS. O OpenCMS baseia-se na tecnologia Java e XML que lhe permite criar sites e portais altamente personalizáveis ​​e interativos. Ele vem integrado com um editor WYSIWYG e mecanismo de modelo completo, que é totalmente compatível com os padrões do W3C.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

OpenCMS Acesse a página para conhecer mais sobre este JAVA CMS: http://www.opencms.org/en/index.html

CMS OpenCMS

OpenCMS Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

OpenCMS,CMS Java, best java cms, melhores cms java
OpenCMS

O OpenCMS pode ser implantado tanto em um ambiente de código aberto (Linux, Apache, Tomcat, MySQL) quanto em um ambiente comercial (Windows NT, IIS, BEA Weblogic, Oracle)

Asbru CMS Java

Asbru. O Asbru é outro sistema de gerenciamento de conteúdo poderoso, com todas as características e fácil de usar, com recursos baseados em banco de dados. Ele é construído sobre o framework Spring com módulos integrados de comunidade, bancos de dados, eCommerce e estatísticas, que ajuda os desenvolvedores a criar, publicar e gerenciar sites de internet, extranet e intranet ricos e amigáveis ​​em qualquer lugar.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Asbru Acesse a página para conhecer mais sobre este JAVA CMS: http://wcm.asbrusoft.com/

CMS Asbru

Asbru Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Asbru,CMS Java, best java cms, melhores cms java
Asbru

Disponível em várias edições, a Asbru fornece aos usuários uma plataforma simples e amigável para gerenciar sites, além de uma série de outros benefícios e recursos, como modelos e dados personalizados, conteúdo protegido por senha, conteúdo multilíngüe, comunidades, eCommerce e análise de sites. , Um editor de conteúdo WYSIWYG de ponta e muito mais.

LogicalDOC CMS Java

LogicalDOC. Embora menos conhecido do que outros softwares como Alfresco, LogicalDOC está emergindo como uma alternativa poderosa e mais acessível. Com foco principal no Gerenciamento de Documentos, oferece recursos muito interessantes de gerenciamento de conteúdo, gerenciamento de conhecimento e colaboração, e tudo isso de uma maneira realmente eficiente.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

LogicalDOC Acesse a página para conhecer mais sobre este JAVA CMS: http://logicaldoc.com/

CMS LogicalDOC

LogicalDOC Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

LogicalDOC,CMS Java, best java cms, melhores cms java
LogicalDOC

Um aspecto peculiar da interface é o uso do Google GWT, o que torna a interface do usuário muito ágil enquanto a transferência de dados com o servidor é mínima. Também a disponibilidade de Aplicativos Livres para Android e dispositivos Apple (iPhone e iPad) é uma característica interessante.

Magnólia CMS Java

Magnólia. A Magnolia é um CMS de código aberto de qualidade empresarial bem documentado e fácil de usar, baseado no Java Content Repository Standard. É um CMS altamente popular devido à sua funcionalidade out-of-the-box e facilidade de uso sob uma licença de código aberto. Além disso, a Magnolia suporta recursos exclusivos de entrega de conteúdo em um mecanismo de pesquisa otimizado e também segue os padrões do W3C.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Magnólia Acesse a página para conhecer mais sobre este JAVA CMS: http://www.cygnet-infotech.com/exploring-magnolia-cms-an-exclusive-coverage

CMS Magnólia

Magnólia Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Magnólia,CMS Java, best java cms, melhores cms java
Magnólia

A Magnolia CMS foi implantada por empresas e governos em mais de 100 países em todo o mundo. Aqui está um estudo de caso sobre o desenvolvimento de sites baseados em Magnolia

Alfresco CMS Java

Alfresco. O Alfresco é um dos principais sistemas de gerenciamento de conteúdo de código aberto do Java. Ele vem com recursos de repositório e portlet corporativos, juntamente com gerenciamento de documentos, colaboração, gerenciamento de registros, gerenciamento de conhecimento, gerenciamento de conteúdo da Web, criação de imagens e muito mais.

Resolvi publicar uma secção de CMS (Content Management System) compatível com a Linguagem Java. A maioria destes gerendiadores de sites não são open source e gratuitos, contudo atendem as espectativas dos amantes desta linguagem.

Alfresco Acesse a página para conhecer mais sobre este JAVA CMS: http://www.cygnet-infotech.com/whitepaper-grails

CMS Alfresco

Alfresco Um sistema gerenciador de conteúdo web ou CMS (Content Management System), é um programa para criação de sites, oferecendo ferramentas variadas para publicar os conteúdo. Os mais famosos são WordPress, Joomla e Drupal. O apresentado neste artigo é compatível com Java.

Alfresco,CMS Java, best java cms, melhores cms java
Alfresco

A Alfresco possui uma arquitetura modular e permite que os usuários finais gerenciem de forma eficiente sites em ambientes cloud, móveis, híbridos e locais usando tecnologias Java de código aberto, como Spring, Hibernate, Lucene e JSF.