查找

讨论 (0)2
登录或注册以继续
问题
· 六月 24

Using CodeTidy in my GitHub automated workflow for linting ObjsectScript code

I installed and configure CodeTidy in my local development environment, without InterSystems source-control (git-source-control) and only git for source control.

I would like to use only CodeTidy to stablish an automated  Linting and Code Style Validation for InterSystems ObjectScript code triggered by GitHub Actions.

 

Could you shed some light on how to accomplish that?

3 Comments
讨论 (3)4
登录或注册以继续
文章
· 六月 24 阅读大约需 3 分钟

Celebrating a Lifelong Contributor of the Developer Community

Among the many voices that shape the InterSystems Developer Community, some stand out not only for their knowledge but for their consistency, curiosity, and passion. One of those voices belongs to @Dmitry Maslennikov, a long-time member whose experience spans nearly two decades and who continues to innovate and inspire developers around the globe.

🤩 Let's take a look at Dmitry’s deep-rooted journey with InterSystems and his lasting impact on our Community...

Dmitry's story with InterSystems began in March 2007, when he landed his first programming job. Since then, his professional journey has taken him through several companies, cities, and even countries, but his connection with InterSystems technologies has remained a constant. Over the years, Dmitry has become a seasoned expert in Caché and IRIS, contributing to mission-critical projects and large-scale system architectures.

One of Dmitry’s most memorable milestones involved ensuring performance stability for a high-demand application used by 3,000 concurrent users. Tasked with optimizing speed and responsiveness despite massive data volumes and rapid growth, Dmitry dove deep into performance tuning and architectural design. More recently, he was part of an ambitious project migrating a complex monolithic system to AWS - an effort that involved dissecting functionality into scalable services while managing a unified data layer. Navigating challenges like cross-server coordination and subsystem integration, Dmitry gained invaluable experience in cloud-native transformation.

However, not all learning moments came from planned development work. Dmitry recalls a nerve-wracking incident when he accidentally deleted a crucial global from a production system. The pressure was high, but the experience became a turning point, teaching him the critical skills of backup handling and journal-based recovery.

Dmitry’s relationship with the Developer Community started even before the official Community platform was created. He wrote blog posts and actively participated in Google Groups before finally joining the InterSystems Developer Community at its launch in 2015.

Over time, Dmitry's involvement expanded beyond discussion threads. He has embraced new initiatives, such as Open Exchange, where he shares his projects and participates in community contests. The Ideas Portal has also become a creative playground where Dmitry both draws inspiration and contributes fresh ideas for future development.

His advice for newcomers?

Never stop learning. Explore different ideas and implement them regardless of the technology. The broader your understanding of various approaches is, the better you'll become at solving problems.

Today, Dmitry is driven by a mission: to make InterSystems IRIS more accessible by building projects in multiple programming languages and extending its reach across different development communities. This passion even spills into his free time, where adapting open-source projects to work with IRIS is not just a task, but a genuine hobby.

We’re grateful for Dmitry’s ongoing commitment to the Developer Community. His journey is a testament to persistence, growth, and the boundless potential of shared knowledge. Here's to Dmitry - a true champion of the Community and a builder of bridges across technologies and time zones.

👏 Let's all thank Dmitry for his invaluable contributions and continued inspiration!

12 Comments
讨论 (12)5
登录或注册以继续
问题
· 六月 24

Using %Net.WebSocket.Client

Hi Guys,

I'm trying to use %Net.WebSocket.Client to collect data from a sever,

 

 

and part of that I needed to implement Two classes (SX3.Production.HTTP.AdvCredenials  & SX3.Production.HTTP.AdvListener) as below for the purpose of Credentials & EventListener properties,   

 

Class SX3.Production.HTTP.AdvCredenials Extends %Net.WebSocket.ICredentials
{

Method GetPassword() As %String
{
""
}

Method GetUsername() As %String
{
""
}

Method GetSSLConfiguration() As %String
{
"MySSL"
}

}

Class SX3.Production.HTTP.AdvListener Extends %Net.WebSocket.IEventListener
{

Method OnMessage(pContent As %Stream.Object)
{
^data("message")=pContent.Read()
}

}

and here where I'm using the WebSocket Client. 

I never used  WebSocket Client before neither implementing such classes above for the two properties and I would like to know if below code is the right way to then assign  WebSoc.Credentials, WebSoc.EventListener and to make the call of WebSoc.URL ? 

ClassMethod GetAdvData(Gateway As %String = "", Token) As %String
{
Quit:Gateway="" 1
Set:Gateway[":" Gateway=$TR(Gateway,": ")
Set Found=0
        BleMac="DC:0D:30:00:07:25",GatewayMac="CC:1B:E0:E2:52:D4"  // this for testing
Set WebSoc=##class(%Net.WebSocket.Client).%New()
Set WebSoc.Credentials="SX3.Production.HTTP.AdvCredenials"
Set WebSoc.EventListener="SX3.Production.HTTP.AdvListener"
Set WebSocURL="https://domain3wGT.com/api/gap/nodes?filter_mac="_BleMac_"&filter_rssi=-75&mac="_GatewayMac_"&active=1&event=1&chip=1&access_token="_Token
WebSoc.URL=WebSocURL
Quit 1
}

 

 

Thanks

7 Comments
讨论 (7)3
登录或注册以继续
公告
· 六月 24

Ver las presentaciones principales de InterSystems Ready 2025 online

¡Hola, comunidad!

¡Tenemos excelentes noticias para quienes están interesados en lo que está ocurriendo en InterSystems Ready 2025 pero no pudieron asistir en persona!
¡Todas las presentaciones principales (keynotes) están siendo transmitidas online!
Y lo mejor: si ocurren en un horario que no os conviene, también podéis verlas más tarde.

¡Las presentaciones del Día 1 ya están disponibles! 😉

Y no olvidéis revisar el resto de las presentaciones principales:

¡Promete ser épico!

讨论 (0)1
登录或注册以继续