Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-66367

Caching of templates should use a new templaterev variable

XMLWordPrintable

    • MOODLE_38_STABLE
    • MOODLE_38_STABLE
    • MDL-66367_master
    • Hide
      Test 1
      1. Log in as an admin.
      2. Visit 'Site administration' > 'Appearance' > 'Templates'.
      3. Ensure that 'Cache Templates' is checked.
      4. Visit a course.
      5. Create a forum.
      6. Add a discussion.
      7. View the discussion.
      8. Click 'Reply' and notice an in-page reply form appears.
      9. Notice that it says 'Reply privately' next to the checkbox
      10. Make a change to mod/forum/templates/inpage_reply.mustache by replacing

        {{#str}} privatereply, forum {{/str}}

        with "I want this to be private, please".

      11. Refresh the page.
      12. Click 'Reply' and notice an in-page reply form appears.
      13. Confirm it still says 'Reply privately' next to the checkbox.
      14. Visit 'Site administration' > 'Development' > 'Purge caches'.
      15. Check the box next to 'Templates'
      16. Click 'Purge selected caches'.
      17. Go back to the forum discussion you were at earlier.
      18. Click 'Reply'.
      19. Confirm you see the string "I want this to be private, please" next to the checkbox.
      Test 2
      1. Log in as an admin.
      2. Visit 'Site administration' > 'Appearance' > 'Templates'
      3. Uncheck 'Cache Templates' and press 'Save changes'.
      4. Visit a course.
      5. Create a forum.
      6. Add a discussion.
      7. View the discussion.
      8. Click 'Reply' and notice an in-page reply form appears.
      9. Notice that it says 'Reply privately' next to the checkbox.
      10. Make a change to mod/forum/templates/inpage_reply.mustache by replacing

        {{#str}} privatereply, forum {{/str}}

        with "I want this to be private, please".

      11. Refresh the page.
      12. Click 'Reply' and notice an in-page reply form appears.
      13. Confirm that it says "I want this to be private, please" next to the checkbox.
      Test 3
      1. Log in as an admin.
      2. Visit 'Site administration' > 'Appearance' > 'Templates'.
      3. Ensure that 'Cache Templates' is checked.
      4. Visit a course.
      5. Create a forum.
      6. Add a discussion.
      7. View the discussion.
      8. Click 'Reply' and notice an in-page reply form appears.
      9. Notice that it says 'Reply privately' next to the checkbox
      10. Make a change to mod/forum/templates/inpage_reply.mustache by replacing

        {{#str}} privatereply, forum {{/str}}

        with "I want this to be private, please".

      11. Refresh the page.
      12. Click 'Reply' and notice an in-page reply form appears.
      13. Confirm it still says 'Reply privately' next to the checkbox.
      14. Visit 'Site administration' > 'Development' > 'Purge caches'.
      15. Check the box next to 'JavaScript'
      16. Click 'Purge selected caches'.
      17. Go back to the forum discussion you were at earlier.
      18. Click 'Reply'.
      19. Confirm it still says 'Reply privately' next to the checkbox.
      Show
      Test 1 Log in as an admin. Visit 'Site administration' > 'Appearance' > 'Templates'. Ensure that 'Cache Templates' is checked. Visit a course. Create a forum. Add a discussion. View the discussion. Click 'Reply' and notice an in-page reply form appears. Notice that it says 'Reply privately' next to the checkbox Make a change to mod/forum/templates/inpage_reply.mustache by replacing {{#str}} privatereply, forum {{/str}} with "I want this to be private, please". Refresh the page. Click 'Reply' and notice an in-page reply form appears. Confirm it still says 'Reply privately' next to the checkbox. Visit 'Site administration' > 'Development' > 'Purge caches'. Check the box next to 'Templates' Click 'Purge selected caches'. Go back to the forum discussion you were at earlier. Click 'Reply'. Confirm you see the string "I want this to be private, please" next to the checkbox. Test 2 Log in as an admin. Visit 'Site administration' > 'Appearance' > 'Templates' Uncheck 'Cache Templates' and press 'Save changes'. Visit a course. Create a forum. Add a discussion. View the discussion. Click 'Reply' and notice an in-page reply form appears. Notice that it says 'Reply privately' next to the checkbox. Make a change to mod/forum/templates/inpage_reply.mustache by replacing {{#str}} privatereply, forum {{/str}} with "I want this to be private, please". Refresh the page. Click 'Reply' and notice an in-page reply form appears. Confirm that it says "I want this to be private, please" next to the checkbox. Test 3 Log in as an admin. Visit 'Site administration' > 'Appearance' > 'Templates'. Ensure that 'Cache Templates' is checked. Visit a course. Create a forum. Add a discussion. View the discussion. Click 'Reply' and notice an in-page reply form appears. Notice that it says 'Reply privately' next to the checkbox Make a change to mod/forum/templates/inpage_reply.mustache by replacing {{#str}} privatereply, forum {{/str}} with "I want this to be private, please". Refresh the page. Click 'Reply' and notice an in-page reply form appears. Confirm it still says 'Reply privately' next to the checkbox. Visit 'Site administration' > 'Development' > 'Purge caches'. Check the box next to 'JavaScript' Click 'Purge selected caches'. Go back to the forum discussion you were at earlier. Click 'Reply'. Confirm it still says 'Reply privately' next to the checkbox.

      Right now the template caching introduced in MDL-65794 makes use of $CFG->themerev. This means that when I am developing templates, I have to constantly purge my caches or use theme designer mode.
      When theme designer mode is enabled the SCSS is recompiled on each page load which can easily take several seconds and really damages the developer experience.

      We should create a new templaterev variable and use that instead.
      I would recommend modelling it on cachejs and jsrev.

      That is to say:

      1. a $CFG->cachetemplates setting; and
      2. A templaterev counter

      When cachetemplates is empty or true, then the currently stored templaterev is used (from config)
      When cachetemplates is false, templaterev is -1.

      I'm going to set priority of this issue to blocker because it makes working on templates painfully slow.

            markn Mark Nelson
            dobedobedoh Andrew Lyons
            Andrew Lyons Andrew Lyons
            Jake Dallimore Jake Dallimore
            Jennifer Bauzon Jennifer Bauzon
            Votes:
            3 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 hour
                1h

                  Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.