Hi Michael,
It looks as though you have reached the outer regions of Dataface 0.5.3's target area. This release 0.5.x focused on making it easy to get the back-end up and running. I developed Dataface originally to build new back-ends for existing applications that already had front-ends. Version 0.6 will focus on evolving it into a full application framework for data-driven applications.
Version 0.6 will provide a very fine-grained permissions framework that will allow you to specify permissions at a field, record, table, and action* level using ini files and delegate classes. It will also include a basic authentication framework to allow you to authenticate against users contained in a table of your choice. These two things are key to being able to offer your application up to the general public. Version 0.5.x does contain permissions handling via delegate classes but to a lesser extent, and authentication would need to be handled by you (although it isn't difficult to add your own authentication -- see
http://framework.weblite.ca/forum/dataface-users/4 for some tips. One cautionary point with the 0.5.x releases is that permissions are optimistic. The means that ALL permissions are allowed unless you define permissions to disallow some actions. Also all tables are accessible, even if they are not in the menu (just add a "-table=..." the get parameters to access a table. Version 0.6 will work this way also by default, but it will allow you to set the security level to "strict" to make permissions pessimistic (so that permissions are only granted if they are explicitly granted by you).
In addition, Version 0.6 adds a modular and extensible actions framework to be able to define actions in an INI file. You can provide custom templates for your actions and custom controllers too if your actions are quite complex. This will allow the framework to grow much more quickly as people can develop actions independently and the integrate them with the framework at a later time.
The last key ingredient required to be able to make front-end applications is a full set of tags that can be used in templates to incorporate useful compontents into your pages. This will also be included into 0.6. For example there will be a tag for {result_list} which will include a list (as can currently be found in the "list" tab of your dataface application) in your page, or {search} which would include the little search box in the top right corner, etc...
Some other features that will be included are:
- internationalization :
- Using INI files multiple languages can be defined for Dataface.
- There is a LanguageTool class that is used to translate text to the appropriate language for viewing.
- A {translate} tag will be added to be able to translate text on any template
- Database records can have translations using naming conventions on tables. e.g., the french translation for the Profiles table would be named Profiles_fr . The Profiles_fr table need contain only columns for primary keys and columns that are to be translated. Dataface handles all of the dirty work to load to proper translation when loading records.
- A translation form to translate records form one language to another.
- more parameters definable in delegate classes and ini files. All INI file parameters can be overridden by delegate class methods.
- Surrogate views (the ability to define tables based on SQL queries).
- Reports (similar to Views, but used in a different context).
I have completed many of these features in my development version, but there is still work to do with testing. And of course there will be full documentation of the features so that you can get started right away.
I have exams tomorrow and on the 20th so I won't be able to work on Dataface much (or at all) until then, but I'm looking at an early may release of 0.6 beta.
Best regards
Steve