CoursePress, Membership2, MultiSite, and New Blog Templates

I have movies and tests for college professors to use to build online media labs.

I was advised previously that to limit students to a given professor, I'd need to use multisite and create a new site for each professor, setting up New Blog Template to have all the settings for Membership 2 and CoursePress preset.

In my ideal setup, the professor could create a copy of the course for each new semester, giving it new dates, and could modify the tests to suit his needs—all without being able to change or access the original content.

I am seeing that this is not possible, so my next option would be to protect the original content with Membership 2 through the multisite and give the professor access to the original tests, as well as full access to create and modify them as new courses. My question is whether we can ensure that the new courses he creates will automatically fall within the protection of Membership 2, accessible to his students only through a paid membership (payment to us, not the professors) that includes the original content.

Thanks.

  • Sajid

    Hi @rc8,
    Hope you are doing good today :slight_smile:

    When you create new content you must protect that content from Membership 2 > Protection rules manually. It will not protected automatically.

    However, its a nice feature request so I am moving it to features and feedback section from where it can be considered for development to protect group of custom post types or within a specific group. But moving in features and feedback section does not guarantee that it will be considered for development for sure. It depends on number of +1's it will get from other members of community.

    Take care and have a nice day :slight_smile:
    Cheers, Sajid

  • Robert

    Thanks.

    Might there be a way to use the menu protection of Membership 2 to protect the new content automatically created by the professor? I am not quite sure how the menu in CoursePress works, but if the menu says something like "My courses," and serves as a search for all courses, then might all searches for courses—including all newly created courses—then be protected for the student logging in?

    Thanks.

  • Ivan Shulev

    Hey Robert,

    I hope you are feeling great!

    I am not quite sure what you mean, but if you want to protect all courses, you could go to WP Admin > Membership 2 > Protection Rules and set a membership restriction for the course, module and unit custom post types - select the types like so http://snag.gy/NX0uI.jpg and add the restrictions from the Bulk Actions dropdown like so http://snag.gy/SeQ3R.jpg

    This way the default listing of all courses by CoursePress (/courses/) is protected as well as individual courses and their modules and units.

    Keep in mind that you would have to add membership rules on every teacher site.

    I hope this helps and I wish you an awesome day ahead!

    Ivan

    • Robert

      Hi Ivan,

      Thank you for your response.

      I am actually trying to answer the question of whether I can have a professor create a course that would then automatically be protected in Membership 2.

      So there are three entities: My company, professors, and students. I have two types of content: films and online tests about those films.

      In our use case, we would prefer to to have my company create a template course that the professors could duplicate (to create a course for each semester) without changing or having access to the original materials, but able to add their own units.

      I was advised that this is not possible but that I could use Multisite and Blog Template to create a scenario where my company would create a site for each professor. In that scenario, I would separate the films from the tests and protect them granularly with Membership 2 so that they are protected from both professors and students; I would also protect the base test, but give access to the professor to create, modify, and do whatever he wanted to do with the tests. However, I want the tests the professor creates to be protected automatically.

      I was advised that this was not possible and that they would have to be manually protected, which my company could not do since we would not know when the professor created a new class. So my question was about the automatic protection for newly-created courses by the professor. And because I don't know how the protection rules apply to menus (It seems like you can protect an entire menu option) that if a professor creates a new course it could be automatically protected if we protect the menu "My Courses".

      So after creating a template file in which the films are granularly protected and courses menu is protected; then after creating a site for the professor in Multisite by using Blog Template; then after the professor creates a new course by duplicating the course and adding his own units; then when the students log in, would the students have to pay (my company) to have access to the newly created courses by the professor?

  • Ivan Shulev

    Hey Robert,

    Adding the above rules and also including the film post type will ensure that no content is available without payment (to your company if that is what you have set in the payments section). Both old and new content will be restricted.

    Another option you have:

    You can enable the URL protection addon. You can do that by going to WP Admin > Membership 2 > Add-ons and Enable URL Protection - http://snag.gy/nZb8n.jpg

    Then you can add rules for the "/courses/" URL, which will restrict all access to yourdomain.com/courses/ and everything after that (e.g. yourdomain.com/courses/course-1). I am not sure how you set up the films, but it could be done the same way.

    This will restrict newly added content as well as old content.

    Another option you have is Multisite protection.

    You can enable that by pasting the following line of code in your wp-config.php:

    define( 'MS_PROTECT_NETWORK', true );

    CAUTION!
    As stated in the docs (https://premium.wpmudev.org/project/membership/#product-usage), adding the above line would mean you have to add your rules and memberships again. This time it will be for the whole network.

    You can use the aforementioned add-on (URL Protection) to restrict access on all of your websites. So "site1.yourdomain.com/courses" will be protected, as well as "site2.yourdomain.com/courses" (or yourdomain.com/site1/courses and yourdomain.com/site2/courses depending on your configuration), without you having to do any configuration on site2 when it is created.

    I hope this is helpful and I wish you an awesome day ahead!

    Ivan

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.