diff --git a/asterixdb-jdbc/asterix-jdbc-taco/pom.xml b/asterixdb-jdbc/asterix-jdbc-taco/pom.xml
index 1a7c677..adf5005 100644
--- a/asterixdb-jdbc/asterix-jdbc-taco/pom.xml
+++ b/asterixdb-jdbc/asterix-jdbc-taco/pom.xml
@@ -51,8 +51,10 @@
     <taco.plugin.database.default>Default</taco.plugin.database.default>
     <taco.plugin.table.label>Dataset</taco.plugin.table.label>
     <taco.plugin.jdbc.scheme>jdbc:asterixdb://</taco.plugin.jdbc.scheme>
-    <taco.plugin.jdbc.properties.aux/>
     <taco.plugin.auth.none><![CDATA[<option value="auth-none" label="No Authentication"/>]]></taco.plugin.auth.none>
+    <taco.plugin.fields.custom/>
+    <taco.plugin.norm.attributes.custom/>
+    <taco.plugin.jdbc.properties.custom/>
 
     <taco.sourceDirectory>${project.basedir}/src/main/taco</taco.sourceDirectory>
 
diff --git a/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connection-dialog.tcd b/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connection-dialog.tcd
deleted file mode 100644
index 772fd58..0000000
--- a/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connection-dialog.tcd
+++ /dev/null
@@ -1,29 +0,0 @@
-<!--
- ! Licensed to the Apache Software Foundation (ASF) under one
- ! or more contributor license agreements.  See the NOTICE file
- ! distributed with this work for additional information
- ! regarding copyright ownership.  The ASF licenses this file
- ! to you under the Apache License, Version 2.0 (the
- ! "License"); you may not use this file except in compliance
- ! with the License.  You may obtain a copy of the License at
- !
- !   http://www.apache.org/licenses/LICENSE-2.0
- !
- ! Unless required by applicable law or agreed to in writing,
- ! software distributed under the License is distributed on an
- ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ! KIND, either express or implied.  See the License for the
- ! specific language governing permissions and limitations
- ! under the License.
- !-->
- <connection-dialog class='${taco.plugin.class}'>
-  <connection-config>
-    <authentication-mode value='Basic' />
-    <authentication-options>
-      <option name="UsernameAndPassword" default="true" value="auth-user-pass" />
-    </authentication-options>
-    <db-name-prompt value="${taco.plugin.database.label}: " />
-    <has-pre-connect-database value="true" />
-    <show-ssl-checkbox value="false" />
-  </connection-config>
-</connection-dialog>
diff --git a/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connection-fields.xml b/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connection-fields.xml
index 89f1085..c7e9a06 100644
--- a/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connection-fields.xml
+++ b/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connection-fields.xml
@@ -41,11 +41,6 @@
     </conditions>
   </field>
 
-  <field name="sslmode" label="Require SSL" value-type="boolean" category="general" default-value="" >
-    <boolean-options>
-      <false-value value="" />
-      <true-value value="require" />
-    </boolean-options>
-  </field>
+  ${taco.plugin.fields.custom}
 
 </connection-fields>
\ No newline at end of file
diff --git a/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connectionProperties.js b/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connectionProperties.js
index 77b0d35..45d4874 100644
--- a/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connectionProperties.js
+++ b/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connectionProperties.js
@@ -20,9 +20,6 @@
     var props = {};
     props["user"] = attr[connectionHelper.attributeUsername];
     props["password"] = attr[connectionHelper.attributePassword];
-    if (attr[connectionHelper.attributeSSLMode] == "require") {
-        props["ssl"] = "true";
-    }
-    ${taco.plugin.jdbc.properties.aux}
+    ${taco.plugin.jdbc.properties.custom}
     return props;
 })
diff --git a/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connectionResolver.tdr b/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connectionResolver.tdr
index 311c577..cde4a28 100644
--- a/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connectionResolver.tdr
+++ b/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/connectionResolver.tdr
@@ -29,7 +29,7 @@
           <attr>authentication</attr>
           <attr>username</attr>
           <attr>password</attr>
-          <attr>sslmode</attr>
+          ${taco.plugin.norm.attributes.custom}
         </attribute-list>
       </required-attributes>
     </connection-normalizer>
diff --git a/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/manifest.xml b/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/manifest.xml
index 5b127b4..37e9fda 100644
--- a/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/manifest.xml
+++ b/asterixdb-jdbc/asterix-jdbc-taco/src/main/taco/plugins/asterixdb_jdbc/manifest.xml
@@ -87,7 +87,6 @@
       <customization name="CAP_SUPPORTS_UNION" value="no"/>
     </customizations>
   </connection-customization>
-  <!--connection-dialog file='connection-dialog.tcd'/-->
   <connection-fields   file='connection-fields.xml'/>
   <connection-metadata file='connection-metadata.xml'/>
   <connection-resolver file="connectionResolver.tdr"/>
