Skip Navigation

[Resolved] Layouts editing, features, and client access question

This support ticket is created 7 years, 11 months ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Hong_Kong (GMT+08:00)

This topic contains 5 replies, has 3 voices.

Last updated by Mohammed 7 years, 10 months ago.

Assisted by: Luo Yang.

Author
Posts
#393434

Hello,

I own a web development company. I am trying to figure out how to make Toolset a major part of my workflow. I have built a couple of website with Toolset. I am getting the hang of where everything is and what everything does. As I move through the process of building my websites using Toolset, a few questions/concerns have presented themselves. I hope you can shed some light on these topics:

1.) First, I am enjoying the power Layouts has given me in developing my layouts faster. This has been a time saver for me. I redesigned and developed my company's website with Toolset. It was great! The second website I have developed was for a client. This is where my concerns lie. My client is requesting editing access.

Normally, this wouldn't be a problem, as most of the editing would be done in the page/post, or a custom post type editor, or in a widget. I developed the website using Layouts, and many of the sections of the website are in Layout cells, instead of widgets. This means that in order for my client to have editing access to this content, they will have to go into the Layout for a particular pages/section, and edit from the Layout.

I am worries about this for a few reasons ... if my client goes into the Layout section, they can potentially mess a lot of stuff up that I worked really hard on. They can decide that they want to play around, dragging stuff here and there ... it can make more work for me that I don't want or need.

Secondly, Layouts, and Toolset as a whole can be complex. There are things that I am still trying to fine tune in my own workflow. I would prefer my client not be presented with another layer of complexity that they don't need. I'd rather have a way to give them little sections of editable content that are confined to a single item/task, without them seeing EVERYTHING.

Another concern is more about keeping up appearances than something technical ... Toolset is a great development tool, and it makes my job really easy, but I don't necessarily want my clients to "see behind the curtain", so to speak. Do you know what I mean?

... This is all a long way of asking my question ... can you give me any suggestion on how to address any of these concerns? How much control do I have with giving my clients ONLY the access I want them to have, as opposed to the whole crazy picture? Can I give a client access to only a small portion of a Layout? If not, is there a way to still have the editing take place in the WordPress widgets section, and be able to call the widget into a cell in Layouts, as opposed to actually having the widget live in Layouts?

Please be as specific with any solutions as you can.

2.) My second question is more about the future of Toolset. I was wondering if you have any plans of developing Layouts to give the user the option of editing either in the back-end OR the front-end? It would be really great for Layouts to be used like this:

You have a developer, and you have their client ... it would be nice if a developer could use Layouts in the back-end to create a whole bunch of layouts, to design them, to rearrange them, to place all of the content cells in the correct places, to add IDs and classes, etc. THEN, when the website is launched, and control is given to a client, the client never sees the back-end editor. Instead, the developer clicks a switch (or perhaps the Access plugin is used) to make the Layouts plugin push the editor to the front-end of the website, so when a client is logged in, they can go to any page/section, and edit the website from the front-end.

This can be HUGE!

Do you have any plans on taking Layouts in a direction like this? That would be AMAZING.

3.) Are there ways to add things to Access that I want to give/remove access to a client? Currently, there are a set of things that Access controls. What if the thing I want to give access to isn't in Access? Can I easily add it?

---

I think that is all for now. Like I said ... I am trying to figure out the best ways to take advantage of Toolset for both internal use (building website for my clients), but also not giving up too much control. I can see things getting out of control, if a client has access to too many things.

K.I.S.S. is my favorite concept (keep it simple stupid, or stupid simple) ... I like to give my clients ONLY the stuff they need, so they don't get overwhelmed. As we all know, most clients aren't very savvy, and I don't want them to have to get another degree in order to edit their websites.

Thanks so much for your time!!

#393628

Dear Michael,

Q1) Yes, it is possible within Toolset, see our document:
Access Control for Contents Inside Page Content
https://toolset.com/documentation/user-guides/access-control-texts-inside-page-content/

For example below test site,
hidden link
user/pass: xgren/111111

your client can only modify the content in the post body, which is member only:
hidden link

create a layout with a content template cell:

[toolset_access role="Administrator,Editor,Author,Contributor,Subscriber" operator="allow"]
[wpv-post-body view_template='None']
[/toolset_access]

Then logged in user can see the content of post body

Q2) There isn't such a build-in feature within Toolset, but there is a feature "Embedded Toolset", you can embed Toolset plugins into your custom theme or plugin, then your client will not be able to modify the layouts settings, when you transfer the website to your client, you can install the Layouts plugin, your clients will be able to customize the layouts in wordpress admin side.
https://toolset.com/documentation/embedded-toolset/

Q3) Could you describe more detail for the question?
Are you going to add custom Privileges under Access control, if it is, please check our document:
https://toolset.com/documentation/user-guides/letting-access-control-privileges-for-other-plugins/
Hope it help

#393712

Thanks for your answer. I think you may have been confused with my first question.

I understand what you mean with hiding content, but I mean only giving access to certain Layout Cells.

Example: I have a full Layout, and it has a bunch of rows and columns ... these rows and columns have cells in them, like the YouTube Video cell, and Single Widget cells, and Menu cells, etc...

I don't want my client to have to go into the entire Layout to edit the website. I don't want this for a number of reasons:

1.) I don't want them to play around with the Layout and drag things all over the place, and break the website.

2.) Layouts gives a developer a lot of control, like putting IDs and Classes, and choosing the type of row, and writing a combination of plain text, and code ... and a lot more that a client won't understand.

3.) From a developer and business owner perspective, Toolset gives me great control over my projects, and allows me to develop powerful websites faster. However, I don't necessarily want my clients to have control over the same things I have control over. This is more for simplicity, than to keep things from my clients. Most of my clients are business owners, and I want them to be able to edit their websites quickly, and get back to running their business.

All of this said, my original question was how can I use Layouts to build the website, but not have my clients use Layouts to edit their website?

I know this may seem like a strange question to you. I have a lot of experience with using complex plugins to build websites, and when I finally give control to my clients, they get so confused at how to use their website, that they are unsatisfied. I am trying to figure out how I can use Layouts (and all of Toolset) to build the websites, and then give my clients a login to WordPress that doesn't show the Toolset plugins, but only has editable sections that they can go to, edit, and leave.

I hope I am making sense.

The only thing I can think of is to somehow have the editable sections in the widget area of WordPress, and then somehow add those widgets to Layouts?

Or, is there a way to lock the editing of the layout itself (such as drag and drop functionality, adding/deleting layouts, editing rows, etc.), but to be able to edit Layout cells?

Also, is there a way to lock some Layout cells, and leave others open to edit?

This level of control for me would be very useful, as I am sure others would also like.

Please let me know if there is any way to get this done, or possibly add it to your list of future developments?

Thanks!!

#394093

Thanks for the details, there isn't such a feature within Layouts plugin, I put it into our to-do list as a feature request, our developers will take care of it. but there isn't any ETA for it.

#394317

Sounds good.

#395790

Dear Michael,

I’m Mohammed Toolset support second tier.

Unfortunately, this feature request will not be implemented in the meaning time.

But we've prepared a snippet of code that will help you to control the different layouts cells in the frontend and backend depending on functions from our API.

The following code will prevent the subscriber user group to access the widget, menu and video cells in the admin dashboard.

if(is_admin()&&current_user_can( 'subscriber' ))
add_action('init', 'prevent_user_to_edit_cells_of_type',8);

function prevent_user_to_edit_cells_of_type(){
		remove_ddl_support('widget-cell');
		remove_ddl_support('video-cell');
		remove_ddl_support('menu-cell');

If you want to prevent a specific user with login = "admin" to access these cells, you will need to change the code to be like the following:

if(is_admin())
add_action('init', 'prevent_user_to_edit_cells_of_type',8);

function prevent_user_to_edit_cells_of_type(){
	$current_user = wp_get_current_user();
	if( $current_user->user_login === 'admin' ){
		remove_ddl_support('widget-cell');
		remove_ddl_support('video-cell');
		remove_ddl_support('menu-cell');
	}
}

Just change the "admin" in the previous code to the user login you want.

Thanks and regards.

This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.