Support » Plugin: Namaste! LMS » Lesson amd module names

  • I am just learning to use your plugin.

    I have noticed that when you open an individual lesson page, the path doesn’t include the course name, but rather all lessons, and when you get to that directory (through breadcrumbs, for example), you get a list of all available lessons. At the moment, I only have 3, under one single course. But does this mean that later, this page will list all available lessons, regardless of which course they belong to? If I have hundreds of lessons in a dozen courses, will this page list all of them in a simple list?

    I would actually expect a directory path like this:

    But it doesn’t seem to work like that – is that correct?

    It seems to be the same with modules. They are not under a course path, but under a “modules” path – will it again list all available modules I have in any course, regardless of whether they are related or not?

    Related to this is the question: is it consequently impossible to have two modules with the same name within different courses? (e.g. a module called “Introduction” or “final test” etc. under each course)

    Thank you.

Viewing 7 replies - 1 through 7 (of 7 total)
  • Thread Starter fcsab


    Just a quick note to add: the breadcrumbs in my theme definitely suggest a problem with this: an individual lesson page’s breadcrumb only includes lessons (which lists all lessons) after “home”, and a module page’s breadcrumb only includes “modules” – but not the course name or the list of courses.

    Do you have tips on how to solve this problem?

    The permalink / url displayed in your browser does not reflect the relationships between courses / modules / lessons. This is maintained in the course structure. So, when creating your structure, the order of creation is: Course, then Module, then Lesson. Inside each lesson you select the module to which the lesson belongs and inside each module, you select the course to which it belongs. Choices operate “upwards” meaning that you choose a course from inside a module and choose a module from inside a lesson. You cannot select “downwards”, meaning you cannot set a module from inside a course or set a lesson from inside a module.

    If you want to display ‘breadcrumbs’ across the top of your lesson, you can insert a combination of HTML and Namaste shortcodes as follows:

    Course Catalog » [namaste-course-link] » [namaste-module-link] » {post-title}

    This will create a clickable line like “Course Catalog » Course Name » Module Name » Lesson Name” as a breadcrumbs trail. I may not be precise about the syntax here as I use Elementor Page Builder to build my pages. You can also substitute the ‘chevrons’ with whatever separator character works for you.

    The Namaste shortcode [namaste-course-lessons] will display ONLY the lessons related to that course, NOT all of the lessons in your LMS. The relationship between course / module / lesson is maintained although, sadly, the one thing Namaste does not provide is a way to properly display a hierarchy of Course / Modules / Lessons as a clickable column. Almost every other LMS provides this feature but as yet Namaste does not do so.

    Thread Starter fcsab


    Thank you.
    As for the breadcrumbs, your suggestion works, but it means I would have to disable breadcrumbs on my entire site, so that they should not display “modules” and “lessons”, because there is no way I can disable it on specific pages. But this is only one of the problems I am facing.

    Also, I know that [namaste-course-lessons] will display only relevant lessons, but that is not related to my problem. It is not that I want to display relevant lessons for a given course or module, but the contrary: I want to avoid displaying all existing lessons or modules on a given page on the website.

    I have now tried it a little more, and this is what I have found.

    1. Indeed, the …/lessons/ url WILL list all existing lessons regardless of which course or module they belong to. The …/modules/ url (or whatever you set it to in the setting) behaves exactly the same way, listing all modules regardless of what course they belong to.

    Not only that, there is this strange text displayed on top of the page:
    “This will create a new module in your Namaste! LMS.” and
    “This will create a new lesson in your Namaste! LMS.” respectively

    I have googled this text, and there are quite a lot of search results on other websites – 192 for the lesson one. You can clearly see, that on those websites, probably ALL existing lessons are listed – I only have 4 at the moment, and all four are listed, although they belong to two different courses.

    Even if I don’t create a link (through breadcrumbs) to /modules and /lessons, Google will discover these pages – see above -, and anyway, some users will simply try to get to /lessons or /modules manually. Although the Google results is a little more annoying.

    I don’t think this is either expected or good. Displaying all available (ie. existing) courses and all available modules in bulk is definitely not a good idea in an LMS system.

    Perhaps you should work on a solution for this.

    Thank you.

    • This reply was modified 1 year, 4 months ago by fcsab.

    To start, just so we’re clear, I am a user of Namaste just like you, contributing to this forum. I am not from Namaste itself so I cannot action requests you may make. However, I think it’s important to understand what problems belong to Namaste and which ones are WordPress.
    Firstly, regarding breadcrumbs, it is not true that you have to disable them for the rest of your site. There are three main parts to my website and each has its own breadcrumb trails. How you achieve this is through Templates in your theme, which are assigned to post types. So, Namaste uses custom post types for courses, modules and lessons, for which their LMS theme (if you are using it) will have custom templates to match. If you are using a third-party theme and want to change the templates (of have custom templates), you will have to customise the theme yourself if you’re a programmer. If, like me, you’re not a programmer, then you will have to use a Page Builder that supports template building. I use Elementor Pro for this (the free version does not provide this function) but there are others.
    Secondly, if I understand correctly what you are saying, when you say you can see “all lessons”, I suspect what you are accessing is the courses / modules / lessons archive pages. Everything you create or add in WordPress is given a unique URL and is grouped within archive pages. This is how WordPress works and there is nothing Namaste or any other vendor can do to change this. What you have to do therefore is lock down or otherwise control access to these archives and this leads me to my last point: security.
    To maintain control over your LMS and keep users out of the backend of WordPress, you will need to implement various levels of security. At a basic level, the simplest way is through Namaste itself, where you will specify that only logged-in users (and better still specific users within that) have access to courses. That way, anyone trying to access your courses through the URL outside of your LMS will be told they have to be logged in. This only goes some way towards protecting your site. Even premier LMS plugins like LearnDash will let your users get to the backend of WordPress unless you take action to stop it. The best way to stop this is to use a membership plugin or similar which hides the backend and uses front-end forms/pages for user login / registration / accounts. Other methods include ‘security’ plugins to lock-down your file structure and stop people accessing this directly, and ‘redirection’ plugins that intercept URL requests and redirect them elsewhere.
    In addition, if you are uploading files to your site for users to download, they are most likely accessible outside of your website through their direct URL or by direct access to the WordPress media library so consider using a ‘protect uploads’ plugin which will obfuscate your URL and hide your files elsewhere. Namaste itself has a security for uploaded files (assignments etc) but since I don’t use this, I can’t comment. Perhaps Namaste will.
    Lastly, regarding Google, the whole point of having a website is for people to find it so you need Google. However, you can use things like SEO plugins which not only boost your Google index but also let you hide certain pages from being indexed. In any event, even if your pages (or more precisely your URL’s) are found, if they are secured, they cannot be accessed.
    Hoe this helps. Hood luck with your LMS.

    Plugin Author prasunsen


    Thanks for your very valuable input, Ian. We highly appreciate user contributions to the discussions. I can confirm what you said.

    Thread Starter fcsab


    Ianmp, I indeed thought you were part of the plugin team.

    While I understand you are trying to help, this is a support forum, rather than a discussion forum, which means that users are expecting an answer or a reply from the plugin authors.

    I can see they have replied to you, but failed to reply to me.

    Which is a pity, and my issues are certainly not solved with your input.

    Plugin Author prasunsen


    Actually this is a community forum of an open source software and like other open source developers we welcome everyone who is willing to help us with the enormous work load.
    I can only confirm everything that Ian said. At this point there is no way to hide the lesson titles, however all you see is “You need to be logged in” text so no one who is not enrolled can see the contents.
    The course page contents is meant to be public. It’s an advertisement of your course. If you don’t want this you can use the following shortcode to specify different content for users and non-logged in visitors including search engines:

    “The shortcode [namaste-condition] can be used to display conditional content to logged in or non-logged in users like this: [namaste-condition is_enrolled=1]Content enrolled users[/namaste-condition] [namaste-condition is_enrolled=0]Content for not enrolled users[/namaste-condition].

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Lesson amd module names’ is closed to new replies.