It is easy to show different WYSIWYG options based on a users role. All you need to do is to write a plugin that overrides the file:
/dotCMS/html/portlet/ext/contentlet/field/tiny_mce_default.jsp
to check a users role and show different WYSIWYG options based upon that. Below and attached are examples of showing an advanced WYSIWYG to CMS Admins and a simple WYSIWYG to users.
TinyMCE is super configurable - we recommend going to Moxiecode's site to see all the config and options available.
<%@page import="com.dotmarketing.business.Role"%> <%@page import="com.dotmarketing.business.APILocator"%> <%@page import="com.dotcms.enterprise.LicenseUtil"%> <%@page import="com.dotmarketing.business.web.WebAPILocator"%> <%@page import="com.dotmarketing.portlets.files.model.File"%> <%@page import="com.dotmarketing.beans.Host"%> <%@page import="com.dotmarketing.util.Config"%> <%@page import="com.dotmarketing.util.UtilMethods"%> <%@page import="com.dotmarketing.util.InodeUtils"%> <%@page import="com.liferay.portal.model.User"%> <% User userb= com.liferay.portal.util.PortalUtil.getUser(request); %> <%Role adminRole =APILocator.getRoleAPI().loadCMSAdminRole(); %> <%-- Only show advanced WYSIWYG to Admins --%> <%if(APILocator.getRoleAPI().doesUserHaveRole(userb, adminRole)){ %> var tinyMCEProps = { mode : "exact", elements : "initwysiwyg", theme : "advanced", language:'<%= userb.getLanguageId().substring(0,2) %>', plugins : "validation,table,advhr,advimage,advlink,preview,searchreplace,print,paste,directionality,fullscreen,inlinepopups,style,dotimageclipboard,safari,spellchecker,lists", spellchecker_languages : "+English=en_US,Espa�����_ol=es_ES", spellchecker_rpc_url : "/servlets/jmyspell-spellchecker", theme_advanced_buttons1 : "cut,copy,paste,pasteword,separator,undo,redo,separator,image,dotimageclipboard,anchor,link,unlink,separator,spellchecker<%= LicenseUtil.getLevel()>=200 ? ",validation":"" %>,", theme_advanced_buttons2 : "bold,italic,underline,strikethrough,separator,formatselect,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,outdent,indent,hr,charmap,separator,styleselect,separator,fullscreen,", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_blockformats : "p,h1,h2,h3,h4,h5,h6,blockquote,pre,code,samp", theme_advanced_statusbar_location : "bottom", paste_use_dialog : "true", gecko_spellcheck : "true", extended_valid_elements : "span[!class]", theme_advanced_resizing : "true", theme_advanced_resize_horizontal : "true", theme_advanced_link_targets : "", paste_auto_cleanup_on_paste : "true", paste_strip_class_attributes : "all", convert_urls : "true", //onchange_callback : "markAsEdited", cleanup : "true", urlconverter_callback : "cmsURLConverter", verify_css_classes : "false", content_css : "<%= Config.getStringProperty("WYSIWYG_CSS", "/html/css/tiny_mce.css")%>", trim_span_elements : false, apply_source_formatting : true, valid_elements : "*[*]", file_browser_callback : "cmsFileBrowser", <% if(Config.getBooleanProperty("CONTENT_ESCAPE_HTML_TEXT",true)) { %> entity_encoding : "named", <% } else { %> entity_encoding : "raw", <% } %> entities: "160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro", relative_urls : true, document_base_url : "/" }; <%-- else show theme=simple --%> <% }else{%> var tinyMCEProps = { mode : "exact", elements : "initwysiwyg", theme : "simple", language:'<%= userb.getLanguageId().substring(0,2) %>', paste_use_dialog : "true", gecko_spellcheck : "true", extended_valid_elements : "span[!class]", paste_auto_cleanup_on_paste : "true", paste_strip_class_attributes : "all", convert_urls : "true", cleanup : "true", urlconverter_callback : "cmsURLConverter", verify_css_classes : "false", content_css : "<%= Config.getStringProperty("WYSIWYG_CSS", "/html/css/tiny_mce.css")%>", trim_span_elements : false, apply_source_formatting : true, valid_elements : "*[*]", file_browser_callback : "cmsFileBrowser", <% if(Config.getBooleanProperty("CONTENT_ESCAPE_HTML_TEXT",true)) { %> entity_encoding : "named", <% } else { %> entity_encoding : "raw", <% } %> entities: "160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro", relative_urls : true, document_base_url : "/" } <%} %>