发布新帖

查找

文章
· 五月 21 阅读大约需 2 分钟

Manipulando configuraciones de seguridad programáticamente

Pregunta:

¿Cómo podéis crear, modificar, etc., configuraciones de seguridad como Usuarios y Roles programáticamente?

Respuesta:

Podéis usar las clases del paquete Security en el NAMESPACE %SYS. Por ejemplo Security.Roles o Security.Users.

Por supuesto, para llevar a cabo estas acciones, necesitaréis la autorización correspondiente.

Aquí tenéis un pequeño ejemplo usando Security.Roles:

 
 // Create a Role
%SYS>Set status = ##class(Security.Roles).Create("testRole","a test Role","%Development:U,%DB_USER:R")
 

// Creation was successful
%SYS>Write status
1

// Now lets examine the Role created
%SYS>Set status = ##class(Security.Roles).Get("testRole",.properties)  

// We got the properties correctly         
%SYS>Write status
1

// The properties were returned by reference
%SYS>ZWrite properties
properties("Description")="a test Role"
properties("GrantedRoles")=""
properties("Resources")="%DB_USER:R,%Development:U"
 

// Now we want to add another permission
%SYS>Set properties("Resources")=properties("Resources")_",%DB_SAMPLES:RW"
 

// And modify our Role
%SYS>Set status = ##class(Security.Roles).Modify("testRole",.properties)
 
%SYS>Write status
1

// Let's verify this worked
%SYS>Set status = ##class(Security.Roles).Get("testRole",.latestProperties)
 
%SYS>ZWrite latestProperties
latestProperties("Description")="a test Role"
latestProperties("GrantedRoles")=""
latestProperties("Resources")="%DB_SAMPLES:RW,%DB_USER:R,%Development:U"

Nota: Tened en cuenta que el comportamiento actual (a partir de la versión 2016.1) es que, si la lista de Recursos separada por comas incluye un elemento vacío (por ejemplo, 'aaa,,bbb'), la adición de recursos se detendrá en ese punto.

Este comportamiento ha sido registrado para que se examine si así lo deseáis, y en caso contrario, se corregirá.

 

Además, en la comunidad inglesa, @Evgeny Shvarov añadió:

"Sigue siendo útil con los años

Simplemente añado aquí el código para asignar un rol a un usuario:"

ClassMethod AddRoleToUser(user = "CSPSystem", role = "DB_USER_Read") As %Status
{

// Change to the %SYS namespace.
new $NAMESPACE
set $NAMESPACE="%SYS"
set status=##class(Security.Users).Get(user, .MyUserProps)

set $p(MyUserProps("Roles"),",",*)=role

set status=##class(Security.Users).Modify(user,.MyUserProps)



// Announce success.
if $$$ISOK(status) {

write !, "Roles for the user "_user_" were successfully modified."
}

Quit status

}
ObjectScript
ObjectScript
讨论 (0)1
登录或注册以继续
问题
· 五月 21

The Future of Online Shopping in Pune: Instant, Local, and Hassle-Free

 

Online shopping has evolved from a convenience to a necessity. But while most platforms still make you wait for 2–3 days, Pune shoppers are discovering a better way—fast, hyperlocal shopping that brings products from trusted neighborhood stores to your doorstep in just 60 minutes.

Welcome to the City Center Mall app experience, where your favorite mall has gone digital, and quick delivery service in Pune is now the new normal.


🛍️ Your Mall, Now Online

What if you could walk through the mall, pick up everything you need, and have it delivered home—without actually stepping out? That’s exactly what the City Center Mall app offers.

This isn't just another e-commerce platform. It’s an online version of Pune’s most loved mall, where everything from fashion and electronics to groceries and gifts is available for instant delivery.


⚡ Why Smart Shoppers Prefer the 60-Minute Delivery Model

Here’s what makes the City Center Mall’s 60 minute delivery app a game-changer in Pune:

🔄 Same-Day Gratification

Forget 3-day shipping. Whether it's a forgotten grocery item or an urgent skincare restock, get it in an hour or less.

🛒 Shop Everything in One Go

Groceries? ✔
Mobile accessories? ✔
Birthday gifts? ✔
All from your favorite mall stores—now online in one smooth shopping journey.

🧾 Transparent, Reliable, Local

Know exactly where your order is coming from. Buy from real mall shops and support local retailers while enjoying mall-grade service.


🎯 Perfect for Every Kind of Shopper

Whether you’re a busy professional, a parent juggling errands, or someone who just hates traffic and crowds, this app is designed for you.

  • 🍼 Need baby food at 9 PM? Delivered in 45 minutes.
  • 🛍️ Missed buying a gift before a party? Wrapped and delivered before you leave home.
  • 🍅 Forgot a few ingredients for dinner? Delivered before the rice finishes cooking.

📱 How It Works

  1. Download the City Center Mall App from the App Store or Google Play
  2. Browse or search your favorite stores and categories
  3. Add items to your cart and check out with secure payment options
  4. Relax while your order reaches you in just 60 minutes

 


🌟 Conclusion: Online Shopping Made Smarter

The next generation of online shopping isn’t just fast—it’s hyperlocal, efficient, and personal. With the City Center Mall app, you’re not just placing an order—you’re bringing the entire mall experience to your living room.

So, why wait days when you can have it all in 60 minutes?

Download the City Center Mall app today—and enjoy online shopping, the Pune way.

讨论 (0)1
登录或注册以继续
文章
· 五月 20 阅读大约需 3 分钟

A knockout of weight

image

Just like a knockout punch, without giving the opponent a chance, Kubernetes, as an open source platform, has a universe of opportunities due to its availability (i.e., the ease of finding support, services and tools). It is a platform that can manage jobs and services in containers, which greatly simplifies the configuration and automation of these processes.

But let's justify the title image and give the tool in question the “correct” name: InterSystems Kubernetes Operator.

讨论 (0)1
登录或注册以继续
文章
· 五月 20 阅读大约需 3 分钟

Um nocaute de peso

Desenho de animal com a boca aberta O conteúdo gerado por IA pode estar incorreto., Imagem 

 

Assim como um nocaute, sem dar chances ao adversário, o Kubernetes, enquanto uma plataforma de código aberto, tem um universo de oportunidades devido à sua disponibilidade (isto é, a facilidade para encontrar suporte, serviços e ferramentas). Ele é uma plataforma que pode gerenciar os trabalhos e serviços em contêineres, o que simplifica e muito a configuração e automação destes processos. 

Mas, vamos justificar a imagem título e dar o nome “correto” à ferramenta em questão: InterSystems Kubernetes Operator. 

O princípio é básico, escolhem-se os serviços e definem-se as regras para o jogo (aqui remetendo ao Knockout novamente), e tudo será fornecido da forma mais transparente e eficiente possível, e isto é válido para a instalação, reparação ou eventual restauração, quando isto fugir dos requisitos pré-definidos.  

Mas, o que diferencia o IKO de qualquer outro operador? Como uma extensão da API do Kubernetes (Vamos passar a chama-lo de K8s para abreviar), o componente personalizado IrisCluster, que tem como opções a implantação como cluster bloqueado IRIS, um cluster Caché distribuído ou ainda uma instância anônima. Tudo isto nas mais diversas plataformas disponíveis Kubernetes. Por último, mas, não menos importante, também engloba recursos de gerenciamento de cluster InterSystems, que permitem automatizar algumas tarefas com a adição de nós, outrora, só poderia ser realizado manualmente. 

Tudo isto é muito bonito, fez referência a algum esporte ou jogo, mas, por que eu preciso disto? A resposta é relativamente simples. Eu não preciso do IrisCluster para levar o InterSystems IRIS para o K8s, entretanto, como o K8s é um aplicação independente, seria necessário crias as definições e eventuais scripts para configurar estas instâncias IRIS. Desta forma, o IKO automatiza este processo, facilitando a manutenção. A utilização de contêineres é uma ótima forma de para empacotar esta coleção de atividades que devem acontecer. 

Entretanto, aproveitando a oportunidade, você sabe o que é um contêiner? Uma dica, não é somente o jogo de tabuleiro. 

Container, the Shipping Container Board Game, Imagem 

A resposta está muito mais para o “transporte” de alguma encomenda, pois, ele empacota e isola aplicações e serviços, para que sejam executadas à parte do restante. Facilitando assim o “transporte” de um ambiente para outro, de acordo com a necessidade. 

Aproveitando-se da vasta documentação da InterSystems, abaixo segue o link para a instalação do IKO e subsequentes etapas de configuração e ajustes. 

Para ninguém ficar curioso a respeito do apelido K8s. A origem do nome Kubernetes vem do grego, que significa nada mais, nada menos que pilotou ou timoeiro, enfim, àquele que direciona. E, a quantidade de caracteres entre as letras “K” do início e “S” do fim, é 8. Desta forma, “K8s”. 

讨论 (0)1
登录或注册以继续
文章
· 五月 20 阅读大约需 3 分钟

Un nocaut de peso

Desenho de animal com a boca aberta O conteúdo gerado por IA pode estar incorreto., Imagem 

 

Al igual que un golpe de gracia, sin darle ninguna oportunidad al oponente, Kubernetes, como plataforma de código abierto, tiene un universo de oportunidades debido a su disponibilidad (es decir, la facilidad para encontrar soporte, servicios y herramientas). Es una plataforma que permite gestionar trabajos y servicios en contenedores, lo que simplifica enormemente la configuración y automatización de estos procesos. 

Pero justifiquemos la imagen del título y demos el nombre “correcto” a la herramienta en cuestión: InterSystems Kubernetes Operator. 

El principio es básico, tú eliges los servicios y defines las reglas del juego (aquí refiriéndonos nuevamente a Knockout), y todo se proporcionará de la forma más transparente y eficiente posible, y esto es válido para la instalación, reparación o eventual restauración, cuando esta se desvíe de los requisitos predefinidos. 

Pero ¿qué diferencia a IKO de cualquier otro operador? Como una extensión de la API de Kubernetes (llamémosla K8s para abreviar), el componente personalizado IrisCluster, que tiene las opciones de implementarse como un clúster bloqueado de IRIS, un clúster de Caché distribuido o incluso una instancia anónima. Todo esto en las más diversas plataformas Kubernetes disponibles. Por último, pero no por ello menos importante, también incluye capacidades de gestión de clústeres de InterSystems, que permiten automatizar algunas tareas con la adición de nodos, algo que antes solo se podía hacer manualmente. 

Todo esto está muy bien, hace referencia a algún deporte o juego, pero ¿por qué necesito esto? La respuesta es relativamente sencilla. No necesito IrisCluster para llevar InterSystems IRIS a K8s, sin embargo, como K8s es una aplicación independiente, sería necesario crear las definiciones y los eventuales scripts para configurar estas instancias de IRIS. De esta forma IKO automatiza este proceso, facilitando el mantenimiento. El uso de contenedores es una excelente forma de empaquetar esta colección de actividades que deben realizarse. 

Sin embargo, aprovechando la oportunidad ¿sabes qué es un contenedor? Un consejo: no es sólo el juego de mesa. 

Container, the Shipping Container Board Game, Imagem 

La respuesta tiene mucho más que ver con el “transporte” de algún orden, ya que empaqueta y aísla aplicaciones y servicios, para que puedan ejecutarse por separado del resto. Facilitando así el “transporte” de un entorno a otro, según la necesidad. Aprovechando la extensa documentación de InterSystems, a continuación se muestra el enlace a los pasos de instalación de IKO y su posterior configuración y ajuste. 

Para que nadie tenga curiosidad por el apodo K8s. El origen del nombre Kubernetes proviene del griego, que significa nada más y nada menos que piloto o timonel, en definitiva, el que dirige. Y, el número de caracteres entre las letras “K” al principio y “S” al final, es 8. Por lo tanto, “K8s”. 

4 条新评论
讨论 (5)3
登录或注册以继续