Skip to content

Releases: ApiLogicServer/ApiLogicServer-src

Security: Global Filters, Permissions

01 Nov 04:01
Compare
Choose a tag to compare

This release provides significant enhancements as described below.

Security

  • Global Filters simplify filters across multiple roles, such as multi-tenant support, hiding secure or soft-deleted rows, or rows outside the users region (etc)

  • Permissions designate which roles have read/update access to classes

  • Debugging Support is provided though sophisticated logging, enabling you to see what filters were applied, and how they affect the SQL select

 

Logic

The rule engine now support insert parent to create group-by parent rows automatically. There is also a new sample illustrating this feature.

 

Oracle connectivity support

For Oracle databases, ApiLogicServer create builds a connection debug aid

 

Bug fixes

The release fixes:

AI Automation, DevOps

30 Sep 23:33
Compare
Choose a tag to compare

This release is provided on pip and docker.

 

AI-Driven Automation

If you don't already have a database, AI-Driven Automation shows how to use ChatGPT to create a database, and execute a complete Agile cycle in 6 minutes:

  • Create working software
  • Deploy for collaboration
  • Iterate

 

DevOps Automation

Support has been enhanced to minimize errors and effort in editing scripts to create and deploy images. For more information, see DevOps Automation.

 

Bug Fixes

This release includes an updated version of LogicBank that fixes a delete bug.

Oracle, AI Preview

19 Sep 02:49
Compare
Choose a tag to compare

This release is available both through pip install and docker. It provides:

  • Oracle Support, as described here

  • ** (AI-driven automation (preview)** using ChatGPT, as described here. Create and deploy a micro service, starting just from a natural language description. This realizes the Agile vision of

    • Working Software, with instant creation of an executable, customizable project, driving
    • Collaboration, with deployment automation
    • Iteration, with logic automation

Oracle Support

15 Sep 03:30
Compare
Choose a tag to compare

API Logic Server now runs with Oracle, as described here.

Bug Fix admin.yml for converted table/class names

09 Sep 03:45
Compare
Choose a tag to compare

This release fixes Issue 16, where bad admin.yml was created when table names differ from SQLAlchemy class names. This occurs for singularization, use of under scores, etc.

It is currently released for PyPi; docker release is pending.

Cloud Deployment Automation, Security / Admin App Bug Fixes

23 Aug 04:38
Compare
Choose a tag to compare

Working software - deployed - to engage collaboration / iteration

The key theme of this release how API Logic Server supports the Agile vision of working software - instantly and deployed - to engage collaboration and iteration:

  1. Working Software Now: APIs and Admin apps created instantly
  2. Collaboration via Automated Cloud Deployment -- new in this release
    • This makes dev previews available in the cloud for UI Developers (via the APIs) and Business Users (via the Admin App)
  3. Iteration: using rules and Python as required

Click here for more information.

 

 

Automated Cloud Deployment

The devops directory provides scripts for automated cloud deployment, including:

  • Containerizing your application
  • Adding Security
  • Multi-Container Docker Compose
  • Azure Deployment Script Automation

The documentation contains Worked Examples, for creating and deploying multi-container applications, with test databases you can use for MySQL and Postgres.

 

Flexible AuthDB

You can now configure AuthDB with different database types, and add your own custom user properties.

 

Docker Databases now include AuthDB

The Docker Test Databases now include AuthDB for MySQL and Postgres. These are used in the worked examples noted above.

 

Custom 'AuthDB`

The CLI now enables you to designate your own authdb:

  • this enables you to use your own User properties in Grant declarations.

  • authdb scripts are created to get you started

For example:

ApiLogicServer add-auth --project_name=. --db_url=mysql+pymysql://root:p@localhost:3306/authdb

 

meta data api (preview)

Created APIs now include an endpoint in api/customize_api.py to return meta data:

curl -X GET "http://localhost:5656/metadata?include=attributes"

 

CORS enhancements

CORS support has been extended in api_logic_server_run.py with:

flask_app = Flask("API Logic Server", template_folder='ui/templates')  # templates to load ui/admin/admin.yaml

CORS(flask_app, resources=[{r"/api/*": {"origins": "*"}}],
     allow_headers=["Content-Type", "Authorization", "Access-Control-Allow-Credentials"],supports_credentials=True)

 

Bug Fixes

 

Admin App: Favorites, UserKey, Lookups

The Predictive Joins, Lookups not working issue has been resolved. So, for example, the classicmodels app looks like this:

classicmodels

 

Internals

The internal source code has been reworked significantly, including documentation enhancements and refactoring (e.g., introduction of metadata.py.

SQLAlchemy Typing, Docker Python and ODBC

05 Jul 02:49
Compare
Choose a tag to compare

This release is available on Docker and pip. Key enhancements are noted below.

SQLAlchemy Typing - Attributes, Relationships

models.py creation has been enhanced to take advantage of SQLAlchemy 2 typing improvements:

  • Decimal attributes are typed, complementing SQLAlchemy typing for int, string and date.

  • Relationship typing has been reworked.

These provide improved code completion in your IDE.

To see examples, click here.

In addition, projects now include a simple Python program to explore SQLAlchemy connectivity. To see it for the sample app, click here.

Breaking change: in the past, the parent accessor was named parent. It is now the name of the parent class. See Department in the sample database.

 

Docker Python and ODBC versions

Docker support has been upgraded:

  • Python version: now 3.11.4
  • ODBC Version: now version 18

Optimistic Locking, Dependencies Upgrade

24 Jun 04:49
Compare
Choose a tag to compare

This is a major new release, available via pip and docker.

Optimistic Locking

Optimistic Locking enables you to optionally ensure your API rejects update attempts for rows that have been altered by other users since read.

 

Upgrade safrs, SQLAlchemy and Flask

A significant upgrade to dependencies:

  • safrs>=3.1.0
  • SQLAlchemy==2.0.15
  • Flask==2.3.2

 

Source moved to ApiLogicServer

This is the last release of API Logic Server on this git account. The project source is now stored here. This does not affect user install options (pip, docker installs are unchanged).

The old source is available here. Please do not use this source.

Also, note that the source tree has changed, and is reflected in the new dev install procedure.