terça-feira, 6 de dezembro de 2022

Como alinhar os itens com o botão nos formulários

 Olá pessoal,

hoje vamos aprender como alinhar os itens com o botão.

Quando a gente tenta colocar o botão na mesma linha do item, você já se deparou com a situação em que  eles ficam desalinhados conforme abaixo? 

Para resolver esta situação é bem simples! 

Basta na propriedade "Classes CSS da linha" do primeiro elemento da linha adicionar o seguinte CSS: "u-align-items-center" conforme imagem abaixo.


Ao executar novamente o aplicativo, agora o botão ficará alinhado ao centro com o item.


Atenção: Essa classe só funciona no APEX 22 ou superior.



Espero que tenha gostado!


terça-feira, 12 de abril de 2022

Como ativar e consultar o log de atividades no APEX

 Prezados,

hoje vamos falar sobre como ativar e consultar o log de atividades no APEX.

Como tudo no APEX, é muito fácil!

Você pode ativar o log de atividades do usuário no nível da sua instância do APEX ou da sua aplicação.

Para ativar o log no nível da instância, acesse com seu login e senha de administrador de instância o ambiente de administração usando a URL: https://seudomíniodoapex/ords/apex_admin ou digitando INTERNAL como o workspace na tela de login do ambiente de desenvolvimento do APEX.




Após isso, acesse: Gerenciar Instância >  Configuração de Recursos e na seção Monitoramento, defina a propriedade "Log de Atividades do Aplicativo" com o valor desejado.


Por padrão, o APEX deixa que cada aplicativo defina se vai gerar o log de atividades, mas caso queira que todas as aplicações gerem log (o desenvolvedor não consegue desativar a nível de aplicação), você pode definir a propriedade como "Sempre".

Outras opções são definir como "Nunca" gerar log ou para que ao criar uma aplicação, inicialmente a aplicação não gere log a não ser que o desenvolvedor ative o log ("Inicialmente Desativado para Novos Aplicativos").

Portanto, ao definir a propriedade como "Sempre" ou deixar como padrão ("Usar Definições do Aplicativo"), a sua aplicação poderá gerar log de atividades.


Caso no nível de instância seja definido como "Padrão", o desenvolvedor pode ativar a geração de log de atividades no nível da aplicação.

Obs: O APEX antes chamava de "aplicação", mas as novas versões estão chamando de "aplicativo".

Para definir no nível da aplicação, o desenvolvedor deve logar no espaço de trabalho, acessar a aplicação no AppBuilder, nos Componentes Compartilhados, acessar "Atributos de Definição do Aplicativo" na seção Propriedades, você pode ativar a opção "Log" (conforme imagem abaixo). 


Isso faz com que os logs de atividades sejam gerados pelo APEX.

E como posso acessar essa informação?

O log é salvo internamente e fica acessível por meio da view APEX_WORKSPACE_ACTIVITY_LOG quando consultada no esquema APEX correspondente. 

Vamos fazer uma consulta no SQL Workshop de exemplo.

select * from apex_workspace_activity_log



O log do APEX registra as visualizações e submissões de página, além de chamadas ajax (normalmente ações dinâmicas) e contém diversas informações interessantes, tais como: workspace,  usuário logado, id e nome da aplicação, id e nome da página, data de visualização, tempo de execução, IP, Agent (Browser), Sessão APEX, mensagens de erro etc.

Caso tenha dúvidas do que alguma coluna significa, você pode consultar o comentário de cada coluna usando o dicionário do APEX usando a seguinte consulta:

select * from apex_dictionary 
where apex_view_name = 'APEX_WORKSPACE_ACTIVITY_LOG'


E quais são os pontos negativos desse log de atividades?

Na minha opinião os principais pontos negativos são:
1) O log é armazenado por padrão apenas por duas semanas.
2) Não armazena informações do estado da sessão. Por exemplo, a gente sabe que um usuário acessou uma página de uma aplicação em determinado dia/hora, mas não sabemos que informações estavam nos itens da página.
3) Aplicações com muitos acessos vão gerar logs gigantescos que ocupam muito espaço.

Como minimizar estes pontos negativos?
1) Criar alguma job para armazenar em tabela o log.
2) Criar algum mecanismo para salvar o valor dos itens das páginas críticas em relação a segurança em alguma tabela (Muito cuidado ao fazer isso, pois poderá estar expondo dados sigilosos)
3) Desligar o log em aplicações com muitos acessos caso não seja necessário. (Não recomendo muito)

Antes de finalizar, vale lembrar que esse log NÃO salva informações de alterações em tabelas. O melhor mecanismo para isso no Oracle provavelmente será o FDA (Flashback Data Archive).

Se seu interesse é em log de alterações de tabelas, segue um vídeo interessante sobre FDA:
Vídeo do Connor McDonald (inglês):   https://youtu.be/FpRAc-FEWbE

Espero que tenha gostado.
Até a próxima!

quarta-feira, 23 de março de 2022

Minhas impressões sobre o Oracle APEX no Brasil

 Olá pessoal,

como vocês devem saber, o GUOB lançou uma pesquisa sobre o Oracle APEX no Brasil.

Caso não tenha participado da pesquisa, pode responder no seguinte link (ficará indisponível em breve): https://docs.google.com/forms/u/2/d/1CrKA9QgQp5MUTtGvk910aKsy0vf-wlcCF25Mux9ZOu4

A grande vantagem de participar é que ao final você terá acesso ao resultado completo com as respostas consolidadas de todos os participantes.

De qualquer forma, abaixo faço um compilado das minhas principais impressões sobre o resultado da pesquisa GUOB APEX:

1) Há uma concentração de uso nas regiões Sul, Sudeste e Centro-oeste (Regiões mais ricas?).

2) É muito utilizado na iniciativa privada, mas também em instituições públicas.

3) Para todos os tipos de projeto.

4) A maioria dos sistemas se inicia em APEX (não de migrações).

5) Principal fator de uso é a produtividade low code e o aproveitamento de conhecimento existente (PLSQL, banco Oracle etc)

6) Achei bem interessante o fato de pessoas dizerem que tem poucas vagas de APEX e outros dizerem que está difícil contratar, pois é difícil encontrar profissionais APEX. (Falta alguma ponte esse essas pessoas?)

7) Praticamente metade trabalha 100% home office.

8) Mais da metade das pessoas começou no APEX há menos de 5 anos.

9) Há um empate técnico entre Oracle On Premise e Oracle Cloud na hospedagem.

10) Maioria ainda está usando a versão 20.

11) A certificação mais obtida é a de SQL.

12) O YouTube parece ser o canal mais utilizado para aprender.

13) As pessoas usam muito o "APEX puro" (sem uso de ferramentas acessórias de versionamento do APEX ou versionamento do BD, logging, modelagem, automação de testes, build etc).

14) Apesar dos problemas, o Jasper Reports é a ferramenta mais utilizada para impressão.

15) O lugar mais utilizado para dúvidas é a Oracle Communities.

16) Comunidades mais usadas: Oracle APEX Brasil no Linkedin, GUOB, e apex.world.


Se tiver interesse, participei de uma live do GUOB com especialistas em Oracle APEX para debater os resultados da pesquisa. Segue o link: https://www.youtube.com/watch?v=XD47oi4fUmQ


Deixe seu comentário se interpretou algo de diferente. 

Não deixe de responder a pesquisa. Você vai ter acesso a resultados bem legais.

Espero que tenha gostado.

Até a próxima!