Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add Docker +IPM #1

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

add Docker +IPM #1

wants to merge 4 commits into from

Conversation

r-cemper
Copy link

@r-cemper r-cemper commented Mar 2, 2024

No description provided.

@isc-tleavitt isc-tleavitt self-requested a review March 11, 2024 11:45
Copy link

@isc-tleavitt isc-tleavitt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concerns about boilerplate aside (see intersystems/isc-json#6), will need some review from owners once they are identified - that's not me, but Evgeny reached out to me for review and I'm offering feedback anyway.

<Export generator="Cache" version="25">
<Document name="wsock-tutorial.ZPM">
<Module>
<Name>wsock-tutorial</Name>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Learning Services should provide an appropriate package name (probably not this) if it is to be distributed/installable via IPM.

<Description>Tutorial On WebSockets</Description>
<Packaging>module</Packaging>
<SourcesRoot>src</SourcesRoot>
<Resource Name="Chat.PKG"/>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need handling for ChatClient.csp as well (e.g., creating a web application for it, with appropriate security settings - probably just Password; I'll often prepend the namespace in this case, see e.g. https://github.com/intersystems/isc-perf-ui/blob/main/module.xml).

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe I misunderstand your request:
the client CSP page is there in Chat.PKG - works immediately after complete startup.

Docker is there. and working for the moment (not yet on 2024.1)
all further improvement is up to the owner.
and BTW. this wouldn't be the first PR that is just copied / used in parts.

Your example of module.xml looks great. Experts will like it.
I tend to keep mine small and easy so I still understand what it does.
IPM is great but far beyond my needs

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if it is a CSP page does it need a CSP application set up too?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that was the point. src/ChatClient.csp should be copied over to a new web application dedicated to the package, which can/should be defined in module.xml as in that example.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gentlemen, I'd suggest you take a look not just to module.xml
But also to the original documentation and description of this Tutorial:
and there I see:
ws = new WebSocket(((window.location.protocol === "https:")? "wss:":"ws:")
+ "//"+ window.location.host + "/csp/user/Chat.Server.cls");

It is a forward port from Cache 2016 with a lengthy discussion of the design.
https://community.intersystems.com/post/asynchronous-websockets-quick-tutorial

As I have no indication who might use this in EDU I saw no reason to change the design.
All it did was to wrap it into Docker + ZPM. And that works.

As an owner. I might do more than a few changes.
But then this would be my responsibility.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right - that's the websocket itself, the page that demonstrates using it is just an HTML page with a .csp extension that something should be done with. IMO this is for the owners/maintainers once they're identified.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's why I once titled OEX as a "flea market"
owners come and go as they like and take responsibility as they like. some discipline of a few
and in parallel - as we see - just aging.
aging is also an issue for IPM.
Not that dramatic but latent undercover.
A first approach might be a "timed approval" bound to IRIS versions to escape from version impacts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants