Results 1 to 1 of 1

Thread: Lianja 7.2Beta39 Update

Hybrid View

  1. #1
    Lianja Development Team barrymavin's Avatar
    Join Date
    Feb 2012
    Location
    UK, USA, Thailand
    Posts
    6,781
    Blog Entries
    18

    Lianja 7.2Beta39 Update

    Lianja 7.2 will be the next general release expected this month.

    I have uploaded Lianja 7.2Beta39 for Windows for those of you who have access to pre-release versions.

    This is pre-release software so it should not be used in production.

    Changes since 7.2Beta38

    - Fixed an issue where adding a new record in a web/mobile app when the section has an 'order by' specified causing the new record not be displayed in the correct order after saving it.
    - Various tickets fixed.

    Changes since 7.1

    - Lianja 7.2 brings low-code Python to Desktop, Web and Mobile App developers. Run Python UI delegates in the browser. Call server-side Machine Learning code on the server!
    -- See https://www.lianja.com/community/sho...App-developers

    - LianjaScript, Python and JavaScript forms can now all be generated when saving a canvas section.
    -- These can all be tested from the "Visual Component/Form Manager" by selecting a tile then clicking the "RUN" button.

    - Improved anchor support in Canvas Sections.

    - Canvas Designer now supports "Groupboxes".
    -- Specifying a caption such as +title renders the label with a border and a titlebar.
    -- Specifying a caption such as -title renders the label with a border and a groupbox title.

    - New "Label" attributes. When displayed as a groupbox or a titled box the label is transparent and bordered and all events pass through it to UI controls underneath it.
    -- "groupbox"
    -- "title"

    - You can now use the Visual Component/Form Manager to navigate between forms and components in different Apps and edit them. Double click a tile in the Manager to "Edit". Click "New" to create a new component or form.

    - Added a new function is_function( varname | cExp ). This can be used to test if parameters passed to functions are procedures or functions. e.g.

    Code:
    proc myproc(arg1, arg2)
      if is_function(arg1)
          arg1()
      endif
    endproc
    - Added "Shading" property to all classes. This can be "None", "Light" or "Dark". This provides a nice drop shadow effect on UI controls. This has also been exposed in the Canvas Designer.

    - Added "Transparency" property to all classes. This can be "None", "Light" or "Dark". This provides a nice transparency effect on UI controls. This has also been exposed in the Canvas Designer.

    - Further improvements to the Visual Component/Form Manager.

    - Usability improvements in grid editing

    - Added a new button to the Visual Component/Form Manager. This will open an App called mycomponents (or create it if it does not exist), create a new page and then create a canvas section on the page. You should fill in the “Visual Component Details” in the attributes and the scripting language that you want to write the delegates in. You can then visually design a new component or form.

    - Saving Visual Components (Canvas section with Visual Component Details) copies the saved component into the current app as well as the components directory. This provides the ability to visually design forms in LianjaScript/VFP, Python and JavaScript.

    Activate the saved forms like this:

    Code:
    Lianja.showDialogForm("window title", "myform?props...") // if no extension defaults to a LianjaScript dbo
    Lianja.showDialogForm("window title", "myform.py?props...")
    Lianja.showDialogForm("window title", "myform.js?props...")
    or using special file prefixes to reference forms in other apps.

    Code:
    Lianja.showDialogForm("window title", "app:/mycomponents\myform?props...") // if no extension defaults to a LianjaScript dbo
    Lianja.showDialogForm("window title", "app:/mycomponents\myform.py?props...")
    - Added a new section delegate initForm(). This delegate is called when a Visual Component Form is activated. You can open a database and it’s tables required by the form in this delegate. Note that activating a form will automatically PUSH / POP DATASESSION so there is no need to do this.

    - oledb workarounds for VFPOLEDB driver bugs with datetime and logical fields

    - *new* You can now build forms visually in the Canvas Designer using JavaScript, LianjaScript or Python and create standalone executables from these.

    - Python debugger improvements

    - *new* python now provides dynamic binding to event handlers in custom Python code (same functionality as LianjaScript and JavaScript). e.g.
    object.click = my_click_function

    - *new* Lianja.showDialogForm("title", "componentlib.componentname?componentargs...". componentargs is a ';' separated list of objectname.attribute=value pairs. The objectname corresponds to the formitem name in the canvas section that has been saved as a component. Forms can be developed visually in LianjaScript, Python or JavaScript.

    - SQL optimizer improvements and fixes resulting in an overall speed boost

    - Added serveral new cryptographic hash functions. SHA-256 is a popular hashing algorithm used in Bitcoin encryption (and other blockchain applications).
    -- sha256( cExp ) this returns the SHA256 cryptographic hash for the specified character string
    -- sha256File( cFilename ) this returns the SHA256 cryptographic hash for the specified file
    -- sha256Record( [alias] ) this returns the SHA256 cryptographic hash for the current active record
    -- crc32Record( [alias] ) this returns an 8 byte hexidecimal value (A cyclic redundancy check) for the current active record

    - Many Canvas Designer improvements.

    - Added new function tableSeqno(cDatabase, cTable). You can use this to apply a default seqno() in client/server Web Apps. If you use seqno() in a default value for a column then when the App is generated as a Web or Mobile App seqno() will automatically be translated to use tableSeqno().

    - Further "Assistant" improvements:
    -- Improved "Anchor" layout support
    -- Added "Order By" to allow column selection to order a section by using a field picker.
    -- Added "Filter" to allow specifying of a filter using the query builder.

    - Datetime date display format now defaults to the system locale. It can be changed using the SET DATEFORMAT TO "..." command.

    Code:
    set dateformat to "ISO" or "yyyy-MM-dd"
    set dateformat to"ANSI" or "yyyy.MM.dd"
    set dateformat to "JAPAN" or "yyyy/M/d"
    set dateformat to "BRITISH" or "d/M/yyyy"
    set dateformat to "AMERICAN" or "M/d/yyyy"
    set dateformat to "GERMAN" or "dd.MM.yyyy"
    set dateformat to "ITALIAN" or "dd-MM-yyyy"
    set dateformat to "FRENCH" or "d/M/yyyy"
    set dateformat to "YMD" or "yyyy/M/d"
    set dateformat to "MDY" or "M/d/yyyy"
    set dateformat to "DMY" or "d/M/yyyy"
    set dateformat to "USA" or "M-d-yyyy"
    - Improved SQL compatability with VFP

    - Column names containing spaces in MSSQL Virtual Tables are now supported. Specify the "translatecolumnname=true" property for the Virtual Table. Column names containing _ characters can be excluded by specifying "translatecolumnnames=-name1,-name2 etc"

    - Improved deployment. Select only those files you want deployed and they will be compiled if required and then deployed. Use "Preview' first to verify the files which will be deployed.

    - When saving data as xml/excel (SELECT or COPY) any invalid characters are now escaped.

    - You can now write to the App Builder console log from .rsp server-side code to assist debugging. Select the console worspace in the App Builder and click the "Preview live in browser" icon.
    Code:
    set debugout on
    writeOutput( cExpression )
    set debugout off
    - Added the ability to redirect output to the App Builder console workspace from .rsp files. This supports arrays and objects just like the ? command does. e.g.
    Code:
    set debugout on
    ? > variable
    ? > _get
    set debugout off
    - Added new "Form" method to help in debugging custom forms
    Code:
    myform = createObject("form")
    myform.printObjectTree()
    - Improved garbage collection.

    - Numerous improvements to the "Page Builder Assistant"
    -- Added "Caption size and "Data size"
    -- Added "Caption font" and "Data font"
    -- Added "Caption alignment" and "Data alignment"
    -- All attributes in the "Formitem" panel can now be edited in a popup dialog. This is useful for long text such as Choices and DataMapping.
    -- Added "Layout" direction for "OptionGroups" in the "Assistant" for Form and Canvas sections.
    -- Added "Multiselect" for "OptionGroups in canvas section in the "Assistant" for Form and Canvas sections.

    - Virtual Table improvements.
    -- Basetable added to the VT dialog to make it more intuitive.
    -- VT Updates now operate with wheretype=3

    - Added a new LianjaScript function gmtime(). This returns a datetime just like the datetime() function but the time is in expressed in Coordinated Universal Time (UTC).

    - The "Page Builder Assistant" is now embedded in the "App Inspector" to speed up development.

    - Further oledb improvements
    -- Improved performance
    -- Now working better with the searchbar in Desktop and Web across all fields

    - Added a new App attribute "Disable success notifications". This operates in Web/Mobile Apps to disable the noise from successful operations such as updating records, upload images etc. Notifications only occur when an error occurs.

    - Included a new example app example_carouselview

    - Improvements to the carouselview section
    -- You can now edit the parameters by clicking on the keyboard icon in the section header
    -- Adding a new image positions on that image after uploading it

    - Minor UI improvements

    - Performance and stability improvements.

    - Various bug fixes.
    Last edited by barrymavin; 2022-05-23 at 02:33.
    Principal developer of Lianja, Recital and other products

    Follow me on:

    Twitter: http://twitter.com/lianjaInc
    Facebook: http://www.facebook.com/LianjaInc
    LinkedIn: http://www.linkedin.com/in/barrymavin

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Journey into the Cloud
Join us