Hello,
I am using Xataface a few weeks now to create an administration page. I have about 50 tables and a few things I'd love to have in xataface:
(1) Vertical menu should auto-size: THis is not the case and it's also quite narrow, so table names are always broken into chunks and look bad.
(2) Delimiters for vertical menu: I created them myself now so that when I insert tables like C="--delim--" to the table list I get a horizontal ruler. Drawback is that each delimiter has to have it's own character/name, but nevertheless it's working and it's great to create visual blocks of tables.
(3) Intending table names: I did this also myself. Each ">" character before the table name (description name) will intend the table name, so that it looks like a tree structure.
(4) Sections for tables: I have a lot of tables and I'd like to cluster them. I did the first step in creating the delimiters and the intending feature, but I'd like to hide tables that belong together within a top level menu item (like "basic data tables" where I can have my 20 tables with configuration data). All those menu items must do is to hide/show the tables assigned to it.
Basically I want to have a table tree that I can expand/collapse.
(5) global valuelists: I use a few vocabularies quite often (like the country list) and I have to rebuild that for each table where I am using it. Not only does this cost time but it also requires time to maintain because I have to change it many times when I change something.
If I could create global valuelists this would not be the case. The script should look into valuelists.ini, then delegate class and finally global valuelists.ini or application delegate in order to find the correct valuelist. Gues s it's not that hard but it would improve maintainability a lot.
(6) Better error reporting: When I have errors in custom SQL I get a lot of "can't use PEAR::ERROR object" error messages. These are not really good to find the error cause, so maybe you could echo the real error message instead of this one?
(7) Default table sorting: Usually the table will be sorted based on primary key (mostly an ID) but this is not usefull in a lot of cases. If I could give a default ordering in the fields.ini without the need to write a full blown SQL statement it would be great (e.g. "OrderBy = title")
(8) Better documentation: There are a lot of gaps in the documentation. For example I spend a lot of time finding out why my first valuelist didn't work (because 0 is not an allowed character) and how to overcome this. I often have to digg deep into the source code or API description to really know how to do stuff (like getTitle() function for example). There are a lot of small examples all over the place, but finding an answer is a pain in the ass...
(9) Global login: At the moment you have to login when accessing a table. The rest of the page is still shown, so that guests can see all my tables and table names. Of course they can't access them, but knowing the database structure helps attackers a lot.
Why can't there be a global login where the users have to login first and then see the page? maybe there is something like that already, but I couldn't find it (see 8:Documentation).
(10) Finally: Better configuration. Installing didn't work for me so I created everything from scratch (which is not much since the installer doesn't do a lot).
Afterwards: Creating folders, fields.ini, etc etc is very exhausting and requires a lot of copy&pase (see point 5: global value lists). it took me a lot of hours to get configuration done (also because of bad documentation) and I think that even a basic management tool would help a lot.
The good news: I am this very tool at the moment and I think I will port that also to Adobe AIR (for training), so that you can configure a lot of things (the basics) within a big management page. If somebody is interested in helping me: send me a message.
So, that's it for the beginning. I wonder why so many people didn't think of those things already. It's quite obvious things, but maybe only for projects of a certain size...