| Ter, 02 de Fevereiro de 2010 15:08 |
Este artigo trata de como integrar o Mantis, um bug tracker popular, com o SVN. O objetivo é automatizar a atualização de issues no mantis a partir de commits de alterações pelo SVN. Basicamente, deseja-se eliminar a atividade adicional de logar no mantis para marcar uma issue como "RESOLVED" após a conclusão da etapa de codificação. Assume-se que você já tem o Mantis e o SVN instalados e funcionando adequadamente de modo isolado. Caso ainda não tenha, procure por tutoriais na net sobre como instalá-los. Outra premissa é que você está trabalhando em um servidor Linux. Em ambientes (ergh) Windows o procedimento pode ser diferente, não sei e não me pergunte... :) Antes de mais nada, devo citar os devidos créditos. Quase tudo que fiz aqui veio do tutorial encontrado em http://www.grafxsoftware.com/option.php/182. Apenas fiz algumas atualizações, como por exemplo arquivos que mudaram de lugar, etc. Bom, o primeiro passo é criar um usuário no Mantis para ser usado pelo script. Você pode criar um usuário chamado "svn", por exemplo. É importante que ele tenha permissão nos seus projetos de alterar o status de issues. Coloque-o como "developer" que tudo vai ficar bem. A regra fundamental é a exigência de um pequeno padrão de texto nos comentários dos commits no SVN. Sempre que você (ou o programador) referenciar a issue no texto de comentário, esse texto será adicionado como uma nota no registro da issue no Mantis. Para isso, basta que o texto contenha um padrão do tipo: - issue #4 ou - bug #00456 Então, se o comentário for algo do tipo: "Corrigido caminhos relativos. Alteração referente a issue #5647", esse texto será adicionado como nota no registro da issue número 5647 no Mantis. E, se o texto contenha um padrão do tipo: - fixes issue #5466 ou - fixed issue #5466 ou ainda - fixed bug #5466 a issue terá seu status alterado, além da incorporação do texto como nota. O status irá para RESOLVED e a resolution para FIXED. É claro que você poderá mudar no código o status final que deseja, ou até mesmo o padrão de texto a ser procurado, colocando em Português, por exemplo. Vamos lá. Vá para o diretório onde você tem o Mantis instalado. A partir de agora vou me referir a ele como MANTIS_PATH, pois cada um tem o seu e não mostra pra ninguém (sim, que nem aquilo). Neste diretório, abra, com seu vi preferido, o arquivo de configuração do Mantis, chamadoconfig_inc.php e inclua o código abaixo após as linhas de código já existentes. Obviamente antes do delimitador de código final, o famoso "?>". Clique no link abaixo para ver o código. Feito isso, você já pode testar o funcionamento do casamento de padrão. Embaixo de MANTIS_PATH, tem um subdiretório chamado scripts. Nele vamos encontrar um... script!!!... que podemos usar para testar essa parte da integração. Ah, mas antes disso, é claro que você tem que criar (reportar) uma issue de teste no Mantis. Memorize seu número. Criada a issue, no shell, dentro do subdir scripts, execute o comando abaixo, trocando o número 4 pelo número da sua issue de teste. /usr/bin/php checkin.php <<< "hlbog fixed issue #4" Funcionou? Excelente. Agora a última parte. Aqui precisamos fazer com que uma operação de commit no SVN chame automagicamente o script de checkin que acabamos de executar manualmente. Pra isso temos os gloriosos hooks! Fácil. Vá para o diretório do seu repositório SVN, no servidor mesmo, não é na sua cópia de trabalho local. Neste local tem um subdiretório chamado hooks, e lá vários arquivos com extensão tmpl, que são scripts de exemplo que vem na instalação do SVN. Mas você irá criar seu próprio arquivos chamado post-commit. Isso mesmo, sem extensão nenhuma. O conteúdo desse arquivo será: Clique no link abaixo para ver o código. Repare que você deve colocar o caminho para o SEU Mantis no código. Altere a permissão do arquivo para execução: chmod 550 post-commit And... we're done! good coding. -- Helder Garcia |
Retirado de : http://www.sounerd.com.br/index.php/section-blog/80-Desenvolvimento/351-integracao-mantis-e-svn.html |
sexta-feira, 18 de fevereiro de 2011
integracao mantis e svn
quinta-feira, 17 de fevereiro de 2011
Guia de Referência CSS 2.1
| Padrão | Significado | Exemplo CSS | Exemplo (X)HTML |
|---|---|---|---|
* | Seletor universal: qualquer elemento | * {
| Aplicável a todos os elementos |
e | Seletor de tipo de elemento: seleciona qualquer elemento | e {
| |
e f | Seletor contextual:seleciona qualquer elemento | h1 em {
| |
e > f | Seletor de elementos-filho: seleciona qualquer elemento | body > p {
| |
e + f | Seletor adjacente: seleciona o elemento | h1 + h2 {
| |
e.classe | Seletor de classe: seleciona o(s) elemento(s) | h1.pastoral {
| |
e#Id | Seletor de ID: seleciona o elemento | h1#chapter1 {
| |
e , f | Agrupamento de seletores: Seleciona os elementos | h1, h2 {
| |
e [atrib] | Seletor de Atributo: seleciona o elemento | h1[title] {
| |
e [atrib="valor"] | Seletor de Atributo: seleciona o elemento | span[class=exemplo] {
| |
e [atrib~="valor"] | Seletor de Atributo: seleciona o elemento | a[rel~="copyright"]{
| … |
e [atrib|="val"] | Seletor de Atributo: seleciona o elemento | *[lang|="pt"] {
| |
e:first-child | Pseudo-classe primeiro filho: seleciona o primeiro elemento | div > p:first-child {
| |
a:link | Pseudo-classe link: aplica-se ao elemento com hiperlinks ou âncoras ainda não visitados | a:link {
| link |
a:visited | Pseudo-classe visited: aplica-se ao elemento com hiperlinks ou âncoras já visitados | a:visited {
| link |
e:active | Pseudo-classe active: aplica-se ao elemento | a:active {
| link |
e:hover | Pseudo-classe hover: aplica-se ao elemento | a:hover {
| link |
e:focus | Pseudo-classe focus: aplica-se ao elemento | a:focus {
| link |
e:lang(val) | Pseudo-classe lang: aplica-se ao elemento | html:lang(pt) {quotes: '« ' ' »'; } | |
e:first-line | Pseudo-elemento first-line: aplica-se à primera linha do elemento | p:first-line {
| |
e:first-letter | Pseudo-elemento first-letter: aplica-se à primera letra do elemento | p:first-letter {
| |
e:before | Pseudo-elemento before: aplica conteúdo especificado em posição anterior ao elemento | e:before {
| |
e:after | Pseudo-elemento after: aplica conteúdo especificado em posição posterior ao elemento |
| |
Notação
| Padrão | Descrição |
|---|---|
a b | a seguido de b |
( a b ) | a e b agrupados |
[ a | b ] | a ou b |
[ a || b ] | a ou b ou ambos |
a? | a é opcional |
a* | Zero ou vários a |
a+ | Um ou vários a |
a {n, m} | a no mínimo n vezes e máximo m |
Tipos de mídia
| Nome | Mídia |
|---|---|
all | Todos os dispositivos |
braille | Dispositivos táteis braille |
embossed | Impresoras braille |
handheld | Dispositivos manuais/portáteis (tela pequena, monocromática, gráficos bitmap, banda limitada) |
print | Impresso, material opaco e documentos visualizados na tela em modo de impressão |
projection | Projetores |
screen | Telas de computador |
speech | Sintetizadores de voz. Similar a "aural" |
tty | Mídias que utilizam caracteres de tamanho fixo, como terminais ou dispositivos portáteis com capacidades limitadas de tela |
tv | Televisores |
Sintaxe
@import "folha.css" tipo-midia; |
/* Comentários */ |
@media tipo-midia {
|
Unidades
Unidades de tamanho relativas
| Unidade | Descrição |
|---|---|
px | Tamanho em pixels (relativo ao dispositivo) |
em | Tamanho relativo à fonte utilizada no elemento ao qual está inserido |
ex | Correspondente à altura da fonte 'x’ |
Unidades de tamanho absolutas
| Unidade | Descrição |
|---|---|
in | Polegadas (1polegada = 2.54 cm) |
cm | Centímetros |
mm | Milímetros |
pt | Pontos (1pt = 1/72 polegadas) |
pc | Picas (1pica = 12 pontos) |
Porcentagem
| Unidade | Descrição |
|---|---|
% | Porcentagem |
0 | Valor '0' não requer atribuição de unidade |
Representação de cores
| Unidade | Descrição |
|---|---|
#RRGGBB | Cor RGB (6 valores hexadecimais) |
#RGB | Notação simplificada (#RGB = #RRGGBB) |
rgb(R,G,B) | Cor RGB (3 valores de 0 a 255) |
rgb(R%,G%,B%) | Cor RGB (3 valores percentuais) |
Modelo de caixa

Bordas
| Propriedade | Descrição | Valores | Descrição |
|---|---|---|---|
border-top-width
| Largura das bordas em cada um dos quatro lados: superior, direito, inferior e esquerdo | [ thin | medium | thick | | thin: espessura fina
medium: espessura média thick: espessura grossa Exemplo: e {border-bottom-width: medium; } |
border-width | Atalho para definir de uma só vez larguras de bordas para todos os lados | [ thin | medium | thick | | Exemplos:
Bordas superior e inferior com espessura 'thin', bordas direita e esquerda com espessura 'thick':
Borda superior com espessura 'thin', bordas direita e esquerda com espessura 'thick', borda inferior com espessura 'medium':
Borda superior com espessura 'thin', borda direita com espessura 'thick', borda inferior com espessura 'medium', borda esquerda com espessura 'thin':
|
border-top-color
| Cor das bordas em cada um dos quatro lados: superior, direito, inferior e esquerdo | [ | Exemplo:
|
border-color | Atalho para definir de uma só vez cores de bordas para todos os lados | [ | Exemplos:
Bordas superior e inferior com a cor 'black', bordas direita e esquerda com a cor 'silver':
Borda superior com a cor 'black', bordas direita e esquerda com a cor 'silver', borda inferior com a cor 'gray':
Borda superior com a cor 'black', borda direita com a cor 'silver', borda inferior com a cor 'gray', borda esquerda com a cor 'white':
|
border-top-style
| Estilo de bordas em cada um dos quatro lados: superior, direito, inferior e esquerdo | [ none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset ] | none: nenhuma borda (largura computada como zero)
Exemplo:
|
border-style | Atalho para definir de uma só vez estilos de bordas para todos os lados | [ none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset ] {1,4} | Exemplos: Todas as bordas com estilo 'solid':
e {border-style: solid;}
Bordas superior e inferior com estilo 'solid', bordas direita e esquerda com estilo 'dotted': e {border-style: solid dotted;}
Borda superior com estilo 'solid', bordas direita e esquerda com estilo 'dotted', borda inferior com o estilo 'dashed': e {border-color: solid dotted dashed; }
Borda superior com estilo 'solid', borda direita com estilo 'dotted', borda inferior com estilo 'dashed', borda esquerda com o estilo 'double': e {border-color: solid dotted dashed double; } |
border-top
| Atalho para definir largura, estilo e cor das bordas superior, direita, inferior ou esquerda | [ | Exemplo:
e {border-bottom: thick solid red;} |
border | Atalho para largura, estilo e cor das quatro bordas | [ | Exemplo:
e {border: thick solid red;} |
Obs.: Valores em negrito são os adotados como padrão
Margens
| Propriedade | Descrição | Valores | Descrição |
|---|---|---|---|
margin-top
| Tamaho da margem para cada um dos lados: superior, direito, inferior e esquerdo | [ | Exemplo:
body {margin-top: 2em } |
margin | Atalho para definir de uma só vez o tamanho da margem para todos os lados | [ | Exemplos:
Margem superior e inferior com 1em, esquerda e direita com 2em:
Margem superior com 1em; direita com 2em; inferior com 3em; e esquerda com 2em:
Margem superior com 1em; direita com 2em; inferior com 3em; e esquerda com 4em:
|
Espaçamento
| Propriedade | Descrição | Valores | Descrição |
|---|---|---|---|
padding-top
| Distância utilizada para espaçamento em cada um dos quatro lados: superior, direito, inferior e esquerdo | [ | Exemplo:
body {padding-top: 2em } |
padding | Atalho para definir de uma só vez a distância de espaçamento para todos os lados | [ | Exemplos:
Margem superior e inferior com 1em, esquerda e direita com 2em:
Margem superior com 1em; direita com 2em; inferior com 3em; e esquerda com 2em:
Margem superior com 1em; direita com 2em; inferior com 3em; e esquerda com 4em:
|
Modelo de formtação visual
| Propriedade | Descrição | Valores | Descrição / Exemplos |
|---|---|---|---|
display | Modos de exibição do conteúdo | [ inline | block | list-item | run-in | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | none ] | inline: O elemento renderizado em uma ou mais linhas
block: renderizado como um bloco list-item: renderizado como um item de lista e em linha(s) run-in: renderizado como bloco ou linha(s), dependendo do contexto inline-block: renderizado em uma linha simples, mas comporta-se como um bloco table, inline-table, table-row-group, table-column, table-column-group, table-header-group, table-footer-group, table-row, table-cell, table-caption: esses valores farão com que o elemento se comporte como uma tabela (sujeito a restrições descritas no capítulo sobre tabelas) none: o elemento não será mostrado no modo visual Exemplo: e {display: none;} |
position | Esquema de posicionamento | [ static | relative | absolute | fixed ] | static: Posicionamento normal de acordo com o fluxo normal dos elementos na página. As proprieades 'top', 'right', 'bottom', e 'left' não se aplicam
|
top
| Distância do elemento com relação à extremidade de seu elemento-pai | [ | top: Distância vertical em relação à margem superior
Exemplo:
|
float | Posicionamento adjacente à esquerda ou à direita do elemento | { left | right | none ] | left: o elemento será posicionado flutuando à esquerda. O fluxo do conteúdo não integrante do elemento será posicionado à direita a partir do 'top' do elemento que recebe a propriedade 'float'
|
clear | Controle para os posicionamentos float | [ none | left | right | both ] | none: nenhum controle de limpeza de flutuação será executado
left: limpeza de flutuação à esquerda: o elemento será posicionado abaixo da borda inferior do elemento flutuante à esquerda right: limpeza de flutuação à direita: o elemento será posicionado abaixo da borda inferior do elemento flutuante à direita both: o elemento será posicionado abaixo da borda inferior de qualquer elemento flutuante, seja à direita ou à esquerda Exemplo: e { clear: both;} |
z-index | Níveis de profundidade de sobreposição de elementos | [ auto | | Os números serão considerados para ordenar os elementos que ficarão sobrepostos, do mais baixo para o mais alto: 'z-index: 1'; 'z-index:2'; 'z-index: 3'; …
Exemplo: e {z-index: 1;} |
direction | Define a direção de um texto: esquerda para direita; direita para esquerda | [ ltr | rtl ] | Utilizado em clientes que têm suporte a idiomas e escrita bidirecional.
Exemplo:
Para que a direção tenha o efeito atribuído, a propriedade 'unicode-bidi' deve conter os valores 'embed' ou
|
unicode-bidi | Interação entre textos bidirecionais | [ normal | embed | bidi-override ] | Utilizado em clientes que têm suporta a idiomas e escrita bidirecional
normal – o elemento não embutirá o algoritmo com suporte bidirecional embed – embutirá algoritmo bidirecional bidi-override – permite a sobreposição |
Obs.: Valores em negrito são os adotados como padrão
Detalhes do modelo de formatação visual
| Propriedade | Descrição | Valores | Descrição / Exemplos |
|---|---|---|---|
width | Largura | [ | Exemplo:
|
min-width | Largura mínima | [ | Exemplo:
e {min-width: 200px;} |
max-width | Largura máxima | [ | Exemplo:
e {max-width: 600px;} |
height | Altura | [ | Exemplo:
e {height: 250px;} |
min-height | Altura mínima | [ | Exemplo:
e {min-height: 30%;} |
max-height | Altura máxima | [ | Exemplo:
e {max-height: 70%;} |
line-height | Distância entre as linhas de um texto | [ normal | | Exemplo:
e {line-height: 1.2em;} |
vertical-align | Alinhamento vertical do texto | [ baseline | sub | super | top | text-top | middle | bottom | text-bottom | | baseline - A linha de base do elemento e do elemento superior (elemento-pai) serão consideradas para alinhamento. Se não houver linha de base no elemento, será considerado sua margem inferior
sub - A linha de base do elemento será alinhada com a linha de base de conteúdo subscrito do elemento superior super - A linha de base do elemento será alinhada com a linha de base de conteúdo superescrito do elemento superior top - Alinha o topo do elemento com a linha de topo do elemento superior text-top - A base superior do elemento será alinhada com a linha superior do conteúdo de textos do elemento-pai middle - A linha central do elemento e de seu elemento superior serão consideradas para alinhamento. (linha central do elemento superior = ponto central da altura da letra 'x') bottom - Alinha o rodapé do elemento com o rodapé do elemento superior text-bottom - A base inferior do elemento será alinhada com a linha inferior do conteúdo de textos do elemento-pai Exemplo: e {vertical-align: sub;} |
Obs.: Valores em negrito são os adotados como padrão
Efeitos visuais
| Propriedade | Descrição | Valores | Descrição / Exemplos |
|---|---|---|---|
overflow | Comportamento do browser quando o conteúdo do elemento for maior que sua área | [ visible | hidden | scroll | auto ] | visible - Todo o conteúdo do elemento estará visível (não cortado) e talvez conforme a área seja renderizado para fora do elemento
hidden - O conteúdo será cortado (se maior que a área disponível) e não haverá barra de rolagens no elemento scroll - O conteúdo será cortado (se maior que a área disponível) mas haverá barra de rolagens no elemento. Quando a mídia for especificada como 'print', o conteúdo do elemento poderá ser impresso. auto - O método será atribuído pelo browser cliente Exemplo: e {overflow: scroll;} |
clip | Especifica região de um elemento a ser exibida | [ rect ( | rect – Delimita área retangular do elemento (topo, direita, rodapé, esquerda) na qual o conteúdo ficará visível
auto - O elemento não terá clip e sua própria área será idêntica à de visualização Exemplo: e {clip: rect(5px, 40px, 45px, 5px); } |
visibility | Define se um elemento estará ou não visível | [ visible | hidden | collapse ] | visible - O elemento será exibido
hidden - O elemento não será exibido, ficando totalmente transparente. Mas o leiaute da página continuará sendo afetado collapse - Mesmo efeito que hidden, mas aplicável a elementos de tabela Exemplo: e {visibility: hidden; } |
Obs.: Valores em negrito são os adotados como padrão
Agregador de conteúdo, numeração automática e listas
| Propriedade | Descrição | Valores | Descrição / Exemplos |
|---|---|---|---|
content | Agregador de conteúdo para os pseudo-elementos :after e :before | [ normal | none | [ | none: Nenhum conteúdo será agregado.
normal: Como 'none', para os pseudo-elementos :before e :after open-quote | close-quote - O conteúdo agregado será substituído por aspas no-open-quote | no-close-quote - Nenhum conteúdo é introduzido, mas incrementa (decrementa) attr(X) - Esta função retorna a 'string' como um valor do atributo X. A 'string' não será interpretada pelo processador do CSS Exemplo: H1:before {content: counter(secao, upper-roman) "-" } |
quotes | Especifica aspas utilizadas em citações | [ [ | Exemplo, especificando dois pares de aspas para idiomas diferentes:
e:lang(en) {quotes: '"' '"' "'" "'" }
|
counter-reset | Inicializa um contador identificado na propriedade 'content' | [ [ | Exemplo:
h1 {counter-reset: secao; } |
counter-increment | Incrementa um contador identificado na propriedade 'content' | [ [ | Exemplo:
H2:before {
|
list-style | Atalho para definir de uma só vez todas as propriedades de lista: type, position e image | [ | Exemplo:
li {list-style: decimal-leading-zero outside url(imagem.jpg); } |
list-style-image | Imagem aplicada aos elementos de uma lista | [ url("http://...") | none ] | Exemplo:
li {
|
list-style-type | Estilo visual aplicado aos marcadores de uma lista | [ disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none ] | disc - ponto sólido
Exemplo: |
list-style-position | Posicionamento interno dos marcadores de uma lista | [ inside | outside ] | inside – conteúdo da lista será indentado, mas o texto não será alinhado após quebra de linha
outside – diferente de inside, o texto será alinhado na indentação mesmo com quebra de linha Exemplo: ul {list-style-position: outside; }
|
Obs.: Valores em negrito são os adotados como padrão
Cores e Fundo
| Propriedade | Descrição | Valores | Descrição / Exemplos |
|---|---|---|---|
color | Cor do texto presente no elemento | Exemplo:
e {color: red; }
| |
background-color | Cor de fundo do elemento | [ | Para 'transparent' será adotada a cor de fundo do elemento superior e na ausência deste, a cor de fundo padrão do browser
Exemplo: e {background-color: #f00; }
|
background-image | Imagem de fundo do elemento | [ url(...) | none ] | Exemplo:
e {background-image: url(http://caminho/imagem.jpg); } |
background-repeat | Define se e como a imagem de fundo utilizada se repetirá | [ repeat | repeat-x | repeat-y | no-repeat ] | repeat: a imagem é repetida em ambas as direções: horizontal e vertical
repeat-x: a imagem é repetida somente horizontalmente repeat-y: a imagem é repetida somente verticalmente. no-repeat: a imagem não será repetida e somente uma cópia da mesma será renderizada Exemplo: e {background-repeat: no-repeat;} |
background-attachment | Define se a imagem de fundo utilizada será fixa ou com rolagem | [ scroll | fixed ] | scroll: a imagem acompanha a rolagem da página na janela do browser, mantendo-se como imagem de fundo
fixed: a imagem é fixada na página e não acompanhará a rolagem da página |
background-position | Posição da imagem de fundo utilizada. | [ [ | top: Equivalente a '0%' do posicionamento vertical
Exemplo:
|
background | Atalho para definir de uma só vez todas as propriedades de imagem de fundo | [ | Exemplo:
e {background: red url("chess.png")
|
Obs.: Valores em negrito são os adotados como padrão
Paginação para impressão
| Propriedade | Descrição | Valores | Descrição / Exemplos |
|---|---|---|---|
page-break-before | Define quebra de página antes do elemento | [ auto | always | avoid | left | right ] | auto: insere quebra de página somente se necessário
always: sempre insere quebra de página antes do elemento avoid: evita inserir quebra de página antes do elemento left: insere uma ou duas quebras de páginas antes do elemento, de modo que a página gerada seja uma página par right: insere uma ou duas quebras de páginas antes do elemento, de modo que a página gerada seja uma página ímpar Exemplo: e {page-break-before: always; } |
page-break-after | Define quebra de página após o elemento | [ auto | always | avoid | left | right ] | auto: insere quebra de página somente se necessário
always: sempre insere quebra de página após o elemento avoid: evita inserir quebra de página após o elemento left: insere uma ou duas quebras de páginas após o elemento, de modo que a página gerada seja uma página par right: insere uma ou duas quebras de páginas após o elemento, de modo que a página gerada seja uma página ímpar Exemplo: e {page-break-after: always; } |
page-break-inside | Define ou evita quebra de páginas dentro de um elemento | [ avoid | auto ] | auto: insere quebra de página somente se necessário avoid: evita inserir quebra de página dentro do elemento Exemplo:
e {page-break-inside: avoid; } |
orphans | Número mínimo de linhas antes da quebra de um parágrafo que pode aparecer no final de uma página | Somente valores positivos são permitidos
Exemplo: e {orphans: 2; } | |
widows | Número mínimo de linhas após a quebra de um parágrafo que pode aparecer no início de uma página | Somente valores positivos são permitidos
Exemplo: e {widows: 2; } |
Obs.: Valores em negrito são os adotados como padrão
Fontes tipográficas
| Propriedade | Descrição | Valores | Descrição / Exemplos |
|---|---|---|---|
font-family | Família(s) de fontes | [ [ | As seguintes famílias-genéricas de fontes são definidas em CSS2.1:
e {font-family: "New Century Schoolbook", serif; } |
font-style | Estilo utilizado na fonte | [ normal | italic | oblique ] | normal: fonte do elemento sem efeito itálico ou oblíquo
italic: fonte do elemento com efeito itálico oblique: fonte do elemento com efeito oblíquo Exemplo: e {font-style: italic; } |
font-variant | Exibe o texto em pequena caixa-alta (versalete) ou fonte normal | [ normal | small-caps ] | normal: fonte do elemento sem efeito de capitalização small-caps: fonte do elemento com efeito de pequena caixa alta (versalete)
Exemplo: e {font-variant: small-caps; } |
font-weight | Peso da fonte | [ normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 ] | normal: fonte do elemento com efeito padrão de peso (corresponde ao valor 400)
bold: fonte do elemento com efeito de negrito (corresponde ao valor 700) bolder: fonte do elemento com o valor de peso imediatamente superior ao do valor herdado (p.ex: de 400 para 500) lighter: fonte do elemento com o valor de peso imediatamente inferior ao do valor herdado (p.ex: de 400 para 300) Exemplo: e {font-weight: bold; } |
font-size | Tamanho da fonte | [ [ xx-small | x-small | small | medium | large | x-large | xx-large] | [larger | smaller] | | medium: fonte do elemento com valor padrão de tamanho e equivalente ao padrão do browser. Os demais valores ( xx-small | x-small | small | large | x-large | xx-large) são calculados pelo browser considerando esse valor 'medium'.
larger | smaller: aumenta ou diminui o tamanho em relação ao valor herdado. tamanho: valor absoluto. Não são permitidos valores negativos. porcentagem: porcentagem do tamanho do valor herdado. Exemplo: e {font-size: 90%; } |
font | Atalho para definir de uma só vez todas as propriedades de fonte | [ [ [ | Além dos valores para as propriedades de estilo, variação, peso, tamanho, altura da linha e família, pode-se utilizar os seguintes, de acordo com o ambiente do usuário:
caption: fonte utilizada por controles com legenda (ex.: botões, drop-downs, etc.) icon: fonte utilizada em ícones menu: fonte utilizada em menus do sistema (ex.: dropdown menus e menus suspensos) message-box: fonte utilizada em caixas de diálogo. small-caption: fonte utilizada em controles com legenda reduzida status-bar: fonte utiliza em barra de status das janelas Exemplo: e {font: 300 italic 1.3em/1.7em "Helvetica", sans-serif; } |
Obs.: Valores em negrito são os adotados como padrão
Texto
| Propriedade | Descrição | Valores | Descrição / Exemplos |
|---|---|---|---|
text-indent | Recuo à esquerda da primeira linha em um bloco de texto | [ | Exemplo:
e {text-indent: 3em; } |
text-align | Alinhamento do texto | [ left | right | center | justify ] | left: alinhamento do texto à esquerda
right: alinhamento do texto à direita center: alinhamento do texto centralizado justify: alinhamento do texto justificado Exemplo: e {text-align: center; } |
text-decoration | Efeitos decorativos no texto como sublinhado, tachado, linha acima e piscante | [ none | [ underline || overline || line-through || blink ] ] | none: não produz decoração no texto do elemento
underline: cada linha de texto do elemento terá uma linha abaixo (sublinhado) overline: cada linha de texto do elemento terá uma linha acima line-through: cada linha de texto do elemento terá uma linha cortando-o ao meio (tachado) blink: textos piscantes alternadamente entre visíveis e não visíveis Exemplo: e {text-decoration: underline; } |
letter-spacing | Espaçamento entre caracteres | [ normal | | Exemplo:
e {letter-spacing: 0.1em; } |
word-spacing | Espaçamento entre palavras | [ normal | | Exemplo:
e {word-spacing: 1em; } |
text-transform | Transforma o texto em maiúsculas/minúsculas | [ capitalize | uppercase | lowercase | none ] | capitalize: coloca o primeiro caracter de cada palavra do elemento em maiúsculas (caixa alta)
uppercase: coloca todos os caracteres de cada palavra do elemento em maiúsculas (caixa alta) lowercase: coloca todos os caracteres de cada palavra do elemento em minúsculas (caixa baixa) none: não aplica efeitos de capitalização Exemplo: e {text-transform: capitalize; } |
white-space | Definições sobre espaços em branco num determinado elemento | [ normal | pre | nowrap | pre-wrap | pre-line ] | normal: utiliza a configuração padrão do browser para espaçamentos em branco
pre: todos os espaços em branco presentes no código fonte serão exibidos no elemento nowrap: os espaços em branco serão tratados como 'normal', mas as quebras de linha serão suprimidas pre-wrap: todos os espaços em branco contantes no código-fonte serão exibidos no elemento pre-line: os espaços em branco serão tratados como normal. Exemplo: e {white-space: pre; } |
Obs.: Valores em negrito são os adotados como padrão
Tabelas
| Propriedade | Descrição | Valores | Descrição / Exemplos |
|---|---|---|---|
caption-side | Posicionamento do título em relação à tabela | [ top | bottom ] | top: Posicionamento do título antes da área da tabela
bottom: Posicionamento do título abaixo da área da tabela Exemplo: e {caption-side: bottom; } |
table-layout | Define o algoritmo usado para a renderização da tabela | [ auto | fixed ] | auto: utiliza algum algoritmo de leiaute automático.
fixed: utiliza algoritmo de leiaute fixo. Exemplo: table {table-layout: fixed; } |
border-collapse | Seleciona o modelo de bordas a ser utilizado | [ collapse | separate ] | separate: as bordas serão renderizadas para cada célula, dado a impressão de linha dupla collapse: as bordas das células serão mescladas, dando a impressão de uma única linha
Exemplo: table {border-collapse: collapse; } |
border-spacing | Distância entre as bordas de células adjacentes (quando 'border-collapse=separated') | Exemplo:
table {border-spacing: 15pt; }
| |
empty-cells | Visibilidade das bordas de células sem conteúdo | [ show | hide ] | show: exibe as células vazias da tabela
hide: não exibe as células vazias da tabela Exemplo: table {empty-cells: hide; } |
Obs.: Valores em negrito são os adotados como padrão
Interface de usuário
| Propriedade | Descrição | Valores | Descrição / Exemplos |
|---|---|---|---|
cursor | Especifica o cursor | [ [http://.../cursor.ico,]* [ auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize | text | wait | help | progress ] | Exemplo:
e {cursor:help; } |
outline-width | Largura da linha de contorno | Aceita os mesmos valores de 'border-width'
Exemplo: e {outline-width: thin; } | |
outline-style | Estilo da linha de contorno | Aceita os mesmos valores de 'border-style'
Exemplo: e {outline-style: dotted; } | |
outline-color | Cor da linha de contorno | [ | color: valor correspondente a uma cor
invert: cor inversa à área do elemento (prática comum para tornar o 'focus' visível) Exemplo: e {outline-color: #f00; } |
outline | Atalho para definir de uma só vez todas as propriedades de outline | [ | Exemplo:
active {outline: black dotted thick; } |
speak-header | (Aural) Freqüência em que os 'headers' da tabela serão pronunciados. Utilizado quando 'media=speech' | [ once | always ] | once: Os títulos de tabelas serão 'falados' uma vez, antes da série de células
always: Os títulos de tabelas serão 'falados' sempre que ocorrer uma célula pertinente Exemplo: e {speak-header: always; } |
retirado de: http://www.w3c.br/divulgacao/guiasreferencia/css2/
Integração do TestLink com o MantisBugTracker
Ter o Testlink instalado. Neste mini tutorial utilizo a versão 1.7.4
Ter o Mantis instalado. Neste mini tutorial utilizo a versão 1.1.1
PS: A versão 1.7.4 já está obsoleta. Utilize as versões mais atuais através do site http://teamst.org
Parâmetro | Descrição | Substituir por este valor |
[CONFIGURE_BUG_TRACK_DB_HOST] | Qual o host do banco de dados da ferramenta de bugtraker | localhost |
[CONFIGURE_BUG_TRACK_DB_NAME] | Qual o nome do banco de dados da ferramenta de bugtracker | mantis |
[CONFIGURE_BUG_TRACK_DB_TYPE] | Qual o tipo de banco de dados da ferramenta de bugtracker | mysql |
[CONFIGURE_BUG_TRACK_DB_USER] | Qual o usuario de conexão com o banco do bugtracker | root |
[CONFIGURE_BUG_TRACK_DB_USER_PASS] | Qual a senha do usuário de conexão com o banco do bugtracker | [em branco] |
$g_interface_bugs='MANTIS'
Abaixo do status de execução do Caso de Teste no TestLink será inserido uma nova tabela contendo o Build, Código do Bug e Descrição do Bug e um botão de remoção desta informação.
Quando inserimos um bug do Mantis no TestLink as informações são obtidas diretamente no banco de dados do Mantis, não influenciando o login.
Notamos que a integração pode não ser aquela “Brastemp” que pensamos em já abrir a ferramenta de Bug Tracker e ter os dados já cadastrados de forma automática, mas já nos dá uma boa visualização para que o TestLink se propõe que é fazer a gerência de testes.
Retirado de: http://sembugs.blogspot.com/2008_06_01_archive.html
Customizando valores no Mantis: Prioridade
Neste post vamos visulizar como alterar estes valores, bem como coloca-los para funcionar em qualquer idioma.
Apresento aqui uma forma de inserir ou até remover (não recomendado) determinado valores de campos.
Pré-Requisitos
- Utilizar qualquer versão do Mantis posterior à 1.0 (eu estou utilizando a versão 1.1.2)
- Faça um backup do banco e da pasta da aplicação (caso ocorra algum problema)
- SEMPRE copiar as variáveis que serão alteradas para o arquivo config_inc.php
Como o Mantis salva os dados de prioridade?
O Mantis não guarda nenhuma tabela para manter a relação de valores e codigo de cada campo. O que ele faz é salvar o codigo de cada valor configurado em suas propriedades. Podemos ir até o banco de dados e acessar a tabela mantis_bug_table e visualizar os dados contidos nela. Noque que o valore para a coluna priority foi salva como código, e não com o valor de cada campo:

Inserindo ou alterando valores de Prioridade
Segue abaixo a lista de valores bem como seu conteudo em inglês e português
| Código | Texto inglês | Texto português |
| 10 | none | nenhuma |
| 20 | low | baixa |
| 30 | normal | normal |
| 40 | high | alta |
| 50 | urgent | urgente |
| 60 | immediate | imediato |
Se entrarmos no arquivo config_default_inc.php e buscarmos pela variável $g_priority_enum_string veremos os valores:
$g_priority_enum_string = '10:none,20:low,30:normal,40:high,50:urgent,60:immediate';
Como podemos ver na tabela acima temos os codigos de cada valor que é salvo no banco de dados. Sendo assim basta alterar o valor depois do codigo.
Podemos tambem inserir novos valores para que possamos ter mais opções de priorização, basta inserir uma virgula no final do ultimo registro.
No exemplo abaixo vou inserir uma nova prioridade chamada de "my priority" em ingês e "minha prioridade" em português
$g_priority_enum_string = '10:none,20:low,30:normal,40:high,50:urgent,60:immediate,70:minha prioridade';
NÃO efetue esta alteração diretamente no arquivo config_default_inc.php. Copie a variável com seus valores e cole no arquivo config_inc.php.
Também teremos que inserir esta nova prioridade nos arquivos de idiomas. Altere em cada idioma em que a aplicação é utilizada.
Vá ate o diretório instalacao_mantis/lang e selecione o arqivo alvo da alteração (no exemplo será o string_english.txt) e localize a variável $s_priority_enum_string e insira o novo valor de prioridade, como no exemplo abaixo:
$s_priority_enum_string = =10:none,20:low,30:normal,40:high,50:urgent,60:immediate,70:my priority';
Efetue a mesma alteração no arquivo string_portuguese_brazil.txt para a mesma variável, ficando assim:
$s_priority_enum_string = '10:nenhuma,20:baixa,30:normal,40:alta,50:urgente,60:imediato,70:minha prioridade';
No cadastro do bug ou na visulização veremos que o novo valor está disponível para utilização e o mesmo aparece também no Sumário


Para finalizar a customização da prioridade podemos habilitar que seja apresentado nome da prioridade da lista de bugs. Efetuamos esta alteração inserindo a variável abaixo no arquivo config_inc.php:$g_show_priority_text = ON;

Precauções
Uma vez inserido um novo valor à um campo não remova-o. Se fizermos isso o banco de dado traz somente a informação do código cadastrado referente a este dado, como na imagem abaixo. Note que é inserido dois "@" e entre eles o código do valor:

Como remover uma prioridade criada e atualizar para uma já existente?
Se somente removermos o código mais o texto da prioridade teremos o problema acima: tanto na lista de bugs, quanto no detalhe, sumário e histórico visualizaremos o valor que foi gravado no banco de dados.
Uma vez removido este valor de prioridade precisamos atualizar estes valores no banco de dados para que estes códigos não aparecam.
Você precisará definir para qual status o valor antigo passará a ter. No exemplo abaixo vou trocar todos os bugs da tabela de bugs e histórico com "my priority" (código 70) para "none" (código 10)
--alteracao na tabela 'mantis_bug_table' que guarda os bugs
UPDATE mantis_bug_table SET priority = 10 WHERE priority = 70
--alteracao na tabela 'mantis_bug_history_table' que guarda o histórico de alteracoes do bug
UPDATE mantis_bug_history_table SET old_value = 10 WHERE old_value = 70
Com estes dois comandos em SQL, que podem ser executados no seu editor de arquivos SQL preferido, alteram os valores da prioridade antiga para a escolhida, tanto no bug quanto em seu histórico.
Aprendemos aqui a inserir ou remover valores do campo de prioridade e voltar ao valor antigo ou para outro valor, caso necessário.
No proximo post sobre customização do Mantis veremos como alteramos o valor de Severidade.
Abcs!
Retirado de: http://sembugs.blogspot.com/2008_06_01_archive.html








