Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

Do molecular biologists wear designer genes?


devel / comp.lang.mumps / Mumps - Versioning and Migration

SubjectAuthor
* Mumps - Versioning and MigrationTI HRTGB
+* Re: Mumps - Versioning and MigrationTI HRTGB
|`* Re: Mumps - Versioning and MigrationK.S. Bhaskar
| `* Re: Mumps - Versioning and MigrationTI HRTGB
|  +* Re: Mumps - Versioning and MigrationJens
|  |`* Re: Mumps - Versioning and MigrationTI HRTGB
|  | `- Re: Mumps - Versioning and MigrationK.S. Bhaskar
|  `* Re: Mumps - Versioning and MigrationOldMster
|   +* Re: Mumps - Versioning and MigrationTI HRTGB
|   |+- Re: Mumps - Versioning and MigrationFlávio Fornazier
|   |`* Re: Mumps - Versioning and MigrationK.S. Bhaskar
|   | `* Re: Mumps - Versioning and MigrationOldMster
|   |  `* Re: Mumps - Versioning and MigrationK.S. Bhaskar
|   |   `* Re: Mumps - Versioning and MigrationOldMster
|   |    +- Re: Mumps - Versioning and MigrationFlávio Fornazier
|   |    `* Re: Mumps - Versioning and MigrationK.S. Bhaskar
|   |     `* Re: Mumps - Versioning and MigrationK.S. Bhaskar
|   |      `- Re: Mumps - Versioning and MigrationAlex
|   `* Re: Mumps - Versioning and MigrationAlex Maslov
|    `* Re: Mumps - Versioning and MigrationOldMster
|     `* Re: Mumps - Versioning and MigrationAlex Maslov
|      `* Re: Mumps - Versioning and MigrationOldMster
|       `* Re: Mumps - Versioning and MigrationAlex Maslov
|        `* Re: Mumps - Versioning and MigrationTI HRTGB
|         `* Re: Mumps - Versioning and MigrationOldMster
|          `* Re: Mumps - Versioning and MigrationTI HRTGB
|           +- Re: Mumps - Versioning and MigrationOldMster
|           +- Re: Mumps - Versioning and MigrationOldMster
|           `* Re: Mumps - Versioning and MigrationOldMster
|            `- Re: Mumps - Versioning and MigrationTI HRTGB
+- Re: Mumps - Versioning and MigrationAmir Samary
`- Re: Mumps - Versioning and MigrationCoriolis

Pages:12
Mumps - Versioning and Migration

<420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=359&group=comp.lang.mumps#359

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:622a:188a:b0:2f3:f4a8:ac9b with SMTP id v10-20020a05622a188a00b002f3f4a8ac9bmr4801432qtc.396.1652980701775;
Thu, 19 May 2022 10:18:21 -0700 (PDT)
X-Received: by 2002:a05:622a:2cf:b0:2f3:d99b:e4be with SMTP id
a15-20020a05622a02cf00b002f3d99be4bemr4784098qtx.256.1652980701593; Thu, 19
May 2022 10:18:21 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Thu, 19 May 2022 10:18:21 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=200.17.81.22; posting-account=KE40BQoAAAD74QGN0hDiUgmcO9a9MRAb
NNTP-Posting-Host: 200.17.81.22
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
Subject: Mumps - Versioning and Migration
From: ti.hrtgb2@gmail.com (TI HRTGB)
Injection-Date: Thu, 19 May 2022 17:18:21 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1313
 by: TI HRTGB - Thu, 19 May 2022 17:18 UTC

Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
Is there any way to work with versioning in mumps with github/gitlab?
We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?

Thank you so much friends.

Re: Mumps - Versioning and Migration

<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=360&group=comp.lang.mumps#360

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:622a:44b:b0:2f3:f495:386b with SMTP id o11-20020a05622a044b00b002f3f495386bmr5197202qtx.349.1652988543513;
Thu, 19 May 2022 12:29:03 -0700 (PDT)
X-Received: by 2002:a05:622a:1193:b0:2f3:d34f:118b with SMTP id
m19-20020a05622a119300b002f3d34f118bmr5188156qtk.305.1652988543358; Thu, 19
May 2022 12:29:03 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Thu, 19 May 2022 12:29:03 -0700 (PDT)
In-Reply-To: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=200.17.81.22; posting-account=KE40BQoAAAD74QGN0hDiUgmcO9a9MRAb
NNTP-Posting-Host: 200.17.81.22
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: ti.hrtgb2@gmail.com (TI HRTGB)
Injection-Date: Thu, 19 May 2022 19:29:03 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2047
 by: TI HRTGB - Thu, 19 May 2022 19:29 UTC

Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> Is there any way to work with versioning in mumps with github/gitlab?
> We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
>
> Thank you so much friends.

We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?

Re: Mumps - Versioning and Migration

<292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=361&group=comp.lang.mumps#361

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:622a:e:b0:2f3:d236:56dc with SMTP id x14-20020a05622a000e00b002f3d23656dcmr5499508qtw.187.1652993712575;
Thu, 19 May 2022 13:55:12 -0700 (PDT)
X-Received: by 2002:a05:6214:27e4:b0:45a:a04d:d835 with SMTP id
jt4-20020a05621427e400b0045aa04dd835mr5928160qvb.82.1652993712379; Thu, 19
May 2022 13:55:12 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Thu, 19 May 2022 13:55:12 -0700 (PDT)
In-Reply-To: <09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=108.52.84.50; posting-account=zTPg1AoAAABx_LtAQ3dW6FBnU1dwmSvl
NNTP-Posting-Host: 108.52.84.50
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com> <09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: ksbhaskar@gmail.com (K.S. Bhaskar)
Injection-Date: Thu, 19 May 2022 20:55:12 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2570
 by: K.S. Bhaskar - Thu, 19 May 2022 20:55 UTC

On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > Is there any way to work with versioning in mumps with github/gitlab?
> > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> >
> > Thank you so much friends.
> We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?

What is the application? Perhaps someone on this list is familiar with the application and make suggestions.

Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.

Regards
- Bhaskar

Re: Mumps - Versioning and Migration

<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=362&group=comp.lang.mumps#362

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:ac8:7dc1:0:b0:2f3:c70a:df9e with SMTP id c1-20020ac87dc1000000b002f3c70adf9emr7209110qte.307.1653048346991;
Fri, 20 May 2022 05:05:46 -0700 (PDT)
X-Received: by 2002:ad4:5bef:0:b0:45c:e552:8e63 with SMTP id
k15-20020ad45bef000000b0045ce5528e63mr7758199qvc.34.1653048334610; Fri, 20
May 2022 05:05:34 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 05:05:34 -0700 (PDT)
In-Reply-To: <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=200.17.81.22; posting-account=KE40BQoAAAD74QGN0hDiUgmcO9a9MRAb
NNTP-Posting-Host: 200.17.81.22
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: ti.hrtgb2@gmail.com (TI HRTGB)
Injection-Date: Fri, 20 May 2022 12:05:46 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 5138
 by: TI HRTGB - Fri, 20 May 2022 12:05 UTC

Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S. Bhaskar escreveu:
> On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > Is there any way to work with versioning in mumps with github/gitlab?
> > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > >
> > > Thank you so much friends.
> > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
>
> Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
>
> Regards
> - Bhaskar

Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.

APODISCO
S EMP=1
S DAT="01/04/15" D ^%pDY S DTINI=DAT
K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
LER I GL="" G GERAREL
I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
S DISPX=$G(@GL)
S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
I CODMED'=4104 G PROX
S REG=$QS(GL,3)
S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
S (DAT,DATADISP)=$P(DISPX,"^",1)
D ^%pDT
S MES=$P(DMY,"/",2)
;B
S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
PROX S GL=$Q(@GL)
G LER
;-------------------------
GERAREL
;Q
S arq="C:\temp\APODISCO.txt"
O 51:(arq:"W")
U 51
S GL=$Q(^|"DAT,REL"|APODISC1)
APO1 I GL="" G D2
S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
S MES=$QS(GL,2)
S QUANT=$G(@GL)
W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
S GL=$Q(@GL)
G APO1
D2 S GL=$Q(^|"DAT,REL"|APODISC2)
APO2 I GL="" G D3
S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
S REG=$QS(GL,2)
S QUANT=$G(@GL)
W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
S GL=$Q(@GL)
G APO2
D3 S GL=$Q(^|"DAT,REL"|APODISC3)
APO3 I GL="" G FIM
S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
S DAT=$QS(GL,2) D ^%pDT
S QUANT=$G(@GL)
W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
S GL=$Q(@GL)
G APO3
FIM C 51
q

Re: Mumps - Versioning and Migration

<a6a3877a-5896-460d-bb71-516d716cba04n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=363&group=comp.lang.mumps#363

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:622a:15:b0:2f3:cd8f:2a78 with SMTP id x21-20020a05622a001500b002f3cd8f2a78mr7409673qtw.43.1653049934351;
Fri, 20 May 2022 05:32:14 -0700 (PDT)
X-Received: by 2002:a05:622a:50b:b0:2f9:1eaa:f62f with SMTP id
l11-20020a05622a050b00b002f91eaaf62fmr1509539qtx.113.1653049934029; Fri, 20
May 2022 05:32:14 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 05:32:13 -0700 (PDT)
In-Reply-To: <e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:d5:e74f:1400:504c:e0b8:1ed0:1cf4;
posting-account=Fb5loAoAAAAWGHFa1kwW5TIlX7XcPFIS
NNTP-Posting-Host: 2003:d5:e74f:1400:504c:e0b8:1ed0:1cf4
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a6a3877a-5896-460d-bb71-516d716cba04n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: jewu34@web.de (Jens)
Injection-Date: Fri, 20 May 2022 12:32:14 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4449
 by: Jens - Fri, 20 May 2022 12:32 UTC

ti.h...@gmail.com schrieb am Freitag, 20. Mai 2022 um 14:05:48 UTC+2:
> Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S. Bhaskar escreveu:
> > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > >
> > > > Thank you so much friends.
> > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> >
> > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> >
> > Regards
> > - Bhaskar
> Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.

In general it is possible to migrate from your MSM-System to a Database like YottaDB. But there are some things to consider:
1. mumps dialects differ in some expressions. For example; your code has a line 'O 51:(arq:"W") U 51'. This has to be converted to 'O arq:NEWVERSION U arq'
2. It looks like this System runs on a windows machine while YottaDB normally lives on a LINUX machine. So filenames and system-calls have to be adapted
I've migrated an application from DSM to GT.M a long time ago and it was possible but took time. How much time it is belongs to how many routines have to be reviewed and your M-Knowledge.

You can also export all data into a relational database but the you have to rewrite all application logic. The time amount also belongs to the size of the application.

Can you tell how many routines are in you application?

Jens

Re: Mumps - Versioning and Migration

<447464a7-297f-49c0-8d88-b77d5d4b296en@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=364&group=comp.lang.mumps#364

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:6214:e6b:b0:45b:474:1035 with SMTP id jz11-20020a0562140e6b00b0045b04741035mr7819982qvb.39.1653051622020;
Fri, 20 May 2022 06:00:22 -0700 (PDT)
X-Received: by 2002:a05:620a:294c:b0:6a0:4cc8:4bd7 with SMTP id
n12-20020a05620a294c00b006a04cc84bd7mr5805387qkp.289.1653051621831; Fri, 20
May 2022 06:00:21 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 06:00:21 -0700 (PDT)
In-Reply-To: <a6a3877a-5896-460d-bb71-516d716cba04n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=200.17.81.22; posting-account=KE40BQoAAAD74QGN0hDiUgmcO9a9MRAb
NNTP-Posting-Host: 200.17.81.22
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <a6a3877a-5896-460d-bb71-516d716cba04n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <447464a7-297f-49c0-8d88-b77d5d4b296en@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: ti.hrtgb2@gmail.com (TI HRTGB)
Injection-Date: Fri, 20 May 2022 13:00:22 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: TI HRTGB - Fri, 20 May 2022 13:00 UTC

Em sexta-feira, 20 de maio de 2022 às 09:32:15 UTC-3, Jens escreveu:
> ti.h...@gmail.com schrieb am Freitag, 20. Mai 2022 um 14:05:48 UTC+2:
> > Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S. Bhaskar escreveu:
> > > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > > >
> > > > > Thank you so much friends.
> > > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> > >
> > > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> > >
> > > Regards
> > > - Bhaskar
> > Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
> In general it is possible to migrate from your MSM-System to a Database like YottaDB. But there are some things to consider:
> 1. mumps dialects differ in some expressions. For example; your code has a line 'O 51:(arq:"W") U 51'. This has to be converted to 'O arq:NEWVERSION U arq'
> 2. It looks like this System runs on a windows machine while YottaDB normally lives on a LINUX machine. So filenames and system-calls have to be adapted
> I've migrated an application from DSM to GT.M a long time ago and it was possible but took time. How much time it is belongs to how many routines have to be reviewed and your M-Knowledge.
>
> You can also export all data into a relational database but the you have to rewrite all application logic. The time amount also belongs to the size of the application.
>
> Can you tell how many routines are in you application?
>
> Jens

The system runs on Unix - AIX.
The amount of routines is absurd, in just one UCI called MWS,MED we have about 6,722 routines, 790 global ones, 1,748 windows and 192 applications.

MSM client image.
https://postimg.cc/LnC30NDR

Re: Mumps - Versioning and Migration

<1f4df832-1e3a-493f-81ac-c950aec4cb6bn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=365&group=comp.lang.mumps#365

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:ac8:7d81:0:b0:2f3:ca7a:653b with SMTP id c1-20020ac87d81000000b002f3ca7a653bmr7838861qtd.638.1653056168094;
Fri, 20 May 2022 07:16:08 -0700 (PDT)
X-Received: by 2002:a05:622a:2cf:b0:2f3:d99b:e4be with SMTP id
a15-20020a05622a02cf00b002f3d99be4bemr7818278qtx.256.1653056167899; Fri, 20
May 2022 07:16:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!2.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 07:16:07 -0700 (PDT)
In-Reply-To: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=207.242.148.134; posting-account=3_rWhAkAAABLn1Q4p9ZfxRqHE3XuxvZf
NNTP-Posting-Host: 207.242.148.134
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1f4df832-1e3a-493f-81ac-c950aec4cb6bn@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: amirsamary@gmail.com (Amir Samary)
Injection-Date: Fri, 20 May 2022 14:16:08 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Amir Samary - Fri, 20 May 2022 14:16 UTC

Hi!

It depends. Are you using MSM Workstation?

When InterSystems bought MSM, they incorporated a lot of its technology and protocols into InterSystems Caché.

In a simplified way to explain, InterSystems Caché is a relational database that uses globals to store the data. And as far as I know, it was possible to have MSM Workstation applications to connect to Caché databases. You will continue to use globals as storage but you will be able to start mapping these globals to tables, build REST services to work with these globals or tables, build a new modern UI that uses these REST endpoints, have it operating maybe in parallel to your old MSM Workstation application until you can retire it and use just the modern web UI.

Caché allows you to use VSCode to edit code. So your tables, REST endpoints, etc. could all be saved in git.

InterSystems also provides a better version of Caché, called IRIS, that runs in containers. But I don't believe IRIS supports the MSM Workstation protocols. IRIS supposedly sheds many legacy technologies like MSM Workstation while Caché is still maintained and users are slowly migrating from Caché to IRIS. So I believe if you take this approach, you should eventually be able to upgrade from Caché to IRIS as well.

On the other hand, if you don't use MSM Workstation, then it is much easier! You could actually migrate directly to IRIS and start building your new modern UI while mapping your globals to IRIS SQL Tables.

I hope that helps.
AS

On Thursday, May 19, 2022 at 1:18:22 PM UTC-4, ti.h...@gmail.com wrote:
> Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> Is there any way to work with versioning in mumps with github/gitlab?
> We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
>
> Thank you so much friends.

Re: Mumps - Versioning and Migration

<0efd49a6-494e-441a-a39a-3c565566b336n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=366&group=comp.lang.mumps#366

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a37:ac13:0:b0:69f:c370:1784 with SMTP id e19-20020a37ac13000000b0069fc3701784mr6676161qkm.459.1653061666994;
Fri, 20 May 2022 08:47:46 -0700 (PDT)
X-Received: by 2002:a05:6214:5282:b0:443:e161:ef4a with SMTP id
kj2-20020a056214528200b00443e161ef4amr8366225qvb.23.1653061666782; Fri, 20
May 2022 08:47:46 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 08:47:46 -0700 (PDT)
In-Reply-To: <447464a7-297f-49c0-8d88-b77d5d4b296en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=108.52.84.50; posting-account=zTPg1AoAAABx_LtAQ3dW6FBnU1dwmSvl
NNTP-Posting-Host: 108.52.84.50
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <a6a3877a-5896-460d-bb71-516d716cba04n@googlegroups.com>
<447464a7-297f-49c0-8d88-b77d5d4b296en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0efd49a6-494e-441a-a39a-3c565566b336n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: ksbhaskar@gmail.com (K.S. Bhaskar)
Injection-Date: Fri, 20 May 2022 15:47:46 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 5679
 by: K.S. Bhaskar - Fri, 20 May 2022 15:47 UTC

On Friday, May 20, 2022 at 9:00:23 AM UTC-4, ti.h...@gmail.com wrote:
> Em sexta-feira, 20 de maio de 2022 às 09:32:15 UTC-3, Jens escreveu:
> > ti.h...@gmail.com schrieb am Freitag, 20. Mai 2022 um 14:05:48 UTC+2:
> > > Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S. Bhaskar escreveu:
> > > > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > > > >
> > > > > > Thank you so much friends.
> > > > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > > > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> > > >
> > > > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> > > >
> > > > Regards
> > > > - Bhaskar
> > > Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
> > In general it is possible to migrate from your MSM-System to a Database like YottaDB. But there are some things to consider:
> > 1. mumps dialects differ in some expressions. For example; your code has a line 'O 51:(arq:"W") U 51'. This has to be converted to 'O arq:NEWVERSION U arq'
> > 2. It looks like this System runs on a windows machine while YottaDB normally lives on a LINUX machine. So filenames and system-calls have to be adapted
> > I've migrated an application from DSM to GT.M a long time ago and it was possible but took time. How much time it is belongs to how many routines have to be reviewed and your M-Knowledge.
> >
> > You can also export all data into a relational database but the you have to rewrite all application logic. The time amount also belongs to the size of the application.
> >
> > Can you tell how many routines are in you application?
> >
> > Jens
> The system runs on Unix - AIX.
> The amount of routines is absurd, in just one UCI called MWS,MED we have about 6,722 routines, 790 global ones, 1,748 windows and 192 applications.
>
> MSM client image.
> https://postimg.cc/LnC30NDR

Porting the application from MSM Workstation to YottaDB (https://yottadb.com) is certainly feasible, as Jens notes. How easy or how difficult it will be depends on how close to standard M the application is and how well structured it is (some things, like device parameters and anything starting with Z will usually be M implementation dependent). Your best bet is to hire an expert M programmer (there are many in Brazil, and many on this list). A tool like Re/parser (https://www.georgejames.com/reparser) may help with the analysis and conversion.

Regards
– Bhaskar

Re: Mumps - Versioning and Migration

<cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=367&group=comp.lang.mumps#367

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a37:6650:0:b0:6a3:5fb9:7ff7 with SMTP id a77-20020a376650000000b006a35fb97ff7mr1127248qkc.90.1653070913439;
Fri, 20 May 2022 11:21:53 -0700 (PDT)
X-Received: by 2002:a05:620a:22ca:b0:69f:a0df:697f with SMTP id
o10-20020a05620a22ca00b0069fa0df697fmr7075357qki.659.1653070913193; Fri, 20
May 2022 11:21:53 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!pasdenom.info!usenet-fr.net!fdn.fr!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 11:21:53 -0700 (PDT)
In-Reply-To: <e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=50.249.135.41; posting-account=B5cu_goAAACZo0vIvp9ba07OhA0t6wHW
NNTP-Posting-Host: 50.249.135.41
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: sires.mark@gmail.com (OldMster)
Injection-Date: Fri, 20 May 2022 18:21:53 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: OldMster - Fri, 20 May 2022 18:21 UTC

On Friday, May 20, 2022 at 8:05:48 AM UTC-4, ti.h...@gmail.com wrote:
> Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S. Bhaskar escreveu:
> > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > >
> > > > Thank you so much friends.
> > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> >
> > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> >
> > Regards
> > - Bhaskar
> Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
>
>
> APODISCO
> S EMP=1
> S DAT="01/04/15" D ^%pDY S DTINI=DAT
> K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
> S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
> LER I GL="" G GERAREL
> I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
> S DISPX=$G(@GL)
> S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
> ;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
> I CODMED'=4104 G PROX
> S REG=$QS(GL,3)
> S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
> S (DAT,DATADISP)=$P(DISPX,"^",1)
> D ^%pDT
> S MES=$P(DMY,"/",2)
> ;B
> S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
> S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
> S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
> PROX S GL=$Q(@GL)
> G LER
> ;-------------------------
> GERAREL
> ;Q
> S arq="C:\temp\APODISCO.txt"
> O 51:(arq:"W")
> U 51
> S GL=$Q(^|"DAT,REL"|APODISC1)
> APO1 I GL="" G D2
> S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> S MES=$QS(GL,2)
> S QUANT=$G(@GL)
> W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
> S GL=$Q(@GL)
> G APO1
> D2 S GL=$Q(^|"DAT,REL"|APODISC2)
> APO2 I GL="" G D3
> S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> S REG=$QS(GL,2)
> S QUANT=$G(@GL)
> W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
> S GL=$Q(@GL)
> G APO2
> D3 S GL=$Q(^|"DAT,REL"|APODISC3)
> APO3 I GL="" G FIM
> S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> S DAT=$QS(GL,2) D ^%pDT
> S QUANT=$G(@GL)
> W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
> S GL=$Q(@GL)
> G APO3
> FIM C 51
> q

I recently completed converting our lab system from Caché to YottaDB. The conversion was about 7300 routines, and 300 gigabytes of data. Working on it by myself, it took about 9 months total, including testing by the users before we went into production. Obviously I wrote a lot of automation to convert the obvious things like any Z commands or $Z functions, and the IO utilities. It can be done, and with a large team can probably be done quicker.

For the data, I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases. The lab system makes extensive use of extended references (and '%' globals), which complicated the conversion quite a bit, especially since we wanted to use replication. We couldn't map globals from multiple global directories to the same database because of replication limitations, but I came up with a solution that works using extended references for all '%' references - also automated.

All that is not to brag, just to show it can be done, and completed in a reasonable amount of time, even with limited resources.

Mark

Re: Mumps - Versioning and Migration

<cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=368&group=comp.lang.mumps#368

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:620a:414b:b0:6a0:5c30:66fb with SMTP id k11-20020a05620a414b00b006a05c3066fbmr7246236qko.53.1653073711434;
Fri, 20 May 2022 12:08:31 -0700 (PDT)
X-Received: by 2002:a37:ab01:0:b0:6a3:4bb6:50e8 with SMTP id
u1-20020a37ab01000000b006a34bb650e8mr2920075qke.255.1653073711264; Fri, 20
May 2022 12:08:31 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 12:08:31 -0700 (PDT)
In-Reply-To: <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=200.17.81.22; posting-account=KE40BQoAAAD74QGN0hDiUgmcO9a9MRAb
NNTP-Posting-Host: 200.17.81.22
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: ti.hrtgb2@gmail.com (TI HRTGB)
Injection-Date: Fri, 20 May 2022 19:08:31 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: TI HRTGB - Fri, 20 May 2022 19:08 UTC

Em sexta-feira, 20 de maio de 2022 às 15:21:54 UTC-3, OldMster escreveu:
> On Friday, May 20, 2022 at 8:05:48 AM UTC-4, ti.h...@gmail.com wrote:
> > Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S. Bhaskar escreveu:
> > > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > > >
> > > > > Thank you so much friends.
> > > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> > >
> > > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> > >
> > > Regards
> > > - Bhaskar
> > Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
> >
> >
> > APODISCO
> > S EMP=1
> > S DAT="01/04/15" D ^%pDY S DTINI=DAT
> > K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
> > S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
> > LER I GL="" G GERAREL
> > I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
> > S DISPX=$G(@GL)
> > S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
> > ;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
> > I CODMED'=4104 G PROX
> > S REG=$QS(GL,3)
> > S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
> > S (DAT,DATADISP)=$P(DISPX,"^",1)
> > D ^%pDT
> > S MES=$P(DMY,"/",2)
> > ;B
> > S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
> > S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
> > S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
> > PROX S GL=$Q(@GL)
> > G LER
> > ;-------------------------
> > GERAREL
> > ;Q
> > S arq="C:\temp\APODISCO.txt"
> > O 51:(arq:"W")
> > U 51
> > S GL=$Q(^|"DAT,REL"|APODISC1)
> > APO1 I GL="" G D2
> > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > S MES=$QS(GL,2)
> > S QUANT=$G(@GL)
> > W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
> > S GL=$Q(@GL)
> > G APO1
> > D2 S GL=$Q(^|"DAT,REL"|APODISC2)
> > APO2 I GL="" G D3
> > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > S REG=$QS(GL,2)
> > S QUANT=$G(@GL)
> > W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
> > S GL=$Q(@GL)
> > G APO2
> > D3 S GL=$Q(^|"DAT,REL"|APODISC3)
> > APO3 I GL="" G FIM
> > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > S DAT=$QS(GL,2) D ^%pDT
> > S QUANT=$G(@GL)
> > W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
> > S GL=$Q(@GL)
> > G APO3
> > FIM C 51
> > q
> I recently completed converting our lab system from Caché to YottaDB.. The conversion was about 7300 routines, and 300 gigabytes of data. Working on it by myself, it took about 9 months total, including testing by the users before we went into production. Obviously I wrote a lot of automation to convert the obvious things like any Z commands or $Z functions, and the IO utilities. It can be done, and with a large team can probably be done quicker.
>
> For the data, I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases. The lab system makes extensive use of extended references (and '%' globals), which complicated the conversion quite a bit, especially since we wanted to use replication. We couldn't map globals from multiple global directories to the same database because of replication limitations, but I came up with a solution that works using extended references for all '%' references - also automated.
>
> All that is not to brag, just to show it can be done, and completed in a reasonable amount of time, even with limited resources.
>
> Mark

Is there any way to migrate from MSM that has routines, globals and windows to free Mumps where there is no limitation of licenses per connection?

Re: Mumps - Versioning and Migration

<e6ea4f45-1217-4ba7-9929-bc7aab56fb93n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=369&group=comp.lang.mumps#369

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:622a:1351:b0:2f3:b1e4:9d2e with SMTP id w17-20020a05622a135100b002f3b1e49d2emr9003466qtk.412.1653078306110;
Fri, 20 May 2022 13:25:06 -0700 (PDT)
X-Received: by 2002:a05:6214:e86:b0:461:d09f:7a03 with SMTP id
hf6-20020a0562140e8600b00461d09f7a03mr9250690qvb.91.1653078305903; Fri, 20
May 2022 13:25:05 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 13:25:05 -0700 (PDT)
In-Reply-To: <cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2804:7f2:2a92:c3d7:6117:c009:3c98:9633;
posting-account=rJLjTAoAAACpjYTSm3mOFhAWMOuvXDWR
NNTP-Posting-Host: 2804:7f2:2a92:c3d7:6117:c009:3c98:9633
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e6ea4f45-1217-4ba7-9929-bc7aab56fb93n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: flaviofornazier@hotmail.com (Flávio Fornazier)
Injection-Date: Fri, 20 May 2022 20:25:06 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Flávio Fornazier - Fri, 20 May 2022 20:25 UTC

Em sexta-feira, 20 de maio de 2022 às 16:08:32 UTC-3, ti.h...@gmail.com escreveu:
> Em sexta-feira, 20 de maio de 2022 às 15:21:54 UTC-3, OldMster escreveu:
> > On Friday, May 20, 2022 at 8:05:48 AM UTC-4, ti.h...@gmail.com wrote:
> > > Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S. Bhaskar escreveu:
> > > > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > > > >
> > > > > > Thank you so much friends.
> > > > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > > > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> > > >
> > > > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> > > >
> > > > Regards
> > > > - Bhaskar
> > > Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
> > >
> > >
> > > APODISCO
> > > S EMP=1
> > > S DAT="01/04/15" D ^%pDY S DTINI=DAT
> > > K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
> > > S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
> > > LER I GL="" G GERAREL
> > > I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
> > > S DISPX=$G(@GL)
> > > S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
> > > ;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
> > > I CODMED'=4104 G PROX
> > > S REG=$QS(GL,3)
> > > S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
> > > S (DAT,DATADISP)=$P(DISPX,"^",1)
> > > D ^%pDT
> > > S MES=$P(DMY,"/",2)
> > > ;B
> > > S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
> > > S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
> > > S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
> > > PROX S GL=$Q(@GL)
> > > G LER
> > > ;-------------------------
> > > GERAREL
> > > ;Q
> > > S arq="C:\temp\APODISCO.txt"
> > > O 51:(arq:"W")
> > > U 51
> > > S GL=$Q(^|"DAT,REL"|APODISC1)
> > > APO1 I GL="" G D2
> > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > S MES=$QS(GL,2)
> > > S QUANT=$G(@GL)
> > > W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
> > > S GL=$Q(@GL)
> > > G APO1
> > > D2 S GL=$Q(^|"DAT,REL"|APODISC2)
> > > APO2 I GL="" G D3
> > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > S REG=$QS(GL,2)
> > > S QUANT=$G(@GL)
> > > W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
> > > S GL=$Q(@GL)
> > > G APO2
> > > D3 S GL=$Q(^|"DAT,REL"|APODISC3)
> > > APO3 I GL="" G FIM
> > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > S DAT=$QS(GL,2) D ^%pDT
> > > S QUANT=$G(@GL)
> > > W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
> > > S GL=$Q(@GL)
> > > G APO3
> > > FIM C 51
> > > q
> > I recently completed converting our lab system from Caché to YottaDB. The conversion was about 7300 routines, and 300 gigabytes of data. Working on it by myself, it took about 9 months total, including testing by the users before we went into production. Obviously I wrote a lot of automation to convert the obvious things like any Z commands or $Z functions, and the IO utilities. It can be done, and with a large team can probably be done quicker.
> >
> > For the data, I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases. The lab system makes extensive use of extended references (and '%' globals), which complicated the conversion quite a bit, especially since we wanted to use replication. We couldn't map globals from multiple global directories to the same database because of replication limitations, but I came up with a solution that works using extended references for all '%' references - also automated.
> >
> > All that is not to brag, just to show it can be done, and completed in a reasonable amount of time, even with limited resources.
> >
> > Mark
> Is there any way to migrate from MSM that has routines, globals and windows to free Mumps where there is no limitation of licenses per connection?

Hi!

You're in safe hands with these M developers and I agree with all of them, they are the best!

I'm from Belo Horizonte and I have a lot of experience with MSM Unix as well others M implementations and relational databases.

Feel free to contact me if you need help or exchange ideas.

Regards,

Re: Mumps - Versioning and Migration

<3d461aab-9a5b-4a9d-b050-2aa19c97958dn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=370&group=comp.lang.mumps#370

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:622a:1007:b0:2f3:ce52:25cb with SMTP id d7-20020a05622a100700b002f3ce5225cbmr8926882qte.575.1653078918105;
Fri, 20 May 2022 13:35:18 -0700 (PDT)
X-Received: by 2002:a05:622a:493:b0:2f3:e77b:640b with SMTP id
p19-20020a05622a049300b002f3e77b640bmr9053008qtx.236.1653078917900; Fri, 20
May 2022 13:35:17 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 13:35:17 -0700 (PDT)
In-Reply-To: <cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=108.52.84.50; posting-account=zTPg1AoAAABx_LtAQ3dW6FBnU1dwmSvl
NNTP-Posting-Host: 108.52.84.50
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3d461aab-9a5b-4a9d-b050-2aa19c97958dn@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: ksbhaskar@gmail.com (K.S. Bhaskar)
Injection-Date: Fri, 20 May 2022 20:35:18 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: K.S. Bhaskar - Fri, 20 May 2022 20:35 UTC

On Friday, May 20, 2022 at 3:08:32 PM UTC-4, ti.h...@gmail.com wrote:
> Em sexta-feira, 20 de maio de 2022 às 15:21:54 UTC-3, OldMster escreveu:
> > On Friday, May 20, 2022 at 8:05:48 AM UTC-4, ti.h...@gmail.com wrote:
> > > Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S. Bhaskar escreveu:
> > > > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > > > >
> > > > > > Thank you so much friends.
> > > > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > > > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> > > >
> > > > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> > > >
> > > > Regards
> > > > - Bhaskar
> > > Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
> > >
> > >
> > > APODISCO
> > > S EMP=1
> > > S DAT="01/04/15" D ^%pDY S DTINI=DAT
> > > K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
> > > S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
> > > LER I GL="" G GERAREL
> > > I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
> > > S DISPX=$G(@GL)
> > > S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
> > > ;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
> > > I CODMED'=4104 G PROX
> > > S REG=$QS(GL,3)
> > > S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
> > > S (DAT,DATADISP)=$P(DISPX,"^",1)
> > > D ^%pDT
> > > S MES=$P(DMY,"/",2)
> > > ;B
> > > S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
> > > S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
> > > S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
> > > PROX S GL=$Q(@GL)
> > > G LER
> > > ;-------------------------
> > > GERAREL
> > > ;Q
> > > S arq="C:\temp\APODISCO.txt"
> > > O 51:(arq:"W")
> > > U 51
> > > S GL=$Q(^|"DAT,REL"|APODISC1)
> > > APO1 I GL="" G D2
> > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > S MES=$QS(GL,2)
> > > S QUANT=$G(@GL)
> > > W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
> > > S GL=$Q(@GL)
> > > G APO1
> > > D2 S GL=$Q(^|"DAT,REL"|APODISC2)
> > > APO2 I GL="" G D3
> > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > S REG=$QS(GL,2)
> > > S QUANT=$G(@GL)
> > > W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
> > > S GL=$Q(@GL)
> > > G APO2
> > > D3 S GL=$Q(^|"DAT,REL"|APODISC3)
> > > APO3 I GL="" G FIM
> > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > S DAT=$QS(GL,2) D ^%pDT
> > > S QUANT=$G(@GL)
> > > W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
> > > S GL=$Q(@GL)
> > > G APO3
> > > FIM C 51
> > > q
> > I recently completed converting our lab system from Caché to YottaDB. The conversion was about 7300 routines, and 300 gigabytes of data. Working on it by myself, it took about 9 months total, including testing by the users before we went into production. Obviously I wrote a lot of automation to convert the obvious things like any Z commands or $Z functions, and the IO utilities. It can be done, and with a large team can probably be done quicker.
> >
> > For the data, I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases. The lab system makes extensive use of extended references (and '%' globals), which complicated the conversion quite a bit, especially since we wanted to use replication. We couldn't map globals from multiple global directories to the same database because of replication limitations, but I came up with a solution that works using extended references for all '%' references - also automated.
> >
> > All that is not to brag, just to show it can be done, and completed in a reasonable amount of time, even with limited resources.
> >
> > Mark
> Is there any way to migrate from MSM that has routines, globals and windows to free Mumps where there is no limitation of licenses per connection?

Yes, that is how open source software works: no license fees. You don't have to pay anything to use it as much as you want, but if you have production applications, you can buy support on commercial terms with assured service levels, or you can hire your own talent and support it yourself.

Regards
– Bhaskar

Re: Mumps - Versioning and Migration

<ba42095b-3860-47dd-aba3-987e5459ffb6n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=371&group=comp.lang.mumps#371

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:620a:28c7:b0:6a0:5de3:e6 with SMTP id l7-20020a05620a28c700b006a05de300e6mr7613895qkp.464.1653079224617;
Fri, 20 May 2022 13:40:24 -0700 (PDT)
X-Received: by 2002:a05:6214:ac7:b0:462:1edc:a1cf with SMTP id
g7-20020a0562140ac700b004621edca1cfmr1034254qvi.82.1653079224396; Fri, 20 May
2022 13:40:24 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 13:40:24 -0700 (PDT)
In-Reply-To: <3d461aab-9a5b-4a9d-b050-2aa19c97958dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=50.249.135.41; posting-account=B5cu_goAAACZo0vIvp9ba07OhA0t6wHW
NNTP-Posting-Host: 50.249.135.41
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com> <3d461aab-9a5b-4a9d-b050-2aa19c97958dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ba42095b-3860-47dd-aba3-987e5459ffb6n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: sires.mark@gmail.com (OldMster)
Injection-Date: Fri, 20 May 2022 20:40:24 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 8743
 by: OldMster - Fri, 20 May 2022 20:40 UTC

On Friday, May 20, 2022 at 4:35:18 PM UTC-4, K.S. Bhaskar wrote:
> On Friday, May 20, 2022 at 3:08:32 PM UTC-4, ti.h...@gmail.com wrote:
> > Em sexta-feira, 20 de maio de 2022 às 15:21:54 UTC-3, OldMster escreveu:
> > > On Friday, May 20, 2022 at 8:05:48 AM UTC-4, ti.h...@gmail.com wrote:
> > > > Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S. Bhaskar escreveu:
> > > > > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > > > > >
> > > > > > > Thank you so much friends.
> > > > > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > > > > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> > > > >
> > > > > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application.. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> > > > >
> > > > > Regards
> > > > > - Bhaskar
> > > > Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
> > > >
> > > >
> > > > APODISCO
> > > > S EMP=1
> > > > S DAT="01/04/15" D ^%pDY S DTINI=DAT
> > > > K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
> > > > S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
> > > > LER I GL="" G GERAREL
> > > > I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
> > > > S DISPX=$G(@GL)
> > > > S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
> > > > ;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
> > > > I CODMED'=4104 G PROX
> > > > S REG=$QS(GL,3)
> > > > S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
> > > > S (DAT,DATADISP)=$P(DISPX,"^",1)
> > > > D ^%pDT
> > > > S MES=$P(DMY,"/",2)
> > > > ;B
> > > > S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
> > > > S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
> > > > S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
> > > > PROX S GL=$Q(@GL)
> > > > G LER
> > > > ;-------------------------
> > > > GERAREL
> > > > ;Q
> > > > S arq="C:\temp\APODISCO.txt"
> > > > O 51:(arq:"W")
> > > > U 51
> > > > S GL=$Q(^|"DAT,REL"|APODISC1)
> > > > APO1 I GL="" G D2
> > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > S MES=$QS(GL,2)
> > > > S QUANT=$G(@GL)
> > > > W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
> > > > S GL=$Q(@GL)
> > > > G APO1
> > > > D2 S GL=$Q(^|"DAT,REL"|APODISC2)
> > > > APO2 I GL="" G D3
> > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > S REG=$QS(GL,2)
> > > > S QUANT=$G(@GL)
> > > > W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
> > > > S GL=$Q(@GL)
> > > > G APO2
> > > > D3 S GL=$Q(^|"DAT,REL"|APODISC3)
> > > > APO3 I GL="" G FIM
> > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > S DAT=$QS(GL,2) D ^%pDT
> > > > S QUANT=$G(@GL)
> > > > W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
> > > > S GL=$Q(@GL)
> > > > G APO3
> > > > FIM C 51
> > > > q
> > > I recently completed converting our lab system from Caché to YottaDB. The conversion was about 7300 routines, and 300 gigabytes of data. Working on it by myself, it took about 9 months total, including testing by the users before we went into production. Obviously I wrote a lot of automation to convert the obvious things like any Z commands or $Z functions, and the IO utilities. It can be done, and with a large team can probably be done quicker.
> > >
> > > For the data, I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases. The lab system makes extensive use of extended references (and '%' globals), which complicated the conversion quite a bit, especially since we wanted to use replication. We couldn't map globals from multiple global directories to the same database because of replication limitations, but I came up with a solution that works using extended references for all '%' references - also automated.
> > >
> > > All that is not to brag, just to show it can be done, and completed in a reasonable amount of time, even with limited resources.
> > >
> > > Mark
> > Is there any way to migrate from MSM that has routines, globals and windows to free Mumps where there is no limitation of licenses per connection?
> Yes, that is how open source software works: no license fees. You don't have to pay anything to use it as much as you want, but if you have production applications, you can buy support on commercial terms with assured service levels, or you can hire your own talent and support it yourself.
>
> Regards
> – Bhaskar

The windows, which I suspect use the MSM proprietary window system, would be the most troublesome, but it can be done. YottaDB is an open source Mumps, no license fees, no license limits, and it is rock solid, mission critical production capable. It has database replication, which I don't think MSM every fully had, so your database can be duplicate realtime to any location with an IP connection. The routines are O/S level files, not stored in the database, so industry standard version control/change control software and procedures work.

Mark

Re: Mumps - Versioning and Migration

<772c1c0b-fe87-4547-ad70-3a28a9f80285n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=372&group=comp.lang.mumps#372

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:6214:27ed:b0:462:1ee4:f029 with SMTP id jt13-20020a05621427ed00b004621ee4f029mr983149qvb.47.1653079813027;
Fri, 20 May 2022 13:50:13 -0700 (PDT)
X-Received: by 2002:a05:622a:50b:b0:2f9:1eaa:f62f with SMTP id
l11-20020a05622a050b00b002f91eaaf62fmr3231380qtx.113.1653079812772; Fri, 20
May 2022 13:50:12 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.mixmin.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 13:50:12 -0700 (PDT)
In-Reply-To: <ba42095b-3860-47dd-aba3-987e5459ffb6n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=108.52.84.50; posting-account=zTPg1AoAAABx_LtAQ3dW6FBnU1dwmSvl
NNTP-Posting-Host: 108.52.84.50
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com> <3d461aab-9a5b-4a9d-b050-2aa19c97958dn@googlegroups.com>
<ba42095b-3860-47dd-aba3-987e5459ffb6n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <772c1c0b-fe87-4547-ad70-3a28a9f80285n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: ksbhaskar@gmail.com (K.S. Bhaskar)
Injection-Date: Fri, 20 May 2022 20:50:13 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: K.S. Bhaskar - Fri, 20 May 2022 20:50 UTC

On Friday, May 20, 2022 at 4:40:25 PM UTC-4, OldMster wrote:
> On Friday, May 20, 2022 at 4:35:18 PM UTC-4, K.S. Bhaskar wrote:
> > On Friday, May 20, 2022 at 3:08:32 PM UTC-4, ti.h...@gmail.com wrote:
> > > Em sexta-feira, 20 de maio de 2022 às 15:21:54 UTC-3, OldMster escreveu:
> > > > On Friday, May 20, 2022 at 8:05:48 AM UTC-4, ti.h...@gmail.com wrote:
> > > > > Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S. Bhaskar escreveu:
> > > > > > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > > > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > > > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > > > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > > > > > >
> > > > > > > > Thank you so much friends.
> > > > > > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > > > > > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> > > > > >
> > > > > > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> > > > > >
> > > > > > Regards
> > > > > > - Bhaskar
> > > > > Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
> > > > >
> > > > >
> > > > > APODISCO
> > > > > S EMP=1
> > > > > S DAT="01/04/15" D ^%pDY S DTINI=DAT
> > > > > K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
> > > > > S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
> > > > > LER I GL="" G GERAREL
> > > > > I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
> > > > > S DISPX=$G(@GL)
> > > > > S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
> > > > > ;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
> > > > > I CODMED'=4104 G PROX
> > > > > S REG=$QS(GL,3)
> > > > > S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
> > > > > S (DAT,DATADISP)=$P(DISPX,"^",1)
> > > > > D ^%pDT
> > > > > S MES=$P(DMY,"/",2)
> > > > > ;B
> > > > > S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
> > > > > S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
> > > > > S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
> > > > > PROX S GL=$Q(@GL)
> > > > > G LER
> > > > > ;-------------------------
> > > > > GERAREL
> > > > > ;Q
> > > > > S arq="C:\temp\APODISCO.txt"
> > > > > O 51:(arq:"W")
> > > > > U 51
> > > > > S GL=$Q(^|"DAT,REL"|APODISC1)
> > > > > APO1 I GL="" G D2
> > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > S MES=$QS(GL,2)
> > > > > S QUANT=$G(@GL)
> > > > > W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
> > > > > S GL=$Q(@GL)
> > > > > G APO1
> > > > > D2 S GL=$Q(^|"DAT,REL"|APODISC2)
> > > > > APO2 I GL="" G D3
> > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > S REG=$QS(GL,2)
> > > > > S QUANT=$G(@GL)
> > > > > W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
> > > > > S GL=$Q(@GL)
> > > > > G APO2
> > > > > D3 S GL=$Q(^|"DAT,REL"|APODISC3)
> > > > > APO3 I GL="" G FIM
> > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > S DAT=$QS(GL,2) D ^%pDT
> > > > > S QUANT=$G(@GL)
> > > > > W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
> > > > > S GL=$Q(@GL)
> > > > > G APO3
> > > > > FIM C 51
> > > > > q
> > > > I recently completed converting our lab system from Caché to YottaDB. The conversion was about 7300 routines, and 300 gigabytes of data. Working on it by myself, it took about 9 months total, including testing by the users before we went into production. Obviously I wrote a lot of automation to convert the obvious things like any Z commands or $Z functions, and the IO utilities. It can be done, and with a large team can probably be done quicker.
> > > >
> > > > For the data, I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases. The lab system makes extensive use of extended references (and '%' globals), which complicated the conversion quite a bit, especially since we wanted to use replication. We couldn't map globals from multiple global directories to the same database because of replication limitations, but I came up with a solution that works using extended references for all '%' references - also automated.
> > > >
> > > > All that is not to brag, just to show it can be done, and completed in a reasonable amount of time, even with limited resources.
> > > >
> > > > Mark
> > > Is there any way to migrate from MSM that has routines, globals and windows to free Mumps where there is no limitation of licenses per connection?
> > Yes, that is how open source software works: no license fees. You don't have to pay anything to use it as much as you want, but if you have production applications, you can buy support on commercial terms with assured service levels, or you can hire your own talent and support it yourself.
> >
> > Regards
> > – Bhaskar
> The windows, which I suspect use the MSM proprietary window system, would be the most troublesome, but it can be done. YottaDB is an open source Mumps, no license fees, no license limits, and it is rock solid, mission critical production capable. It has database replication, which I don't think MSM every fully had, so your database can be duplicate realtime to any location with an IP connection. The routines are O/S level files, not stored in the database, so industry standard version control/change control software and procedures work.
>
> Mark

Interesting point, Mark. I don't know whether the window system is text-oriented or graphical, but if it is text-oriented, there are a number of interesting text-based rich user interfaces. Here is a list that a friend sent me recently:

https://github.com/ArthurSonzogni/FTXUI
https://github.com/ggerganov/imtui
https://github.com/fdehau/tui-rs
https://github.com/redox-os/termion
https://github.com/charmbracelet/bubbletea
https://github.com/gizak/termui

Regards
– Bhaskar

Re: Mumps - Versioning and Migration

<299a4d14-4a25-47cd-80c9-519676e7255en@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=373&group=comp.lang.mumps#373

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:ac8:5fd4:0:b0:2f3:f0d7:757a with SMTP id k20-20020ac85fd4000000b002f3f0d7757amr8910651qta.557.1653080476855;
Fri, 20 May 2022 14:01:16 -0700 (PDT)
X-Received: by 2002:a37:ab01:0:b0:6a3:4bb6:50e8 with SMTP id
u1-20020a37ab01000000b006a34bb650e8mr3183764qke.255.1653080476621; Fri, 20
May 2022 14:01:16 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 14:01:16 -0700 (PDT)
In-Reply-To: <772c1c0b-fe87-4547-ad70-3a28a9f80285n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=50.249.135.41; posting-account=B5cu_goAAACZo0vIvp9ba07OhA0t6wHW
NNTP-Posting-Host: 50.249.135.41
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com> <3d461aab-9a5b-4a9d-b050-2aa19c97958dn@googlegroups.com>
<ba42095b-3860-47dd-aba3-987e5459ffb6n@googlegroups.com> <772c1c0b-fe87-4547-ad70-3a28a9f80285n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <299a4d14-4a25-47cd-80c9-519676e7255en@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: sires.mark@gmail.com (OldMster)
Injection-Date: Fri, 20 May 2022 21:01:16 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 10713
 by: OldMster - Fri, 20 May 2022 21:01 UTC

On Friday, May 20, 2022 at 4:50:13 PM UTC-4, K.S. Bhaskar wrote:
> On Friday, May 20, 2022 at 4:40:25 PM UTC-4, OldMster wrote:
> > On Friday, May 20, 2022 at 4:35:18 PM UTC-4, K.S. Bhaskar wrote:
> > > On Friday, May 20, 2022 at 3:08:32 PM UTC-4, ti.h...@gmail.com wrote:
> > > > Em sexta-feira, 20 de maio de 2022 às 15:21:54 UTC-3, OldMster escreveu:
> > > > > On Friday, May 20, 2022 at 8:05:48 AM UTC-4, ti.h...@gmail.com wrote:
> > > > > > Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S.. Bhaskar escreveu:
> > > > > > > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > > > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > > > > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > > > > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > > > > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > > > > > > >
> > > > > > > > > Thank you so much friends.
> > > > > > > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > > > > > > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> > > > > > >
> > > > > > > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> > > > > > >
> > > > > > > Regards
> > > > > > > - Bhaskar
> > > > > > Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
> > > > > >
> > > > > >
> > > > > > APODISCO
> > > > > > S EMP=1
> > > > > > S DAT="01/04/15" D ^%pDY S DTINI=DAT
> > > > > > K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
> > > > > > S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
> > > > > > LER I GL="" G GERAREL
> > > > > > I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
> > > > > > S DISPX=$G(@GL)
> > > > > > S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
> > > > > > ;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
> > > > > > I CODMED'=4104 G PROX
> > > > > > S REG=$QS(GL,3)
> > > > > > S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
> > > > > > S (DAT,DATADISP)=$P(DISPX,"^",1)
> > > > > > D ^%pDT
> > > > > > S MES=$P(DMY,"/",2)
> > > > > > ;B
> > > > > > S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
> > > > > > S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
> > > > > > S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
> > > > > > PROX S GL=$Q(@GL)
> > > > > > G LER
> > > > > > ;-------------------------
> > > > > > GERAREL
> > > > > > ;Q
> > > > > > S arq="C:\temp\APODISCO.txt"
> > > > > > O 51:(arq:"W")
> > > > > > U 51
> > > > > > S GL=$Q(^|"DAT,REL"|APODISC1)
> > > > > > APO1 I GL="" G D2
> > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > S MES=$QS(GL,2)
> > > > > > S QUANT=$G(@GL)
> > > > > > W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
> > > > > > S GL=$Q(@GL)
> > > > > > G APO1
> > > > > > D2 S GL=$Q(^|"DAT,REL"|APODISC2)
> > > > > > APO2 I GL="" G D3
> > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > S REG=$QS(GL,2)
> > > > > > S QUANT=$G(@GL)
> > > > > > W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
> > > > > > S GL=$Q(@GL)
> > > > > > G APO2
> > > > > > D3 S GL=$Q(^|"DAT,REL"|APODISC3)
> > > > > > APO3 I GL="" G FIM
> > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > S DAT=$QS(GL,2) D ^%pDT
> > > > > > S QUANT=$G(@GL)
> > > > > > W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
> > > > > > S GL=$Q(@GL)
> > > > > > G APO3
> > > > > > FIM C 51
> > > > > > q
> > > > > I recently completed converting our lab system from Caché to YottaDB. The conversion was about 7300 routines, and 300 gigabytes of data.. Working on it by myself, it took about 9 months total, including testing by the users before we went into production. Obviously I wrote a lot of automation to convert the obvious things like any Z commands or $Z functions, and the IO utilities. It can be done, and with a large team can probably be done quicker.
> > > > >
> > > > > For the data, I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases. The lab system makes extensive use of extended references (and '%' globals), which complicated the conversion quite a bit, especially since we wanted to use replication. We couldn't map globals from multiple global directories to the same database because of replication limitations, but I came up with a solution that works using extended references for all '%' references - also automated.
> > > > >
> > > > > All that is not to brag, just to show it can be done, and completed in a reasonable amount of time, even with limited resources.
> > > > >
> > > > > Mark
> > > > Is there any way to migrate from MSM that has routines, globals and windows to free Mumps where there is no limitation of licenses per connection?
> > > Yes, that is how open source software works: no license fees. You don't have to pay anything to use it as much as you want, but if you have production applications, you can buy support on commercial terms with assured service levels, or you can hire your own talent and support it yourself.
> > >
> > > Regards
> > > – Bhaskar
> > The windows, which I suspect use the MSM proprietary window system, would be the most troublesome, but it can be done. YottaDB is an open source Mumps, no license fees, no license limits, and it is rock solid, mission critical production capable. It has database replication, which I don't think MSM every fully had, so your database can be duplicate realtime to any location with an IP connection. The routines are O/S level files, not stored in the database, so industry standard version control/change control software and procedures work.
> >
> > Mark
> Interesting point, Mark. I don't know whether the window system is text-oriented or graphical, but if it is text-oriented, there are a number of interesting text-based rich user interfaces. Here is a list that a friend sent me recently:
>
> https://github.com/ArthurSonzogni/FTXUI
> https://github.com/ggerganov/imtui
> https://github.com/fdehau/tui-rs
> https://github.com/redox-os/termion
> https://github.com/charmbracelet/bubbletea
> https://github.com/gizak/termui
>
> Regards
> – Bhaskar


Click here to read the complete article
Re: Mumps - Versioning and Migration

<b14fea03-5354-4e10-9591-7c096a6e2f36n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=374&group=comp.lang.mumps#374

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:620a:2683:b0:69c:8c9c:5f80 with SMTP id c3-20020a05620a268300b0069c8c9c5f80mr7570324qkp.367.1653081504144;
Fri, 20 May 2022 14:18:24 -0700 (PDT)
X-Received: by 2002:ac8:7f87:0:b0:2f9:e10:2930 with SMTP id
z7-20020ac87f87000000b002f90e102930mr9237120qtj.673.1653081503911; Fri, 20
May 2022 14:18:23 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!peer03.ams4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 14:18:23 -0700 (PDT)
In-Reply-To: <299a4d14-4a25-47cd-80c9-519676e7255en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2804:7f2:2a92:c3d7:6117:c009:3c98:9633;
posting-account=rJLjTAoAAACpjYTSm3mOFhAWMOuvXDWR
NNTP-Posting-Host: 2804:7f2:2a92:c3d7:6117:c009:3c98:9633
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com> <3d461aab-9a5b-4a9d-b050-2aa19c97958dn@googlegroups.com>
<ba42095b-3860-47dd-aba3-987e5459ffb6n@googlegroups.com> <772c1c0b-fe87-4547-ad70-3a28a9f80285n@googlegroups.com>
<299a4d14-4a25-47cd-80c9-519676e7255en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b14fea03-5354-4e10-9591-7c096a6e2f36n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: flaviofornazier@hotmail.com (Flávio Fornazier)
Injection-Date: Fri, 20 May 2022 21:18:24 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 11511
 by: Flávio Fornazier - Fri, 20 May 2022 21:18 UTC

Em sexta-feira, 20 de maio de 2022 às 18:01:17 UTC-3, OldMster escreveu:
> On Friday, May 20, 2022 at 4:50:13 PM UTC-4, K.S. Bhaskar wrote:
> > On Friday, May 20, 2022 at 4:40:25 PM UTC-4, OldMster wrote:
> > > On Friday, May 20, 2022 at 4:35:18 PM UTC-4, K.S. Bhaskar wrote:
> > > > On Friday, May 20, 2022 at 3:08:32 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > Em sexta-feira, 20 de maio de 2022 às 15:21:54 UTC-3, OldMster escreveu:
> > > > > > On Friday, May 20, 2022 at 8:05:48 AM UTC-4, ti.h...@gmail.com wrote:
> > > > > > > Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K..S. Bhaskar escreveu:
> > > > > > > > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > > > > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > > > > > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > > > > > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > > > > > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > > > > > > > >
> > > > > > > > > > Thank you so much friends.
> > > > > > > > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > > > > > > > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> > > > > > > >
> > > > > > > > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> > > > > > > >
> > > > > > > > Regards
> > > > > > > > - Bhaskar
> > > > > > > Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
> > > > > > >
> > > > > > >
> > > > > > > APODISCO
> > > > > > > S EMP=1
> > > > > > > S DAT="01/04/15" D ^%pDY S DTINI=DAT
> > > > > > > K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
> > > > > > > S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
> > > > > > > LER I GL="" G GERAREL
> > > > > > > I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
> > > > > > > S DISPX=$G(@GL)
> > > > > > > S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
> > > > > > > ;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
> > > > > > > I CODMED'=4104 G PROX
> > > > > > > S REG=$QS(GL,3)
> > > > > > > S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
> > > > > > > S (DAT,DATADISP)=$P(DISPX,"^",1)
> > > > > > > D ^%pDT
> > > > > > > S MES=$P(DMY,"/",2)
> > > > > > > ;B
> > > > > > > S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
> > > > > > > S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
> > > > > > > S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
> > > > > > > PROX S GL=$Q(@GL)
> > > > > > > G LER
> > > > > > > ;-------------------------
> > > > > > > GERAREL
> > > > > > > ;Q
> > > > > > > S arq="C:\temp\APODISCO.txt"
> > > > > > > O 51:(arq:"W")
> > > > > > > U 51
> > > > > > > S GL=$Q(^|"DAT,REL"|APODISC1)
> > > > > > > APO1 I GL="" G D2
> > > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > > S MES=$QS(GL,2)
> > > > > > > S QUANT=$G(@GL)
> > > > > > > W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
> > > > > > > S GL=$Q(@GL)
> > > > > > > G APO1
> > > > > > > D2 S GL=$Q(^|"DAT,REL"|APODISC2)
> > > > > > > APO2 I GL="" G D3
> > > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > > S REG=$QS(GL,2)
> > > > > > > S QUANT=$G(@GL)
> > > > > > > W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
> > > > > > > S GL=$Q(@GL)
> > > > > > > G APO2
> > > > > > > D3 S GL=$Q(^|"DAT,REL"|APODISC3)
> > > > > > > APO3 I GL="" G FIM
> > > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > > S DAT=$QS(GL,2) D ^%pDT
> > > > > > > S QUANT=$G(@GL)
> > > > > > > W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
> > > > > > > S GL=$Q(@GL)
> > > > > > > G APO3
> > > > > > > FIM C 51
> > > > > > > q
> > > > > > I recently completed converting our lab system from Caché to YottaDB. The conversion was about 7300 routines, and 300 gigabytes of data. Working on it by myself, it took about 9 months total, including testing by the users before we went into production. Obviously I wrote a lot of automation to convert the obvious things like any Z commands or $Z functions, and the IO utilities. It can be done, and with a large team can probably be done quicker.
> > > > > >
> > > > > > For the data, I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases. The lab system makes extensive use of extended references (and '%' globals), which complicated the conversion quite a bit, especially since we wanted to use replication. We couldn't map globals from multiple global directories to the same database because of replication limitations, but I came up with a solution that works using extended references for all '%' references - also automated.
> > > > > >
> > > > > > All that is not to brag, just to show it can be done, and completed in a reasonable amount of time, even with limited resources.
> > > > > >
> > > > > > Mark
> > > > > Is there any way to migrate from MSM that has routines, globals and windows to free Mumps where there is no limitation of licenses per connection?
> > > > Yes, that is how open source software works: no license fees. You don't have to pay anything to use it as much as you want, but if you have production applications, you can buy support on commercial terms with assured service levels, or you can hire your own talent and support it yourself.
> > > >
> > > > Regards
> > > > – Bhaskar
> > > The windows, which I suspect use the MSM proprietary window system, would be the most troublesome, but it can be done. YottaDB is an open source Mumps, no license fees, no license limits, and it is rock solid, mission critical production capable. It has database replication, which I don't think MSM every fully had, so your database can be duplicate realtime to any location with an IP connection. The routines are O/S level files, not stored in the database, so industry standard version control/change control software and procedures work.
> > >
> > > Mark
> > Interesting point, Mark. I don't know whether the window system is text-oriented or graphical, but if it is text-oriented, there are a number of interesting text-based rich user interfaces. Here is a list that a friend sent me recently:
> >
> > https://github.com/ArthurSonzogni/FTXUI
> > https://github.com/ggerganov/imtui
> > https://github.com/fdehau/tui-rs
> > https://github.com/redox-os/termion
> > https://github.com/charmbracelet/bubbletea
> > https://github.com/gizak/termui
> >
> > Regards
> > – Bhaskar
> Bhaskar,
> I believe it is actually a GUI - sort of an early MS Visual Basic competitor. If it was me, I'd migrate it to a web based front end using Rob/Chris's connection tools and something like Vue, which is what I did for the Flex/Flash player front end I'd done for the lab. But, depending on their developer base, MS Visual basic might make more sense, and more closely mimic the MSM Window environment. The web environment doesn't always mirror the desktop app user experience. User training time has to be part of the equation when deciding things like this.
>
> In any case, going to a relational database would require a complete rewrite of the entire system, would require significantly more time, and be much higher risk.
>
> Mark


Click here to read the complete article
Re: Mumps - Versioning and Migration

<e8f7ddf6-93af-4c9e-889e-f88e2386ab9dn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=375&group=comp.lang.mumps#375

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:ac8:59cd:0:b0:2f3:c08d:9ffa with SMTP id f13-20020ac859cd000000b002f3c08d9ffamr9035134qtf.564.1653081567747;
Fri, 20 May 2022 14:19:27 -0700 (PDT)
X-Received: by 2002:ad4:576c:0:b0:45a:91a4:c109 with SMTP id
r12-20020ad4576c000000b0045a91a4c109mr9416630qvx.115.1653081567508; Fri, 20
May 2022 14:19:27 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 14:19:27 -0700 (PDT)
In-Reply-To: <299a4d14-4a25-47cd-80c9-519676e7255en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=108.52.84.50; posting-account=zTPg1AoAAABx_LtAQ3dW6FBnU1dwmSvl
NNTP-Posting-Host: 108.52.84.50
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com> <3d461aab-9a5b-4a9d-b050-2aa19c97958dn@googlegroups.com>
<ba42095b-3860-47dd-aba3-987e5459ffb6n@googlegroups.com> <772c1c0b-fe87-4547-ad70-3a28a9f80285n@googlegroups.com>
<299a4d14-4a25-47cd-80c9-519676e7255en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e8f7ddf6-93af-4c9e-889e-f88e2386ab9dn@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: ksbhaskar@gmail.com (K.S. Bhaskar)
Injection-Date: Fri, 20 May 2022 21:19:27 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: K.S. Bhaskar - Fri, 20 May 2022 21:19 UTC

On Friday, May 20, 2022 at 5:01:17 PM UTC-4, OldMster wrote:
> On Friday, May 20, 2022 at 4:50:13 PM UTC-4, K.S. Bhaskar wrote:
> > On Friday, May 20, 2022 at 4:40:25 PM UTC-4, OldMster wrote:
> > > On Friday, May 20, 2022 at 4:35:18 PM UTC-4, K.S. Bhaskar wrote:
> > > > On Friday, May 20, 2022 at 3:08:32 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > Em sexta-feira, 20 de maio de 2022 às 15:21:54 UTC-3, OldMster escreveu:
> > > > > > On Friday, May 20, 2022 at 8:05:48 AM UTC-4, ti.h...@gmail.com wrote:
> > > > > > > Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K..S. Bhaskar escreveu:
> > > > > > > > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > > > > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > > > > > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > > > > > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > > > > > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > > > > > > > >
> > > > > > > > > > Thank you so much friends.
> > > > > > > > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > > > > > > > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> > > > > > > >
> > > > > > > > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> > > > > > > >
> > > > > > > > Regards
> > > > > > > > - Bhaskar
> > > > > > > Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
> > > > > > >
> > > > > > >
> > > > > > > APODISCO
> > > > > > > S EMP=1
> > > > > > > S DAT="01/04/15" D ^%pDY S DTINI=DAT
> > > > > > > K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
> > > > > > > S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
> > > > > > > LER I GL="" G GERAREL
> > > > > > > I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
> > > > > > > S DISPX=$G(@GL)
> > > > > > > S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
> > > > > > > ;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
> > > > > > > I CODMED'=4104 G PROX
> > > > > > > S REG=$QS(GL,3)
> > > > > > > S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
> > > > > > > S (DAT,DATADISP)=$P(DISPX,"^",1)
> > > > > > > D ^%pDT
> > > > > > > S MES=$P(DMY,"/",2)
> > > > > > > ;B
> > > > > > > S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
> > > > > > > S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
> > > > > > > S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
> > > > > > > PROX S GL=$Q(@GL)
> > > > > > > G LER
> > > > > > > ;-------------------------
> > > > > > > GERAREL
> > > > > > > ;Q
> > > > > > > S arq="C:\temp\APODISCO.txt"
> > > > > > > O 51:(arq:"W")
> > > > > > > U 51
> > > > > > > S GL=$Q(^|"DAT,REL"|APODISC1)
> > > > > > > APO1 I GL="" G D2
> > > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > > S MES=$QS(GL,2)
> > > > > > > S QUANT=$G(@GL)
> > > > > > > W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
> > > > > > > S GL=$Q(@GL)
> > > > > > > G APO1
> > > > > > > D2 S GL=$Q(^|"DAT,REL"|APODISC2)
> > > > > > > APO2 I GL="" G D3
> > > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > > S REG=$QS(GL,2)
> > > > > > > S QUANT=$G(@GL)
> > > > > > > W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
> > > > > > > S GL=$Q(@GL)
> > > > > > > G APO2
> > > > > > > D3 S GL=$Q(^|"DAT,REL"|APODISC3)
> > > > > > > APO3 I GL="" G FIM
> > > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > > S DAT=$QS(GL,2) D ^%pDT
> > > > > > > S QUANT=$G(@GL)
> > > > > > > W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
> > > > > > > S GL=$Q(@GL)
> > > > > > > G APO3
> > > > > > > FIM C 51
> > > > > > > q
> > > > > > I recently completed converting our lab system from Caché to YottaDB. The conversion was about 7300 routines, and 300 gigabytes of data. Working on it by myself, it took about 9 months total, including testing by the users before we went into production. Obviously I wrote a lot of automation to convert the obvious things like any Z commands or $Z functions, and the IO utilities. It can be done, and with a large team can probably be done quicker.
> > > > > >
> > > > > > For the data, I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases. The lab system makes extensive use of extended references (and '%' globals), which complicated the conversion quite a bit, especially since we wanted to use replication. We couldn't map globals from multiple global directories to the same database because of replication limitations, but I came up with a solution that works using extended references for all '%' references - also automated.
> > > > > >
> > > > > > All that is not to brag, just to show it can be done, and completed in a reasonable amount of time, even with limited resources.
> > > > > >
> > > > > > Mark
> > > > > Is there any way to migrate from MSM that has routines, globals and windows to free Mumps where there is no limitation of licenses per connection?
> > > > Yes, that is how open source software works: no license fees. You don't have to pay anything to use it as much as you want, but if you have production applications, you can buy support on commercial terms with assured service levels, or you can hire your own talent and support it yourself.
> > > >
> > > > Regards
> > > > – Bhaskar
> > > The windows, which I suspect use the MSM proprietary window system, would be the most troublesome, but it can be done. YottaDB is an open source Mumps, no license fees, no license limits, and it is rock solid, mission critical production capable. It has database replication, which I don't think MSM every fully had, so your database can be duplicate realtime to any location with an IP connection. The routines are O/S level files, not stored in the database, so industry standard version control/change control software and procedures work.
> > >
> > > Mark
> > Interesting point, Mark. I don't know whether the window system is text-oriented or graphical, but if it is text-oriented, there are a number of interesting text-based rich user interfaces. Here is a list that a friend sent me recently:
> >
> > https://github.com/ArthurSonzogni/FTXUI
> > https://github.com/ggerganov/imtui
> > https://github.com/fdehau/tui-rs
> > https://github.com/redox-os/termion
> > https://github.com/charmbracelet/bubbletea
> > https://github.com/gizak/termui
> >
> > Regards
> > – Bhaskar
> Bhaskar,
> I believe it is actually a GUI - sort of an early MS Visual Basic competitor. If it was me, I'd migrate it to a web based front end using Rob/Chris's connection tools and something like Vue, which is what I did for the Flex/Flash player front end I'd done for the lab. But, depending on their developer base, MS Visual basic might make more sense, and more closely mimic the MSM Window environment. The web environment doesn't always mirror the desktop app user experience. User training time has to be part of the equation when deciding things like this.
>
> In any case, going to a relational database would require a complete rewrite of the entire system, would require significantly more time, and be much higher risk.
>
> Mark


Click here to read the complete article
Re: Mumps - Versioning and Migration

<c8d0ca30-4766-4f54-ac95-fe0b8ff5bf5en@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=376&group=comp.lang.mumps#376

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:620a:44d4:b0:6a0:2342:c7c6 with SMTP id y20-20020a05620a44d400b006a02342c7c6mr7751212qkp.14.1653081635011;
Fri, 20 May 2022 14:20:35 -0700 (PDT)
X-Received: by 2002:a05:622a:613:b0:2f3:f918:280a with SMTP id
z19-20020a05622a061300b002f3f918280amr9346355qta.216.1653081634822; Fri, 20
May 2022 14:20:34 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.mixmin.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 14:20:34 -0700 (PDT)
In-Reply-To: <e8f7ddf6-93af-4c9e-889e-f88e2386ab9dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=108.52.84.50; posting-account=zTPg1AoAAABx_LtAQ3dW6FBnU1dwmSvl
NNTP-Posting-Host: 108.52.84.50
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com> <3d461aab-9a5b-4a9d-b050-2aa19c97958dn@googlegroups.com>
<ba42095b-3860-47dd-aba3-987e5459ffb6n@googlegroups.com> <772c1c0b-fe87-4547-ad70-3a28a9f80285n@googlegroups.com>
<299a4d14-4a25-47cd-80c9-519676e7255en@googlegroups.com> <e8f7ddf6-93af-4c9e-889e-f88e2386ab9dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c8d0ca30-4766-4f54-ac95-fe0b8ff5bf5en@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: ksbhaskar@gmail.com (K.S. Bhaskar)
Injection-Date: Fri, 20 May 2022 21:20:35 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: K.S. Bhaskar - Fri, 20 May 2022 21:20 UTC

On Friday, May 20, 2022 at 5:19:28 PM UTC-4, K.S. Bhaskar wrote:
> On Friday, May 20, 2022 at 5:01:17 PM UTC-4, OldMster wrote:
> > On Friday, May 20, 2022 at 4:50:13 PM UTC-4, K.S. Bhaskar wrote:
> > > On Friday, May 20, 2022 at 4:40:25 PM UTC-4, OldMster wrote:
> > > > On Friday, May 20, 2022 at 4:35:18 PM UTC-4, K.S. Bhaskar wrote:
> > > > > On Friday, May 20, 2022 at 3:08:32 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > > Em sexta-feira, 20 de maio de 2022 às 15:21:54 UTC-3, OldMster escreveu:
> > > > > > > On Friday, May 20, 2022 at 8:05:48 AM UTC-4, ti.h...@gmail.com wrote:
> > > > > > > > Em quinta-feira, 19 de maio de 2022 às 17:55:13 UTC-3, K.S. Bhaskar escreveu:
> > > > > > > > > On Thursday, May 19, 2022 at 3:29:04 PM UTC-4, ti.h...@gmail.com wrote:
> > > > > > > > > > Em quinta-feira, 19 de maio de 2022 às 14:18:22 UTC-3, TI HRTGB escreveu:
> > > > > > > > > > > Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> > > > > > > > > > > Is there any way to work with versioning in mumps with github/gitlab?
> > > > > > > > > > > We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
> > > > > > > > > > >
> > > > > > > > > > > Thank you so much friends.
> > > > > > > > > > We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
> > > > > > > > > What is the application? Perhaps someone on this list is familiar with the application and make suggestions.
> > > > > > > > >
> > > > > > > > > Can you document the schema? If you can document the schema and the schema is relational, then it MAY be possible to migrate the application. Otherwise, migrate it to a MUMPS implementation that does not have a license limit.
> > > > > > > > >
> > > > > > > > > Regards
> > > > > > > > > - Bhaskar
> > > > > > > > Good morning, this is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational.. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
> > > > > > > >
> > > > > > > >
> > > > > > > > APODISCO
> > > > > > > > S EMP=1
> > > > > > > > S DAT="01/04/15" D ^%pDY S DTINI=DAT
> > > > > > > > K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
> > > > > > > > S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
> > > > > > > > LER I GL="" G GERAREL
> > > > > > > > I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
> > > > > > > > S DISPX=$G(@GL)
> > > > > > > > S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
> > > > > > > > ;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
> > > > > > > > I CODMED'=4104 G PROX
> > > > > > > > S REG=$QS(GL,3)
> > > > > > > > S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
> > > > > > > > S (DAT,DATADISP)=$P(DISPX,"^",1)
> > > > > > > > D ^%pDT
> > > > > > > > S MES=$P(DMY,"/",2)
> > > > > > > > ;B
> > > > > > > > S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
> > > > > > > > S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
> > > > > > > > S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
> > > > > > > > PROX S GL=$Q(@GL)
> > > > > > > > G LER
> > > > > > > > ;-------------------------
> > > > > > > > GERAREL
> > > > > > > > ;Q
> > > > > > > > S arq="C:\temp\APODISCO.txt"
> > > > > > > > O 51:(arq:"W")
> > > > > > > > U 51
> > > > > > > > S GL=$Q(^|"DAT,REL"|APODISC1)
> > > > > > > > APO1 I GL="" G D2
> > > > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > > > S MES=$QS(GL,2)
> > > > > > > > S QUANT=$G(@GL)
> > > > > > > > W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
> > > > > > > > S GL=$Q(@GL)
> > > > > > > > G APO1
> > > > > > > > D2 S GL=$Q(^|"DAT,REL"|APODISC2)
> > > > > > > > APO2 I GL="" G D3
> > > > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > > > S REG=$QS(GL,2)
> > > > > > > > S QUANT=$G(@GL)
> > > > > > > > W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
> > > > > > > > S GL=$Q(@GL)
> > > > > > > > G APO2
> > > > > > > > D3 S GL=$Q(^|"DAT,REL"|APODISC3)
> > > > > > > > APO3 I GL="" G FIM
> > > > > > > > S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
> > > > > > > > S DAT=$QS(GL,2) D ^%pDT
> > > > > > > > S QUANT=$G(@GL)
> > > > > > > > W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
> > > > > > > > S GL=$Q(@GL)
> > > > > > > > G APO3
> > > > > > > > FIM C 51
> > > > > > > > q
> > > > > > > I recently completed converting our lab system from Caché to YottaDB. The conversion was about 7300 routines, and 300 gigabytes of data. Working on it by myself, it took about 9 months total, including testing by the users before we went into production. Obviously I wrote a lot of automation to convert the obvious things like any Z commands or $Z functions, and the IO utilities. It can be done, and with a large team can probably be done quicker.
> > > > > > >
> > > > > > > For the data, I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases. The lab system makes extensive use of extended references (and '%' globals), which complicated the conversion quite a bit, especially since we wanted to use replication. We couldn't map globals from multiple global directories to the same database because of replication limitations, but I came up with a solution that works using extended references for all '%' references - also automated.
> > > > > > >
> > > > > > > All that is not to brag, just to show it can be done, and completed in a reasonable amount of time, even with limited resources.
> > > > > > >
> > > > > > > Mark
> > > > > > Is there any way to migrate from MSM that has routines, globals and windows to free Mumps where there is no limitation of licenses per connection?
> > > > > Yes, that is how open source software works: no license fees. You don't have to pay anything to use it as much as you want, but if you have production applications, you can buy support on commercial terms with assured service levels, or you can hire your own talent and support it yourself.
> > > > >
> > > > > Regards
> > > > > – Bhaskar
> > > > The windows, which I suspect use the MSM proprietary window system, would be the most troublesome, but it can be done. YottaDB is an open source Mumps, no license fees, no license limits, and it is rock solid, mission critical production capable. It has database replication, which I don't think MSM every fully had, so your database can be duplicate realtime to any location with an IP connection. The routines are O/S level files, not stored in the database, so industry standard version control/change control software and procedures work.
> > > >
> > > > Mark
> > > Interesting point, Mark. I don't know whether the window system is text-oriented or graphical, but if it is text-oriented, there are a number of interesting text-based rich user interfaces. Here is a list that a friend sent me recently:
> > >
> > > https://github.com/ArthurSonzogni/FTXUI
> > > https://github.com/ggerganov/imtui
> > > https://github.com/fdehau/tui-rs
> > > https://github.com/redox-os/termion
> > > https://github.com/charmbracelet/bubbletea
> > > https://github.com/gizak/termui
> > >
> > > Regards
> > > – Bhaskar
> > Bhaskar,
> > I believe it is actually a GUI - sort of an early MS Visual Basic competitor. If it was me, I'd migrate it to a web based front end using Rob/Chris's connection tools and something like Vue, which is what I did for the Flex/Flash player front end I'd done for the lab. But, depending on their developer base, MS Visual basic might make more sense, and more closely mimic the MSM Window environment. The web environment doesn't always mirror the desktop app user experience. User training time has to be part of the equation when deciding things like this.
> >
> > In any case, going to a relational database would require a complete rewrite of the entire system, would require significantly more time, and be much higher risk.
> >
> > Mark
> Thanks Rob. I have never used any M except YottaDB/GT.M. Yes, the M/Gateway tools would be good for a browser based GUI. For a non-browser GUI, an X11 based application would make sense, using toolkits and frameworks like GTK (https://gtk.org/) and wxWIdgets (https://wxwidgets.org/). A GUI can run as an X11 client on a headless server, and be accessed from a desktop. Using a tool like Xpra (https://www.xpra.org/) which has an HTML5 client, a browser can also provide the XServer.
>
> Lots of options...
>
> Regards
> – Bhaskar


Click here to read the complete article
Re: Mumps - Versioning and Migration

<0c972287-c73f-4e1c-840f-4d2e20ac938cn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=378&group=comp.lang.mumps#378

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:6214:518d:b0:45a:933f:965d with SMTP id kl13-20020a056214518d00b0045a933f965dmr10579573qvb.94.1653108399194;
Fri, 20 May 2022 21:46:39 -0700 (PDT)
X-Received: by 2002:a37:843:0:b0:6a0:47d2:cdc5 with SMTP id
64-20020a370843000000b006a047d2cdc5mr8160626qki.689.1653108398995; Fri, 20
May 2022 21:46:38 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Fri, 20 May 2022 21:46:38 -0700 (PDT)
In-Reply-To: <c8d0ca30-4766-4f54-ac95-fe0b8ff5bf5en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=51.6.181.30; posting-account=6nO_vAoAAAA9JNtHPLpYK-C8I2A3cmVH
NNTP-Posting-Host: 51.6.181.30
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<cedcc387-0501-452a-bccd-7753ebf9d03en@googlegroups.com> <3d461aab-9a5b-4a9d-b050-2aa19c97958dn@googlegroups.com>
<ba42095b-3860-47dd-aba3-987e5459ffb6n@googlegroups.com> <772c1c0b-fe87-4547-ad70-3a28a9f80285n@googlegroups.com>
<299a4d14-4a25-47cd-80c9-519676e7255en@googlegroups.com> <e8f7ddf6-93af-4c9e-889e-f88e2386ab9dn@googlegroups.com>
<c8d0ca30-4766-4f54-ac95-fe0b8ff5bf5en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0c972287-c73f-4e1c-840f-4d2e20ac938cn@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: alexatwoodhead@gmail.com (Alex)
Injection-Date: Sat, 21 May 2022 04:46:39 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 6295
 by: Alex - Sat, 21 May 2022 04:46 UTC

Hi and welcome,

Its been about 20 years since migrating from MSM to Cache but from what I recall:

MSM uses routine names upto 8 characters long.
In Cache these names are more flexible longer.

Review the usage mapping of globals beginning with "Z and z". As these may become transactional.
Cache / IRIS has a "process private" syntax using "^||variablename" instead of ^Zvariable and is more explict this is a temporary storage.

In MSM you can redefine a routine line label (code entry point).
In cache / IRIS the compiler will help identify where these are to ensure they are not duplicated.
Cache / IRIS allow a longer line lengths.

Cache / IRIS have the concept of Macro-routines and Int-routines. If you wish to enhance existing code with SQL macros then suggest import the routines as Mac-routines to allow this capability in future.
Cache / IRIS supports the "dot syntax" but also more modern brackets like "if (xyz) { do something } else { do somethingelse }
An advantage of the new bracket syntax is that it doesn't add levels to your process stack. So is more efficient.

I like that cache / IRIS supports long strings variables. So instead of getting MAXSTRING error going over 32K you can go up to somewhere like 2MB for in memory variable.

In addition, to the point made on renaming how to open a file device, Cache / IRIS also has a more explicit modern object oriented syntax you could use:
Set dev=##class(%File).%New("MyFileName.txt")
Do file.Open("WSN")
Do file.WriteLine("This is a line of text")

See: https://docs.intersystems.com/irisforhealth20221/csp/documatic/%25CSP.Documatic.cls?&LIBRARY=%25SYS&CLASSNAME=%25Library.File

Reasons to go the Cache / IRIS route might include:

1) Support for complex SQL structures from existing global data.
When moving from MSM to Cache an immediate benifit was reportability.
Was able to define "Classes" with storage mapped to existing globals.
This gave a SQL projection against which modern SQL reporting tools could be run against existing data.
2) High Availability. IRIS provides Mirroring.
This allows you to have two nodes. A current primary member, and a backup failover member that is kept up to date and ready to AUTOMATICALLY take over..
3) Reporting. You might not need one, but will mention with Mirroring you can also have async mirrors. These are up to date copys of data on seperate instances available to run big SQL reports, to insulate that processing from busy user application experience.
4) Consolidation. A big customer had a recent upgrade going from Cache 2010 to IRIS 2019. They originally had a scaled out database with 3 application database instances in front of a master database instance, with additional seperate database instances to process laboratory instrument integration.
Performance has improved so much with IRIS we only needed a single IRIS Database Instance to do all that same work.
5) XML processing and generation
I had a need to process doctor payment data in XML files. With Classes was able to define XML SAX parser handler for REALLY FAST custom import of XML streams.
6) Streams. In MSM and Cache there is a limit for how long a stored string node can be.
However with a stream data type you can read & write much larger data in globals.
The new version of IRIS supports stream compression so for XML could save you 60-80% of storage.
7) REST application support. If you want to create new web apps to enhance aspects of you existing application one option is REST API to support single page applications. For example Typescript with Angular and Material.
8) Web Services. Either to provide services or consume external services.
9) Language bindings. There are many supported (Java / DotNet). The new IRIS even has Embedded Python.
This means you have to option to implement new IRIS classes with the Python language methods to run alongside existing code in the database.
10) FHIR app integration, FHIR repository, FHIR SQL
11) If you like SQL you might also like the IntegratedML feature in IRIS.
12) Container Virtualization is supported if you desire to move away from Physical hardware. IRIS is a cloud-first focused platform.

A better understanding of what you want to achieve may give opportunity to highlight further specific features from the myriad of options available.

Kind regards,

Alex

Re: Mumps - Versioning and Migration

<024ab62c-c74f-404c-ab67-7878f5de1b68n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=379&group=comp.lang.mumps#379

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a37:66d0:0:b0:6a3:6e94:7794 with SMTP id a199-20020a3766d0000000b006a36e947794mr448881qkc.526.1653118747828;
Sat, 21 May 2022 00:39:07 -0700 (PDT)
X-Received: by 2002:a37:d285:0:b0:6a3:4b51:1621 with SMTP id
f127-20020a37d285000000b006a34b511621mr4169146qkj.127.1653118747618; Sat, 21
May 2022 00:39:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Sat, 21 May 2022 00:39:07 -0700 (PDT)
In-Reply-To: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=185.218.109.36; posting-account=-CvOBgoAAADo5DSvJKbVMMWghbjbIu3P
NNTP-Posting-Host: 185.218.109.36
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <024ab62c-c74f-404c-ab67-7878f5de1b68n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: coriolis.ru@gmail.com (Coriolis)
Injection-Date: Sat, 21 May 2022 07:39:07 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Coriolis - Sat, 21 May 2022 07:39 UTC

четверг, 19 мая 2022 г. в 20:18:22 UTC+3, ti.h...@gmail.com:
> Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
> Is there any way to work with versioning in mumps with github/gitlab?
> We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
>
> Thank you so much friends.

Hi! Ple

I've had migration experience, but I can't distribute info (NDA). But if you write to me, I can give you some good advice.
Please mail me at coriolis dog inbox dot ru

Re: Mumps - Versioning and Migration

<749cf2cc-833e-49b0-ac65-b6130e758a16n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=380&group=comp.lang.mumps#380

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:622a:1a9c:b0:2f3:d873:4acc with SMTP id s28-20020a05622a1a9c00b002f3d8734accmr10697026qtc.424.1653132182104;
Sat, 21 May 2022 04:23:02 -0700 (PDT)
X-Received: by 2002:a37:ab01:0:b0:6a3:4bb6:50e8 with SMTP id
u1-20020a37ab01000000b006a34bb650e8mr4441001qke.255.1653132181919; Sat, 21
May 2022 04:23:01 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Sat, 21 May 2022 04:23:01 -0700 (PDT)
In-Reply-To: <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=37.144.215.225; posting-account=xUQXIQoAAABX5nmal2xpcC5SP4rTX5l7
NNTP-Posting-Host: 37.144.215.225
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <749cf2cc-833e-49b0-ac65-b6130e758a16n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: maslov70@gmail.com (Alex Maslov)
Injection-Date: Sat, 21 May 2022 11:23:02 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2164
 by: Alex Maslov - Sat, 21 May 2022 11:23 UTC

Hi,
Mark, it seems that we are sharing the same field )
> I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases
I read journal files on Caché side and apply the changes to YottaDB through in-house TCP based protocol. What about you?

> We couldn't map globals from multiple global directories to the same database because of replication limitations
Why did you want it?
Having rather complicated global mapping in Caché, we just duplicated it in YottaDB, including subscript mapping. We were happy enough not to mess with ^%globals in our App, so I'm not aware of possible caveats in YottaDB.

Alexey

Re: Mumps - Versioning and Migration

<488f83d8-119b-4b80-b004-81aef91a9463n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=381&group=comp.lang.mumps#381

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a37:843:0:b0:6a0:47d2:cdc5 with SMTP id 64-20020a370843000000b006a047d2cdc5mr9149393qki.689.1653144344294;
Sat, 21 May 2022 07:45:44 -0700 (PDT)
X-Received: by 2002:ac8:584d:0:b0:2f3:ec5e:3708 with SMTP id
h13-20020ac8584d000000b002f3ec5e3708mr11147292qth.306.1653144344092; Sat, 21
May 2022 07:45:44 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Sat, 21 May 2022 07:45:43 -0700 (PDT)
In-Reply-To: <749cf2cc-833e-49b0-ac65-b6130e758a16n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=50.249.135.41; posting-account=B5cu_goAAACZo0vIvp9ba07OhA0t6wHW
NNTP-Posting-Host: 50.249.135.41
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<749cf2cc-833e-49b0-ac65-b6130e758a16n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <488f83d8-119b-4b80-b004-81aef91a9463n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: sires.mark@gmail.com (OldMster)
Injection-Date: Sat, 21 May 2022 14:45:44 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4436
 by: OldMster - Sat, 21 May 2022 14:45 UTC

On Saturday, May 21, 2022 at 7:23:02 AM UTC-4, Alex Maslov wrote:
> Hi,
> Mark, it seems that we are sharing the same field )
> > I did an early mass conversion, then kept the yottaDB databases up to date by reading the journal files from Caché and applying the changes to the yottaDB databases
> I read journal files on Caché side and apply the changes to YottaDB through in-house TCP based protocol. What about you?

Pretty much the same. For the initial mass conversion I also used an in-house TCP protocol that allowed multiple processes per database to run simultaneously. On process per global was the maximum limit. The 300 gigabytes only took a few hours to convert with this method.

> > We couldn't map globals from multiple global directories to the same database because of replication limitations
> Why did you want it?
> Having rather complicated global mapping in Caché, we just duplicated it in YottaDB, including subscript mapping. We were happy enough not to mess with ^%globals in our App, so I'm not aware of possible caveats in YottaDB.

Our application uses extended syntax references extensively. The system originated in the dark ages before ethernet, and before single machines could handle even a modestly large laboratory. The system was broken up in to logical groupings, and configured on multiple machines (up to 4 at the time) using a proprietary DEC networking system. That network (speed in K, not M or G) and the machines were very slow (a smartwatch today is several orders of magnitude faster), so a lot of data moved back and forth in the background to make sure it was available when and where the users needed it. It worked, and at the time allowed us to handle very large labs. That design proved advantageous even after hardware caught up, as it made interfacing/integrating the lab system into mixed environments very easy. % globals, however, were expected to be in a database that was inherently mapped by the Mumps implementation (DSM-11, Datatree, Intersystems Caché was the migration path for our app) and available from every UCI/Namespace/Whatever. Replication doesn't allow that, and replication is required for our disaster recovery process. It was much easier/faster to modify the routines to use extended references for % globals, and easy enough to automate those modifications.

The caveat for YottaDB is that replication won't start if it detects a mapped global that is also mapped in another replication instance. And that makes sense for a daemonless system, the replication process needs exclusive access to the database updates that in DSM/Cache/MSM/Whatever would be handled by the write daemon. Because of that, we couldn't just map the % globals in each of the global directories we created to emulate a UCI/Namespace/Whatever.
Mark

>
> Alexey

Re: Mumps - Versioning and Migration

<dff76f36-3973-44a5-a6a2-46d8b26a4e30n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=382&group=comp.lang.mumps#382

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:622a:1a29:b0:2f9:32e4:52e with SMTP id f41-20020a05622a1a2900b002f932e4052emr1480891qtb.689.1653205072124;
Sun, 22 May 2022 00:37:52 -0700 (PDT)
X-Received: by 2002:ac8:7f87:0:b0:2f9:e10:2930 with SMTP id
z7-20020ac87f87000000b002f90e102930mr12889661qtj.673.1653205071971; Sun, 22
May 2022 00:37:51 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Sun, 22 May 2022 00:37:51 -0700 (PDT)
In-Reply-To: <488f83d8-119b-4b80-b004-81aef91a9463n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=37.144.215.225; posting-account=xUQXIQoAAABX5nmal2xpcC5SP4rTX5l7
NNTP-Posting-Host: 37.144.215.225
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<749cf2cc-833e-49b0-ac65-b6130e758a16n@googlegroups.com> <488f83d8-119b-4b80-b004-81aef91a9463n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <dff76f36-3973-44a5-a6a2-46d8b26a4e30n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: maslov70@gmail.com (Alex Maslov)
Injection-Date: Sun, 22 May 2022 07:37:52 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Alex Maslov - Sun, 22 May 2022 07:37 UTC

On Saturday, May 21, 2022 at 5:45:45 PM UTC+3, OldMster wrote:
> That network (speed in K, not M or G) and the machines were very slow (a smartwatch today is several orders of magnitude faster),
> so a lot of data moved back and forth in the background to make sure it was available when and where the users needed it.
That was apparently one of beautiful solutions inspired by poor hardware configs of the past )

Our HIS/LIS/RIS/etc qMS takes its roots from the early 200x, so it's easier to port it to YottaDB, while currently we have a stopper for really large configurations: our largest site of ~ 6000 concurrent users is deployed on 20 application servers connected to a data server using Enterprise Cache Protocol (ECP). No chances to replace ECP with GT.CM as its network caching feature looks unbeatable nowadays.
The only possible way for this case seems to be a migration from horizontal scaling provided with ECP to vertical scaling to some [super] server. Not a great solution as it raises the need for at least two such servers for failover.

Alex

Re: Mumps - Versioning and Migration

<d8cc38b3-bb0f-4092-8e2f-8084241f2c9en@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=383&group=comp.lang.mumps#383

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a37:b986:0:b0:6a3:7eb3:b237 with SMTP id j128-20020a37b986000000b006a37eb3b237mr1621990qkf.459.1653240916027;
Sun, 22 May 2022 10:35:16 -0700 (PDT)
X-Received: by 2002:a05:620a:400f:b0:6a0:5a16:69f3 with SMTP id
h15-20020a05620a400f00b006a05a1669f3mr11956689qko.103.1653240915810; Sun, 22
May 2022 10:35:15 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Sun, 22 May 2022 10:35:15 -0700 (PDT)
In-Reply-To: <dff76f36-3973-44a5-a6a2-46d8b26a4e30n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=50.249.135.41; posting-account=B5cu_goAAACZo0vIvp9ba07OhA0t6wHW
NNTP-Posting-Host: 50.249.135.41
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<749cf2cc-833e-49b0-ac65-b6130e758a16n@googlegroups.com> <488f83d8-119b-4b80-b004-81aef91a9463n@googlegroups.com>
<dff76f36-3973-44a5-a6a2-46d8b26a4e30n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d8cc38b3-bb0f-4092-8e2f-8084241f2c9en@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: sires.mark@gmail.com (OldMster)
Injection-Date: Sun, 22 May 2022 17:35:16 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: OldMster - Sun, 22 May 2022 17:35 UTC

On Sunday, May 22, 2022 at 3:37:53 AM UTC-4, Alex Maslov wrote:
> On Saturday, May 21, 2022 at 5:45:45 PM UTC+3, OldMster wrote:
> > That network (speed in K, not M or G) and the machines were very slow (a smartwatch today is several orders of magnitude faster),
> > so a lot of data moved back and forth in the background to make sure it was available when and where the users needed it.
> That was apparently one of beautiful solutions inspired by poor hardware configs of the past )
>
> Our HIS/LIS/RIS/etc qMS takes its roots from the early 200x, so it's easier to port it to YottaDB, while currently we have a stopper for really large configurations: our largest site of ~ 6000 concurrent users is deployed on 20 application servers connected to a data server using Enterprise Cache Protocol (ECP). No chances to replace ECP with GT.CM as its network caching feature looks unbeatable nowadays.
> The only possible way for this case seems to be a migration from horizontal scaling provided with ECP to vertical scaling to some [super] server. Not a great solution as it raises the need for at least two such servers for failover.
>
> Alex

ECP (a newer version of Datatree's networking) is indeed a great system. We used Datatree to run 256 concurrent users (all on hardwired terminals - still no TCP) on MS-DOS 286 & 386 machines. The 4 application servers were 386's, and the two database servers were 286's. The client's IT department fought us on that - they were sure the database servers needed to be the 386's, but I convinced them to do it right. Almost all the processor intense tasks were on the application servers, the database servers needed IO, not processing power. The system ran great for 6 years until we migrated it to Caché on Windows Servers.

These days I'm focused on migrating the front end to a browser, which again offloads a significant part of the processing to the workstation. Using YottaDB as the database server and REST interfaces to the browser, modern hardware should easily handle thousands of browser clients. With YottaDB replication, any 'expensive' report generation processes could be offloaded to a replicated database on a different server, so tens of thousands of browser clients for interactive activity seems possible to me. The system on YottaDB/Linux is much faster than the old Caché/Windows system, but to be fair that was on 2007 hardware, so not a fair comparison.

Good time to be configuring new systems! I certainly don't miss configuring MS-DOS machines to get the maximum amount of memory for Datatree and the RS232 buffers needed for the 64 serial ports!

Mark

Re: Mumps - Versioning and Migration

<ea67de3f-dfe2-4411-9a3a-b966e5b39d58n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=384&group=comp.lang.mumps#384

  copy link   Newsgroups: comp.lang.mumps
X-Received: by 2002:a05:622a:6206:b0:2f1:d7bc:7522 with SMTP id hj6-20020a05622a620600b002f1d7bc7522mr15711301qtb.556.1653297691924;
Mon, 23 May 2022 02:21:31 -0700 (PDT)
X-Received: by 2002:ac8:7dce:0:b0:2f9:173a:6166 with SMTP id
c14-20020ac87dce000000b002f9173a6166mr12710850qte.127.1653297691772; Mon, 23
May 2022 02:21:31 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.mumps
Date: Mon, 23 May 2022 02:21:31 -0700 (PDT)
In-Reply-To: <d8cc38b3-bb0f-4092-8e2f-8084241f2c9en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=95.24.226.154; posting-account=xUQXIQoAAABX5nmal2xpcC5SP4rTX5l7
NNTP-Posting-Host: 95.24.226.154
References: <420c7186-8607-4f04-8380-5064fa27bc8dn@googlegroups.com>
<09d8ada9-e11b-4b35-81eb-a8b2298ee1afn@googlegroups.com> <292898f9-8c8e-4358-bb99-cd8536d11d31n@googlegroups.com>
<e71ae28d-1c8a-41bd-9fe9-a11eb346e5a5n@googlegroups.com> <cbde8f6c-9767-4d23-a551-3ea744bcf6e8n@googlegroups.com>
<749cf2cc-833e-49b0-ac65-b6130e758a16n@googlegroups.com> <488f83d8-119b-4b80-b004-81aef91a9463n@googlegroups.com>
<dff76f36-3973-44a5-a6a2-46d8b26a4e30n@googlegroups.com> <d8cc38b3-bb0f-4092-8e2f-8084241f2c9en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ea67de3f-dfe2-4411-9a3a-b966e5b39d58n@googlegroups.com>
Subject: Re: Mumps - Versioning and Migration
From: maslov70@gmail.com (Alex Maslov)
Injection-Date: Mon, 23 May 2022 09:21:31 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2689
 by: Alex Maslov - Mon, 23 May 2022 09:21 UTC

On Sunday, May 22, 2022 at 8:35:16 PM UTC+3, OldMster wrote:
> Using YottaDB as the database server and REST interfaces to the browser, modern hardware should easily handle thousands of browser clients.

Agreed, we have deployed sites with thousands thin or browser clients running a single server. Scaling such a system is its potential problem. E.g. we are running 2000 users, and we need to add extra 500: usually no problem. And what if we need a 1000 more? How high can it grow, depends on many factors, and if the hardware becomes the stopper, it needs upgrade, and as all we know, it's usually difficult to upgrade even 5 years old server. So, we need a new one, plus another one for failover.

> With YottaDB replication, any 'expensive' report generation processes could be offloaded to a replicated database
This approach looks advantageous. We have an initial version and plan to improve it to achieve transparent report start on report server and returning the results to database server.

Alexey

Pages:12
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor