Adicionar a opcao "Passed (Restriction)" na listagem de resultados;a. Em "lib/results/resultsByStatus.php", adicionar "restriction":418: foreach(array('failed','blocked','not_run','restriction') as $verbose_status)b. Em "cfg/const.inc.php", inserir " 'restriction!' => 'r',":383: $tlCfg->results['status_code'] = array (384: 'failed' => 'f',385: 'blocked' => 'b',386: 'passed' => 'p',387: 'restriction' => 'r',388: 'not_run' => 'n',389: 'not_available' => 'x',390: 'unknown' => 'u',391: 'all' => 'a'392: );Inserir " 'restriction' => 'test_status_restriction',":408: $tlCfg->results['status_label'] = array('not_run' => 'test_status_not_run',409: 'passed' => 'test_status_passed',410: 'failed' => 'test_status_failed',411: 'blocked'=> 'test_status_blocked',412: 'restriction' => 'test_status_restriction',413: 'all' => 'test_status_all_status',414: 'not_available' => 'test_status_not_available',415: 'unknown' => 'test_status_unknown');Inserir " 'restriction' => 'test_status_restriction',":434: $tlCfg->results['status_label_for_exec_ui'] = array('not_run' => 'test_status_not_run',435: 'passed' => 'test_status_passed',436: 'restriction' => 'test_status_restriction',437: 'failed' => 'test_status_failed',438: 'blocked' => 'test_status_blocked');Inserir " 'restriction' => 'FFCC00' ":450: $tlCfg->results['charts']['status_colour'] = array('not_run' => '000000','passed' => '006400',451: 'failed' => 'B22222','restriction' => 'FFCC00','blocked' => '00008B');c. Em "gui/themes/default/css/testlink.css", inserir o seguinte estilo CSS:577: div.passed, div.failed, div.blocked, div.not_run, div.restriction {Inserir o seguinte na linha 588:588: div.restriction {589: background: #FFCC00; /* yellow */590: }Inserir "span.light_restriction":606: span.light_passed, span.light_failed, span.light_blocked,607: span.light_not_run, span.light_not_available, span.light_unknown,608: span.light_restrictionInserir:631: span.light_restriction {631: background: #FFCC00;631: }Inserir:664: .restriction {665: color: white;666: background: #FFCC00;667: }Inserir:687: .restriction_text {688: color: #FFCC00;689: font-weight: bold;690: }d. Inserir traducao nos idiomas desejadosPortugues do Brasil - "locale/pt_BR/strings.txt", "$TLS_test_status_restriction = "Passou com ressalva";":231: $TLS_test_status_restriction = "Passou com ressalva";Ingles Americano - "locale/en_US/strings.txt", "$TLS_test_status_restriction = "Passed (restriction)";":231: $TLS_test_status_restriction = "Passed (restriction)"; 1. Sobre o Controle de HorasPortal destinado ao controle de horas simples.Principais funcionalidades: Cadastro de horas por periodo, atrelado a projeto, atividade, local e usuario; Listagem/Relatorio de horas cadastradas por periodo, usuario, atividade e projeto; Relatorio graico em Google Chart por periodo, usuario, atividade e projeto.2. Banco de DadosBanco de dados SQLite2, localizado em ch.db.Arquitetura:a. chcidnametype0idinteger, primary key1datainiciodate2iniciotext3dataterminodate4terminotext5usuariotext6projetotext7atividadetext8localtext9descricaotext10tickettext11changesettext12datadate3. Codigo Fonte (PHP)O codigo fonte e constituido pelos seguintes arquivos PHP:a. cadastro.php: permite o cadastro de novas horas, edicao e visualizacao das horas do usuario conectado;b. listagem.php: permite visualizar e filtrar os dados por periodo, projeto, atividade e usuario;c. graficos.php: permite visualizar e filtrar os dados - por periodo, projeto, atividade e usuario - exibindo em formato grafico (Google Chart);4. Plugins de TerceirosLocalizados em third-part.a. jquery.js: e uma biblioteca JavaScript cross-browser desenvolvida para simplificar os scripts client side que interagem com o HTML;b. jquery.elastic.source.js: responsavel por permitir autosize em textareas;c. jsapi.js: biblioteca Google Chart para exibicao de indicadores em formato grafico;d. jquery-ui.js: biblioteca utilizada na construcao do calendario para escolha da data ("datepicker").Download do codigo fonte exemplo:https://www.dropbox.com/s/of4pjqltbn8732m/Controle%20de%20Horas.zip Servidor de Virtualizacao: KVMNeste artigo, irei mostrar como instalar, configurar e otimizar um solucao de servidor de virtualizacao KVM. Utilizarei como exemplo uma implementacao real... estou aberto a criticas e sugestoes.CaracteristicasServidor HP Proliant:Processador Dual-Core AMD Opteron Processor 2220;Memoria de 10GB DDRII 667;Fonte simples;Placa de rede onboard com duas saidas Gigabit;HD SAS 2.5", 2 x 30 GB (RAID 1) e 4 x 146 GB (RAID 5 - 404 GB);Sistema Operacional Debian 7 (Wheezy).Plataforma de virtualizacao KVM.ImplementacaoInstalacaoapt-get install qemu-kvmAdicionar usuarios utilizadores do KVM ao grupo "kvm"adduser ravel kvmCriar o disco virtualqemu-img create disco.img -f qcow2 100G #"qcow2" refere-se ao tipo de disco (recomendado); #"100G" e o tamanho do disco dinamicamente alocadoConfigurar bridge em placa de rede (/etc/network/interfaces)# This file describes the network interfaces available on your system# and how to activate them. For more information,