95

Roadmap for Agile UI 1.4 — What to expect – Romans Malinovskis – Medium

 6 years ago
source link: https://medium.com/@romaninsh/roadmap-for-agile-ui-1-4-what-to-expect-f84ea4dce770
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Roadmap for Agile UI 1.4 — What to expect

Next release for Agile UI will coincide with next release of Agile Data and introduction of some “add-ons”, which some may say are “Very Essential” for web apps. I wanted to write about those up-coming features and provide some links where you can follow up with the development and perhaps even help out.

Passwords (https://github.com/atk4/data/pull/259)

Currently ['type'=>'password'] only contributes to the way how password is displayed on the Form and in the Grid, but this will be further extended inside Agile Data to rely on password hashing to store password encrypted.

The UI will not be affected by this change. Reading password will from the database will always contain “null” and storing password “null” will not change it. The UI persistence will convert “” into null to make sure you don’t reset your password into empty ones, but through $model[‘pass’]=”” you can still set it like that.

Agile Data will also recognize the fact that your password could be stored un-encrypted and will encrypt it for you next time you load/save the model.

Migrations (https://github.com/atk4/schema/pull/4)

You might not know that there is a separate project implementing Migrations on top of DSQL (https://github.com/atk4/dsql). It was initially created as a proof-of-concept that DSQL language can be further extended.

This time it gains integration support for Models and ability to discover existing database structure. So something like this create or alter your database as per structure of the User model:

$m = new \atk4\schema\Migration(new User($db));
$m->migrate();

SQLite has a pretty poor support for altering columns (so only adding new fields), but MySQL will be able to adjust fields without data loss. I will leave other database implementation to contributors.

Wizard (https://github.com/atk4/ui/issues/273)

1*jUDbH4amR_nLRyfFo7Dfaw.png

Ability to add multi-step wizard into your application is useful in many different situations. With our current set of components building this interactive component with buttons and a clean PHP code around it would be very timely.

Console and ProgressBar

1*KaZK6_HvJsibaLJjEwzYQw.png

Possibly one or separate elements, but those would be implemented in some form. Given that we have a pretty cool implementation of SSE already, both UI components would be a simple augmentation.

1*6FOheRkhnxGzklg8tearEQ.png

Both would offer interactive output from your PHP call-back in real-time.

DataManager (https://github.com/atk4/ui/issues/272)

Awesome and much needed high-level component allowing to drill down into CRUD items by clicking on their name. If you you work with more than a single Model and those models reference each-other, than this component would let you link up those CRUDs together and display even more data.

DataManager should give you ability to also organize referenced items into tabs.

Login Addon (https://github.com/atk4/login)

1*2Q6vaWnL3PIi6k6qPuAGGQ.png

Login add-on would allow your application to create basic user interface — users can log-in, log out, register, change their passwords etc. This is not core feature of Agile UI or Agile Data because the functionality provided by the authentication addon is simply too high-level.

Tutorial — Installer + Admin

Finally — with all of the new exciting features and new add-ons, I will be able to create a new exciting tutorial. Starting with an installer.php:

  1. Show greeting message to the user
  2. Show a Form where user can provide database credentials
  3. Run Migration for models, while showing a real-time ProgressBar.
  4. Show CRUD for the User model allowing you to add few users.

The other file, admin.php of this tutorial will rely on “Login” add-on to do the authentication but could contain a pretty extensive multi-level administration system using DataManager and centered around your models and their references.

I am really excited about the new features and looking forward to publishing this tutorial, so be sure to follow me to try it first!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK