How large is too large for a project with AppGini ...

Got something cool to share with AppGini users? Feel free to post it here!
Post Reply
User avatar
pilandros
Veteran Member
Posts: 57
Joined: 2014-02-13 18:19

How large is too large for a project with AppGini ...

Post by pilandros » 2016-12-28 00:16

I don't have a specific question but an Issue about design and good practices, I would like to get clarified with a little help from experienced users of this Forum.
I have a rather large project to set up and run with AppGini. It is some 100+ tables (and growing) and will be divided into 8 areas or sections of information (like departments within a corporation).
I was thinking, for the sake of easy maintenance to break up the large project in 8 sub-projects to make smaller appgini projects.
The design problem for this approach is with validation tables (some 20 tables), which are needed spreaddly by most of the sub-projects; leading to problem of repeating tables along sub-projects. This is issue of repeating tables among separate sub-projects is a trouble maker and a design malpractice on the principle of database schema attributes that state that you should avoid repeating attributes or basic data within a single database to keep a healthy information system.
Any ideas on how to face a project like mine using AppGini?
Thanks in advance
(using AppGini ver 5.60)

AhmedBR
Veteran Member
Posts: 186
Joined: 2013-09-19 10:23

Re: How large is too large for a project with AppGini ...

Post by AhmedBR » 2016-12-28 10:41

Hi,

Here is my tiny experience:

The largest project I am currently running with Appgini 100% perfect is:
46 tables - some tables with 150+ columns (I know 150+ might sound too much but they are production ingredients and must be done like this for cost calculations).

I do not see any reason why you cannot do a project with many many times this size with no issues at all.

MySQL itself has no limit on the number of tables.
The underlying file system may have a limit on the number of files that represent tables.
Individual storage engines may impose engine-specific constraints.
InnoDB permits up to 4 billion tables <<<<<<<<<<<<<

The only issue I can think of would be your server limit for handling the massive data processing if you have too many users and or too much data.

Hope someone with more experience answers you as well :D

Have a nice day

Ahmed

DevGiu
Veteran Member
Posts: 151
Joined: 2016-05-27 09:08

Re: How large is too large for a project with AppGini ...

Post by DevGiu » 2016-12-28 15:22

If I can be of help, I'm working on an ERP.

I have some love-hate feelings with AppGini in this venture. In one hand, I choosed AppGini because flexibility, I can focus on my business logic, and Table VIews and detail views are automatically generated. On the other hand, we are coding a lot of custom code for this autogenerated screens fits our needs. Don't take me wrong, this is not bad at all, In other situations I'd have to develop it anyway.
Because my obsession to not modify appgini generated files we are coding from hooks.

I though in some schema similar to yours, but is not a good idea for several reasons. Once, as you say, related tables. You have to think too about permissions, menu and so on. Because AppGini menu is very basic, I'm developing my own menu library and my own permissions system.

I miss views and custom fields too, there are in roadmap, but not ETA, And alternative to lookups to choose from a datatable (for example, an input with a button, and when pressed, opens a popup with a tableview to choose one record and return a value). This probably I have to developit from zero.
Sadly, new versions with improvements don't release very often

Obviously AppGini was not created for complex projects. This don't means is not possible, of course you can, but is not a path of roses if you are not an experienced developer, because you have to support it with several third-party libs to fit where AppGini fails

Then here we go. Sometimes I hate AppGini because lack of very basic features. Other times, I love it because you can extend it very easily.

EDITED::
Sorry, I forgot the main question ROFL.
- Right now, work with different projects is not worth.
- In the time of this writing, my project file has 109 tables and growing and I don't remember the number of fields. Project size is right now 3MB
/Giuseppe
Professional Outsourcing Services

User avatar
pilandros
Veteran Member
Posts: 57
Joined: 2014-02-13 18:19

Re: How large is too large for a project with AppGini ...

Post by pilandros » 2016-12-29 04:18

AhmedBR wrote:Hi,

Here is my tiny experience:

The largest project I am currently running with Appgini 100% perfect is:
46 tables - some tables with 150+ columns (I know 150+ might sound too much but they are production ingredients and must be done like this for cost calculations).

I do not see any reason why you cannot do a project with many many times this size with no issues at all.

MySQL itself has no limit on the number of tables.
The underlying file system may have a limit on the number of files that represent tables.
Individual storage engines may impose engine-specific constraints.
InnoDB permits up to 4 billion tables <<<<<<<<<<<<<

The only issue I can think of would be your server limit for handling the massive data processing if you have too many users and or too much data.

Hope someone with more experience answers you as well :D

Have a nice day

Ahmed
Thanks Ahmed
Your post is mostly appreciated. I am happily coding with AppGini but sometimes my enthusiasm for what I have done with AppGini, makes me "see through the walls" like a superman, using a screwdriver and a hammer to fix everything. And you have to start thinking in solving real world problems efficiently not emotionally.
I love the simplicity and the openness of AppGini. But, obviously is not the right tool for everything. Although, I have been thinking what if AppGini could feed itself by reading or importing directly a database (MySql that is) and not just importing tables as CSV files. That is because there are lots of tools for databse design which facilitates and makes a faster DB design than going through the slower AppGini DB feeding. just a thought.
Anyways, thanks again for your support and postings answering our issues. This makes this forum nice and useful for all of us.

User avatar
pilandros
Veteran Member
Posts: 57
Joined: 2014-02-13 18:19

Re: How large is too large for a project with AppGini ...

Post by pilandros » 2016-12-29 04:31

DevGiu wrote:If I can be of help, I'm working on an ERP.

I have some love-hate feelings with AppGini in this venture. In one hand, I choosed AppGini because flexibility, I can focus on my business logic

...........................................

- Right now, work with different projects is not worth.
- In the time of this writing, my project file has 109 tables and growing and I don't remember the number of fields. Project size is right now 3MB
Thanks Giuseppe for your feedback. I appreciate you sharing ideas and thoughts on these issues.
I will consider going with a ONE large project instead of several smaller sub-projects because of DB, data and scheme integrity.
My large project is also an ERP but with Artificial Intelligence methods and procedures attached which will make a virtual self learning system assistant. It is a very interesting and challenger project and I am really amazed I am doing it with AppGini as the core tool for the maintenance modules. I will let you know of my advances.

Thanks again, your postings are greatly appreciated.

eagle
Posts: 25
Joined: 2013-01-09 15:38

Re: How large is too large for a project with AppGini ...

Post by eagle » 2016-12-30 07:43

pilandros wrote: Although, I have been thinking what if AppGini could feed itself by reading or importing directly a database (MySql that is) and not just importing tables as CSV files. That is because there are lots of tools for databse design which facilitates and makes a faster DB design than going through the slower AppGini DB feeding. just a thought.
Not sure if I understand you correctly, but isn't this what AppGini does when you chose "Open existing MySql databse" at the opening dialogue?

Eagle.

AhmedBR
Veteran Member
Posts: 186
Joined: 2013-09-19 10:23

Re: How large is too large for a project with AppGini ...

Post by AhmedBR » 2016-12-30 19:02

exactly my thoughts when I read the same.
Appgini CAN import from Database.

What are we missing here?○

DevGiu
Veteran Member
Posts: 151
Joined: 2016-05-27 09:08

Re: How large is too large for a project with AppGini ...

Post by DevGiu » 2016-12-31 10:43

AhmedBR wrote:exactly my thoughts when I read the same.
Appgini CAN import from Database.

What are we missing here?○
Can import into a new project, not existing
/Giuseppe
Professional Outsourcing Services

AhmedBR
Veteran Member
Posts: 186
Joined: 2013-09-19 10:23

Re: How large is too large for a project with AppGini ...

Post by AhmedBR » 2016-12-31 11:07

I see, never tried that but I believe that would be easily solved by just uploading your current project to the exiting database.

Appgini will create all the new tables and fields without missing around with what you already have in database.

Start a new project and import ALL (old and new) from database.
Now you have everything and Go from there.

Should not that overcome this issue?

User avatar
pilandros
Veteran Member
Posts: 57
Joined: 2014-02-13 18:19

Re: How large is too large for a project with AppGini ...

Post by pilandros » 2017-01-02 19:11

Yes Ahmed, the issue was exactly that, adding tables from database when the project already exists in AppGini and you gave me a workaround by creating a new project then importing the modified databse. I will try that.

User avatar
pilandros
Veteran Member
Posts: 57
Joined: 2014-02-13 18:19

Re: How large is too large for a project with AppGini ...

Post by pilandros » 2017-01-03 15:39

In order to add several tables to an AppGini project, I worked and tested a MySQL-DB prior to get into the AG project; I created a new AppGini project where I imported the tested Mysql database and it worked ok.

Only problem were for descriptions (tables & fields), groups and table settings which has to be typed all over again.

I need to work deeply documenting every project, and I am relying heavyly on the Tables and Field Descriptions included in AppGini.

For each project I am adding custom scripts to dynamically maintain a documents' table with several records per field/table, based upon AppGini first descriptions.

So as you can imagine, it has been a tedious task to add tables to an already running AG project, specially for larger projects (50+ tables). That's why I was wondering if there is a way to transfer/save descriptions within AppGini projects maybe by using the Mysql "comment" field for fields and tables, or some other way (text files).

If there is a documentation table from within Appgini generated Apps (much like the membership_tables), then the generated project can access that table at any time to handle and dynamically maintain the App's documentaion, that would be great!

AhmedBR
Veteran Member
Posts: 186
Joined: 2013-09-19 10:23

Re: How large is too large for a project with AppGini ...

Post by AhmedBR » 2017-01-03 15:58

Ok, I see, this is not a big problem, I have a work around for this also but requires some manual work.
If you do not mind "some" manual work I will tell you how to do it.

User avatar
pilandros
Veteran Member
Posts: 57
Joined: 2014-02-13 18:19

Re: How large is too large for a project with AppGini ...

Post by pilandros » 2017-01-03 15:59

Sure thing Ahmed. That would be great.

AhmedBR
Veteran Member
Posts: 186
Joined: 2013-09-19 10:23

Re: How large is too large for a project with AppGini ...

Post by AhmedBR » 2017-01-03 16:11

Sure here we go:

1. First open a new project and import all the NEW tables from the mysql database that has no comments what so ever.

2. Leave this project open in Appgini and here is the trick, Open your existing project with all those tables you already have with comments etc.
here is a tip on how to do this: click on the project file with the right mouse button and click open with > select AppGini.
Now you have BOTH projects open in different AppGinis
1.png
1.png (52.25 KiB) Viewed 1566 times

3. And final step:
On the NEW project recently imported just COPY one table at a time and PASTE it in your Existing Project.
Repeat till you finalize all the tables.

That is it.
Works like a charm, but will take a while as you will need to copy one table at a time.
I do this all the time, but usually I only have to add like 5 or 6 tables tops, not much of a manual work.

Give it a try :D

User avatar
pilandros
Veteran Member
Posts: 57
Joined: 2014-02-13 18:19

Re: How large is too large for a project with AppGini ...

Post by pilandros » 2017-01-03 16:26

Ok Ahmed,
It worked.
Is a workaround.
Thanks.

DevGiu
Veteran Member
Posts: 151
Joined: 2016-05-27 09:08

Re: How large is too large for a project with AppGini ...

Post by DevGiu » 2017-01-03 20:59

pilandros wrote:Ok Ahmed,
It worked.
Is a workaround.
Thanks.
Another manual way and faster (and dangerous if you don't know what are you doing) , is to edit the new project with notepad ++, copy all the content after the header of the project (I mean, where table tags starts) and paste in your "old" project
/Giuseppe
Professional Outsourcing Services

Post Reply