diff --git a/lib/plugins/authad/conf/default.php b/lib/plugins/authad/conf/default.php
new file mode 100644
index 0000000000000000000000000000000000000000..05d6c328ea036a840664bde95dedc81098e23c8e
--- /dev/null
+++ b/lib/plugins/authad/conf/default.php
@@ -0,0 +1,14 @@
+<?php
+
+$conf['account_suffix']     = '';
+$conf['base_dn']            = '';
+$conf['domain_controllers'] = '';
+$conf['sso']                = 0;
+$conf['ad_username']        = '';
+$conf['ad_password']        = '';
+$conf['real_primarygroup']  = 0;
+$conf['use_ssl']            = 0;
+$conf['use_tls']            = 0;
+$conf['debug']              = 0;
+$conf['expirywarn']         = 0;
+$conf['additional']         = '';
\ No newline at end of file
diff --git a/lib/plugins/authldap/conf/default.php b/lib/plugins/authldap/conf/default.php
index 35971d41d07da8d547cc045b37bc0faf105fbe6e..d07f9c82ec4e992241457b282676449691c14ef3 100644
--- a/lib/plugins/authldap/conf/default.php
+++ b/lib/plugins/authldap/conf/default.php
@@ -1,7 +1,19 @@
 <?php
 
-$conf['port'] = 389;
-
-$conf['groupkey']   = 'cn';
+$conf['server']      = '';
+$conf['port']        = 389;
+$conf['usertree']    = '';
+$conf['grouptree']   = '';
+$conf['userfilter']  = '';
+$conf['groupfilter'] = '';
+$conf['version']     = 2;
+$conf['starttls']    = 0;
+$conf['referrals']   = 0;
+$conf['binddn']      = '';
+$conf['bindpw']      = '';
+//$conf['mapping']['name']  unsupported in config manager
+//$conf['mapping']['grps']  unsupported in config manager
 $conf['userscope']  = 'sub';
-$conf['groupscope'] = 'sub';
\ No newline at end of file
+$conf['groupscope'] = 'sub';
+$conf['groupkey']   = 'cn';
+$conf['debug']      = array('onoff');
\ No newline at end of file
diff --git a/lib/plugins/authldap/conf/metadata.php b/lib/plugins/authldap/conf/metadata.php
index e0815f789dd0b7ee954d95d03c742e0127b138fc..fc5b2e63ccbb1e8af54899a3b5900850ae940105 100644
--- a/lib/plugins/authldap/conf/metadata.php
+++ b/lib/plugins/authldap/conf/metadata.php
@@ -14,4 +14,5 @@ $meta['bindpw']      = array('password');
 //$meta['mapping']['grps']  unsupported in config manager
 $meta['userscope']   = array('multichoice','_choices' => array('sub','one','base'));
 $meta['groupscope']  = array('multichoice','_choices' => array('sub','one','base'));
+$meta['groupkey']    = array('string');
 $meta['debug']       = array('onoff');
\ No newline at end of file
diff --git a/lib/plugins/authldap/lang/en/settings.php b/lib/plugins/authldap/lang/en/settings.php
index cc914316996fad6a8986629e18b1179da4e1fd04..0bb397be523784b733d3a3c3ee6a8382951f04f1 100644
--- a/lib/plugins/authldap/lang/en/settings.php
+++ b/lib/plugins/authldap/lang/en/settings.php
@@ -12,4 +12,5 @@ $lang['binddn']      = 'DN of an ptional bind user if anonymous bind is not suff
 $lang['bindpw']      = 'Password of above user';
 $lang['userscope']   = 'Limit search scope for user search';
 $lang['groupscope']  = 'Limit search scope for group search';
-$lang['debug']       = 'Display additional debug information on errors';
\ No newline at end of file
+$lang['groupkey']    = 'Group member ship from any user attribute (instead of standard AD groups) e.g. group from department or telephone number';
+$lang['debug']       = 'Display additional debug information on errors';
diff --git a/lib/plugins/authmysql/conf/default.php b/lib/plugins/authmysql/conf/default.php
index ea2cdad720287ed4272652d78306fb6436888a2c..647f3d96c9473743b2d617ddb7f19ecacc71eb63 100644
--- a/lib/plugins/authmysql/conf/default.php
+++ b/lib/plugins/authmysql/conf/default.php
@@ -1,3 +1,34 @@
 <?php
 
-$conf['charset'] = 'utf8';
\ No newline at end of file
+$conf['charset']          = 'utf8';
+$conf['server']           = '';
+$conf['user']             = '';
+$conf['password']         = '';
+$conf['database']         = '';
+$conf['debug']            = 0;
+$conf['forwardClearPass'] = 0;
+$conf['TablesToLock']     = '';
+$conf['checkPass']        = '';
+$conf['getUserInfo']      = '';
+$conf['getGroups']        = '';
+$conf['getUsers']         = '';
+$conf['FilterLogin']      = '';
+$conf['FilterName']       = '';
+$conf['FilterEmail']      = '';
+$conf['FilterGroup']      = '';
+$conf['SortOrder']        = '';
+$conf['addUser']          = '';
+$conf['addGroup']         = '';
+$conf['addUserGroup']     = '';
+$conf['delGroup']         = '';
+$conf['getUserID']        = '';
+$conf['delUser']          = '';
+$conf['delUserRefs']      = '';
+$conf['updateUser']       = '';
+$conf['UpdateLogin']      = '';
+$conf['UpdatePass']       = '';
+$conf['UpdateEmail']      = '';
+$conf['UpdateName']       = '';
+$conf['UpdateTarget']     = '';
+$conf['delUserGroup']     = '';
+$conf['getGroupID']       = '';
\ No newline at end of file
diff --git a/lib/plugins/authmysql/conf/metadata.php b/lib/plugins/authmysql/conf/metadata.php
index f63bbe48141c0007d6d165774af1b0ca48bd17b2..05d150fdf4815cbf7af583f4d26ef0ecfe79de36 100644
--- a/lib/plugins/authmysql/conf/metadata.php
+++ b/lib/plugins/authmysql/conf/metadata.php
@@ -4,6 +4,7 @@ $meta['server']           = array('string');
 $meta['user']             = array('string');
 $meta['password']         = array('password');
 $meta['database']         = array('string');
+$meta['charset']          = array('string');
 $meta['debug']            = array('multichoice','_choices' => array(0,1,2));
 $meta['forwardClearPass'] = array('onoff');
 $meta['TablesToLock']     = array('array');
diff --git a/lib/plugins/authmysql/lang/en/settings.php b/lib/plugins/authmysql/lang/en/settings.php
index dcdbbb16bc53fbacce499a3e19589851d9c5dbe1..77e4806b9df198d68751399c7c1e35a6f198b297 100644
--- a/lib/plugins/authmysql/lang/en/settings.php
+++ b/lib/plugins/authmysql/lang/en/settings.php
@@ -4,6 +4,7 @@ $lang['server']           = 'Your MySQL server';
 $lang['user']             = 'MySQL user name';
 $lang['password']         = 'Password for above user';
 $lang['database']         = 'Database to use';
+$lang['charset']          = 'Character set used in database';
 $lang['debug']            = 'Display additional debug information';
 $lang['forwardClearPass'] = 'Pass user passwords as cleartext to the SQL statements below, instead of using the passcrypt option';
 $lang['TablesToLock']     = 'Comma separated list of tables that should be locked on write operations';
@@ -20,7 +21,7 @@ $lang['addUser']          = 'SQL statement to add a new user';
 $lang['addGroup']         = 'SQL statement to add a new group';
 $lang['addUserGroup']     = 'SQL statment to add a user to an existing group';
 $lang['delGroup']         = 'SQL statement to remove a group';
-$lang['getUserID']        = 'SQL statement to get the primary ey of a user';
+$lang['getUserID']        = 'SQL statement to get the primary key of a user';
 $lang['delUser']          = 'SQL statement to delete a user';
 $lang['delUserRefs']      = 'SQL statement to remove a user from all groups';
 $lang['updateUser']       = 'SQL statement to update a user profile';
diff --git a/lib/plugins/authpgsql/conf/default.php b/lib/plugins/authpgsql/conf/default.php
index 401da80b7cdd0d9b5554b4e7eedce2cb388899d9..7f78280f974a046c324800d7b78108ffe7b300e2 100644
--- a/lib/plugins/authpgsql/conf/default.php
+++ b/lib/plugins/authpgsql/conf/default.php
@@ -1,3 +1,33 @@
 <?php
 
-$conf['port'] = 5432;
\ No newline at end of file
+$conf['server']           = '';
+$conf['port']             = 5432;
+$conf['user']             = '';
+$conf['password']         = '';
+$conf['database']         = '';
+$conf['debug']            = 0;
+$conf['forwardClearPass'] = 0;
+$conf['checkPass']        = '';
+$conf['getUserInfo']      = '';
+$conf['getGroups']        = '';
+$conf['getUsers']         = '';
+$conf['FilterLogin']      = '';
+$conf['FilterName']       = '';
+$conf['FilterEmail']      = '';
+$conf['FilterGroup']      = '';
+$conf['SortOrder']        = '';
+$conf['addUser']          = '';
+$conf['addGroup']         = '';
+$conf['addUserGroup']     = '';
+$conf['delGroup']         = '';
+$conf['getUserID']        = '';
+$conf['delUser']          = '';
+$conf['delUserRefs']      = '';
+$conf['updateUser']       = '';
+$conf['UpdateLogin']      = '';
+$conf['UpdatePass']       = '';
+$conf['UpdateEmail']      = '';
+$conf['UpdateName']       = '';
+$conf['UpdateTarget']     = '';
+$conf['delUserGroup']     = '';
+$conf['getGroupID']       = '';
\ No newline at end of file
diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php
index 5b81be78298eeb97ee46795cef75c7ed802cc204..4a84d6dc8e5e616e01146ae091da0c15c0c292b9 100644
--- a/lib/plugins/config/settings/config.class.php
+++ b/lib/plugins/config/settings/config.class.php
@@ -70,9 +70,14 @@ if (!class_exists('configuration')) {
           foreach ($keys as $key) {
             if (isset($this->_metadata[$key])) {
               $class = $this->_metadata[$key][0];
-              $class = ($class && class_exists('setting_'.$class)) ? 'setting_'.$class : 'setting';
-              if ($class=='setting') {
-                $this->setting[] = new setting_no_class($key,$param);
+
+              if($class && class_exists('setting_'.$class)){
+                $class = 'setting_'.$class;
+              } else {
+                if($class != '') {
+                  $this->setting[] = new setting_no_class($key,$param);
+                }
+                $class = 'setting';
               }
 
               $param = $this->_metadata[$key];