ABL Dojo issues

Posted by Mike Fechner on 10-May-2017 01:24

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.

All Replies

Posted by srireddy on 10-May-2017 01:42

Hi Mike,
 
Thanks for trying out ABL Dojo and for providing the feedback, for the initial release we did not plan to support packages for class names, but this is something that is in the top of our list for future releases.


Thanks,
Nischal Y
 

Posted by Mike Fechner on 10-May-2017 04:12

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.

Posted by srireddy on 10-May-2017 04:34

Generally compilation errors will be shown in the output pane,

But there seems to be an issue when parsing file names with paths

Posted by cverbiest on 10-May-2017 04:39

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

Posted by srireddy on 10-May-2017 04:45

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

Posted by James Palmer on 10-May-2017 05:24

I've submitted it in the feedback, but some CRUD stats on queries would be a really nice to have.

Posted by Stefan Drissen on 11-May-2017 16:19
Posted by Stefan Drissen on 11-May-2017 16:34

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.

Posted by James Palmer on 11-May-2017 16:41

Ha thanks Stefan! :) Would be nice to have it as standard though.

Posted by Riverside Software on 12-May-2017 04:09

> 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 !

Posted by Stefan Drissen on 12-May-2017 04:42

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.

Posted by srireddy on 12-May-2017 09:11

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

Posted by srireddy on 12-May-2017 09:27

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

Posted by Stefan Drissen on 12-May-2017 09:36

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

Posted by Stefan Drissen on 12-May-2017 09:54

One additional question - how long are shared snippets kept?

Posted by srireddy on 12-May-2017 10:35

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 :)

Posted by ChUIMonster on 12-May-2017 11:00

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)

Posted by Brian K. Maher on 12-May-2017 11:04

That doesn’t work in the Procedure Editor either unless you do something with the Comments field.

Posted by ChUIMonster on 12-May-2017 11:08

define variable c as character no-undo.

update c.

Seems to be a bit of a problem too...

Posted by ChUIMonster on 12-May-2017 11:09

It works in *my* procedure editor.  But then again I abandoned 80x24 screens 30 years ago.

Posted by Brian K. Maher on 12-May-2017 11:14

it doesn’t work with the default GUI Procedure Editor.  What’s an 80x24 screen?

Posted by Roger Blanchard on 12-May-2017 11:25

80 columns by 24 rows.....character forms

Posted by Brian K. Maher on 12-May-2017 11:34

was joking :-)

Posted by Roger Blanchard on 12-May-2017 11:36

:)

Posted by srireddy on 12-May-2017 13:02

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.

Posted by marian.edu on 15-May-2017 00:36

That’s an interesting statement, so you say no application server is used?


Marian Edu

Acorn IT 
+40 740 036 212

This thread is closed