#Dicas e truques

1 Seguidor · 76 Postagens

Pedaços da experiência tecnológica InterSystems que resolve algum problema específico de maneira elegante ou incomum.

Artigo Angelo Bruno Braga · Jul. 4, 2022 1m read

Se você sabe vários idiomas e gostaria de compartilhar seu conhecimento com usuários de outras partes do mundo que não falam Português?

Agora é sua hora de brilhar! 🤩

Com nossa Comunidade de Desenvolvedores é fácil associar seu artigo original com a sua tradução em outro idioma (ou mesmo solicitar que seja feita a tradução).

Vamos conversar um pouco sobre como criar sua própria tradução:

0
0 117
Pergunta Luiz Henrique Carvalho Martarelli · Jun. 27, 2022

Bom dia / tarde / noite!

Onde trabalhamos usamos 2 versões de cache, a de 2015 (uma base de teste) e uma versão 2018 (Produção) a versão de produção eu consegui rodar normalmente no vscode, já a versão de 2015 não tive sucesso, ele não carrega os namespace, gostaria de saber se realmente não é compatível com a versão, ou se a configuração tem que ser outra, caso seja, alguém pode compartilhar um modelo ou um tutorial?

desde já agradeço a ajuda!

att

Luiz Martarelli

1
0 99
Artigo Rochael Ribeiro · Fev. 22, 2022 2m read

Pessoal !

Recentemente encontrei vários comandos ObjectScript de apenas uma linha na Comunidade de Desenvolvedores e achei que seria uma ótima ideia colecioná-los para não perdê-los!

Decidi então juntar alguns poucos casos, colocá-los em um projeto OEX, e compartilhá-los com vocês!

E aqui está como vocês podem utilizá-los:

1. Criar uma configuração cliente SSL:

set $namespace="%SYS", name="DefaultSSL" do:'##class(Security.SSLConfigs).Exists(name) ##class(Security.SSLConfigs).Create(name)

Útil se você precisar ler conteúdo de uma URL.

0
0 112
Artigo Rochael Ribeiro · Fev. 21, 2022 2m read

Olá desenvolvedores!

Algumas vezes precisamos inserir ou fazer referência aos dados de classes persistentes diretamente através das globais.

E talvez muitos de vocês estejam esperando que a estrutura de dados da global com os registros seja:

^Sample.Person(Id)=$listbuild("",col1,col,2,...,coln).

Este artigo é um aviso que nem sempre isso é verdade. Não espere que sempre seja assim!

0
0 90
Artigo Rochael Ribeiro · Fev. 21, 2022 2m read

Olá Desenvolvedores!

Como você provavelmente percebeu, no IRIS 2021 os nomes das globais são randômicos.

E, se você criar classes do IRIS classes com DDL e quiser se certificar qual global foi criada, você provavelmente gostaria de escolher seu nome.

E, de fato, você consegue fazê-lo. 

Utilize WITH %CLASSPARAMETER DEFAULTGLOBAL='^GLobalName' na instrução CREATE Table para fazê-lo. Documentação. Veja o exemplo abaixo:

0
0 83
Artigo Larissa Prussak · Out. 4, 2021 2m read

Olá comunidade!

O site de aprendizado da InterSystems tem muitos cursos iterativos importantes. 
Portanto, se você deseja aprender sobre a InterSystems e começar a trabalhar com a InterSystems, este é o caminho:


Overview:

Fundamentais:

1
0 183
Artigo Larissa Prussak · Ago. 9, 2021 1m read

Olá desenvolvedores!

Só quero compartilhar uma prática recomendada antiga, mas sempre relevante, sobre a alteração de namespaces @Dmitry Maslennikov compartilhada comigo (de novo).

Considere o método:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

set ns=$namespace

zn "%SYS"

// try-catch in case there will be an error

try {

// do something, e.g. config change

}

catch {}

 zn ns    ; returning back to the namespace we came in the routine

return sc

}

E com o novo $namespace, o método pode ser reescrito como:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

new $namespace

set $namespace="%SYS"

// do something

return sc

}

Então! A diferença é que não precisamos alterar o namespace manualmente, pois ele voltará automaticamente assim que retornarmos o método.

e não precisamos do try-catch (pelo menos para esse propósito) também.

0
0 179
Artigo Larissa Prussak · Maio 7, 2021 1m read

Se você trabalha com o Portal em várias instâncias do Caché, Ensemble ou HealthShare, pode achar útil definir o Modo do Sistema das várias instâncias, de modo a dar a si mesmo um lembrete visual da função daquela em que você está trabalhando atualmente.

Por exemplo:

0
0 137
Artigo Fernando Ferreira · Mar. 25, 2021 6m read

Olá comunidade,

  Nesta 4ª parte vamos falar de uma funcionalidade do InterSystems IRIS Reports chamada de “Bursting”. Vamos primeiro relembrar o que já vimos até o momento.

Entendemos o que é o InterSystems IRIS Reports, instalamos os ambientes: Designer e Server, verificamos os diversos tipos e formatos de relatórios que podemos desenvolver, e entendemos como distribuir um relatório em diversos formatos.

Mas afinal o que é o “Bursting”? Antes de demonstrar está funcionalidade em ação, vamos primeiro refletir sobre a sua necessidade.

Todos nós já nos deparamos com necessidade de processar relatórios com milhares de linhas, e este tipo de relatório normalmente tem um alto custo de processamento no banco de dados com milhares de linhas que não são destinadas a um único usuário, você precisa segregar as informações por região, por alguma categoria seja de produto ou um tipo de exame, ou por alguma hierarquia existente para o seu tipo de negócio. Sem o InterSystems IRIS Reports, você precisaria desenvolver uma ou mais queries aplicando técnicas para filtrar dados com as opções de “filtro” que usuário precisa ou pode ter acesso, e podem ocorrer mais de uma execução por diversos usuários ao longo do dia.

0
0 189
Artigo Fernando Ferreira · Mar. 17, 2021 10m read

Olá Comunidade,

 

Chegou a hora de iniciarmos o desenvolvimento dos relatórios utilizando o InterSystems IRIS Reports, powered by Logi Analytcs.

Lembrando que na primeira parte do artigo falamos o que é o InterSystems IRIS Reports, e como ele vem facilitar a vida dos desenvolvedores na entrega de relatórios, e na segunda parte executamos o procedimento de instalação dos ambientes server e designer e o procedimento para fazer o download dos binários de instalação!

Alguns conceitos importantes antes de iniciarmos o desenvolvimento sobre os tipos de relatórios que podemos desenvolver:

  • Estáticos: Os relatórios e seus resultados não podem ser modificados pelo usuário final. O layout e os dados inclusos são definidos pelo desenvolvedor.
  • Dinâmicos: Os relatórios podem ser modificados pelos usuários finais, como no estático o layout e dos dados são inclusos pelo desenvolvedor, porém o usuário final consegue modificá-los em tempo de execução.
  • Ad Hoc – Relatórios e dados são construídos e modificados em tempo de execução pelo usuário final. 
2
0 445
Artigo Fernando Ferreira · Mar. 4, 2021 6m read

Olá comunidade,

              Vamos para a 2º parte do artigo InterSystems IRIS Reports.

Somente relembrando na primeira parte do artigo falamos dos desafios existentes para atender a demanda das áreas de negócios, clientes ou usuários finais com a entrega de relatórios em diversos formatos e suas melhorias, e como o InterSystems IRIS Reports vem para facilitar está demanda, facilitando o desenvolvimento, a administração, o deploy de relatórios em diversos formatos, bem como a automação da distribuição por e-mail ou pastas e integração (build-in) em suas aplicações já existentes!

O InterSystems IRIS Reports, powered by Logi Report se encontra disponível para download no WRC (https://wrc.intersystems.com/wrc/coDistribution.csp), lembrando que para clientes que já possuem o licenciamento InterSystems IRIS Advanced Server ou InterSystems IRIS Advanced for Health, precisam somente abrir um chamado solicitando o serial para a instalação do InterSystems IRIS Reports, sem custo adicional.

Como mencionando no artigo anterior o InterSystems IRIS Reports é divido em dois componentes:

Server: O ambiente servidor tem a sua finalidade de administrar as configurações e segurança. É também onde os usuários finais via browser têm acesso aos relatórios, você pode agendar execução de relatórios, aplicar filtros e modificar os relatórios disponibilizados.

Designer: O ambiente designer por sua vez é onde os relatórios são desenvolvidos. É possível visualizar os relatórios antes de disponibilizar acessando diretamente a bases de dados.

0
0 343
Artigo Fernando Ferreira · Fev. 23, 2021 2m read

Olá comunidade,

Todos nós já conhecemos o poder da solução InterSystems IRIS Data platform ou IRIS for Health, a facilidade de desenvolver aplicações utilizando Object Script, Java, Node.JS, Python, .NET,  com alto desempenho e confiabilidade do nosso banco de dados multi-modelo altamente escalável de forma horizontal ou vertical, o poder da interoperabilidade entre aplicações, com outros bancos de dados, a possibilidade de integrar utilizando diversos protocolos como REST, SOA, MQTT, FTP, etc., a nossa solução de BI, NLP, tudo em um mesmo binário, em uma mesma plataforma, o que facilita a vida do desenvolvedor a entregar soluções inovadoras e confiáveis!

Mesmo entregando soluções inovadoras, existe um desafio diário para muitos desenvolvedores, demandada pelas áreas de negócios, seja para entregar informação para clientes e ou usuários internos/externos etc., que são os relatórios.

0
0 226
Artigo Robert Cemper · Dez. 14, 2020 3m read
Este é um exemplo de codificação funcionando no IRIS 2020.1 e no Caché 2018.1.3 
Ele não será sincronizado com as novas versões      
E também NÃO é atendido pelo Suporte da InterSystems!   

Globais no Caché / Ensemble / IRIS são normalmente invisíveis ao acessar o SQL
Este exemplo mostra como contornar esse limite.

0
0 273
Anúncio Jose-Tomas Salvador · Nov. 3, 2020

Desta vez, quero falar sobre algo não específico do InterSystems IRIS, mas que acho importante se você deseja trabalhar com Docker e seu servidor no trabalho é um PC ou laptop com Windows 10 Pro ou Enterprise.

Como você provavelmente sabe, a tecnologia de contêineres vem basicamente do mundo Linux e, hoje em dia, está em hosts Linux onde apresenta potencial máximo. Quem usa o Windows normalmente vê que tanto a Microsoft quanto o Docker têm feito esforços importantes nos últimos anos que nos permitem rodar contêineres baseados em imagens Linux em nosso sistema Windows de uma maneira muito fácil... mas é algo que não é suportado para sistemas em produção e, este é o grande problema, não é confiável se quisermos manter os dados persistentes fora dos contêineres, no sistema host... principalmente devido às grandes diferenças entre os sistemas de arquivos Windows e Linux. No final, o próprio _Docker para Windows usa uma pequena máquina virtual Linux (MobiLinux) para executar os contêineres... ele faz isso de forma transparente para o usuário do Windows... e funciona perfeitamente bem se, como eu disse, você não exigir que seus bancos de dados sobrevivam mais do que o contêiner...

Bem... vamos direto ao ponto... o ponto é que muitas vezes, para evitar problemas e simplificar, precisamos de um sistema Linux completo e, se nosso servidor for baseado em Windows, a única maneira de fazê-lo é por meio de uma máquina virtual. Pelo menos até o WSL2 no Windows ser lançado, mas isso será uma outra história e com certeza levará um pouco de tempo para se tornar robusto o suficiente.

Neste artigo, vou lhe dizer, passo a passo, como instalar um ambiente onde você poderá trabalhar, se precisar, com contêineres Docker em um sistema Ubuntu em seu servidor Windows. Vamos lá...

0
0 932