Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Let Plugin developers easily store Settings and customize them via UI #4126

Closed
mattab opened this issue Sep 6, 2013 · 38 comments
Closed

Let Plugin developers easily store Settings and customize them via UI #4126

mattab opened this issue Sep 6, 2013 · 38 comments
Assignees
Labels
Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical.
Milestone

Comments

@mattab
Copy link
Member

mattab commented Sep 6, 2013

Add possibility to define settings for plugins, using radio/checkbox/input/select.

  • Let dev specify name/label, description, inline help, default value, etc.
  • Specify type of data: int, string, ...
  • Allow dev to display these settings in a new dedicated page, accessible via an admin's sub menu link
  • or the settings are added in the new "Plugin Settings" page (below "General Settings" in admin menu). This page loads all plugin settings which are not created in their own page.
  • Add Link in plugin list to the plugin's setting page (and #anchor if appropriate)
@mattab
Copy link
Member Author

mattab commented Sep 6, 2013

Possibly we add new column in piwik_option table to store plugin, so plugin settings are cleanly separate from core values.

@julienmoumne
Copy link
Member

Would this new mechanism be used to store the phone numbers and validation codes of the MobileMessaging plugin?

@mattab
Copy link
Member Author

mattab commented Sep 21, 2013

Replying to JulienM:

Would this new mechanism be used to store the phone numbers and validation codes of the MobileMessaging plugin?

Nope it would be for pure simple settings label / description / inline help / type / id, to avoid user having to write a controller action+template+form for simple settings.

@mattab
Copy link
Member Author

mattab commented Oct 14, 2013

In a5a5003: Deleting Plugin\Config since it wouldnt be best practise to have per-plugin config file. Waiting for refs #4126

@tsteur
Copy link
Member

tsteur commented Oct 22, 2013

In d4f2a75: refs #4126 started to work on plugin settings

@tsteur
Copy link
Member

tsteur commented Oct 22, 2013

In b969dc7: refs #4126 fix settings were not saved

@tsteur
Copy link
Member

tsteur commented Oct 22, 2013

In f70afa2: refs #4126 added possibility to use other fields as well

@tsteur
Copy link
Member

tsteur commented Oct 22, 2013

In 599ff6f: refs #4126 plugins just have to create a settings.php, there is no longer a need to use a hook

@tsteur
Copy link
Member

tsteur commented Oct 22, 2013

In 7090ace: refs #4126 escape html attributes

@tsteur
Copy link
Member

tsteur commented Oct 23, 2013

In 0550fb1: refs #4126 differentiate between user and system settings to make a plugin developers live as easy and as secure as possible, add automatically validator in case field options are set, for security allow only names that are alNum

@tsteur
Copy link
Member

tsteur commented Oct 23, 2013

In 4af4d04: refs #4126 for security remove settings in case a user is deleted or a plugin installed, needs to be tested

@tsteur
Copy link
Member

tsteur commented Oct 23, 2013

In 3ded6de: refs #4126 added possibility to define introductions, display inline help

@tsteur
Copy link
Member

tsteur commented Oct 23, 2013

In 7bc0b87: refs #4126 fix remove user settings did not work

@tsteur
Copy link
Member

tsteur commented Oct 23, 2013

In 0abe2b8: refs #4126 refactored plugin settings to work with User and System setting data objects, the plugin settings does not know anything abotu User/System settings so it is possible to add different kind of settings in the future. Also added nonce when saving settings

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In e8456f5: refs #4126 added some documentation and removed some unused methods

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In 29dbc73: refs #4126 do not display a default value in case we are displaying a checkbox, not needed here

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In ff25602: refs #4126 display a list of plugins at the beginning of the plugin settings page and explain the user is going to change 3rd party settings

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In 1297f81: refs #4126 display a link to plugin settings page from plugins and themes page as well as after activating a plugin

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In 48e9a1b: refs #4126 allow only to change the settings for activated plugins

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In 0785060: refs #4126 added example plugin for settings

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In 79b3957: refs #4126 added a command to generate plugin settings

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In 5c5135d: refs #4126 fix plugin settings not displayed for regular users

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In 52e8a0d: refs #4126 added more example, handle type array and field multi select correct, code cleanup

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In a24ff91: refs #4126 invalidate token only in case of success, otherwise it is not possible to correct an invalid number

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In ccf26a7: refs #4126 translate messages that can be displayed to the user

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In cd5a5ec: refs #4126 moved inline css to less files

@tsteur
Copy link
Member

tsteur commented Oct 24, 2013

In 0379e1e: refs #4126 coding style skip

@tsteur
Copy link
Member

tsteur commented Oct 25, 2013

In d467c9a: refs #4126 added some tests, fixed some bugs and moved some methods where they belong to not have a circular dependency

@tsteur
Copy link
Member

tsteur commented Oct 25, 2013

In ac87e01: refs #4126 added another test to make sure user settings do not overwrite each other

@tsteur
Copy link
Member

tsteur commented Oct 25, 2013

In ab66ccb: refs #4126 make sure a user cannot read/change settings of another user

sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
…o make a plugin developers live as easy and as secure as possible, add automatically validator in case field options are set, for security allow only names that are alNum
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
…eleted or a plugin installed, needs to be tested
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
… System setting data objects, the plugin settings does not know anything abotu User/System settings so it is possible to add different kind of settings in the future. Also added nonce when saving settings
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
…e plugin settings page and explain the user is going to change 3rd party settings
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
…ins and themes page as well as after activating a plugin
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
…ise it is not possible to correct an invalid number
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
… methods where they belong to not have a circular dependency
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical.
Projects
None yet
Development

No branches or pull requests

3 participants