Nova postagem

查找

Artigo
· 20 hr atrás 2min de leitura

Conectando ao InterSystems IRIS no VS Code usando SQLTools

SQLTools é uma extensão do Visual Studio Code (VS Code) com mais de 3,5 milhões de downloads, que fornece conexões para muitos dos bancos de dados mais usados, incluindo o InterSystems IRIS, utilizando drivers.

Para desenvolvedores que são novos no VS Code, ou aqueles já familiarizados com ele mas que desejam simplificar suas conexões com o InterSystems IRIS, este tutorial irá guiá-lo na instalação da extensão SQLTools e do driver do InterSystems IRIS. Em seguida, ele mostra como estabelecer uma conexão com sua instância do InterSystems IRIS e executar uma consulta.

Você vai precisar de: VS Code instalado em seu sistema e acesso a uma instância do Intersystems IRIS.
 

 

Instalando a extensão SQLTools e o driver do InterSystems IRIS

  1. Abra o VS Code.
  2. Navegue até a visão de Extensões na Barra de Atividades ou pressione Ctrl+Shift+X.
  3. Na barra de pesquisa, digite "SQLTools" e pressione Enter.
  4. Localize a extensão SQLTools nos resultados da pesquisa e clique no botão "Install" (Instalar).
  5. Aguarde a conclusão da instalação e, em seguida, feche a aba. Observe o novo ícone do SQLTools na sua Barra de Atividades.
  6. Na barra de pesquisa de Extensões, digite "SQLTools IRIS" e pressione Enter.
  7. Encontre a extensão SQLTools InterSystems IRIS nos resultados da pesquisa e clique no botão "Install" (Instalar).
  8. Após a instalação ser concluída com sucesso, feche a aba.

   

 

 

 

Conectando ao InterSystems IRIS

  1. Vá até o ícone do SQLTools na Barra de Atividades.
  2. Clique em “Add New Connection” (Adicionar Nova Conexão) e selecione o driver “InterSystems IRIS”.
  3. Digite um nome para a sua conexão.
  4. Preencha os detalhes da conexão e, opcionalmente, configure definições adicionais de acordo com seu ambiente.
  5. Teste a conexão usando o botão “Test Connection” (Testar Conexão).
  6. Depois que a conexão for testada com sucesso, clique em “Save Connection” (Salvar Conexão) para criá-la.

    

 

 

Executando uma Consulta

  1. Navegue até o ícone do SQLTools na Barra de Atividades, onde você verá suas conexões.
  2. Clique com o botão direito na conexão que deseja usar e selecione “Connect” (Conectar) no menu de contexto.
  3. Uma vez conectado, escreva uma consulta simples.
  4. Clique em “Run on active connection” (Executar na conexão ativa).
  5. O SQLTools irá gerar os resultados, exibidos no painel à direita.
  6. Para explorar as tabelas do seu banco de dados, expanda sua conexão na Barra Lateral Principal.
  7. Selecione “Show Table Record” (Ctrl+E Ctrl+S) ou clique no ícone da lupa.
  8. Clique em “Open” (Abrir) e em “Open results as JSON” (Abrir resultados como JSON).

 

 

Espero que você tenha achado este tutorial útil e que o uso do SQLTools ajude a agilizar seu ambiente de desenvolvimento no VS Code. Se você experimentar, adoraria saber como foi sua experiência!

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· 21 hr atrás 3min de leitura

Melhorias na Aplicação CCR para Boas Práticas

Ao longo do último ano, a equipe de desenvolvimento do CCR priorizou mudanças na aplicação CCR para expor melhor e incentivar as boas práticas de uso do CCR. Este artigo destacará algumas das áreas em que nos concentramos:

  • Painel de Organização
  • Alertas do Sistema
  • Higiene de Branch

Em cada uma dessas áreas, aumentamos a visibilidade de possíveis problemas no uso do CCR e fornecemos aos usuários ferramentas para abordá-los de forma proativa.

Painel de Organização

Continuamos a expandir as informações disponíveis na página de detalhes da Organização.

A visão geral é um ótimo lugar para obter uma noção geral do uso do CCR na sua Organização. Ela agora inclui mais KPIs, destacando várias áreas de atenção e com links para as páginas da aplicação CCR onde você pode tratá-las.

A aba Systems  inclui informações detalhadas sobre o estado das Client Tools em todos os Ambientes, bem como informações do System Architect. Os alertas aqui destacam informações ausentes, inatividade e Client Tools desatualizadas, com links para os Sistemas correspondentes.

Outras abas na página de detalhes da Organização foram aprimoradas com informações adicionais, tornando o uso do CCR na sua Organização mais claro à primeira vista.

Alertas de sistema

Outra área de maior visibilidade é a página de detalhes do Sistema, onde agora temos alertas para diversos problemas de uso do CCR.

Alertas de Ambiente foram adicionados para URLs não configuradas, URLs inseguras e problemas detectados nas Client Tools. Os detalhes são exibidos ao passar o cursor:

Quando o CCR detecta que as Client Tools estão desatualizadas para o Sistema, um alerta será exibido para incentivar o uso do botão de atualização.

Sistemas que não tiveram atividade nos últimos 6 meses agora exibirão um alerta.
Um sistema assim pode ser descontinuado se não estiver mais em uso, ou o botão de "soneca" pode ser clicado para contabilizá-lo como um Sistema ativo no próximo ano.
Isso é apropriado para alguns tipos de Sistemas que raramente precisam receber atualizações.

System Branch Hygiene

A Branch Hygiene do Sistema é uma ferramenta poderosa para entender problemas existentes nos branches do Perforce de um Sistema. Ela está disponível na página de detalhes do Sistema para cada Sistema Tier 1 ou 2.

A funcionalidade principal da ferramenta já existe há algum tempo, mas melhorias recentes aprimoraram a detecção de alguns casos extremos.

Executar essa verificação em um Sistema maduro é uma ótima maneira de identificar quaisquer itens que possam causar problemas no futuro.

Conclusão

Nessas áreas e em toda a aplicação CCR, houve muitas mudanças este ano com o objetivo de promover o uso correto do CCR. Melhorias futuras se concentrarão em expor ainda mais informações e desenvolver ferramentas que ajudem os usuários do CCR a compreender melhor seus Sistemas e resolver problemas de forma proativa.

Se você tiver dúvidas ou sugestões sobre como a aplicação CCR pode incentivar boas práticas, por favor, comente abaixo.

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· 21 hr atrás 2min de leitura

Uso prático do XECUTE (InterSystems ObjectScript)

Se você está começando com o InterSystems ObjectScript, certamente vai se deparar com o comando XECUTE.
E iniciantes podem se perguntar: onde e por que eu precisaria usar isso?

A documentação oficial traz uma rica coleção de trechos de código, mas nenhum caso prático.
Recentemente, encontrei um caso de uso que gostaria de compartilhar com você.

O cenário:
Quando você constrói um container do IRIS com Docker, na maioria dos casos,
você executa o script de inicialização.

iris session iris < iris.script 

Isso significa que você abre uma sessão de terminal e fornece sua entrada linha por linha a partir do script.
E isso funciona bem e é fácil se você estiver chamando métodos, funções ou comandos.
Mas percorrer várias linhas em loop não é possível.
Você pode argumentar que executar um loop FOR em uma linha não é uma obra-prima.
Certo, mas as linhas não são infinitas e o código deve permanecer manutenível.

Um objetivo diferente era não deixar rastros de código após a configuração.
Então, iris.script foi o local para aplicá-lo.

A solução:
XECUTE me permitiu encadear meu código de múltiplas linhas.
Para evitar conflitos com escopo de variáveis, usei apenas %Variables
Aliás: o objetivo era popular algumas LookupTables de demonstração.
Só para conforto, usei nomes de métodos de %PopulateUtils como nomes de tabelas.

   ;; generate some demo lookup tables   
   ; inner loop by table
    set %1="for j=1:1:5+$random(10) XECUTE %2,%3,%4"
    ; populate with random values
    set %2="set %key=##class(%PopulateUtils).LastName()"
    set %3="set %val=$ClassMethod(""%PopulateUtils"",%tab)"
    ; write the table
    set %4="set ^Ens.LookupTable(%tab,%key)=%val"
    set %5="set ^Ens.LookupTable(%tab)=$lb($h) write !,""LookupTable "",%tab"
    ; main loop
    XECUTE "for %tab=""FirstName"",""City"",""Company"",""Street"",""SSN"" XECUTE %1,%5"
    ;; just in Docker

O resultado atendeu aos requisitos sem deixar rastros permanentes e
não interferiu com o código depositado no IPM.
Portanto, foi usado apenas uma vez durante a construção do container Docker.

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· 21 hr atrás 2min de leitura

Arquivando meus pacotes OEX

Ao longo dos últimos 9 anos, publiquei mais de 90 pacotes no OEX.
E, durante esse período, condições e ambientes mudaram.

No início, não havia

  • Docker
  • IPM/ZPM
  • Python embarcado, nem IA
  • Caché, Ensemble, CSP, ZEN, etc. eram predominantes.

Com o passar do tempo, as versões dos produtos e as linguagens externas também mudaram.
No começo, ajustar alguns poucos pacotes não era um problema
e fazia parte da qualidade do suporte oferecido aos meus “consumidores”.

Com o volume atual, não vejo como manter esse nível para todos os meus pacotes.
E, com base nas verificações de qualidade, tenho a impressão de que isso não é apenas um problema meu.
Mudanças recentes já causaram problemas suficientes apenas com atualizações de versão.

Então, propus a ideia de um rótulo DEPRECATED para os pacotes do OEX.

Seria uma forma justa de sinalizar aos outros usuários do OEX que não há
intenção de fazer manutenção em determinado pacote.
Também funcionaria como uma espécie de aviso, caso ele seja utilizado.

Além disso, um pacote DEPRECATED deveria estar livre para
adoção e retrabalho e, eventualmente, correções
por outro membro da comunidade.

Quase não houve retorno.
Na verdade, minha única opção era removê-los da publicação — cerca de 90 pacotes no total.
Muito código que antes funcionava bem ficou indisponível e poderia servir como
exemplo para iniciantes ou como fonte de alguns truques.

Então, mudei de ideia e marquei os pacotes que ainda poderiam ser úteis,

 no maintenance or update

Como solução temporária, também estou usando o recurso de arquivamento do GitHub
para evitar alterações acidentais.

Assim, espero que a maioria desses cerca de 90 pacotes volte a aparecer ao longo do tempo.
E, com eles, também todos os comentários e artigos relacionados.
Encaro isso como uma espécie de museu, para mostrar como o ambiente já foi
mais simples ou mais complexo no passado,
sem ignorar as conquistas alcançadas.

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· 22 hr atrás 2min de leitura

Reviews do Open Exchange - #63

Se um dos seus pacotes no OEX receber uma avaliação, você será notificado pelo OEX apenas sobre o seu próprio pacote.
A nota reflete a experiência do avaliador com o estado encontrado no momento da avaliação.
É como uma espécie de “fotografia” e pode ter mudado nesse meio-tempo.
As avaliações feitas por outros membros da comunidade são marcadas com * na última coluna.

Também abri vários Pull Requests no GitHub quando encontrei algum problema que eu podia corrigir.
Alguns foram aceitos e incorporados, e outros simplesmente foram ignorados.
Então, se você fez uma mudança importante e espera uma avaliação atualizada, é só me avisar.

# Package Review Stars IPM Docker *
1 IRIS OpenTelemetry Demo impressive 7 containers concert 5.5   y  
2 DBdashboard impressive catch 5.0   y *
3 DBfree super multi instance monitoring 5.0   y *
4 IRIS-EchoServer-WebSockets echo inside IRIS 5.0   y *
5 iris-health-fhir-agentic-demo not just big but great 5.0   y *
6 ML Made Easy : IntegratedML an excellent training for beginners 5.0   y  
7 restoreUI a pleasure to work with 5.0 y y  
8 WebSocketsSample hidden treasure detected 5.0      
9 CSV-to-MS-OFX rare subjects 4.8   y *
10 GeoDatas works partially 3.5   y  
11 CommunityEns requires some adjustments 3.3   y  
12 ALPHA LOGISTICS partner posting *      
13 ERP Plenum partner posting *      

 

NOTA:
Se alguma avaliação não estiver visível para você, ela ainda pode estar aguardando aprovação pelos administradores do OEX.

Discussão (0)1
Entre ou crie uma conta para continuar