How To Remove Upfront Access to the Client?

Team WPMU,

As I'm using this more and more, another concern I have is the "touchiness" of Upfront and how it would affect clients making any changes.

I've found that any adjustment using Upfront will actually throw the entire page out of whack, and requires the designer to go back and re-establish the position of elements in the various responsive setpoints. As a designer, I'm ok with doing that when I make a change (though it really is annoying after a while and should be addressed). However, clients won't be so appreciative -- they will be scared and hesitant. Again, I'm already seeing this.

In addition to alleviating the need to access Upfront for changes by re-establishing the Appearance->Widgets tab (my last comment), I would also ask that some type of "Upfront lockdown" be easily provided for everyone's overall well being.

Also, is there a more dedicated POC for these kinds of comments. Something perhaps less public than the Support forums? Upfront is still very much in beta and I don't want to cloud actual support issues with suggestions.

I like how Upfront gives me more control as a designer and theme builder. But, there are a lot of concerns here for when I turn over a site built with Upfront to an actual user. From that perspective, Upfront needs a LOT more attention. As you move forward, I think you need to give a great deal more consideration about the ramifications of this system and how it works from a user point of view. I'm happy to help with that.

  • Vaughan

    Hi @jetmac,

    Thanks again for the feedback.

    I've found that any adjustment using Upfront will actually throw the entire page out of whack, and requires the designer to go back and re-establish the position of elements in the various responsive setpoints. As a designer, I'm ok with doing that when I make a change (though it really is annoying after a while and should be addressed).

    Could you elaborate on this a bit more, some examples or steps to reproduce? This isn't something i've previously seen reported, so if it is a bug, the developers would be glad to here about it.

    With regards to the lock down, This is difficult. I suppose one way at the moment would be to create a custom role and then edit the roles so that only that custom role as the ability to use the customiser/editor. Though not an ideal solution.

    create a custom user role, and use a plugin like Admin Menu Editor Pro to hide the "Customize" menu option?

    As for hiding the "Upfront" button on the top, something like Ultimate Branding should allow for hiding that option with a bit of CSS, though hiding it per user role would most likely require a mu-plugin or custom filter in admin_head.

    I will certainly add a lock down feature to the feature requests though, maybe even if it's a define which is added to wp-config.php possibly something like;

    define('UPFRONT_LOCKDOWN', true);

    Certainly worth putting to the developers anyway

    We don't have any other POC for these type of threads i'm afraid, so it's something we'll have to deal with as they come.

    Hope this helps

  • jetmac

    Vaughn, you are a gentlemen as always.

    The main problem with responsive design and Upfront is that the individual elements of Upfront don't like to be moved. At the same time, they are extremely fluid an unable to be anchored. This combination causes problems.

    For example, at http://awdev.uwspublishing.com the front page has several code boxes in it to align books and buttons. After much trial and error, I found the best way was to use code boxes for each book, much like widgets, or even div/span. (I tried several iterations of grouping different elements, but that was much to unweildy to sustain, and extremely difficult to align in the grid). It worked out pretty well. But, if I activate Upfront to make an adjustment, the entire pattern of those 6 text boxes will scatter. Sometimes it's a small scatter, sometimes large. There is no way to "pin" them to position - -they are always fluid. Nearly any change causes a disruption to the layout that requires the boxes to be dragged back into position.

    As a result, every time I change them (recently, I changed the pictures to reflect a newly published book), I have to be sure to cycle through all of the mobile options to ensure they still are in the right position in each view. So far, 100% of the time they not in the right position and have to be reset and saved for each device view.

    I don't know why the flow is so disrupted -- but it is. Every time.

    This even happens when adjusting the sidebar. On http://wholesomelyfit.fitscribe.net each time I play with the widgets in the sidebar, the responsive views are significantly affected. Vertical spaces between widgets are added, justification/alignment is shifted, some widgets expand, some stay narrow. It's a mess, quite frankly.

    Again, as a designer, it's not a big deal -- as long as once the elements are set they could be "pinned" in position. Or, the ability to use Upfront was taken away from the end user. Preferably both.

    I can assure you, once a blogger adds a new badge to their sidebar, or adjusts the wording of their newsletter sign up and the site goes haywire in mobile view, will be the beginning of the end.

    The end user, by and large, can't be allowed to access Upfront. It will be chaos.

    End users need to be able to make adjustments in a way that does not risk the layout of the site. Upfront, but its very nature, risks the layout of the site every time it is activated.

    While I like the ability to enforce a lockdown with a code snippet like that, the problem remains that for a user to make a change in their site, they HAVE to use Upfront. So, if we lock it down without an ability for the user to make the changes/adjustments they need to make, then it's a fail.

    Subtle changes are made to sites all the time -- add a widget, fix a typo, revise some language, add a picture. There needs to be a way to accomplish this outside of Upfront.

  • Vaughan

    Hi Jetmac,

    Whilst this will not solve the issue with the responsiveness that you discuss.

    There is a filter in the plugin which can limit the editor usage to a particular user only. Just thought you might be interested in that.

    You just need to add the following function to either the theme functions.php or a mu-plugin.

    function my_upfront_single_user_limit ($perms) {
    	if (1312 !== get_current_user_id()) return array(Upfront_Permissions::DEFAULT_LEVEL => false);
    	else return $perms;
    }
    add_filter('upfront-access-permissions_map', 'my_upfront_single_user_limit');

    Where 1312 is the user_id.

    Hope this helps