My wishlist

A place for users and developers of the Xataface to discuss and receive support.

My wishlist

Postby Byte » Thu Jul 16, 2009 4:15 am

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...
Byte
 
Posts: 13
Joined: Thu Jul 16, 2009 3:48 am

Postby shannah » Thu Jul 16, 2009 6:56 am

(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.


If you place a valuelists.ini file in the root of your application, these valuelists will be available globally.
You can also define valuelists in the application delegate class via the valuelist__xxx() method definitions. These would also be available globally.


All these are good ideas. For the documentation, note that if you see gaps in the docs, you are able to update the wiki yourself to help improve the docs. Documentation is tricky too because there are many different formats, and as there becomes a lot of documentation, it can be difficult to find what you're looking for. E.g. the getTitle() method is listed in the delegate class methods wiki page and there are numerous examples of it in the forum. But you were unable to find it so that did not help.


The fact that you are working with applications that have 50+ tables gives you a unique perspective that will allow you to notice things that many other users won't. Usually I keep my applications to under 10 tables in the menu (even though the full app has 50+ tables).

Thanks for the feedback.

-steve
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Postby Byte » Thu Jul 16, 2009 7:12 am

Hi,

Thanks for the reply! Didn't know that those global lists existed (another topic for the help).

I will share my findings in the future in the wiki, right now I am lacking a bit the time to write nice tutorials and help pages.

If you want to have my modified code from point 2&3 please let me know. I think that other users could also benefit from this, even if it is only a GUI thing.

I hope that you will integrate some of my wishes in the future releases but I know that you must have all users in mind and not everyone will benefit from all my wishes because they are mostly bigDB based.

Nevertheless, working on the admin gui is progressing. It's still very quick&dirty, but all the basic things are already working. I see tons of improvements and I will gradually implement them.
Are you interested in helping me? You know the system inside out and you could help making this into a very good tool. I have implemented a lot of workarounds at the moment to fill all the empty spaces in my head :-)

Keep on going!
Byte
 
Posts: 13
Joined: Thu Jul 16, 2009 3:48 am

Postby shannah » Mon Jul 20, 2009 12:59 pm

Your administration app sounds like a good/promising idea. I really would like to encourage you on in this, but I'm not sure how much help I can be right now as I'm a little overloaded with existing projects. A good place to start might be posting a spec in the bug tracker and let it evolve from there.
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Postby Byte » Tue Jul 21, 2009 12:59 am

Hi Steve,

I will prepare some modules before making it public, but be sure I will.

Another question: should I put my wishlist items to some kind of official wishlist or have you done that already?
Byte
 
Posts: 13
Joined: Thu Jul 16, 2009 3:48 am


Return to Xataface Users

Who is online

Users browsing this forum: No registered users and 23 guests

cron
Powered by Dataface
© 2005-2007 Steve Hannah All rights reserved