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

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.

Related

Page specific roles on 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.

Adopt another site's Open Graph properties

I'm implementing the Open Graph protocol on my site, and I'm curious if it is possible to "adopt" another site's Open Graph properties within my site's web pages.
For example, suppose a user makes a post to my site that contains a link to an article (such as the New York Times). They then share that post on platforms such as Facebook and Twitter, and I want the preview image on those platforms to contain the Open Graph image from the New York Times article web page.
Is this possible?
It's possible, when the user validates the post, you have to check the links inside to target the link of NYT. Then you have to parse yourself the page of the NYT to return the content you want. And finally you use the informations of the OG Tags of the NYT's page.
I think it's a heavy process, and keep in mind that Google penalize heavily the duplicate content from the others websites.

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.

Spotify integration with Facebook OpenGraph

I'm trying to reproduce some cool things of the Spotify opengraph integration but there is one thing I understand how they do :
when you go on your spotify app profile (mine : https://www.facebook.com/antonio.mendespinto/music) you can see that the musician links points to the facebook page and not the spotify web pages (http://open.spotify.com/artist/7CajNmpbOovFoOoasH2HaY). How do they do that.
Also, is it this that lets Facebook to do behind the scenes the nice box in the artists page https://www.facebook.com/ogp/464730384564/ on the top showing friends interactions with the artist and spotify friend interactions.
Everything seems to point to the facebook pages instead of the spotify pages. How do they do that?
Yes, Spotify uses Facebook Open Graph Music, a predefined set of objects and properties for music.
https://developers.facebook.com/docs/opengraph/music/
Then I guess the Spotify account is marked in a way that makes this available. It is possible that this is what makes Facebook show the nice box in the artist page.
I work at Spotify, but I am not really sure about all the details of this. I know other music streaming services also use this, but I am not sure if it still requires a special account. It did in the beginning. Spotify was one of the first users of Open Graph.
The destination of the links inside Open Graph artifacts are left to the discretion of the developer. Say you're writing an app that lets people share restaurant tips. When you post a "Tip" object to OG, you naturally would include a link to the restaurant. As the app developer, you could choose the restaurant's web page, its Yelp page, its OpenTable page, your own representation of the restaurant page on your web site or any other web page on the internets. :-)
Being faced with a similar situation, I chose to use my own application's web page representing a restaurant. I experimented with using the restaurant's Facebook page (which I had to look up using the Graph API for search) as well as a third-party provider of restaurant information, e.g. Yelp. Using the Facebook page, my app felt more tightly integrated with Facebook, but I didn't get the luxury of having my own Facebook app metadata. Because I chose to link to my own restaurant page, I was able to set and retrieve whatever metadata I wanted, which really came in handy later when I started configuring aggregations.
I don't know how Spotify data surfaces on artist pages nor do I know how they managed to shoehorn song AND album objects into each listen post on OpenGraph, e.g.: "Chris listened to Torn and Frayed on Exile on Main Street." I could only ever get ONE object linked to an action, e.g. "Chris left a tip on California Pizza Kitchen." My assumption is that since they were one of the (if not the only) Facebook Open Graph launch partner, they probably had some inside help.

Resources