Recent posts

#61



 Genero 3.21 Maintenance Release :
Genero Browser Client 1.00.68


Four Js is pleased to announce a Maintenance Release of Genero Browser Client 1.00.68.

This version includes the following fixes : https://4js.com/support/issue/GBC/1.00.68

Note: On Windows you need to use node 20.12.2.

This version is now downloadable from the website: https://4js.com/download/products/.

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


Best regards,

Four Js Development Tools
#62
General Discussion / Re: List reduce filter
Last post by Olivier Eckert - April 01, 2025, 03:16:03 PM
Hello Ernest,

We would like to define your expectations more precisely.

Attached is a link to a Microsoft Excel screenshot of the Data -> Filter menu.

https://upload.4js.com/sharefiles/2aoqw

The process is:

1 - you select some columns
2- Data -> Filter.   This adds some arrows at the column names.
3- click on one arrow, and you get the windows.

In this window, you can:

* Sort the table regarding this column's values (Ascending or Descending)
* Search and select/unselect in a list of values which one you would like to reduce the table view. (This doesn't affect the totals)


Our question is: Can this fix your problem?

Best regards,

Olivier Eckert - Four Js Support
#63
General Discussion / List reduce filter
Last post by Ernest Duschek - March 31, 2025, 03:24:34 PM
Hello, we have some question. The List reduce filter functionality is currently available for searching data in TABLE component.

However, the list reduce filter searches for data within the entire list.
    https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_fgl_prog_dialogs_list_filter.html

In competing SW ABRA, we were interested of their solution. Search is possible only in the specific column in which the cursor is located. See the attached link. Are you planning a similar solution?
    https://www.youtube.com/watch?v=Ljh4EQczyVg

In addition, the solution in SW ABRA allows searching in multiple columns at the same time.

Best regards,
Ernest
#64



 Genero Enterprise 5.01 Maintenance Release :
GBC 5.01.03


Four Js is pleased to announce a Maintenance Release of Genero Browser Client 5.01.03.

What's new for GBC...

  • We have refactored multiple GBC widgets to comply with the BEM structured naming convention for CSS classes.
  • To provide better visual feedback, the outline for the hover, focus, and activate state layers has been moved inside
    the widget to prevent cropped rendering.
  • We recommend that you review your existing customizations for the following changes.
    Please refer to the manual for more information.
  • One new CheckBoxWidget variable is available.
  • There are several new DropDown widget item variables available.
  • There are slight changes to default values for the DropDown widget margin variable.
  • Three DropDown widget variables are removed.
  • One DropDown widget state layer variable is removed.
  • There are new default values for DropDown widget state layer variables.
  • There are new RadioGroup widget *padding variables available.
  • There are new default values for mt-field state layer *border-width variables.
  • One new SliderWidget variable is available.
  • There are slight changes to default values for Slider widget padding variables.
  • Two new Application host variables are available.
  • The theme variables for the main color palettes are now deprecated.
  • There are new default values for theme color variables mainly replacing the deprecated Main color palette.

Please refer to https://4js.com/online_documentation/fjs-gbc-manual-html/#gbc-topics/gbc_whatsnew_50103.html.

This version also includes the following bug fixes: https://4js.com/support/issue/GBC/5.01.03.

It is now downloadable from the website: https://4js.com/download/products/.

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

Best regards,

Four Js Development Tools
#65
Genero BDL / Re: HMAC hash key
Last post by Daniele Artini - March 27, 2025, 11:06:09 AM
Hello Evandro,
i think this example can fits your needs:

function bdl_hmac_hash(prm_algo string, prm_data  string, prm_key string) returns (string)

define ckey        xml.CryptoKey,
       sig         xml.Signature,
       ialgo       smallint,
       signature   string

define ar_algo_supported dynamic array of record
                                             algcode string,
                                             link    string
                                          end record =
[
  ( algcode: 'HmacSHA1',  link: 'http://www.w3.org/2000/09/xmldsig#hmac-sha1'; ),
  ( algcode: 'HmacSHA256',link: 'http://www.w3.org/2001/04/xmldsig-more#hmac-sha256'),
  ( algcode: 'HmacSHA384',link: 'http://www.w3.org/2001/04/xmldsig-more#hmac-sha384'),
  ( algcode: 'HmacSHA512',link: 'http://www.w3.org/2001/04/xmldsig-more#hmac-sha512')
]

let prm_algo = prm_algo.trim()
if prm_algo.getLength()=0 then
   let prm_algo = 'HmacSHA256'
end if

let ialgo = ar_algo_supported.search("algcode",prm_algo)
if ialgo>0 then
   let ckey = xml.CryptoKey.Create(ar_algo_supported[ialgo].link)
   try
      call ckey.setKey(prm_key)
      #display "Key url : ",ckey.getUrl()
      #display "Key size (in bits) : ",ckey.getSize()
      #display "Key type : ",ckey.getType() # displays HMAC
      #display "Key usage : ",ckey.getUsage() # displays SIGNATURE
   catch
      display "Unable to set key :",STATUS," - ",SQLCA.SQLERRM
   end try
   -- Create the signature
   let sig = xml.Signature.Create()
   call sig.setKey(ckey)
   let signature = xml.Signature.signString(ckey,prm_data)
   display iif(xml.Signature.verifyString(ckey,prm_data,signature), "success","failure")
end if

return signature
end function


Daniele
#66



 Genero Enterprise 5.01 Maintenance Release :
Genero BDL 5.01.02


Four Js is pleased to announce a Maintenance Release of Genero BDL with Web Services (BDL – GWS - GBC - WCG - GIP) 5.01.02.

Genero BDL with Web Service (BDL - GBC - WCG - GIP) 5.01.02 is the bundle which includes:

  • Business Development Language (FGL) 5.01.02
  • Web service extension (GWS) 5.01.02
  • Genero Browser Client (GBC) 5.01.02
  • Genero Identity Provider (GIP) 5.01.02
  • Web Components and wrappers (WCG)5.01.01

This version includes the following bugs fixes :

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

Best regards,

Four Js Development Tools
#67



 Genero Enterprise 5.01 Maintenance Release :
Genero Mobile client for Android 5.01.01


Four Js is pleased to announce a Maintenance Release of Genero Mobile Client for Android 5.01.01.

This version includes the following fixes https://4js.com/support/issue/GMA/5.01.01.

The version is now downloadable from the website: https://4js.com/download/products/.

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

Best regards,

Four Js Development Tools
#68
Genero BDL / HMAC hash key
Last post by Evandro Simenes - March 21, 2025, 09:01:45 PM
Hello guys,

I'm in need of getting hmac hash keys to access AWS services via API.

In JS, i can get hmac hash using the following command:
crypto.createHmac('sha256', `mykey`).update("myadditionalvalue").digest('hex');

But i need it working on a 4gl program. In the documentation isn't that clear how to get the same cenario like the command above using xml.Crypto class.

Any help would be great.

Thanks
#69
GAS and GBC / Re: Customisation :: Ring Menu...
Last post by Olivier Imbert - March 19, 2025, 09:31:47 AM
Always start on the highest level.
If you want to change all buttons background color, touch mt-button-primary-background-color.
If you want to change only buttonedit or ringmenu button, I fear we miss this granularity in theme variables. Please contact your support center to register a new request. In the mean time, you will have to use scss.
#70
GWS / Re: Adding to the header for W...
Last post by Reuben Barclay - March 19, 2025, 01:02:43 AM
With fglwsdl have you looked at -domHandler and callback functions
https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_gws_handlers_client_006.html

These callback functions allow you to modify/interrogate request/response

Reuben