Agile UI for Enterprise Application


#1

Good Morning.
Sorry for my bad english.
I’ve some questions on Agile Ui.
Scenario.
I’ve a IBM system I that run Zend Framework for IBM and i want build a gui interface.
the application i want realize must be multiuser and multi company.
I already have all programs that read and write on database, so i need a framework that help me to drive the users to operate on database.

Question 1:
I’ve see AgileUi have templates and models, there’s a way to let the users to make its template?
example 'ive a form with this possible fields:
ID
username
country
gender
field1
field2

for user 1 i want have only
ID
username
country

for user2 2 i want have only
ID
username
country
gender
field1

for user3 i want have all fields.

could i make a drag and drop system that let’s users to compose its form template?

Question 2:
all my tables in database have a lot of field so i don’t want see all fields on grid but i want give the possibility to user to make its grid it’s possible?
in this case the grid isn’t entirely loaded but i want a form drive my server program and return the response data and finaly the grid render my requested data there’s a way to make this scenario in a single page?

Question 3:
the changes on my tables structures are frequently.
so when i add a field on my table i’ve to re-align all my server programs that use thie table, there’s a way to make avaiable this new field on Agile (forms and grid) whitout having to handwrite the php code for adding this new filed on forms and grid?

sorry again for my bad english and I hope the requests are understandable.
many thanks

Alessandro


#2

for user3 i want have all fields.

could i make a drag and drop system that let’s users to compose its form template?

You can build your own drag-and-drop interface for selecting which fields needs to be displayed. Agile UI offers table with checkboxes in the examples, but there are other options too.

When using $form->setModel(), second argument indicates list of fields that are defined in the model and the backend, which must be presented on the form. So you can have 50 fields total, but through 2nd argument you can specify which ones user gets to see.

Question 2:
all my tables in database have a lot of field so i don’t want see all fields on grid but i want give the possibility to user to make
its grid it’s possible?
in this case the grid isn’t entirely loaded but i want a form drive my server program and return the response data and finaly the grid
render my requested data there’s a way to make this scenario in a single page?

yes, there are two options. First is to have multiple model classes, and only declare fields for models where that make sense. For example you may have User class extended by Admin, where you would add “admin_level” field. In this case this field exists in database, but will not be shown for user.

Other option is to use same argument setModel($m, [‘field1’, ‘field2’]); inside Grid / Table / Form. Agile Data fully supports work with selective columns, e.g. it won’t developer save data for the field which wasn’t loaded from the database.

See http://agile-data.readthedocs.io/en/develop/model.html#working-with-selective-fields

Question 3:
the changes on my tables structures are frequently.
so when i add a field on my table i’ve to re-align all my server programs that use thie table, there’s a way to make avaiable this new
field on Agile (forms and grid) whitout having to handwrite the php code for adding this new filed on forms and grid?

you would need to update your “Model” declaration, but the rest of UI can simply use some logic or grouping to pick the fields. For example you can use logic on per-system basis as you described yourself in question 1.

Agile Data does not reverse-engineer the database on the fly, but there are tools that we are working on, which can help you take your SQL scheama and update Model definitions with new fields. For the time being, this would have to be done manually.

sorry again for my bad english and I hope the requests are understandable.

No problem.


#3

Final note on commercial support.

Agile UI and Agile Data are free software and are released under MIT. Our team works for some clients on pay-per-hour basis. Code that we make for them often ends up as an add-on for Agile Data / UI, this helps us keep the open-source project going.

Our team can work on some extensions for you if you are interested, please send me a private message.