Feature Sets

Version 1.61.0

Feature
Finished

Packages already give control over limits and other features. However, it does not (easily) allow for control over which CMD values are allowed in the account. New feature called "Feature Sets" which allow easy selection of various sets, which can be added together. =========== USER.CONF and PACKAGES The user.conf file and User packages will have a new optional variable: feature_sets=view_domain:tickets:dns_only where the values on the right are only an example (no default value). Submitting a blank "features_set=" for packages/user customization will delete the variable from the file. The values must be colon separated, no spaces, and must exist. Any bad/missing sets are ignored without errors being thrown. =========== TEMPLATES All feature sets will live here: /usr/local/directadmin/data/templates/feature_sets/ where each set is a directory. Each set directory will have a file: commands.allow which acts like the usual commands.allow files (no commands.deny at the moment). Custom sets can be added to this path using different names, OR you can override the default sets by creating a copy in a custom folder: /usr/local/directadmin/data/templates/custom/feature_sets/ ========== DEFAULT SETS dns_only : Users can control their dns records. email_only: All E-Mail related functions tickets: Allows use of the Message and Ticket System view_domain: A base set so User can view the domain overview, stats, change passwords and logout (this set is recommended, but not required if it's API only) =========== JSON CMD_SHOW_USER_PACKAGE?json=yes CMD_SHOW_USER_PACKAGE?package=gold&json=yes CMD_SHOW_USER?user=fred&json=yes CMD_MODIFY_USER?user=fred&json=yes will include a top-level array called "feature_sets", with each element index being the code name of the feature set. The value of this code name is another array containing "name" which is the display name, and "checked" : "yes"|"no" if that items has been checked. "feature_sets": { "dns_only": { "checked": "yes", "name": "DNS-Only" }, "email_only": { "checked": "no", "name": "E-Mail-Only" }, "tickets": { "checked": "yes", "name": "Tickets/Messages" }, "view_domain": { "checked": "yes", "name": "Core Commands" } }, ---- EVO1872

Interested to try DirectAdmin? Get a 30-day Free Trial!