Uploaded image for project: 'Blesta Core'
  1. Blesta Core
  2. CORE-2355

Add a new Package option called Custom Fields

    Details

      Description

      Add new config option types:

      1. Text (input)
      2. Textarea
      3. Password

      It's often necessary to create custom service fields when using a module other than the Universal Module. With the Universal Module, service fields can be added, which are requested during the order process.

      Sometimes people want to ask for additional fields while using a specific module during checkout so that the order can be customized. The custom data could be manually handled by staff, or could be accessed via the Services.add event to perform some automated action.

      For example, when using the cPanel module, we could request a Select field (For Script), Admin Username, Admin Password, and Installation directory and Softaculous could use this information to perform an automated installation of Wordpress (Or even Blesta), after the cPanel account has been provisioned. This is one use case, but there are many possibilities and the competition already supports these kinds of custom fields. This would also fit very well with CORE-1551 (No module has to be selected) and would make the Universal Module unnecessary in most cases, except for it's email and HTTP POST request ability.

      CORE-1550 describes breaking Package create/edit into multiple tabs.

      • Add a new Package tab called "Custom Fields"
      • Support the following field types: Text, Text Area, Password, Select, Radio, Checkbox
      • Ask for a field Name, Description/Label (Shown to users), Regex (For validation)
      • Each field should have the following atributes (checkbox): Client can Add (Similar to config options. If clients can't add, only admins can.), Required
      • There is no associated cost with any Custom Fields

      This is very similar to the Universal Module "Service" options.

      If possible, these fields should be treated as if they are module service fields, but would be requested after any normal module service fields. The data should be stored in the same way as module service fields. If we can do that, then any changes to the order plugin and client area should be fairly minimal. It's just that the module would not utilize this data, and it would treat it as extraneous data.

      These fields would be associated with a specific package only, and would not be "re-usable" by other packages. Cloning a package should also clone this data and be associated with the new package, being independent. The table could be called something like package_fields

        Issue Links

          Activity

          admin Paul Phillips created issue -
          admin Paul Phillips made changes -
          Field Original Value New Value
          Fix Version/s 4.1.0 [ 11007 ]
          Fix Version/s Short Term [ 10800 ]
          tyson Tyson Phillips (Inactive) made changes -
          Rank Ranked higher
          admin Paul Phillips made changes -
          Fix Version/s 4.1.0-b2 [ 11012 ]
          Fix Version/s 4.1.0-b1 [ 11007 ]
          admin Paul Phillips made changes -
          Fix Version/s 4.1.0 [ 11013 ]
          Fix Version/s 4.1.0-b2 [ 11012 ]
          admin Paul Phillips made changes -
          Fix Version/s 4.2.0-b1 [ 11014 ]
          Fix Version/s 4.1.0 [ 11013 ]
          tyson Tyson Phillips (Inactive) made changes -
          Rank Ranked higher
          admin Paul Phillips made changes -
          Fix Version/s 4.2.0-b2 [ 11017 ]
          Fix Version/s 4.2.0-b1 [ 11014 ]
          jonathan Jonathan Reissmueller made changes -
          Rank Ranked higher
          admin Paul Phillips made changes -
          Fix Version/s 4.2.0 [ 11018 ]
          Fix Version/s 4.2.0-b2 [ 11017 ]
          admin Paul Phillips made changes -
          Fix Version/s 4.3.0-b1 [ 11019 ]
          Fix Version/s 4.2.0 [ 11018 ]
          tyson Tyson Phillips (Inactive) made changes -
          Rank Ranked higher
          admin Paul Phillips made changes -
          Rank Ranked higher
          admin Paul Phillips made changes -
          Fix Version/s 4.3.0-b2 [ 11100 ]
          Fix Version/s 4.3.0-b1 [ 11019 ]
          admin Paul Phillips made changes -
          Fix Version/s 4.3.0 [ 11022 ]
          Fix Version/s 4.3.0-b2 [ 11100 ]
          admin Paul Phillips made changes -
          Fix Version/s 4.3.0 [ 11101 ]
          Fix Version/s 4.3.0-b3 [ 11022 ]
          admin Paul Phillips made changes -
          Fix Version/s 4.4.0-b1 [ 11105 ]
          Fix Version/s 4.3.0 [ 11101 ]
          tyson Tyson Phillips (Inactive) made changes -
          Story Points 8
          tyson Tyson Phillips (Inactive) made changes -
          Sprint 4.4.0 Sprint 1 [ 64 ]
          tyson Tyson Phillips (Inactive) made changes -
          Rank Ranked lower
          tyson Tyson Phillips (Inactive) made changes -
          Rank Ranked higher
          tyson Tyson Phillips (Inactive) made changes -
          Rank Ranked higher
          tyson Tyson Phillips (Inactive) made changes -
          Assignee Tyson Phillips [ tyson ]
          tyson Tyson Phillips (Inactive) made changes -
          Sprint 4.4.0 Sprint 1 [ 64 ] 4.4.0 Sprint 1, 4.4.0 Sprint 2 [ 64, 70 ]
          tyson Tyson Phillips (Inactive) made changes -
          Rank Ranked higher
          Automated transition triggered when Tyson Phillips (Inactive) created a branch in Stash -
          Status Open [ 1 ] In Progress [ 3 ]
          tyson Tyson Phillips (Inactive) made changes -
          Description It's often necessary to create custom service fields when using a module other than the Universal Module. With the Universal Module, service fields can be added, which are requested during the order process.

          Sometimes people want to ask for additional fields while using a specific module during checkout so that the order can be customized. The custom data could be manually handled by staff, or could be accessed via the Services.add event to perform some automated action.

          For example, when using the cPanel module, we could request a Select field (For Script), Admin Username, Admin Password, and Installation directory and Softaculous could use this information to perform an automated installation of Wordpress (Or even Blesta), after the cPanel account has been provisioned. This is one use case, but there are many possibilities and the competition already supports these kinds of custom fields. This would also fit very well with CORE-1551 (No module has to be selected) and would make the Universal Module unnecessary in most cases, except for it's email and HTTP POST request ability.

          CORE-1550 describes breaking Package create/edit into multiple tabs.

          - Add a new Package tab called "Custom Fields"
          - Support the following field types: Text, Text Area, Password, Select, Radio, Checkbox
          - Ask for a field Name, Description/Label (Shown to users), Regex (For validation)
          - Each field should have the following atributes (checkbox): Client can Add (Similar to config options. If clients can't add, only admins can.), Required
          - There is no associated cost with any Custom Fields

          This is very similar to the Universal Module "Service" options.

          If possible, these fields should be treated as if they are module service fields, but would be requested after any normal module service fields. The data should be stored in the same way as module service fields. If we can do that, then any changes to the order plugin and client area should be fairly minimal. It's just that the module would not utilize this data, and it would treat it as extraneous data.

          These fields would be associated with a specific package only, and would not be "re-usable" by other packages. Cloning a package should also clone this data and be associated with the new package, being independent. The table could be called something like package_fields
          Add new config option types:
          # Text (input)
          # Textarea
          # Password

          ----

          It's often necessary to create custom service fields when using a module other than the Universal Module. With the Universal Module, service fields can be added, which are requested during the order process.

          Sometimes people want to ask for additional fields while using a specific module during checkout so that the order can be customized. The custom data could be manually handled by staff, or could be accessed via the Services.add event to perform some automated action.

          For example, when using the cPanel module, we could request a Select field (For Script), Admin Username, Admin Password, and Installation directory and Softaculous could use this information to perform an automated installation of Wordpress (Or even Blesta), after the cPanel account has been provisioned. This is one use case, but there are many possibilities and the competition already supports these kinds of custom fields. This would also fit very well with CORE-1551 (No module has to be selected) and would make the Universal Module unnecessary in most cases, except for it's email and HTTP POST request ability.

          CORE-1550 describes breaking Package create/edit into multiple tabs.

          - Add a new Package tab called "Custom Fields"
          - Support the following field types: Text, Text Area, Password, Select, Radio, Checkbox
          - Ask for a field Name, Description/Label (Shown to users), Regex (For validation)
          - Each field should have the following atributes (checkbox): Client can Add (Similar to config options. If clients can't add, only admins can.), Required
          - There is no associated cost with any Custom Fields

          This is very similar to the Universal Module "Service" options.

          If possible, these fields should be treated as if they are module service fields, but would be requested after any normal module service fields. The data should be stored in the same way as module service fields. If we can do that, then any changes to the order plugin and client area should be fairly minimal. It's just that the module would not utilize this data, and it would treat it as extraneous data.

          These fields would be associated with a specific package only, and would not be "re-usable" by other packages. Cloning a package should also clone this data and be associated with the new package, being independent. The table could be called something like package_fields
          tyson Tyson Phillips (Inactive) made changes -
          Remaining Estimate 0 minutes [ 0 ]
          Time Spent 4 hours, 4 minutes [ 14640 ]
          Worklog Id 11413 [ 11413 ]
          tyson Tyson Phillips (Inactive) made changes -
          Time Spent 4 hours, 4 minutes [ 14640 ] 6 hours, 4 minutes [ 21840 ]
          Worklog Id 11414 [ 11414 ]
          tyson Tyson Phillips (Inactive) made changes -
          Time Spent 6 hours, 4 minutes [ 21840 ] 1 day, 1 hour, 54 minutes [ 35640 ]
          Worklog Id 11416 [ 11416 ]
          tyson Tyson Phillips (Inactive) made changes -
          Time Spent 1 day, 1 hour, 54 minutes [ 35640 ] 1 day, 4 hours, 44 minutes [ 45840 ]
          Worklog Id 11417 [ 11417 ]
          Automated transition triggered when Tyson Phillips (Inactive) created pull request #509 in Stash -
          Status In Progress [ 3 ] In Review [ 5 ]
          Resolution Fixed [ 1 ]
          tyson Tyson Phillips (Inactive) made changes -
          Sprint 4.4.0 Sprint 1, 4.4.0 Sprint 2 [ 64, 70 ] 4.4.0 Sprint 3, 4.4.0 Sprint 1, 4.4.0 Sprint 2 [ 59, 64, 70 ]
          tyson Tyson Phillips (Inactive) made changes -
          Rank Ranked higher
          jonathan Jonathan Reissmueller made changes -
          Time Spent 1 day, 4 hours, 44 minutes [ 45840 ] 1 day, 6 hours, 20 minutes [ 51600 ]
          Worklog Id 11428 [ 11428 ]
          jonathan Jonathan Reissmueller made changes -
          Rank Ranked higher
          Automated transition triggered when Tyson Phillips (Inactive) merged pull request #509 in Stash -
          Status In Review [ 5 ] Closed [ 6 ]
          tyson Tyson Phillips (Inactive) made changes -
          Resolution Fixed [ 1 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          tyson Tyson Phillips (Inactive) made changes -
          Time Spent 1 day, 6 hours, 20 minutes [ 51600 ] 1 day, 6 hours, 45 minutes [ 53100 ]
          Worklog Id 11439 [ 11439 ]
          tyson Tyson Phillips (Inactive) made changes -
          Status Reopened [ 4 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          tyson Tyson Phillips (Inactive) made changes -
          Link This issue Testing discovered CORE-2910 [ CORE-2910 ]

            People

            • Assignee:
              tyson Tyson Phillips (Inactive)
              Reporter:
              admin Paul Phillips
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Fix Release Date:
                22/Oct/18

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 day, 6 hours, 45 minutes
                1d 6h 45m

                  Agile