portabilis/i-educar

Adicionar a versão da aplicação na página inicial

Closed this issue · 9 comments

CONTEXTO:
Adicionar a versão da aplicação na página inicial.

Por que esta alteração é importante?
Resposta: Aplicações com versão na tela inicial demonstra clareza no controle de versão que está em produção.

Como você usaria isto?
Resposta: Usaria simplesmente olhando a versão na tela inicial e dessa forma será possível saber qual versão da aplicação está sendo executada.

Como esta alteração pode beneficiar outros usuários?
Resposta: Velocidade na identificação da versão que está sendo executada.

IMPLEMENTAÇÃO:

Na classe app/Http/Controllers/Api/VersionController.php, adicionaria o método abaixo:

    /**
     * Return version data.
     *
     * @return array
     */
    public static function versionApplicationComposer()
    {
        $composer = json_decode(file_get_contents(base_path('composer.json')));

        return $composer->version;
    }

No arquivo resources/views/layout/public.blade.php, logo abaixo da linha {!! config('legacy.config.ieducar_login_footer') !!} adicionaria a seguinte informação Versão: {{ App\Http\Controllers\Api\VersionController::versionApplicationComposer() }}

O resultado final será a imagem abaixo:

image

@edersoares, quando possível, colocar seu parecer e se tiver de acordo avisar que sigo com o PR.

PS.: Daria para usar o método version que está no arquivo app/Http/Controllers/Api/VersionController.php, porém como ele não é estático, seria necessário criar um objeto para acessar o recurso e como o arquivo resources/views/layout/public.blade.php é um mix de instruções blade template com php não sei se seria a melhor abordagem.

@marcosoliveirasoares94 eu prefiro manter a versão separada em um link como /api/version pois lá tem o hash do commit atual que é mais relevante do que o número da versão.

O desenvolvedor tem que saber a versão que está rodando, ele tem que ter o controle do sistema e não é o usuário quem deve saber isso.

@edersoares, entendo.

Nesse caso posso seguir com a criação do endpoint, porém acho interessante ele ficar fora do middleware de autenticação, para dessa forma podermos colocar a informação a disposição do desenvolvedor como também na página inicial do sistema, tendo em vista que o usuário em algum momento vai reportar um bug e precisa informar qual a versão ele está utilizando.

Como disse o endpoint /api/version já retorna os dados de versão. Se houve a necessidade de exibir alguma versão para o usuário, isso pode ser customizado individualmente em seu projeto.

Ah sim, tinha entendido que teria que ser criado o endpoint.

Então descarta a inclusão da versão na página inicial do aplicação ?

Isso, acho que não precisamos seguir visto que é algo de nível desenvolvedor e não usuário.

Isso, acho que não precisamos seguir visto que é algo de nível desenvolvedor e não usuário.

@edersoares, mesmo no caso em que o usuário do sistema em algum momento vai precisar reportar um bug e geralmente é necessário informar versão que ele está utilizando. O que acha desse ponto de vista ?

Sei que da forma como a Portabilis usa, isso não faz tanto sentido pois tem um único local de código fonte, porém para a Comunidade é de grande ajuda essa informação na tela principal principalmente para implantações locais que não usam o conceito do multi-tenant

Ao meu ponto de vista é algo que tanto faz.. Quem mantém o software tem que saber exatamente que versão está rodando. Então colocar em tela é algo pra nível de usuário que eu não vejo trazer tanta relevância. Não são os usuários que reportam bugs para a comunidade, são os desenvolvedores.

Tudo bem então, vou fechar a issue.