To reduce dependency on Apache (and thus opening JAS up for other webservers) the htaccess+modrewrite rule should be moved to JAS. This also allows the configuration to more easily enable/disable the functionality.
Currently JAS uses the Data field values to build up the WHERE clause in the SQL query (and Storage::_filterDataset) in a straightforward but limited way. It should be possible to get data via a more flexible method that allows for advanced nesting.
Example:
SELECT *
FROM blog_entries
LEFT JOIN blog_tagsmapping ON
blog_entries.nr=
blog_tagsmapping.blog_entries --automagically determined based on where clause
LEFT JOIN blog_tag...
JAS should support PostgreSQL (and optionally other databases). The post sensible way seems to be to have a base SQL class which contains the majority of the query components (SELECT, INSERT, UPDATE, DELETE, FROM, WHERE, ORDER BY, etc) which can be overridden by the extending classes.
An interesting option would be to use PDO for the base class as this will support more than just MySQL and PostgreSQL. Additionally it allows for "named variables" for prepared statements which should m...
Currently when setting the 1:* reference field value the MySQL use referenced field instead of the ID field of the referenced module. Using the former is rather useless since that's effectively the ID field of the original module.
So change:
FROM `module`
LEFT JOIN `referenceModule` ON `module`.`nr`=`referenceModule`.`referenceField`
WHERE referenceModule
`.`referenceField
`="123"
To:
FROM `module`
LEFT JOIN `referenceModule` ON `module`.`nr`=`referenceModule`.`referenceFi...
JAS should support JSON parsing and rendering which in turn can be used for a full-fledged read/write API. The JavaScript HTTP class should be extended to support this as well.
Currently only the initial installation is foreseen, however upgrades should be easy to install as well. This could be handled in a similar fashion as plugins, i.e. download the latest version and upgrade JAS using the backend.
The JAS backend should have a filter section to more effectively drill down in the data. the filters should be automatically generated based on the module (similar to the CMS). Text fields should have a inline dropdown with available values (like the search box).
Additionally it should remember the last set filters if the user comes back to the page later. This will require a "Reset" button to set all values to their defaults.
The JAS backend should support recursive delete options.
Note that this probably also requires recurseCategories / recurseContent to be submitted in the CMS. This is probably best done by setting use=form.
IP (range) lock downbrute force protection (X attempts from same IP per Y minutes)email confirmation (should contain only the logic, requires an email field in a project module)timezone / language settingsseparators (also CSV) settingsdate/time format settingsEach feature should be configurable (config module) and should have the option to be locked down for admins (non owner). This should also be extended to changing username and password.
It seems logical to add a user/settings action th...
Templates using root_url in a native project (default project isn't JAS) seems to incorrectly create the URLs. Presumably this is due to the "/images/" functionality in the pager plugin.