You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
386 lines
18 KiB
386 lines
18 KiB
<?xml version="1.0" encoding="UTF-8" ?>
|
|
|
|
<chapter id="advanced-quanta-3-2">
|
|
<chapterinfo>
|
|
<title>Recursos Avançados</title>
|
|
<authorgroup>
|
|
<author><firstname>Christopher</firstname> <surname>Hornbaker</surname> <affiliation> <address><email>chrishornbaker@earthlink.net</email></address>
|
|
</affiliation>
|
|
|
|
</author>
|
|
|
|
<othercredit role="translator"><firstname>Marcus</firstname><surname>Gama</surname><affiliation><address><email>marcus_gama@uol.com.br</email></address></affiliation><contrib>Tradução</contrib></othercredit>
|
|
|
|
</authorgroup>
|
|
</chapterinfo>
|
|
|
|
<title>Recursos Avançados</title>
|
|
|
|
<para>Este capítulo apresenta os recursos avançados do &quantaplus; e como usá-los. </para>
|
|
|
|
<sect1 id="xml-tools-3-2">
|
|
<title>Ferramentas &XML;</title>
|
|
|
|
<para>A versão 3.2 do &quantaplus; vem com muitas ferramentas e recursos &XML; novos. As ferramentas são única em sua integração com o &quantaplus;. Todas estas ferramentas usam o <application>Kommander</application> como uma interface e o <application>libxml2</application> e <application>libxlst</application> como programas de base. A combinação deles torna as ferramentas rápidas, eficientes, produtivas e completas. </para>
|
|
|
|
<sect2 id="kde-db-3-2">
|
|
<title>Ferramentas de Documentação do &kde;</title>
|
|
|
|
<para>O &quantaplus; suporta as duas ferramentas de documentação principais do &kde;: <command>meinproc</command> e <command>checkXML</command>. </para>
|
|
|
|
<sect3 id="meinproc-3-2">
|
|
<title><command>meinproc</command></title>
|
|
|
|
<para>Qualquer um que já trabalhou com a documentação do &kde; conhece o <command>meinproc</command> e o quão extraordinário ele é. Bem, examinaremos em detalhes com uma grande interface gráfica! Não será mais necessário um shell; simplesmente clique em um ícone que se assemelha a um processador e tudo será feito! </para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><guilabel>Pasta de Trabalho Atual</guilabel></term>
|
|
<listitem>
|
|
<para>Este aplicativo espera que um arquivo <filename>index.docbook</filename> esteja presente em uma pasta. Se o <filename>index.docbook</filename> estiver na pasta de trabalho atual, então simplesmente deixe a <guilabel>Pasta de Trabalho Atual</guilabel> selecionada. Caso contrário, então desabilite a <guilabel>Pasta de Trabalho Atual</guilabel> e insira a pasta que deseja processar no campo <guilabel>Outra Pasta</guilabel>. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<note>
|
|
<para>Os arquivos de saída serão colocados na mesma pasta dos arquivos fontes. Todos os arquivos &HTML; serão removidos cada vez que o <command>meinproc</command> é executado. </para>
|
|
</note>
|
|
|
|
</sect3>
|
|
|
|
<sect3 id="checkxml-3-2">
|
|
<title><command>checkXML</command></title>
|
|
|
|
<para>Novamente, qualquer um que tenha trabalhado com a documentação do &kde; conhece a utilidade deste aplicativo. Novamente, o &quantaplus; fornece uma formidável interface gráfica para ele. </para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><guilabel>Pasta de Trabalho Atual</guilabel></term>
|
|
<listitem>
|
|
<para>Se o arquivo atualmente aberto é o <filename>index.docbook</filename>, então simplesmente deixe <guilabel>Pasta de Trabalho Atual</guilabel> habilitado. Caso contrário, desabilite <guilabel>Pasta de Trabalho Atual</guilabel> e insira a pasta onde o <filename>index.docbook</filename> pode ser encontrado. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<note>
|
|
<title>Saída</title>
|
|
<para>Se não houver saída, então seu arquivo é inválido. Por favor corrija os erros reportados e tente novamente. </para>
|
|
</note>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="xmlval-3-2">
|
|
<title>Validação &XML;</title>
|
|
|
|
<para>O &quantaplus; possui uma grande ferramenta de validação &XML;, que usa o <command>xmllint</command> como programa base. </para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><guilabel>Arquivo Atual</guilabel></term>
|
|
<listitem>
|
|
<para>Se o arquivo a ser validado está atualmente em foco no &quantaplus;, então simplesmente deixe <guilabel>Arquivo Atual</guilabel> habilitado. Caso contrário, então desabilite o <guilabel>Arquivo Atual</guilabel> e selecione o arquivo a ser validado a partir do seletor de Outro Arquivo. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><guilabel>Verificação de Conformação</guilabel></term>
|
|
<listitem>
|
|
<para>Se você somente deseja saber se o arquivo está conforme, clique a caixa de verificação <guilabel>Verificação de Conformação Somente</guilabel>. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><guilabel>Definição de &URI;</guilabel></term>
|
|
<listitem>
|
|
<para>Se você estiver usando um &DTD; e ele é especificado dentro do arquivo &XML;, então selecione &DTD; (Interno) (padrão), caso contrário selecione &DTD; (Externo) e localizar o &DTD; com o seletor de arquivo de Definição de &URI;. A validação tanto do Esquema &W3C; &XML; como a RelaxNG são necessárias para ser definido externamente através do seletor de arquivo de <guilabel>Definição de &URI;</guilabel>. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect2>
|
|
|
|
<sect2 id="xsltproc-3-2">
|
|
<title>Processando &XSL;</title>
|
|
|
|
<para>Sim, o &quantaplus; possui uma ferramenta de processamento &XSL; também! Ele usa a ferramenta <command>xsltproc</command> fornecida com o <application>libxml2</application>. </para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><guilabel>Arquivo Atual</guilabel></term>
|
|
<listitem>
|
|
<para>Se o arquivo a ser processado está atualmente em foco no &quantaplus;, então simplesmente deixe <guilabel>Arquivo Atual</guilabel> selecionado. Caso contrário, então desabilite <guilabel>Arquivo Atual</guilabel> e selecione o arquivo a ser processado a partir do seletor de <guilabel>Outro Arquivo</guilabel>. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Folha de Estilo</term>
|
|
<listitem>
|
|
<para>Selecione o arquivo &XSL; que você deseja usar. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><guilabel>Nome do arquivo de saída</guilabel></term>
|
|
<listitem>
|
|
<para>Insira o nome do arquivo no qual você deseja que o resultado seja salvo. O arquivo é gerado na sua pasta pessoal por padrão. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<note>
|
|
<para>Este aplicativo perde flexibilidade. Desculpe, nós faremos melhor na próxima vez. </para>
|
|
</note>
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<!-- <sect1 id="tdefilereplace-3-2">
|
|
<title>KFileReplace</title>
|
|
|
|
<para>
|
|
KFileReplace is a terrific new addition to &quantaplus;. It allows one to
|
|
quickly replace strings over multiple files in only a few clicks of the
|
|
mouse. Imagine you have converted all your GIF images to PNG images
|
|
(hasn't everyone done this already?), only the extension has changed, and
|
|
you have the <img /> tag scattered throughout 50 XHTML files. Are you
|
|
going to do a Find & Replace on every file? Surely not when you can do
|
|
them all at the same time! This is only one of the many situations where
|
|
you will find KFileReplace a seriously helpful tool. This section will show
|
|
you how to use this wonderful feature.
|
|
</para>
|
|
|
|
<sect2 id="using-kfr-3-2">
|
|
<title>Using KFileReplace</title>
|
|
|
|
<para>
|
|
With all these wonderful features KFileReplace has, surely you are
|
|
incredibly interested in how to use it! Well, make sure your swim suit
|
|
is on tight, because we are about to dive in!
|
|
</para>
|
|
|
|
<sect3 id="start-kfr-3-2">
|
|
<title>Starting KFileReplace</title>
|
|
|
|
<para>
|
|
You will find KFileReplace in two places: &quantaplus;' main toolbar and the
|
|
menubar (Plugins -> KFileReplace). It is represented by this icon:
|
|
<inlinemediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="kfr-icon.png" format="PNG"/>
|
|
</imageobject>
|
|
</inlinemediaobject>.
|
|
By executing it from either location, you will be presented with the New
|
|
Search & Replace Project dialog.
|
|
</para>
|
|
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="kfr-new-dialog.png" format="PNG"/>
|
|
</imageobject>
|
|
<caption><para>KFileReplace's New Search & Replace Project dialog.</para></caption>
|
|
</mediaobject>
|
|
|
|
</sect3>
|
|
|
|
<sect3 id="replace-string-kfr-3-2">
|
|
<title>Replacing Strings in Files Over Multiple Folders</title>
|
|
|
|
|
|
<para>
|
|
Your boss just gave word that:
|
|
|
|
<orderedlist numeration="arabic">
|
|
<listitem>
|
|
<para>all image formats will be PNG from now on;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>all current images must be converted to PNG;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>and it all needs to be done in one hour.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<quote>One hour!?!?</quote> you think to yourself. <quote>It'll take at
|
|
least 45 minutes to convert the images!</quote> Calm down. Convert
|
|
the images, load up your project, and fire up KFileReplace. Filter for
|
|
only the file types you want to change. Press the <inlinemediaobject>
|
|
<imageobject><imagedata format="PNG" fileref=""/></imageobject>
|
|
</inlinemediaobject> and for, say GIF images, .gif for the string to
|
|
replace and .png for the replacement string.
|
|
</para>
|
|
|
|
</sect3>
|
|
</sect2>
|
|
</sect1> -->
|
|
|
|
<sect1 id="tdeparts-3-2">
|
|
<sect1info>
|
|
<title>Usando Plugins</title>
|
|
<authorgroup>
|
|
<author><firstname>Mathieu</firstname> <surname>Kooiman</surname> <affiliation> <address><email>quanta@map-is.nl</email></address>
|
|
</affiliation>
|
|
</author>
|
|
|
|
<othercredit role="translator"><firstname>Marcus</firstname><surname>Gama</surname><affiliation><address><email>marcus_gama@uol.com.br</email></address></affiliation><contrib>Tradução</contrib></othercredit>
|
|
|
|
</authorgroup>
|
|
</sect1info>
|
|
|
|
<title>Usando Plugins</title>
|
|
|
|
<sect2 id="what-is-a-plugin-3-2">
|
|
<title>O que é um Plugin?</title>
|
|
|
|
<para>O &quantaplus; é capaz de carregar plugins, que são KParts. O ambiente de trabalho de KPart é outro potencialidade do ambiente de trabalho do &kde;. Um KPart é um pedaço de funcionalidade reusável relativamente pequeno. Ele permite aos desenvolvedores do &kde; facilmente construir a partir do trabalho de outros programadores. Um exemplo disto é o próprio &quantaplus;. O editor do &quantaplus; usa o KPart &kate;. O KPart &kate; já possui um conjunto de funcionalidades que o &quantaplus; precisa, como destaque de sintaxe. Integrando-o ao &quantaplus; permite aos desenvolvedores do &quantaplus; focar no que o &quantaplus; deve ser capaz de fazer, ao invés de enfrentar os muitos problemas que o desenvolvimento de um novo componente/KPart de editor a partir do zero trará. </para>
|
|
|
|
<para>Os plugins que o &quantaplus; carrega não devem fazer nada com o &quantaplus; propriamente dito. Isto faz dele um sistema de plugin poderoso. Você pode beneficiar-se de funcionalidades extras sem precisar esperar que alguém integre-as ao &quantaplus;! Os plugins podem ser carregados em diversos elementos de &GUI;. Mais sobre isto pode ser visto abaixo. </para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="plugin-dialog-3-2">
|
|
<title>Entendendo o Diálogo de Edição de Plugin</title>
|
|
|
|
<para>Para instalar um Plugin ou KPart nós trabalharemos a partir do menu <menuchoice> <guimenu>Plugins</guimenu> <guimenuitem>Editar</guimenuitem> </menuchoice>. Isto trará o seguinte diálogo: </para>
|
|
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata format="PNG" fileref="plugin-edit.png"/>
|
|
</imageobject>
|
|
<caption><para>O diálogo Editar Plugin.</para></caption>
|
|
</mediaobject>
|
|
|
|
<para>Este diálogo permite gerenciar todos os plugins definidos além de adicionar novos. Nós descreveremos cada elemento de &GUI; aqui: <variablelist>
|
|
<varlistentry>
|
|
<term><guilabel>Caminhos de busca</guilabel></term>
|
|
<listitem>
|
|
<para>Aqui você pode preencher um caminho de busca. Ao adicionar um plugin sem uma <guilabel>Localização</guilabel>, o &quantaplus; buscará nestes caminhos pelo plugin. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><guilabel>Adicionar</guilabel></term>
|
|
<listitem>
|
|
<para>Isto trará um diálogo que permite adicionar um novo plugin. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><guilabel>Configurar</guilabel></term>
|
|
<listitem>
|
|
<para>Isto permitirá mudar as configurações de um plugin em particular. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><guilabel>Remover</guilabel></term>
|
|
<listitem>
|
|
<para>Remove o plugin atualmente selecionado. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><guilabel>Atualizar</guilabel></term>
|
|
<listitem>
|
|
<para>Atualiza o conteúdo do diálogo. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
<para>Read <xref linkend="configure-plugins"/> to learn more about plugins.</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="team-members">
|
|
<title>Desenvolvimento em Equipe</title>
|
|
<para>Muitas vezes, um projeto tem mais de uma pessoa trabalhando nele e existe alguma espécie de relação hierárquica entre eles. O &quantaplus; suporta a noção de membros do projeto e eles são configurados no diálogo em <menuchoice> <shortcut> <keycombo action="simul">&Shift;<keycap>F7</keycap></keycombo> </shortcut> <guimenu>Projeto</guimenu> <guimenuitem>Propriedades do Projeto</guimenuitem> </menuchoice>. </para>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata format="PNG" fileref="team-editing.png"/>
|
|
</imageobject>
|
|
<caption><para>O diálogo do editor dos membros da equipe</para></caption>
|
|
</mediaobject>
|
|
<para>Os itens do <guilabel>Nome</guilabel>, <guilabel>E-mail</guilabel> são auto-explicativos. </para>
|
|
<para>O <guilabel>Papel</guilabel> define o papel do membro no projeto e poderá ser um dos seguintes: <itemizedlist>
|
|
<listitem><para>
|
|
<guilabel>Líder da Equipe</guilabel>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<guilabel>Lider do Subprojeto</guilabel>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<guilabel>Lider da Tarefa</guilabel>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<guilabel>Membro Normal</guilabel>
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
<para>A <guilabel>Tarefa</guilabel> é uma descrição da tarefa atribuída a este membro.</para>
|
|
<para><guilabel>Sub-projeto</guilabel>: você poderá selecionar uma lista de sub-projetos. Eles poderão ser configurados e criados pressionando o botão <guilabel>Editar sub-projetos</guilabel>. Cada sub-projeto tem um nome visível de usuário e um item de localização, correspondendo o último a uma localização relativa de uma pasta sob a árvore do projeto. Isto significa que um sub-projeto é uma pasta sob o projeto principal. Por exemplo, o projeto principal poderá ser a página Web da sua companhia, enquanto um sub-projeto poderá ser a página Web da Intranet, localizada sob a pasta <filename path="intranet">intranet</filename> do projeto.</para>
|
|
<para>Um membro poderá ter mais de um papel no projeto, como ser líder da equipe e do sub-projeto.</para>
|
|
<para>Além de manter um registro da sua equipe, existe mais um benefício na configuração dos membros da equipe: você poderá configurar um evento para informar os líderes da equipe quando acontecer alguma ação. Veja em <xref linkend="event-actions"/> como fazê-lo.</para>
|
|
</sect1>
|
|
<sect1 id="event-actions">
|
|
<title>Ações do Evento</title>
|
|
<para>As ações de eventos são ações que são executadas quando algum evento ocorre no projeto. Um desses exemplos poderá ser o registro de quando o projeto foi aberto e fechado da última vez, para que possa ser analisado posteriormente quanto cada um trabalhou ou para enviar uma mensagem de e-mail quando for gravado um arquivo, ou ainda para adicionar o arquivo ao CVS com a ajuda de um programa, quando desejar adicionar o arquivo ao projeto; e esta lista poderá continuar.</para>
|
|
<para>Na página de <guilabel>Configuração do Evento</guilabel> no diálogo de <menuchoice> <shortcut> <keycombo action="simul">&Shift;<keycap>F7</keycap></keycombo> </shortcut> <guimenu>Projeto</guimenu> <guimenuitem>Propriedades do Projeto</guimenuitem> </menuchoice>, você poderá criar, editar e remover as ações do evento. </para>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata format="PNG" fileref="event-editing.png"/>
|
|
</imageobject>
|
|
<caption><para>O diálogo do editor de evento</para></caption>
|
|
</mediaobject>
|
|
<para>Os itens no diálogo são:</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><guilabel>Evento</guilabel></term>
|
|
<listitem><para>a ação é executada quando ocorrer o evento selecionado na lista. Os nomes dos eventos são suficientemente claros.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><guilabel>Ação</guilabel></term>
|
|
<listitem><para>o tipo da ação executada. As escolhas possíveis são </para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><guilabel>Ação sem programa</guilabel></term>
|
|
<listitem><para>uma ação que não é uma ação de um programa definido pelo usuário. Veja as ações do usuário em <xref linkend="user-actions"/>. </para>
|
|
<para><guilabel>Nome da ação</guilabel> indica a ação a executar quando ocorrer o evento.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><guilabel>Enviar um e-mail</guilabel></term>
|
|
<listitem><para>é enviado um e-mail quando ocorrer a ação para o destinatário selecionado na lista do <guilabel>Destinatário</guilabel>. Ele poderá ser um líder de equipe ou de um sub-projeto. Veja em <xref linkend="team-members"/> a definição destes líderes. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><guilabel>Registrar o evento</guilabel></term>
|
|
<listitem><para>o evento é registrado num arquivo. Os argumentos desta ação são: </para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><guilabel>Arquivo de registro</guilabel></term>
|
|
<listitem><para>o nome completo e a localização do arquivo</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>Detalhe</term>
|
|
<listitem><para>Quanta informação irá conter este registro</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><guilabel>Comportamento</guilabel></term>
|
|
<listitem><para>Se deve criar/sobrepor o arquivo de registro existente ou adicionar o novo evento a ele.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><guilabel>Ação de programa</guilabel></term>
|
|
<listitem><para>uma ação de um programa definido pelo usuário. Veja em <xref linkend="user-actions"/> as ações do usuário. </para>
|
|
<para><guilabel>Nome da ação</guilabel> indica a ação a executar quando ocorrer o evento.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>Os outros itens dependem do tipo de <guilabel>Ação</guilabel> com que foram descritos. </para>
|
|
</sect1>
|
|
&debugging-quanta; </chapter>
|