Projeto: ABAPdoc

Pelo que venho conversando com algumas pessoas, acho que um dos assuntos mais esperados no ABAP101 são os nossos projetos Open Source. Pois bem, hoje estamos dando nossos primeiros passos.

Ainda não sabemos qual o interesse, como as pessoas reagirão e muito menos como gerenciar a coisa toda, mas precisamos começar de algum ponto e hoje tentarei explicar como será conduzida essa iniciativa.

O Projeto

Nosso primeiro projeto será o ABAPdoc. Esse projeto já existe e não é original do ABAP101, ou seja, nenhum dos editores do ABAP101 é o owner do projeto. O projeto está hospedado no Code Exchange e é aberto para quem quiser contribuir.

O objetivo do projeto é um gerador de documentação HTML para módulos de função e classes globais. O programa recebe como parâmetro na tela de seleção um range de objetos e gera em um diretório uma estrutura de arquivos HTML, onde o leitor pode explorar os parâmetros de um módulo de função ou componentes de uma classe global, como atributos, métodos, interfaces etc. O resultado é algo parecido com que é gerado pelas ferramentas do JavaDoc.

Você pode baixar o ABAPdoc daqui ou diretamente do seu projeto no Code Exchange.

O Que Precisa Ser Feito

Nossa primeira ação será incluir algumas melhorias que usaremos em nossos futuros projetos no ABAP101. Essas melhorias serão adotadas como regra de documentação nos projetos do ABAP101, mas deverão fazer parte do projeto oficial que está no Code Exchange. Sendo assim, as alterações deverão ser submetidas ao owner do projeto que aprovará ou não se dada alteração fará parte da versão oficial do projeto.

Por que o ABAPdoc?

Quando estávamos trabalhando em nosso projeto piloto, o Tic-Tac-Toe, uma de nossas tarefas era documentar as classes usadas no jogo. Como estamos cansados de documentos Word que rapidamente ficam desatualizados e ninguém confia neles para coisa alguma, decidimos usar algo parecido com os JavaDocs.

Encontramos o ABAPdoc. Mas também encontramos um programa muito simples, onde o autor apenas havia implementado as operações mais básicas necessárias para a geração dos arquivos HTML. Após alguns testes, percebemos que ele não nos atendia. Como ele é escrito em ABAP, nada mais natural que as melhorias necessárias para o ABAP101 fossem implementadas.

Começamos a fazer as primeiras alterações, mas foi aí que decidimos deixar a parte mais legal para nossos leitores!

O projeto não é complicado e toda a parte de leitura dos objetos, estruturas HTML e geração dos arquivos já estão feitas. Então precisamos melhorar a parte das tags nos código, parte visual do HTML gerado, geração dos diagramas UML (HTML5?) de maneira automática e muitas outras coisas que julgamos necessárias.

Claro que muitas coisas coisas podem ser melhoradas, inclusive usando outros projetos do próprio ABAP101. Por exemplo, caso haja necessidade de uma tela de seleção dinâmica (assim como é usado no SAPLink), podemos usar o Screen Braker (Projeto no Code Exchange), bem como a parte de geração dos arquivos poderá ser feita usando o File Man.

Outro motivos que nos animou em usar o ABAPdoc é o fato dele já ser um projeto relativamente conhecido no SDN. Imagine quando começarmos a fazer os primeiros submits das nossas modificações? Será uma maneira muito legal de chamar a atenção na SDN, seja para sua própria reputação, como para nossa própria comunidade de brasileiros

Prova disso é que podemos ver na figura abaixo, uma versão alpha do nosso outro projeto, com a primeira issue, apontada por um funcionário SAP. Isso quer dizer estarão sim olhando o que vocês fizerem no Code Exchange. Como eu sempre digo, não adianta ser apenas um bom desenvolvedor, precisa parecer um bom desenvolvedor.

 

Quero Participar!

No mundo do software colaborativo, palavras não valem nada, código é o que conta! Então, está na hora de você mostrar a sua vontade. Baixe o código atual do ABAPdoc daqui e me mande um e-mail (furlan ar-ro-ba abap101.com), explicando em no máximo em 3 ou 4 linhas como o programa funciona. Não escreva nos comentários.

Não precisa escrever um tratado do ABAPdoc, mas apenas uma explicação de como ele faz para ler os objetos (módulos de função e classes globais) do repositório, como ele faz para gerar os HTML e como ele grava os arquivos na máquina do usuário.

Não encare isso como um vestibular, mas apenas uma forma nos mostrar o seu interesse, pois para responder essas questões simples, você terá que estudar o código do ABAPdoc. Não há uma resposta certa, queremos apenas saber se você estudou o código e tentou entender como ele funciona. Nisso você já estará aprendendo! Eu aprendi alguns truques novos com o ABAPdoc, tenho certeza que você também aprenderá.

Com isso, já poderemos formar nosso time e começar as primeiras discussões sobre as melhorias que deverão ser feitas e distribuição das atividade. E posso garantir que serão muitas!

 

You may also like...

4 Responses

  1. Willian says:

    Otima iniciativa

  2. Olá,

    Você está de parabéns pelo blog, muito bom mesmo!

    Gostei pro projeto, vou dar uma olhada no código e te mando um resumo sumarizando tudo 😉

    Parabéns!

  1. January 11, 2012

    […] nosso primeiro projeto open source, fizemos uma espécie de admissão, razoavelmente semelhante com a de muitas empresas. Como ainda […]

  2. December 7, 2014

    […] semana definimos a primeira versão do modelo de nosso projeto ABAPDoc2 (veja aqui maiores detalhes do nosso projeto). Você também pode encontrar nosso planejamento conferindo o […]