Good morning!
Just played a bit with the ABL Dojo and created this snippet here:
https://abldojo.services.progress.com:443/#/?shareId=5912b13d132679685cb7ce68
I tried creating a class in a package by naming the file "Consultingwerk/Gilles.cls".
When I try to run the Dojo, there is no result output - but also no error message. If I remove the Consultingwerk/Gilles.cls file the code runs fine like available here:
abldojo.services.progress.com:443/
So
a) please add support for classes in packages and
b) make sure that compile errors or whatever error this is here are shown to the developer.
Thanks! Nice tool.
OK - I understand.
Support for sub-folders would be a new feature.
An error message - about why the code is not executed is a must and should be fixed ASAP.
For me a .p does work either, no output is shown, only "click run to see the result here".
Solved : found out that it only runs Main.p
The entry point for any execution is Main.p, so you could create a new procedure and run it by adding a run statement in Main.p
https://abldojo.services.progress.com:443/#/?shareId=5912e0ec132679685cb7ce79
also you can check snippets for examples
I've submitted it in the feedback, but some CRUD stats on queries would be a really nice to have.
Have some CRUD :-)
While cool, how safe is the environment?
The session is started with a keyword forget list that contains:
OS-APPEND
OS-COMMAND
OS-COPY
OS-CREATE-DIR
OS-DELETE
OS-RENAME
DOS
UNIX
THROUGH
Using INPUT FROM OS-DIR a lot of the server can be explored.
The server is running Debian GNU/Linux 8.
Progress is installed in /usr/dlc.
progress.cfg can be read.
COPY-LOB can be used to overwrite files - my target being the /usr/dlc/version file.
There is some sharing going on - so some of my sessions are seeing an adjusted version while others are not.
Ha thanks Stefan! :) Would be nice to have it as standard though.
> While cool, how safe is the environment?
Content of /proc/1/cgroup shows that it's running in Docker. So even if you change something in the environement, it probably won't last long !
Yes, but how many users are sharing the same Docker instance?
And how often are they reset?
If I read / write to version from multiple browser sessions, I see changes to version made by browser 1 showing up in browser 2.
When I create a customer record in browser session 1, then browser session 2 also can see this record.
Hi Stefan,
Thanks for the sample and great that you are using ABL Dojo "Share snippets" to share it :).
I will log a bug for this, so that we can fix this in next version.
Thanks,
Nischal Y
Hi Stefan,
Thanks for taking time to do such an intensive testing :)
Riverside Software is right on spot, all your code is running in a docker container.
When you open ABL Dojo in your browser, it creates a user session and for each user session a docker container will be spawned behind the scenes, so what ever code you write will be executed inside that docker container, And all your CRUD operations will be seen only by that session and will not be shared with other users, so that docker container is exclusively yours (well for just that session though).
And like Riverside rightly pointed out, we remove the docker containers.
When do we do that?
After the User browser session expires, currently user browser session expires after ~10 mins of inactivity.
--- If I read / write to version from multiple browser sessions, I see changes to version made by browser 1 showing up in browser 2
Can you tell me how did you create two browser sessions? did you open ABL Dojo in two separate browsers or two different tabs, because two different tabs of same browser will be the same session.
If you are still seeing this issue probably you can share a snippet that reproduces this issue.
Hope this helps.
Thanks,
Nischal Y
Hi NIschal,
Thank you for your explanation.
Yes I was being tricked by two Chrome tabs. When I open in Chrome and Edge I have no sharing issues.
Once again: very cool stuff!
Thanks,
Stefan
One additional question - how long are shared snippets kept?
Thanks Stefan, glad you liked it.
> One additional question - how long are shared snippets kept?
At least for now we have not thought of deleting the shared snippets, so they should be available as long as ABL Dojo is up. Currently this is a very early version so we will see how users are using this tool to see if it makes sense to put these snippets available forever of delete older ones, but for now we are not removing any snippets.
So happy sharing :)
It's a shame that the classic:
for each customer:
display customer.
end.
doesn't work "out of the box".
**FILL-IN Comments will not fit in FRAME in PROGRAM Main.p. (4028)
** Unable to run startup procedure Main.p. (492)
define variable c as character no-undo.
update c.
Seems to be a bit of a problem too...
It works in *my* procedure editor. But then again I abandoned 80x24 screens 30 years ago.
80 columns by 24 rows.....character forms
:)
All programs are run in batch mode (-b) and ouput is redirected to browser as a json response, this is the reason why the update statement (and all other interactive statements like PROMPT-FOR etc) doesn't work.
That’s an interesting statement, so you say no application server is used?