Starting with the 2.0.6.1b version of the TinyMCE plugin, some new configuration options have been introduced that allow for customizing the Full Featured theme in TinyMCE. Rather than allowing for customization of the plugin on a user-by-user level, these parameters allow you to customize the Full Featured theme to include only the plugins and features you want available to each user. In most cases, this level of customization should suffice since you’ll likely only need one customized theme to cover all user’s needs.
So, here’s some info that’ll help alleviate some of the confusion on how these new parameters work. Further information about specific TinyMCE configuration options, buttons, and/or plugins are referenced in the
TinyMCE Documentation.
After you have installed the latest version of the TinyMCE plugin, go to Manage Resources and click on the Configuration tab of the TinyMCE plugin. You should see the following plugin parameters:
With the exception of the Web Theme parameter, all of the parameters correspond to a specific option of the TinyMCE configuration. Here’s a list of all the available parameters and their corresponding TinyMCE options:
Plugins = plugins
Button Row 1 = theme_advanced_buttons1
Button Row 2 = theme_advanced_buttons2
Button Row 3 = theme_advanced_buttons3
Button Row 4 = theme_advanced_buttons4
Disabled Buttons = theme_advanced_disable
Block Formats = theme_advanced_blockformats
Further information of what these options are and what they do can be found in the
TinyMCE Configuration Reference pages. Pretty much all the parameters are just comma separate values with no spaces.
To further illustrate how these options might be used, let’s look at an example. In my case, I didn’t want every available option of the default Full Featured plugin and button set; I only wanted a base set of options that would allow content editors plenty of control but without any of the options that might be harmful to the editing of content. I didn’t want any users to be able to change fonts, colors, add tables, or anything else other than just the basics. So I edited the different parameter values and came up with a simple set of options that should suffice for most users. The result was just three button rows and only a handful of plugins. Here’s what I entered in the fields:
Plugins = advimage,advlink,emotions,preview,flash,searchreplace,print,contextmenu,paste,fullscreen
Button Row 1 = newdocument,separator,bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect
Button Row 2 = cut,copy,paste,separator,search,replace,separator,pastetext,pasteword,selectall,separator,bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,flash
Button Row 3 = removeformat,visualaid,separator,sub,sup,separator,charmap,emotions,separator,print,separator,fullscreen,cleanup,help,separator,code,preview
Button Row 4 =
Disabled Buttons =
Block Formats = p,h1,h2,h3,h4,h5,h6
Noticed that I left the Button Row 4 parameter blank. By leaving it complete blank the row will not show up since nothing is assigned to it. Also, I didn’t put anything in the Disabled Buttons field. Although this field isn’t all that useful, it does serve a purpose when you want to ensure that a specific feature is blocked even if the plugin appears in the plugins field. Later on, the Disabled Buttons field will be further enhanced to allow for user-by-user blocking of buttons. As for the Block Formats field, I only wanted the use of paragraphs and header tags so changing it to reflect the use of only these tags. This automatically populates the Block Formats dropdown list in TinyMCE with the respective formats. After editing the fields with the options above, the toolbar for the Full Featured theme looks like this:
With a little reading of the
TinyMCE Documentation, these options are pretty straight-forward and easy to get a handle on. The customization they provide is just a start and I hope to have further capabilities of customizing TinyMCE on a more user-by-user level in future versions of the plugin.
If you have any further questions or comments about this topic, feel free to reply here! Till then, happy coding!
Jeff