Page specific roles on Wordpress - wordpress

We are a College of Higher Education that offers a range of undergraduate, postgraduate and short courses to individuals both in the UK and oversees. We want to empower programme leaders and other staff members to have control over the content on the pages that are relevant to their positions.
For example, for the Bachelor of Science in Business Studies page, we want the programme leader to ONLY have access to this page and to be able to edit the content. For the Campus Ministries page, we want the Chaplain to ONLY have access to this page and to be able to edit the content. When editing, they need to be able to add pictures, writing, upload files, etc.
However, we want there to be a stage whereby when an edit is made, it doesn't go live straight away but needs to be approved by an admin. The admin needs to be notified as soon as the edit is made and he/she needs to be able to approve/disapprove or make edits to what the programme leader did before approving. Eg. if the Bachelor of Science in Business Studies programme leader adds a new picture, the admin needs to be notified. If he sees that it's a good addition but a wrong picture, then the admin needs to have access to change the photo and then approve the updated changes.
Just to recap, this is the workflow I'm aiming for:
Editors can only edit only pages asigned to them
Editors can save the new content but not publish it
Admin is notified to approve the changes (or make any edits, if necessary)
Any suggestions?

There are plugins available to allow granular control over what a user can and cannot do, but out of the box it is not possible with WordPress.
Adding the edit_pages capability to the contributor role using the members plugin gets it pretty close, but not quite where you need to go.
Certainly possible, but would take some tinkering by a professional to get it all right and not open up security holes in your permissions setup.

Related

How do I handle "User Data Collection Acknowledgement" in Google Analytics

Google Analytics as an "I acknowledge" button under Admin/Property/Data Settings/Data Collection.
The text under it reads: "I acknowledge that I have the necessary privacy disclosures and rights from my end users for the collection and processing of their data, including the association of such data with the visitation information Google Analytics collects from my site and/or app property."
I can't find any explanation of what the necessary privacy disclosures are or what rights I need to get from end users.
What are the disclosures? What are the rights?
Any mention of the button outside of Google only says to simply click it.
Do I need to show users a website popup that they have to agree to?
Do I need put a tiny notice at the bottom of the website?
Do I need to bury legalese deeply inside a terms of use page that nobody reads?
Is this a dirty little secret where Google really needed permission, but they trust that site owners will simply click the button and take culpability for not actually asking the end users?

What framework to use for a responsive private website that has individual areas?

A group of business owners have asked me to create a responsive website just for them (public-facing page is login page). They want to be able to login and each have their own individual area which will show their business location and information about their business. They have recently tested doing a survey about their business environment, and they liked it and want each survey result presented in their private area too. Note, each owner will not see the private information of other owners. However, they also want a shared area with resources relevant for their industry (e.g. latest regulations, relevant industry PPTs) which they all can see (again, not public facing).
My question is, what is the best framework for making this website, which will also look ok on mobile? Previously I've made public facing websites with Elementor and WordPress - which meet the 'responsive website' requirements and for which I can envisage setting up the shared resource area - but what to use for login and creating individual areas?
Ideally after a business owner logs in they will have a personalized dashboard with their business information, and links to their page with survey results, location map etc. However, everyone will have the same index, e.g. Homepage (individualized dashboard), Survey Results (which will only show their results), Resources (everyone will see the same thing), Newsletter (they all see the same one).
I have used a free online form maker and made a digital version of the survey for them already, which automatically loads the data to a Google Sheet and then I split results in chart form to individual sheets with per person viewing permission. I have each owner's business location data ready in Google Maps. All these items I can easily embed into a page - once I have a framework setup for these private areas.
There are only about 18 business owners so it isn't a lot. I looked at using the WordPress inbuilt page password function to do this but it isn't working on most browsers for me, and I found many others encountered this same issue. I've looked at "WordPress client portal" plugin (uses password protected categories), WordPress Client Portal Plugin from SuiteDash (has the functionality but it is very very slow), ClientPortal (I can't find any option to try this plugin), and WP Customer Area (this seems great, but I found it too difficult to use even though it is free. I realize maybe my understanding isn't good enough - but I can't find good guides in English for it).
I also found some other "membership" type plugins, but they were relevant for providing customers with paid content at a tier level. I.e., you login and if you pay for "S" tier then you get access to that content. There is no paid content for the website that these owners want.
Appreciate any advice anyone may have on a suitable framework. I don't mind paying for something that fits these needs! Thanks for your help.

Is there a way to identify the reasons that led a user to abandon a journey inside an app in GoogleAnalytics/Data Studio?

I'm working on an app that, according to user feedback, has a high frequency of errors on the login screen. I set up a dashboard in Data Studio to check the volume of users leaving the journey at the login screen and a little later. I can create a segment in Google Analytics to identify how many users accessed the app's Home, how many users made it through the Login screen, and how many successfully ended the journey. Of course, many users "get lost along the way", but I would like to know why these users don't finish the journey and specifically how many abandon the journey due to an app error.
Is there a way to identify the reasons that led a user to abandon a journey inside an app in Google Analytics/Data Studio?
loot at hotjar https://www.hotjar.com/, im not affiliated, a front end dev (also systems admin) just showcased it for us and I really liked it! There are free alternatives, Matomo looked nifty.
It records the users mouse and typing events purely inside your page (no bookmarks or the address box in the browser for example, those are private).
It creates a heat-map for how far people scroll the page, what percent get how far, a heat map for clicks, but also user "stories" following a screen recording of each visitor. including mouse trace, where they seemed to get confused, sometimes you can see people are bored and click on things just for no reason lol. pretty fun! hope it helps

Show user (role) specific content

I'm working on a site which is going to be used by different schools my company that is working with. A school will have a specific user account and I want to be able to provide school specific content that will only be visible for the logged in school (pdf:s etc).
I've been looking around but haven't found a straightforward solution for this yet (is there even one?). So, what is the best way of doing this?
First of all you have to create a custom role with certain capabilities with the add_role() function and then show content based on the capabilities the current user has with the function current_user_can() you didn't mention if the content will be in the backend or frontend but the principle is the same.
Edit:
Also this plugin seems to cover what you need link

Personalized protected frontend content on a "per User" base in Wordpress

For a current project i need to provide some of the client's clients (you go it? =) some kind of protected frontend content area. This area should hold protected content on a "per User"-base.
For example: Tom from (lets call the company EXCORP) wants to provide User A with a document (PDF) and some Text (HTML-Content). But(!) User B would get a totally different document and maybe some more Text. User C would possibly not get a document at all.
This Game goes on for circa another 150 users or so. So going by "default" roles doesn't work here, since i would have to create one user-role per user and that would definitely overkill it. And all the Membership Plugins i've found do not work that way.
Just to make that clear: This thing only goes one way. Meaning, Client-Supporter Tom (in example above) needs to provide all the clients some personalised information. Tom would be a Backend-User. Clients do not need to provide eachother some files or information. Just from one Backend-User to all the different Frontend-Users.
So my question clearly spoken: Is there a way to protect frontend content on a "per User"-base using Wordpress? It doesn't matter to me if I get it to work the "hacky" way, or by a premium/free plugin, as long as it is safe (I will use SSL of course). I just don't want to develop a plugin from scratch, though my client would never speak the budget to pay for it!
There are a lot of themes outhere that offer front end user dashboard, you can use one of thoes themes to have everything set up (user redirected to his/hers dashboard at login).
At this point you have many ways to acchive what you need, if it's not too much trobule to remember what user received what info you can simply add a user-box in post-creation/edit backend where Tom can create a post, attach files to it and asign it to another user(throw the user box).
Publishing the post as private and changing the author from Tom to the end-user should make your work much more easier.
P.S. Check classifieds themes to see how backend works the main difference between thoes and what you'll have to achieve is that the post is craeted by Tom but asigned to the user (very easy to do) and that the post MUST BE PRIVATE!!! don't forget this if the data is sensible!
I realize this is an old question, but thought this might help others. You could try using wp-document-revisions along with the members plugin to achieve what you are looking for.
Good luck.

Resources