Subscribe for automatic updates: RSS icon RSS

Login icon Sign in for full access | Help icon Help
Advanced search

Pages: 1 ... 6 7 [8] 9 10
 71 
 on: October 31, 2024, 04:56:30 pm 
Started by Carl P. - Last post by Carl P.
Hello,

We are testing our application with Genero 5.00.02 on Windows with SQL Server. I've been looking at the Genero Report Writer documentation and I've found the ability to use Sub Reports:

https://4js.com/online_documentation/fjs-grw-manual-html/#gst-topics/c_grw_sub_reports_bdl_application.html

This will solve a big problem for us because we have one report that is 1,956 KB and takes about an hour and a half to open in Genero Studio. The module that it reports on contains about 30 screens of information.

To test Sub Reports I've decide to start small with a report that only has 3 screens of data. I've changed the 4GL based on the documentation and the demo reports so that I have a main scheme_report() which calls: scheme_details(), scheme_bank_details() and scheme_rti_details().

I've also split the 4RP file so that the main py_schr1 references py_schr1_scheme_details, py_schr1_scheme_bank_details and py_schr1_scheme_rti_details.

Running it for the first time produced nothing. I set the GREDEBUG to 9 and ran it again. Now I get an error message in the VM log file:

ERROR com.fourjs.report.stylesheet.rtl.ScopeExtenderStyleSheet - failed to consume token end element OnEveryRow

I've tried to narrow the problem down by just having the Sub Reports produce a line of text and I've tried changing the main report to just produce one Sub Report. But no luck.

I'm posting this on the off chance that someone could see a glaring error.

Attached is a ZIP file containing the log, 4GL, RDD and 4RP files.

Thanks,

Carl

 72 
 on: October 31, 2024, 02:12:13 pm 
Started by Richard M. - Last post by Richard M.

Hi,

On the attached screenshot from a SAMSUNG phone, three action buttons appear on screen (highlighted in red)

Only a maximum of three action buttons are ever displayed.  If more than three actions are defined then pressing the right-most button produces a dropdown list of the remaining actions.

Is it possible to increase the number of buttons displayed?


Thanks


 73 
 on: October 31, 2024, 01:21:18 pm 
Started by Christine R. - Last post by Christine R.

 Genero Enterprise 5.00 Maintenance Release :
Genero BDL - GAS


Four Js is pleased to announce a Maintenance Release of  
  • Genero BDL with Web Services (BDL – GWS - GBC - WCG - GIP) 5.00.03
  • Genero Application Server 5.00.02

Genero BDL with Web Service (BDL - GBC - WCG - GIP) 5.00.03 is the bundle which includes:
  • Business Development Language (FGL) 5.00.03
  • Web service extension (GWS) 5.00.03
  • Genero Browser Client (GBC) 5.00.08
  • Genero Identity Provider (GIP) 5.00.02
  • Web Components and wrappers (WCG)5.00.02

What's new ...
This version supports macOS 15 and we also provide a new package for macOS Apple Silicon(ARM). The code for this package is m64a1200.

These versions include also the following bugs fixes :

All Four Js Genero customers under maintenance have free access to the new release.

Best regards,

Four Js Development Tools

 74 
 on: October 28, 2024, 03:18:34 pm 
Started by Richard M. - Last post by Richard M.

The path that seems to work is '/sdcard/Pictures'

 75 
 on: October 24, 2024, 06:01:40 pm 
Started by Christine R. - Last post by Christine R.

 
Genero Studio Client issue



Dear customers,

We have detected an issue on Genero Studio 4.01.06 Client on Windows only.

We invite you to refer to the issue tracker to get more information about this issue:
https://4js.com/support/issue/?id=GST-19696
This issue has been fixed in the patch1 for GST that you need to apply on your installation if you encounter this issue.
The patch can be downloaded in the GST section here.

For more information about this patch, please refer to https://4js.com/online_documentation/fjs-gst-4.01.06-patch1-readme.txt.
 
All Four Js Genero customers under maintenance have free access to the new release.
 
Best regards,
 
Four Js Development Tools

 76 
 on: October 23, 2024, 12:16:16 pm 
Started by Richard M. - Last post by Richard M.

Our application uses ui.Interface.frontCall( "mobile", "takePhoto", [], [path] ) to enable a photo to be taken using the device camera.

path is an 'opaque' location of the photo on the device which is available for use in the current iteration.

An example of the path returned is 'content://media/external_primary/images/media/457?name=JPEG_GMA_20241022_170235.jpg&ext=jpg'

I was hoping to use os.Path.delete() to remove the picture, but the path above looks like a URL and is invalid when used in os.Path.delete().

Any ideas on how to do this?

Thanks

 77 
 on: October 23, 2024, 10:57:02 am 
Started by Richard M. - Last post by Sebastien F.
Hello Richard,

Regarding os.Path.delete() of a filename returned by takePhoto / choosePhoto:

I cannot help I am not expert for GMA/GMI internals.

Seb

 78 
 on: October 22, 2024, 06:34:57 pm 
Started by Richard M. - Last post by Richard M.
Hello Richard,

Can you please provide the context (Genero version, Front-ends type and version, DB servers type and version, OSes type and version, etc) - We can better help if we know the context and such "details".

I was wondering why you need to convert the image data to base64.
I assume this is to send the images as plain text to the server?

About using IMPORT security:

While security.Base64.FromByte() needs the BYTE to be located in memory, DISPLAY BY NAME needs the BYTE to be located in a file:
https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_fgl_images_dynamic_images.html
Section "Displaying images contained in BYTE variables"

Since Genero BDL 2.51, we have util.Strings methods to encode/decode in base64.

https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_fgl_ext_util_Strings_methods.html

Except if you really need other APIs of the "security" module in your mobile app, I would just use the "util" package.

How to you plan to upload the photos to the central database?
Using RESTful Web Services?

What is the SQL CREATE TABLE DDL for the local mobile l_photos table and its equivalent on the server side to store photos?

Seb

Thanks Seb,

The image is indeed converted to base64 so it can be sent as text via Web Services. 

I altered my code to use util.Strings.base64Encode and it works fine.

One additional issue/question;

I want to use the path returned from ui.Interface.frontCall( "mobile", "takePhoto", [], [path] ) to delete the picture held on the Android device after it has been processed.

An example of the path returned is 'content://media/external_primary/images/media/457?name=JPEG_GMA_20241022_170235.jpg&ext=jpg'

I was hoping to use os.Path.delete() to remove the picture, but the path above is invalid.

Any ideas on how to do this?

Thanks

 79 
 on: October 22, 2024, 10:08:55 am 
Started by Richard M. - Last post by Sebastien F.
Hello Roland,

Quote
are there any substantial differences between the routines of the util.Strings and security.Base64 packages? What's the (dis)advantage of using one of the two packages?

There should be no differences regarding pure base64 encoding/decoding. However, as mentioned by Reuben, there is a constraint with security.Base64.FromByte()/ToByte() requiring the BYTE to be located in memory.

I see an advantage on using util.Strings because there are less dependencies to other libs, if you need only to do base64 conversions.

Here the deps of the security.so library on my Linux box:

Code
  1. $ ldd -r $FGLDIR/lib/security.so
  2. linux-vdso.so.1 (0x00007ffcb99cd000)
  3. libfglutils.so => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libfglutils.so (0x00007fa30a200000)
  4. libfglsecurity.so => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libfglsecurity.so (0x00007fa309e00000)
  5. libfglgws.so => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libfglgws.so (0x00007fa309a00000)
  6. libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007fa309400000)
  7. libfgl.so => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libfgl.so (0x00007fa309000000)
  8. libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa30a8f0000)
  9. libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa308c00000)
  10. libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa30a811000)
  11. libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa30a5e0000)
  12. libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa30a01f000)
  13. libiconv.so.2 => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libiconv.so.2 (0x00007fa308800000)
  14. libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007fa30a537000)
  15. libfgltransport.so => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libfgltransport.so (0x00007fa308400000)
  16. libfglxml.so => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libfglxml.so (0x00007fa308000000)
  17. libxml2.so.2 => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libxml2.so.2 (0x00007fa307c00000)
  18. libxslt.so.1 => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libxslt.so.1 (0x00007fa307800000)
  19. libwrtl.so => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libwrtl.so (0x00007fa307400000)
  20. libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa30a808000)
  21. /lib64/ld-linux-x86-64.so.2 (0x00007fa30a912000)
  22. libxmlsec1-openssl.so.1 => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libxmlsec1-openssl.so.1 (0x00007fa307000000)
  23. libxmlsec1.so.1 => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libxmlsec1.so.1 (0x00007fa306c00000)
  24.  

Versus libfgl.so, where the IMPORT util package is built-in:

Code
  1. $ ldd -r $FGLDIR/lib/libfgl.so
  2. linux-vdso.so.1 (0x00007ffce853e000)
  3. libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2745ca0000)
  4. libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2745bc1000)
  5. libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2745bbc000)
  6. libwrtl.so => /home/sf/genero/software/fglgws-5.00.03-NB/lib/libwrtl.so (0x00007f2745400000)
  7. libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f274521f000)
  8. /lib64/ld-linux-x86-64.so.2 (0x00007f2745cc0000)
  9.  

Quote
I wasn't aware that both packages contain the same routines. Couldn't the documentation of the security.Base64 package point out to use the routines from util.Strings?

I will talk to the doc team about that, but usually we want to keep things independent.
You should be able to find all pages related to base64 support by using the doc search field.
Just try with "base64".

Quote
Apart from that, the parameters are described differently in the two packages. For example, the security.Base64.LoadBinary() (https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_gws_SecurityBase64_LoadBinary.html) function specifies the parameter “path”, while the util.Strings.base64Encode() (https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_fgl_ext_util_Strings_base64Encode.html) function is called with the parameter “filename”. With the latter, it is not explicitly pointed out that the filename can also access network resources. Perhaps the documentation of the two packages could be standardized accordingly..

You make a good, point but this is not a doc problem but rather an implementation problem:
The signature these methods uses different parameter names
You can see this by using code completion in vim, GST or VSCode.

Best regards,
Seb

 80 
 on: October 22, 2024, 09:05:24 am 
Started by Richard M. - Last post by Roland W.
Sebastien,

are there any substantial differences between the routines of the util.Strings and security.Base64 packages? What's the (dis)advantage of using one of the two packages?
I wasn't aware that both packages contain the same routines. Couldn't the documentation of the security.Base64 package point out to use the routines from util.Strings?

Apart from that, the parameters are described differently in the two packages. For example, the security.Base64.LoadBinary() (https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_gws_SecurityBase64_LoadBinary.html) function specifies the parameter “path”, while the util.Strings.base64Encode() (https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_fgl_ext_util_Strings_base64Encode.html) function is called with the parameter “filename”. With the latter, it is not explicitly pointed out that the filename can also access network resources. Perhaps the documentation of the two packages could be standardized accordingly..

Kind regards
Roland

Pages: 1 ... 6 7 [8] 9 10
Powered by SMF 1.1.21 | SMF © 2015, Simple Machines