Is this interesting approach to put a front end to U2/D3?

331 views
Skip to first unread message

Aquilino Edwin

unread,
Apr 8, 2025, 3:09:33 PMApr 8
to Pick and MultiValue Databases
I asked ChatGPT for a solution and it came out with this high-level architecture overview. My intent is to modernize and put a web front-end to our MultiValue database. Just found it interesting! Any thoughts?   

AE
┌─────────────────────┐
│   Front-End (Web)   │
│  Vue.js / Flutter   │
│    or React.js      │
└────────┬────────────┘
 │  HTTPS (REST/GraphQL)
 ▼
┌─────────────────────┐
│     API Layer       │  ◄── Auth, Rate Limiting, Logging
│ FastAPI / Node.js   │
│  + OAuth2/JWT Auth  │
└────────┬────────────┘
         │ Secure API Calls (REST/ODBC/Socket)
         ▼
┌─────────────────────┐
│ Middleware Adapter  │ ◄──── Translation layer
│ MVIS / Custom Logic │      (Dict to JSON, etc.)
└────────┬────────────┘
         │
 ▼
┌─────────────────────┐
│   MV Database Layer │
│    Rocket U2 / D3   │
└─────────────────────┘

James A

unread,
Apr 8, 2025, 3:24:29 PMApr 8
to Pick and MultiValue Databases
Lots of ways to do this; I was experimenting with Svelte on the front end because the code looks so clean and concise; and using Python in UV for the JSon conversions etc. Then Python server for the API layer since I know Python; though Node.js seems like a good option too.

Nivethan T

unread,
Apr 8, 2025, 4:14:21 PMApr 8
to Pick and MultiValue Databases
Dict to json translation is pretty trash, you need really good dictionary hygiene to take advantage of it and you often need to parse things anyway. For example take a date that has a D conversion, in js land you'll need to parse it if you want to do any sorting with the value.

Also why do you want to use OAuth2/jwt? are you already doing auth elsewhere to take advantage of that?

I'd get rid of the multiple layers and just have a database layer and a sveltekit/nextjs/nuxt/flask/django (tbf chatgpt seems to be splitting up the fullstack frameworks into discrete pieces)

MAV

unread,
Apr 9, 2025, 7:19:18 AMApr 9
to Pick and MultiValue Databases

With QM and its fantastic support for JSON and its WEBSVC command, it's very simple.

- Frontend: ReactJS
- Reverse Proxy and HTTPS: Nguix
- Backend: QM + WEBSVC command + JSON-RPC implementation (with BASIC and COLLECTIONS (JSON))

Saludos,

Marcos Alonso Vega
INGESCO Sistemas Informáticos.

Dick Thiot

unread,
Apr 9, 2025, 7:46:42 AMApr 9
to mvd...@googlegroups.com
At a high level I think that the best approach is simplicity: 
Front-end web (find an environment that you are comfortable with) —> 
API layer (no business logic, simply handles request to MV DB) —> 
MultiValue database with all of the business logic.  

This allows the use of the existing business logic.  How you do the middle layer is largely dependent the MV backend and the options that it provides. U2 and D3 have different options.  Just create a simple middle layer that handles API requests from the front-end and interfaces with the MV DB. 

Dick

--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
---
You received this message because you are subscribed to the Google Groups "Pick and MultiValue Databases" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mvdbms+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/mvdbms/63eeed85-8094-4f5e-aed5-42871897802an%40googlegroups.com.

KOSDAY SOLUTIONS

unread,
Apr 9, 2025, 10:23:42 AMApr 9
to Pick and MultiValue Databases
Hi Aquilino.
Take a look in kosday.com

Linkar and Linkar Web Services are tools that can help you connect to any MV database, either in your programming environment or by creating your own Rest Api with the authentication method of your choice.
Linkar and Linkar Web Services are tools that can help you connect to any MV database, either in your programming environment or by creating your own Rest Api:.
Linkar Server --> Connect to any MV database.
Linkar Framework --> To connect with .Net, .Net Core, Java, Node.js, Phyton, PHP.
Linkar Web Services --> To set up your own Rest Api without code. Calling your Basic subroutines or reading records directly, with the authentication method of your choice.

I hope it helps
Angel

Jim Idle

unread,
Apr 9, 2025, 12:27:48 PMApr 9
to mvd...@googlegroups.com
jBASE has a built in high speed REST server and native support for JSON and objects. I predict you would not too far with any of that architecture as it is ignoring concurrency, locking, state and a hundred other things and just saying “middleware” services. 

/tldr - that architecture is ML BS hallucination

--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
---
You received this message because you are subscribed to the Google Groups "Pick and MultiValue Databases" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mvdbms+un...@googlegroups.com.

Aquilino Edwin

unread,
Apr 9, 2025, 5:35:31 PMApr 9
to Pick and MultiValue Databases
Thanks James , Nivethan, Marcos's Dick and Jim for taking the time to recommend a path/solution to my project. 

I’m currently gathering all the necessary components to recommend to management building a new interface to our MVBase system, featuring an MFA login screen. This solution may utilize JWT authentication and a FastAPI backend scaffold—for MV integration and MVIS support, or alternatively access MVBase directly via pyODBC. My goal is to design an architecture that modernizes (Adopt to newer stack) our system without dismantling the existing D3 database logic (BASIC programs and Subroutines),if it still doable. While I’m neither a programmer nor a Pick developer, I’m focused on identifying the most effective path forward for modernizing our environment. Our company is open to completely redesigning the entire stack—but we also need to continue supporting our existing clients and this complete re-write can wait mid of next year. I have no hesitation in advising our Pick developers to start considering a migration to jBASE or U2/Universe.
Hi Jim - I like your style! 

Thanks!
AE 

Dick Thiot

unread,
Apr 9, 2025, 6:04:41 PMApr 9
to mvd...@googlegroups.com
AE,

Since you are on mvBase, it sounds like you are planning on migrating to U2/D3.  There are ways to do REST with mvBase.  I don't know if Linkar offers mvBase but I know that Bluefinity's mv.NET works and I have a REST server on Github that works with mv.NET if you are interested.  I'm not trying to sell anything here.  We have moved from mvBase many years ago but I still have a few customers that use it.  We feel that MVsharp is the best MultiValue platform on the market today and an ideal option if you plan to migrate from mvBase.  If you want connectivity to modern tools, frameworks, and the most popular databases available today that is all compatible with your existing MultiValue application, then MVsharp is an option that you should consider.

Dick Thiot

Aquilino Edwin

unread,
Apr 9, 2025, 6:58:55 PMApr 9
to mvd...@googlegroups.com
Thanks Dick. We're currently evaluating how to migrate our Pick 10.3.4.(Test RHEL9)  before we transition the two other production databases (7.4) .  At the moment, I'm testing jBase on a 2-user license. So far I am running it with portainer, mongo, mongoclient. (for administration purposes). AE.

Aquilino Edwin

unread,
Apr 9, 2025, 7:18:19 PMApr 9
to Pick and MultiValue Databases
So I'm thinking, our new MV platform should look something like this;

        │ HTTPS
        ▼
┌─────────────────────┐
│    Client           │  
│     MFA       │
│  + OAuth2           │
└────────┬────────────┘
 │
 ▼
┌─────────────────────┐
│ Front-End (Web)     │  ◄──── Translation layer
│    (REST)       │         (JSON, etc.)
└────────┬────────────┘
 │
 ▼
┌─────────────────────┐       ┌─────────────────────┐
│   MVDatabase(RHEL9) │ ◄────── │   Mongo-Client      │
│    D3 --> jBase     │         │    Portainer        │
└─────────────────────┘   └─────────────────────┘
                                                   For administration 
                                                   (new BASIC programmer)

FAUSTO PAREDES

unread,
Apr 11, 2025, 11:53:00 AMApr 11
to mvd...@googlegroups.com

Dear Edwin,

After reviewing the discussion on modernizing D3/U2 systems, I'd like to share a practical solution based on the "D3/Flask/Htmx/AI CRUD" document.

This document presents a real and functional implementation that I've used to modernize D3 applications with reasonable effort. I'm sharing the PDF document for your review so you can see the complete details of this approach. Let me highlight the key aspects:

Implemented and Tested Architecture

The document shows a three-tier architecture that keeps the D3 database intact while adding:

  1. Backend/API:
    • REST API for D3 (MVStoolkit)
    • Pick BASIC programs handling CRUD operations
    • Well-defined API endpoints for creating, reading, updating, and searching
  2. Middleware layer:
    • Flask (Python) as a lightweight web framework
    • Direct integration with the D3 API
    • Authentication and session management
  3. Modern frontend:
    • HTMX for interactivity without complex JavaScript
    • Responsive and modern design
    • Real-time autocomplete search functionality
image.png

Advantages of this approach

  • Low learning curve: HTMX is much simpler than complex JavaScript frameworks
  • Preserves the value of your existing data: No data migration required
  • Incremental implementation: You can modernize individual modules without rewriting everything
  • AI integration: Includes an OpenAI-based chatbot for conversational interactions with the database

Comparison with other technical proposals

  • Compared to modern frontend frameworks: The HTMX approach offers similar interactivity to frameworks like Svelte, React, or Vue, but with less complexity and less JavaScript code.
  • Regarding Dict to JSON translation: The document shows practical patterns for correctly handling these conversions, a critical point mentioned in the discussions.
  • In relation to web service-based solutions: Similar to the WEBSVC functionalities mentioned, but using Flask as middleware, which offers great flexibility.
  • On the simplicity approach: This implementation perfectly aligns with the philosophy of keeping things simple and straightforward, allowing for agile development and implementation.
  • Alternative to complete migrations: Offers a path for those who want to modernize without completely migrating to other platforms.

This solution has allowed me to maintain my D3 applications while providing them with a modern interface and updated functionality, all without having to completely rewrite the systems or migrate the databases.

I'm sharing the PDF document for your detailed review so you can see the complete implementation, including code examples, screenshots, and the integration pattern.

I hope this approach may be useful for those looking for practical paths toward modernizing their MultiValue systems.

Note: The demo link mentioned in the manual is no longer available. I'm sharing this document purely as a guide to show how D3 applications can be modernized, specifically how MVStoolkit can be leveraged in this process.  

Best regards.

Fausto Paredes


--
manual d3flaskhtmxaiv1.pdf

Aquilino Edwin

unread,
Apr 14, 2025, 6:35:27 PMApr 14
to Pick and MultiValue Databases
Thank you Mr. Paredes, sir 

The D3/Flask/Htmx/AI CRUD" document above was very good, I appreciate it and we will look into it. We recognize that transitioning our legacy system presents challenges, particularly developer hesitancy around the existing Pick database. But right now they know the urgency that our process needs to be transformed.  I’m trying to gather all the tech needed so that my developers can eventually focus on test and help with the overall setup.

Our plan starts with engaging experts (i know this) to modernize the front-end, making sure it connects properly to our current back-end. This allows for co-existence, meaning we can keep servicing clients using the system (whether via the legacy or new front-end) while we plan the next steps (new infrastructure).

The second phase involves the longer-term back-end modernization. We aim to start evaluating this around mid-next year, and we will definitely consider a modern database options like MS SQL, ScyllaDB, and PostgreSQL. The ultimate plan is to transition users smoothly (i.e, with training and adopting) to a more productive setup.

Best regards,
AE.

Wol

unread,
Apr 14, 2025, 8:38:30 PMApr 14
to mvd...@googlegroups.com
On 14/04/2025 23:35, Aquilino Edwin wrote:
> The ultimate plan is to transition users smoothly (i.e, with training
> and adopting) to a more productive setup.

Just make sure it IS a more productive setup.

I've seen it said that your average programmer produces maybe 10 lines
of properly debugged and tested code a day. Think how that will pan out
when your MV guys are writing one-liner queries, when the SQL guys (to
do the same thing) take two sides of A4 (or letter).

I'm seriously trying to get my employer to give me OpenQM, and I'm
planning to deploy a new system using it. But it's horses for courses,
and the more I dig into it, the more I see SOME value in all these "new"
technologies. The problem is they're really (imho) only of value in "big
data" scenarios, which doesn't apply to "get the job done" systems.

I'm working with Excel, formulae, and SQL queries to huge back-end
databases. The formulae repeatedly break, people keep breaking design
assumptions and messing things up so the formulae get even more
complicated, and the SQL queries are horrendous. As a perfect example,
I've just been debugging a spreadsheet that has a complicated formula,
returning either a trailer-code, or a worksheet row number. After
thinking I'd managed to fix it, it promptly blew up again. Because
embedded in it (in a *completely*different* place) was the assumption
that trailer codes are five characters or more (they are), and that
there are no more than 9999 sheet rows. Who here remembers day 10,000?
Well, this sheet regularly gets more than 10,000 rows!

I'm also no longer (officially) a database analyst programmer. I'm a
business analyst - which is great, I'm always at my best as part of the
"end user" setup, not the computer setup. But it comes with lots of
frustrations as people are programming without being programmers - and
rookie errors are the norm :-(

So I guess what I'm saying is don't bring in a big new SQL system
without being SURE it brings benefits. Migrating away from MV has
brought down many companies who suddenly realised that the new system
cost much more, and did far less, than the old one.

The team programming your MV system should be a mix of end-users and
trained programmers, and the resulting system will be flexible, easy to
update, and WILL WORK. It just requires a bit of a different mind-set,
and you should be able to do everything the big systems can do.

My experience of our "big data" systems makes me extremely cynical ...
I'm on our "on call" list, and see a lot of our production problems -
many caused by broken data integrity in our "big data" ??? that's what
these systems are supposed to prevent! Imho they've completely failed to
live up to their promises in practice. (In part, admittedly, because
we've got several systems that keep losing messages flowing between them
...)

Cheers,
Wol
Message has been deleted

Aquilino Edwin

unread,
Apr 17, 2025, 6:26:15 PMApr 17
to Pick and MultiValue Databases
Still finding ways to shield our isolated legacy system by adding a secure web layer—just a band-aid on its weakest link.  One question, to the group, is MVIS gateway necessary to expose our existing D3 data and wrap BASIC program logic as RESTful JSON services? Then we can hire a contractor to build our actual web stack using standard frontend technologies (React, Vue, Svelte, HTML, JS) which will consume those JSON services provided by MVIS. I doubt D3 will work with MVIS. 

Thanks! 
AE

Nivethan T

unread,
Apr 18, 2025, 12:03:42 AMApr 18
to Pick and MultiValue Databases
Before you do anything, proof of concept it that you can get the BASIC data out as json properly and get a web frontend working.

You can  build up JSON directly in BASIC with string munging, I've written some shorthand utilities to make it easy. These routines work on D3.

Once you have the JSON data, write it out to a file and then use that to build a quick and dirty prototype in a web stack.

This flow of building JSON, putting it somewhere and then using it on the front is basically the flow that any restful wrapper is going to give you.

No silver bullets, depending on if the code is tidy or not will make it clear how much work you'll need to put in to give the legacy system some lipstick.

KOSDAY SOLUTIONS

unread,
Apr 18, 2025, 7:44:08 AMApr 18
to Pick and MultiValue Databases
Hi Aquilino, I want to add my two cents to prevent you from crossing over to the dark side (the relational world).
Let me tell you a little about my book [AD] so you can see that everything has already been invented, and that one way or another you can get what you need, as Nivethan and Fausto suggest.
The way I see it, the problem lies in the fact that young people don't know our world, not even by hearsay. And our companies need to nurture employees who are familiar with new technologies.

Linkar Web Service was created with the purpose of exposing MV data to the outside world in a user-friendly way:
* Using the appropriate authentication method for each type of connection. ApiKey, OAuth2.0 for more comprehensive issues, or none if the consumer client is going to be entirely local.
* The person responsible for and knowledgeable about the MV database defines and publishes the endpoints, either with Linkar's standard options or by creating support subroutines.
* The MV buffer is converted into a structured JSON, with its lists, objects representing groups of multivalues, etc. Then I'll show you examples of how Linkar does it “on its own.”
* The consumer client uses the defined endpoints to perform any type of operation, whether SELECT or CRUD. It ONLY understands JSON structures that it will pass to its classes or serialize. It will never see a CHAR(243).

Linkar can target D3, mvBase, Universe, Unidata, JBASE, OpenQM, Reality.

Here are some examples to make it clearer:
Example 1. Select from the LK.CUSTOMERS file

http://linkardemo.ddns.net:12000/api/v1/apidemo/crud/dict/LK.CUSTOMERS
This endpoint returns a JSON with all the records from the LK.CUSTOMERS file.

  "TOTAL_RECORDS": "101",
  "RECORDS": [
{
  "LKITEMID": "2",
  "NAME": "CUSTOMER 2",
  "ADDR": "ADDRESS 2",
  "PHONE": "444 - 444 - 002"
},
{
  "LKITEMID": "3",
  "NAME": "CUSTOMER 3",
  "ADDR": "ADDRESS 3",
  "PHONE": "444 - 444 - 003"
},
{
  "LKITEMID": "14",
  "NAME": "CUSTOMER 14",
  "ADDR": "ADDRESS 14",
  "PHONE": "444 - 444 - 014"
},
{
  "LKITEMID": "28",
  "NAME": "CUSTOMER 28",
  "ADDR": "ADDRESS 28",
  "PHONE": "444 - 444 - 028"
},
{
  "LKITEMID": "29",
  "NAME": "CUSTOMER 29",
  "ADDR": "ADDRESS 29",
  "PHONE": "444 - 444 - 029"
},
....
],
  "ERRORS": []
}


Example 2.
http://linkardemo.ddns.net:12000/api/v1/apidemo/crud/dict/LK.ORDERS/1
Will return a structured JSON with the content of record 1 of the LK.ORDERS file.
{
  "TOTAL_RECORDS": "1",
  "RECORDS": [
{
  "LKITEMID": "1",
  "CUSTOMER": "60",
  "DATE": "07 FEB 2017",
  "LstItems": [
{
  "ITEM": "101649",
  "QTY": "88",
  "PRICE": "147.76",
  "IITEMDESCRIPTION": "SCREW 101649",
  "IITEMSTOCK": "633",
  "ITOTALLINE": "13002.88"
},
{
  "ITEM": "101624",
  "QTY": "690",
  "PRICE": "131.86",
  "IITEMDESCRIPTION": "SPANNER 101624",
  "IITEMSTOCK": "363",
  "ITOTALLINE": "90983.4"
},
{
  "ITEM": "101383",
  "QTY": "939",
  "PRICE": "757.88",
  "IITEMDESCRIPTION": "SPANNER 101383",
  "IITEMSTOCK": "999",
  "ITOTALLINE": "711649.32"
},
{
  "ITEM": "101026",
  "QTY": "133",
  "PRICE": "806.29",
  "IITEMDESCRIPTION": "SCREW 101026",
  "IITEMSTOCK": "888",
  "ITOTALLINE": "107236.57"
},
{
  "ITEM": "101516",
  "QTY": "527",
  "PRICE": "581.88",
  "IITEMDESCRIPTION": "SPANNER 101516",
  "IITEMSTOCK": "135",
  "ITOTALLINE": "306650.76"
}
  ],
  "ITOTALORDER": "1229522.93"
}
  ],
  "ERRORS": []
}

I can give you examples of updates, partial updates, subroutine calls, etc., etc.
In the link below, you can see all the possibilities that Linkar Web Service has to offer.


https://siarkosday.com.es:20080/swagger/index.htmlapi_resource=LinkarWS_swagger_sample_demolinkar

And if you want to test it out, I can provide you with an API key so you can play around with the endpoints.

As your other colleagues have said, think carefully before migrating to other worlds. In Spain, we have a saying that goes, “Better the devil you know than the devil you don't.” Our MV world is very good; you just need to know your options.

Best Regards
Angel

-------------
En español por si sirve de ayuda:

Hola Aquilino, quiero poner mi granito de arena para evitar que te pases al lado oscuro (mundo relacional).
Déjame hablar un poco de mi libro para que veas que todo está inventado, y de una u otra forma puedes conseguir lo que necesitas, como te planteam Nivethan o Fausto.
Como yo lo veo el problema radica en que los jóvenes no conocen nuestro mundo, ni siquiera de oidas. Y nuestras empresas tienen que nutrirse de empleados que conoizcan las nuevas te4cnologias.

Linkar Web Service nació con el propósito exponer los datos MV al mundo exteroir de una forma amigable para todos:
* Utilizando el método de autenticación adecuado para cada tipo de conexiones. ApiKey, OAuth2.0 para temas mas completos, o ninguno si el cliente consumidor va a ser absolutamente local.
* El responsable y conocedor de la base de datos MV define y publica los endpoints, sea con las opciones standard de Linkar o creando subrutinas de apoyo.
* El Buffer MV se convierte en un JSON estructurado, con sus listas, objetos representando grupos de multivalores, etc. etc. Luego te muestro ejemplos de como Linkar lo hace "solo"
* El cliente consumidor utiliza los endpoints definidos para realizar cualquier tipo de operacion, sean SELECT o CRUD's. SOLO entiende estructuras JSON que pasará a sus clases o serializará. Nunca verá un CHAR(243)

Linkar puede atacar a D3, mvBase, Universe, Unidata, JBASE, OpenQM, Reality

Ejemploa arriba...


Te puedo pintar ejemplos de Updates, Updates Parciales, llamadas a subrutinas, etc, etc...
En el link que te pinto abajo podrás ver todas las posibilidades que Linkar Web Service  puede ofrecerte.
y si quieres hacer pruebas te puedo facilitar un ApiKey para que juegues con los endpoints.

Como te dicen los otros colegas, piénsalo bien antes de migrar a otros mundos. Es España dtenemos un dicho que dice "Más vale lo malo conocido, que lo bueno por conocer". Nuestro mundo MV es muy bueno, solo hace falta conocer las opciones.

Un saludo
Angel

Steven Martin Trimble

unread,
Apr 18, 2025, 10:24:13 AMApr 18
to mvd...@googlegroups.com

--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
---
You received this message because you are subscribed to the Google Groups "Pick and MultiValue Databases" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mvdbms+un...@googlegroups.com.

Christopher Jeune

unread,
Apr 18, 2025, 11:00:15 AMApr 18
to mvd...@googlegroups.com
Isn't the Coyote Web Server still a thing?

Steven Martin Trimble

unread,
Apr 18, 2025, 11:15:41 AMApr 18
to mvd...@googlegroups.com
I currently use / support it big time.
On openQM (commerical version), I have to use the 32bit version of QM because the 'listen' daemon is written in 32bit. So, my stack is:
a) 64 bit Rocky Linux 8 or CENTOS
b) Apache (handles images, etc) / Coyote 'all dynamic' presentations
c) openQM (commerical)
d) PhP (for certain things)
so, LAQP instead of LAMP

CDMI
Steven Trimble
(501) 772-3450 cell/text

Aquilino Edwin

unread,
Apr 18, 2025, 12:10:28 PMApr 18
to mvd...@googlegroups.com
Thanks Angel!   Do you have a 'cookbook' or similar guide for your approach? As someone new to Pick (with a Cisco background), I'd find it really helpful. My plan is to spin up a test server to experiment with your methods once I'm finished preparing our DR playbook (manual) this month.  AE ;-)

--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
---
You received this message because you are subscribed to the Google Groups "Pick and MultiValue Databases" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mvdbms+un...@googlegroups.com.

KOSDAY SOLUTIONS

unread,
Apr 18, 2025, 12:15:38 PMApr 18
to Pick and MultiValue Databases

KOSDAY SOLUTIONS

unread,
Apr 18, 2025, 12:31:15 PMApr 18
to Pick and MultiValue Databases
Linkar Web Services will surely be able to help you. In any case, you can contact me directly.
Best Regards
Angel

Aquilino Edwin

unread,
Apr 18, 2025, 12:31:22 PMApr 18
to Pick and MultiValue Databases
Hey, take it easy and don't go crazy today .... ;-) hahaha. We really value your skills and will definitely need your input. 

Heath Brinkley

unread,
Apr 18, 2025, 12:44:18 PMApr 18
to mvd...@googlegroups.com

If you have access to the U2 RESTful developer it's actually pretty easy to send and receive info from the web. I've been learning it the last couple weeks and am able to do some pretty interesting things. You can write a dynamic array out of universe and have rest break it into JSON so the webpage can parse it easily.


--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
---
You received this message because you are subscribed to the Google Groups "Pick and MultiValue Databases" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mvdbms+un...@googlegroups.com.

Joe Goldthwaite

unread,
Apr 18, 2025, 1:55:54 PMApr 18
to mvd...@googlegroups.com

So I'm asking Grok questions to see how much it knows about Linkar. One of the things it said was:

"For UniVerse, UniData, or D3 with UniObjects/MVSP, you’d need a Windows machine to host the database connection"

Is that correct? Does it only work if you're running your Universe database on a Windows machine?

Steven Martin Trimble

unread,
Apr 18, 2025, 2:40:48 PMApr 18
to mvd...@googlegroups.com

KOSDAY SOLUTIONS

unread,
Apr 18, 2025, 2:43:59 PMApr 18
to Pick and MultiValue Databases
Hi Joe, 
I don't know Grok, and he doesn't know us either.
Check out these links and you'll see all the platforms available, both for Linkar elements and MV databases
https://kosday.com/Manuals/en_WEB_LINKAR/lk_supported_databases.html
https://kosday.com/Manuals/en_WEB_LINKAR/lk_platforms.html
https://kosday.com/Manuals/en_WEB_LINKAR_WS/ws_platforms.html

Having trouble accessing our sites?
 
Angel

Thomas Ludwig

unread,
Apr 19, 2025, 3:36:15 PMApr 19
to Pick and MultiValue Databases
We have a big SBXA ERP System running since 27 Years now, actually on Universe (Windows)  and we are in contact with bluefinity and want give their product Evoke wit mv.net a try. I think i can report a bit more in 6 or 8 weeks.

Greetings Thomas

Joe Goldthwaite

unread,
Apr 19, 2025, 4:25:34 PMApr 19
to mvd...@googlegroups.com
Hi Angel,

I'm seeing a number of responses since I mentioned Grok. I wasn't expecting much from Grok. These AI sites are useful in areas where they have a lot of sample data. I use them a lot when trying to figure things out. They're pretty stupid a lot of the time but it's a lot​ better than an internet search.

The only reason I asked Grok was to see if it had any information at all so I could see if it might be helpful if I tried Linkar and ran into questions.

My actual prompt was: "how much do you know about Linkar from Kosday Solutions? Be honest and try not to make anything up."

It was strangely specific about it not working with UV:

"However, some Linkar features rely on Windows-only connection types for specific MV databases:
UniObjects (for UniVerse/UniData) and MVSP (for D3) are Windows-only due to dependencies on third-party tools from Rocket Software or Zumasys.

If your MV database (e.g., OpenQM) supports socket-based or QMClient connections, you’re unaffected, as these work on Linux."

Like I said, very specific. That's why I asked you about Windows dependencies. I never trust any AI response. It's just another tool. It's kind of like a super internet search combined with auto-complete. It's no substitute for programming though. I predict that software is going to get more buggy over time. AI is contributing to that but it's been a trend since long before AI came on the scene.

Joe Goldthwaite

KOSDAY SOLUTIONS

unread,
Apr 20, 2025, 8:06:42 AMApr 20
to Pick and MultiValue Databases
Thanks for clarifying that, Joe.
I also think that AI needs to be fed, and it's our job to teach it. Our marketing is like that of many MV companies: disastrous. No SEO or AI, but someday we'll get up to speed.
In the other thread, we see that AI makes up the answer if it doesn't know it... This is dangerous and completely unreliable.

Speaking of Linkar connection types, you've probably seen the links, but I'll clarify for other readers. Uniobjects and MVSP can only be used when Linkar is installed on a Windows machine.
When Linkar is installed on Linux platforms, the connections to U2 and D3 are made using the Terminal (telnet or SSH) or Socket connection type.

attached pdf

Best Regards
Angel

Linkar_Connection_Types.pdf

frosty

unread,
Apr 21, 2025, 1:05:34 PMApr 21
to Pick and MultiValue Databases
+1 for "Be honest and try not to make anything up."!
Reply all
Reply to author
Forward
0 new messages