Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.2
    • Fix Version/s: 2.1.6, 2.2.3
    • Component/s: Themes
    • Labels:
    • Testing Instructions:
      Hide

      For the purpose of this TEST is it necessary that Activity Completion be enabled in some courses.

      1. Select Binarus from Theme selector page
      2. Go to a Course page where Activity completion exists, and from the Navigation block choose Courses > Course (shortname) > Report > Activity Completion or Course completion
      3. Check to see if there is a horizontal scroll bar on the page and that the page layout is not broken (ie: content stays within the bounds of the page and not into the right-hand gutter)
      Show
      For the purpose of this TEST is it necessary that Activity Completion be enabled in some courses. Select Binarus from Theme selector page Go to a Course page where Activity completion exists, and from the Navigation block choose Courses > Course (shortname) > Report > Activity Completion or Course completion Check to see if there is a horizontal scroll bar on the page and that the page layout is not broken (ie: content stays within the bounds of the page and not into the right-hand gutter)
    • Affected Branches:
      MOODLE_22_STABLE
    • Fixed Branches:
      MOODLE_21_STABLE, MOODLE_22_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-31298_master
    • Rank:
      32644

      Description

      As Mentioned the css seems to be broken.
      Screen attached.
      Seems to be happening only with this theme.

      1. MDL-30298.jpg
        33 kB
      2. theme.png
        30 kB

        Issue Links

          Activity

          Hide
          Michael de Raadt added a comment -

          I just realised this is not blocking a QA test, so I'm lowering the panic level.

          Show
          Michael de Raadt added a comment - I just realised this is not blocking a QA test, so I'm lowering the panic level.
          Hide
          Mary Evans added a comment - - edited

          I have found a few more errors with report page layouts so will add this as a sub-task in MDL-30238

          Show
          Mary Evans added a comment - - edited I have found a few more errors with report page layouts so will add this as a sub-task in MDL-30238
          Hide
          Mary Evans added a comment -

          @Dietmar

          I added you as a watcher and also made this as a sub-task of MDL-30238
          Cheers
          Mary

          Show
          Mary Evans added a comment - @Dietmar I added you as a watcher and also made this as a sub-task of MDL-30238 Cheers Mary
          Hide
          Dietmar Wagner added a comment -

          Hi Mary,

          theme Binarius report issues seem to be a renaissance of MDL-30100 [sky_high trunc... print...].

          After upgrading to moodle 2.1.2+ (BUILD: 20111125 ) most reports use the body class .pagelayout-report. Although reports are still .side-post-only the blocks appear at the left side. I think this is okay as Binarius is a .side-post-only theme!

          A change from

          .pagelayout-report #page-content .region-content

          { overflow-x: visible; overflow-y: visible; }

          to

          .pagelayout-report #report-main-content .region-content

          { overflow-x: scroll; [or overflow-x: auto;] overflow-y: visible; }

          and perhaps something like

          .pagelayout-report #report-main-content .region-content generaltable (or simply: table)

          { font-size: 70%; }

          as additional CSS rule

          would make all tables readable without too much scrolling.

          Are we looking for something like this?

          Cheers
          Dietmar

          Show
          Dietmar Wagner added a comment - Hi Mary, theme Binarius report issues seem to be a renaissance of MDL-30100 [sky_high trunc... print...] . After upgrading to moodle 2.1.2+ (BUILD: 20111125 ) most reports use the body class .pagelayout-report. Although reports are still .side-post-only the blocks appear at the left side. I think this is okay as Binarius is a .side-post-only theme! A change from .pagelayout-report #page-content .region-content { overflow-x: visible; overflow-y: visible; } to .pagelayout-report #report-main-content .region-content { overflow-x: scroll; [or overflow-x: auto;] overflow-y: visible; } and perhaps something like .pagelayout-report #report-main-content .region-content generaltable (or simply: table) { font-size: 70%; } as additional CSS rule would make all tables readable without too much scrolling. Are we looking for something like this? Cheers Dietmar
          Hide
          Mary Evans added a comment -

          Hi Dietmar,

          Definitely more scrolling, however I was concerned at the way the report.php was set out. For what it's worth I would be tempted to make a report specifically for Binarius with the correct naming of regions throughout. I hate the fact that regions in that report are labelled region-pre with a block-region-post in it. Why not label it correctly as region-post but make changes in the way it is actually displayed in the CSS markup? This was my argument with the percentage layout and region-pre-box which we have now got in rtlbase!

          Cheers
          Mary

          Show
          Mary Evans added a comment - Hi Dietmar, Definitely more scrolling, however I was concerned at the way the report.php was set out. For what it's worth I would be tempted to make a report specifically for Binarius with the correct naming of regions throughout. I hate the fact that regions in that report are labelled region-pre with a block-region-post in it. Why not label it correctly as region-post but make changes in the way it is actually displayed in the CSS markup? This was my argument with the percentage layout and region-pre-box which we have now got in rtlbase! Cheers Mary
          Hide
          Mary Evans added a comment -

          @Dietmar

          PS: it's MDL-30500 not 100!!!

          Show
          Mary Evans added a comment - @Dietmar PS: it's MDL-30500 not 100!!!
          Hide
          Dietmar Wagner added a comment - - edited

          Hi Mary,

          although it's probably not the best idea perhaps nevertheless you can live with following quick fix for the body class naming issue.

          If you

          1. change

          'report' => array(
          'file' => 'report.php',
          'regions' => array('side-post'),
          'defaultregion' => 'side-post',
          ),

          to

          'report' => array(
          'file' => 'report.php',
          'regions' => array('side-pre'),
          'defaultregion' => 'side-pre',
          ),

          in config.php

          and

          2. replace all strings "post" by string "pre"

          you have a side-pre-only page with the body-class side-pre-only.

          For adjusting the tables in reports we only have a few options:

          • decreasing font-size (loupe);
          • overflow-x: auto/scroll (more horizontal scrolling);
          • width/max-width for the tables (more vertical scrolling);
          • docking columns (you need AJAX and mordern browsers);
          • ...?

          Cheers
          Dietmar

          Show
          Dietmar Wagner added a comment - - edited Hi Mary, although it's probably not the best idea perhaps nevertheless you can live with following quick fix for the body class naming issue. If you 1. change 'report' => array( 'file' => 'report.php', 'regions' => array('side-post'), 'defaultregion' => 'side-post', ), to 'report' => array( 'file' => 'report.php', 'regions' => array('side-pre'), 'defaultregion' => 'side-pre', ), in config.php and 2. replace all strings "post" by string "pre" you have a side-pre-only page with the body-class side-pre-only. For adjusting the tables in reports we only have a few options: decreasing font-size (loupe); overflow-x: auto/scroll (more horizontal scrolling); width/max-width for the tables (more vertical scrolling); docking columns (you need AJAX and mordern browsers); ...? Cheers Dietmar
          Hide
          Mary Evans added a comment - - edited

          Thanks Dietmar,

          As the report needs the right side of the page to scroll, it's a definite YES to numbers 1 and 2 as this cleans up the coding of the page and sets the parameters in config.php. Good!

          • Decreasing font-size YES
          • More horizontal scrolling YES
          • Table width/max-width does need looking at, as the table columns are set in % by default, yet they tend to increase with the longest 'text string' of the content, which deforms the table. However, some themes manage this well and others not, your theme behaviour Excel spreadsheet comes in handy here as it shows that the themes likely to suffer the same fate are post-side only with parants canvas/base which figures! So we may need to be looking at Arialist, Brick, Fusion, Nimble as well as Binarius! The more I see these page-layout problems occurring I am tempted to suggest we create a proper post-side only layout, so that the parent styles the major part of the layout and the theme takes care of the finer detail. Does this make sense? Same goes for Nonzero/Overlay/Sky High (with relevant page-layout parent).
          • Docking columns is not an option for some organisations as this is disabled in the settings by the administrator anyway. And as you say it only works with AJAX enabled. So we need a workaround in this scenario also. I was pondering this last night and wondered if we could disable region-pre in the breadcrumb that set region-pre {display: none}

          Cheers
          Mary

          Show
          Mary Evans added a comment - - edited Thanks Dietmar, As the report needs the right side of the page to scroll, it's a definite YES to numbers 1 and 2 as this cleans up the coding of the page and sets the parameters in config.php. Good! Decreasing font-size YES More horizontal scrolling YES Table width/max-width does need looking at, as the table columns are set in % by default, yet they tend to increase with the longest 'text string' of the content, which deforms the table. However, some themes manage this well and others not, your theme behaviour Excel spreadsheet comes in handy here as it shows that the themes likely to suffer the same fate are post-side only with parants canvas/base which figures! So we may need to be looking at Arialist, Brick, Fusion, Nimble as well as Binarius! The more I see these page-layout problems occurring I am tempted to suggest we create a proper post-side only layout, so that the parent styles the major part of the layout and the theme takes care of the finer detail. Does this make sense? Same goes for Nonzero/Overlay/Sky High (with relevant page-layout parent). Docking columns is not an option for some organisations as this is disabled in the settings by the administrator anyway. And as you say it only works with AJAX enabled. So we need a workaround in this scenario also. I was pondering this last night and wondered if we could disable region-pre in the breadcrumb that set region-pre {display: none} Cheers Mary
          Hide
          Dietmar Wagner added a comment -

          Hi Mary,

          I feel that those report, print or table issues spring up like mushrooms and we immediately need a workable solution.

          For me the question is: Do all reports must have the same appearance as e.g. a normal side-pre page of a theme?

          If the answer is YES your suggestion, Mary, to build a set of parent themes for all kinds of layouts (normal layout, side-pre only, side-post only, blog layout content-pre-post, blog layout pre-post-content) seems to be the best idea. But this means a great deal of work.

          If the answer is NO I think we need nothing more than a theme REPORT that includes only a report.php with

          • a side-pre layout,
          • a simple but nice design,
          • specific lables for divs, classes, regions to avoid interferences with other page-layouts and
          • a set of CSS declarations (gathered in a special report.css) that solve all these mentioned issues we have or will get in moodle tracker.

          Core themes could/should then make use of theme REPORT via config.php:

          $THEME->parents = array(
          'canvas',
          'base',
          'report',
          );

          $THEME->layouts = array(
          ...

          'report' => array(
          'theme' => 'report',
          'file' => 'report.php',
          'regions' => array('side-post'),
          'defaultregion' => 'side-post',
          ),
          ...
          [This can be done with theme BASE too by extracting CSS for .pagelayout-report to a seperate file.]

          Furthermore we must be sure that all reports [as well as several admin pages (e.g. Browse list of users)] have the body class .pagelayout-report!

          To solve Ankit's issue I suggest to try something like the following

          • set .pagelayout-report completely to side-pre
          • change overflow behaviour for .region-content: .pagelayout-report #page-content .region-content {overflow-x:auto;}
          • decrease the font-size (like afterburner does):
            .pagelayout-report #report-main-content: 90%
            .pagelayout-report #report-main-content .region-content table: 85%

          [Sorry, but I can't test this with report Activity completion.]

          Cheers
          Dietmar

          Show
          Dietmar Wagner added a comment - Hi Mary, I feel that those report, print or table issues spring up like mushrooms and we immediately need a workable solution. For me the question is: Do all reports must have the same appearance as e.g. a normal side-pre page of a theme? If the answer is YES your suggestion, Mary, to build a set of parent themes for all kinds of layouts (normal layout, side-pre only, side-post only, blog layout content-pre-post, blog layout pre-post-content) seems to be the best idea. But this means a great deal of work. If the answer is NO I think we need nothing more than a theme REPORT that includes only a report.php with a side-pre layout, a simple but nice design, specific lables for divs, classes, regions to avoid interferences with other page-layouts and a set of CSS declarations (gathered in a special report.css) that solve all these mentioned issues we have or will get in moodle tracker. Core themes could/should then make use of theme REPORT via config.php: $THEME->parents = array( 'canvas', 'base', 'report', ); $THEME->layouts = array( ... 'report' => array( 'theme' => 'report', 'file' => 'report.php', 'regions' => array('side-post'), 'defaultregion' => 'side-post', ), ... [This can be done with theme BASE too by extracting CSS for .pagelayout-report to a seperate file.] Furthermore we must be sure that all reports [as well as several admin pages (e.g. Browse list of users)] have the body class .pagelayout-report! To solve Ankit's issue I suggest to try something like the following set .pagelayout-report completely to side-pre change overflow behaviour for .region-content: .pagelayout-report #page-content .region-content {overflow-x:auto;} decrease the font-size (like afterburner does): .pagelayout-report #report-main-content: 90% .pagelayout-report #report-main-content .region-content table: 85% [Sorry, but I can't test this with report Activity completion.] Cheers Dietmar
          Hide
          Mary Evans added a comment -

          Hi Dietmar,

          I have just spent a good hour trying to get online...and then lost the connection as I was sending my comment (which was very detailed) and so I lost it all and have to start again!

          Mary

          Show
          Mary Evans added a comment - Hi Dietmar, I have just spent a good hour trying to get online...and then lost the connection as I was sending my comment (which was very detailed) and so I lost it all and have to start again! Mary
          Hide
          Dietmar Wagner added a comment -

          Hi Mary,
          I'm sorry to hear that.
          What's up with UK internet?
          D.

          Show
          Dietmar Wagner added a comment - Hi Mary, I'm sorry to hear that. What's up with UK internet? D.
          Hide
          Mary Evans added a comment -

          Hi Dietmar,

          I think it was more to do with this site...as it was re-indexing last night which eventually locked me out. Also because it took me too long to write what I was writing it probably timed out! LOL

          Anyway...what I was trying to say is that in a cloned version of Binarius I made this new theme slightly wider, by making #page

          {width: 94%; margin:3%}

          and made #wrapper

          {width.: 100%}

          I then changed config.php report layout to ...

          'report' => array(
          'theme' => 'canvas',
          'file' => 'report.php',
          'regions' => array('side-pre'),
          'defaultregion' => 'side-pre',
          ),
          

          I added a reportlayout.css to base theme and canvas report.php picked that up, but also allowed Binarius2 to use it's own CSS to style the general look of the theme.

          So rather than have a report theme, we can utilise the parent themes to carry the report.php in both base & canvas themes for ALL themes to use regardless of their original pagelayout design. Then use either base or canvas in the config.php to call the report, but have the reportlayout.css in Base theme only.

          Is this a crazy idea?

          I have still to test this theory out in other themes but in Binarius it appears to work OK apart from the fact the Blocks still show up in the report where they sould not really be. So there must be some system files we need to look at.

          Thanks

          Mary

          Show
          Mary Evans added a comment - Hi Dietmar, I think it was more to do with this site...as it was re-indexing last night which eventually locked me out. Also because it took me too long to write what I was writing it probably timed out! LOL Anyway...what I was trying to say is that in a cloned version of Binarius I made this new theme slightly wider, by making #page {width: 94%; margin:3%} and made #wrapper {width.: 100%} I then changed config.php report layout to ... 'report' => array( 'theme' => 'canvas', 'file' => 'report.php', 'regions' => array('side-pre'), 'defaultregion' => 'side-pre', ), I added a reportlayout.css to base theme and canvas report.php picked that up, but also allowed Binarius2 to use it's own CSS to style the general look of the theme. So rather than have a report theme, we can utilise the parent themes to carry the report.php in both base & canvas themes for ALL themes to use regardless of their original pagelayout design. Then use either base or canvas in the config.php to call the report, but have the reportlayout.css in Base theme only. Is this a crazy idea? I have still to test this theory out in other themes but in Binarius it appears to work OK apart from the fact the Blocks still show up in the report where they sould not really be. So there must be some system files we need to look at. Thanks Mary
          Hide
          Dietmar Wagner added a comment -

          Wow!
          All this sounds promising, Mary!
          I hope I can test your ideas in the next days.
          Cheers
          Dietmar

          Show
          Dietmar Wagner added a comment - Wow! All this sounds promising, Mary! I hope I can test your ideas in the next days. Cheers Dietmar
          Hide
          Dietmar Wagner added a comment -

          Hi Mary,

          I played around with your very interesting ideas but my results are inconsistent.

          Can you please check my playground:

          • 3 simple clones: BASE2, CANVAS2, BINARIUS2
          • BASE2: report.php as it is, reportlayout.css (CSS for .pagelayout-report from pagelayout.css +

          yellow background for #report-main-content as distinguishing characteristic - or something else)

          • CANVAS2: no changes
          • BINARIUS2: config.php -> report.php from CANVAS2, regions/defaultregions side-pre / CSS for

          .pagelayout-report in pagelayout.css deleted I skipped the changes to the widths of #page and #wrapper for the moment.

          That's it?! Or did I forget something?

          Thanks in advance!
          Dietmar

          Show
          Dietmar Wagner added a comment - Hi Mary, I played around with your very interesting ideas but my results are inconsistent. Can you please check my playground: 3 simple clones: BASE2, CANVAS2, BINARIUS2 BASE2: report.php as it is, reportlayout.css (CSS for .pagelayout-report from pagelayout.css + yellow background for #report-main-content as distinguishing characteristic - or something else) CANVAS2: no changes BINARIUS2: config.php -> report.php from CANVAS2, regions/defaultregions side-pre / CSS for .pagelayout-report in pagelayout.css deleted I skipped the changes to the widths of #page and #wrapper for the moment. That's it?! Or did I forget something? Thanks in advance! Dietmar
          Hide
          Mary Evans added a comment - - edited

          Hi Dietmar,

          First off, did you make base2 parent theme in canvas2 config.php? as this will make a great deal of difference. You would also need to adjust Binarius2 config.php to reflect this associated parent structure also. So parents for Binarius2 would be canvas2 and base2 because canvas2 uses base2 as parent.

          Thanks for looking at this by the way
          Mary

          Show
          Mary Evans added a comment - - edited Hi Dietmar, First off, did you make base2 parent theme in canvas2 config.php? as this will make a great deal of difference. You would also need to adjust Binarius2 config.php to reflect this associated parent structure also. So parents for Binarius2 would be canvas2 and base2 because canvas2 uses base2 as parent. Thanks for looking at this by the way Mary
          Hide
          Dietmar Wagner added a comment -

          Yes Mary,

          CANVAS2 and BASE2 are parent themes for "my" BINARIUS2.

          My problem ist that if I go through the combinations that are used (or may be used) by core themes I get different results:

          1) BINARIUS2 with CANVAS2, BASE2 as parent themes + report from theme CANVAS2: EXCELLENT (unless a small necessary correction for .region-content overflow-x.)

          2) BINARIUS2 with CANVAS2, BASE2 as parent themes + report from theme BASE2: layout damaged - no margins, no paddings/borders for #page, #page-header and #page-content/ parts of tables completely hidden

          3) BINARIUS2 with BASE2 as parent theme and report from theme BASE2: same result

          4) BINARIUS2 with CANVAS2 as parent theme and report from theme CANVAS2: layout more or less destroyed and particularly NO YELLOW BACKGROUND.

          That means if I'm not mistaken that child themes do not pick up the CSS from "grandparent" themes. CANVAS2 takes the layout from BASE2 in contrast to BINARIUS2.

          What am I doing or thinking wrong?
          Dietmar

          Show
          Dietmar Wagner added a comment - Yes Mary, CANVAS2 and BASE2 are parent themes for "my" BINARIUS2. My problem ist that if I go through the combinations that are used (or may be used) by core themes I get different results: 1) BINARIUS2 with CANVAS2, BASE2 as parent themes + report from theme CANVAS2: EXCELLENT (unless a small necessary correction for .region-content overflow-x.) 2) BINARIUS2 with CANVAS2, BASE2 as parent themes + report from theme BASE2: layout damaged - no margins, no paddings/borders for #page, #page-header and #page-content/ parts of tables completely hidden 3) BINARIUS2 with BASE2 as parent theme and report from theme BASE2: same result 4) BINARIUS2 with CANVAS2 as parent theme and report from theme CANVAS2: layout more or less destroyed and particularly NO YELLOW BACKGROUND. That means if I'm not mistaken that child themes do not pick up the CSS from "grandparent" themes. CANVAS2 takes the layout from BASE2 in contrast to BINARIUS2. What am I doing or thinking wrong? Dietmar
          Hide
          Mary Evans added a comment - - edited

          Ok...I understand what you are doing now.

          As I see it the child needs the parent in order to be related to the grandparent. Therefore the child cannot access the grandparent without the parent that is why the report works best from Canvas2 (1) rather than Base2 (2)

          As for Base2 as parent of Binarius2 (3) then the whole style of Binarius2 will be different as much of Binarius draws from Canvas so too does Binarius2 draw from Canvas2 so without this the style is lost unless you create a new look. So the missing structure you see in that combination needs rebuilding. It's a bit like taking the underpinning out of a high-rise building or pulling the bottom card from a tower of playing cards...it collapses.

          Same reasoning in (4)

          I see it as working like a relational database, which is built on relationships. Therefore Binariua2 has no relationship with Base2 without Canvas2 to make it work effectively. But if you create a new theme Binarius3 and make parent Base2 then Binarius3 needs restyling to work. Same too if you linked Binarius3 with Canvas2 as parent, then since Canvas2 needs Base2 to work effectively you would need to restyle Canvas2 to make Binarius3 to work.

          Put mathematically it would be poetry...a little like proving the square-root of 2 is irrational.

          But then again...perhaps I am wrong

          Mary

          Show
          Mary Evans added a comment - - edited Ok...I understand what you are doing now. As I see it the child needs the parent in order to be related to the grandparent. Therefore the child cannot access the grandparent without the parent that is why the report works best from Canvas2 (1) rather than Base2 (2) As for Base2 as parent of Binarius2 (3) then the whole style of Binarius2 will be different as much of Binarius draws from Canvas so too does Binarius2 draw from Canvas2 so without this the style is lost unless you create a new look. So the missing structure you see in that combination needs rebuilding. It's a bit like taking the underpinning out of a high-rise building or pulling the bottom card from a tower of playing cards...it collapses. Same reasoning in (4) I see it as working like a relational database, which is built on relationships. Therefore Binariua2 has no relationship with Base2 without Canvas2 to make it work effectively. But if you create a new theme Binarius3 and make parent Base2 then Binarius3 needs restyling to work. Same too if you linked Binarius3 with Canvas2 as parent, then since Canvas2 needs Base2 to work effectively you would need to restyle Canvas2 to make Binarius3 to work. Put mathematically it would be poetry...a little like proving the square-root of 2 is irrational. But then again...perhaps I am wrong Mary
          Hide
          Dietmar Wagner added a comment -

          Hi Mary,
          I read your comment and it's really worth to think about intensively.
          Unfortunately I'm very busy in the moment.
          I'll be back later.

          Thanks
          Dietmar

          Show
          Dietmar Wagner added a comment - Hi Mary, I read your comment and it's really worth to think about intensively. Unfortunately I'm very busy in the moment. I'll be back later. Thanks Dietmar
          Hide
          Dietmar Wagner added a comment -

          Hi Mary,

          I think - I should better say "I hope" - I could make some steps forward and have a clearer understanding of the relationship between childs, parents and grandparents (what is more or less like trying to square the circle).

          My 50ct:

          1) ** BINARIUS2 with parent CANVAS2, BASE2 and report from CANVAS2

          SOURCECODE: BINARIUS2 first picks up all sheets from BASE2 (11), then all sheets from CANVAS2 (10) and finally those from BINARIUS2 (core and pagelayout - by the way: editor.css is not included in config.php). The file reportlayout.css is included!!! report layout: ok. [You can verify that too in moodledata/cache/theme/binarius2/designer.ser]

            • BINARIUS2 with parent BASE2, CANVAS2 (order changed) and report from CANVAS2

          SOURCECODE: BINARIUS2 first picks up all sheets from CANVAS2 and then all sheets from BASE2 and finally those from BINARIUS2. Now BASE2 dominates CANVAS2. The file reportlayout.css is included. report layout: ok.

          *****************************************************************************************

          • That means that the CSS files of the parent themes are executed from right to left.
            *****************************************************************************************

          2) ** BINARIUS2 with parent CANVAS2 and report from CANVAS2

          SOURCECODE: BINARIUS2 first picks up all sheets from CANVAS2 followed by all sheets from itself. reportlayout.css is not included!!!

            • BINARIUS2 with parent BASE2 and report from CANVAS2

          SOURCECODE: BINARIUS2 first picks up all sheets from BASE2, then all sheets from itself. reportlayout.css is included!!

          ****************************************************************************************************

          • That means in my eyes that parent themes can only pass their own css files to a child theme.
            ****************************************************************************************************

          3) What really perplexed me was that it makes a great difference if we are linking the reports to BASE2/.../report.php or CANVAS2/.../report.php.

          Now I know the reason for that.

          I found that report.php of CANVAS2 has two extra wrappers (like all the layout files of BINARIUS2):

          BASE2/report.php:
          -----------------
          <div id="page">
          <?php if ($hasheading || $hasnavbar) { ?>
          <div id="page-header">
          <?php if ($hasheading) { ?>

          CANVAS2/report.php:
          --------------------
          <div id="page">

          <?php if ($hasheading || $hasnavbar) { ?>
          <div id="wrapper" class="clearfix">

          <!-- START OF HEADER -->

          <div id="page-header" class="inside">
          <div id="page-header-wrapper" class="wrapper clearfix">

          <?php if ($hasheading) { ?>

          If you take CANVAS2/layout/report.php for BASE2 it makes no difference which report you link to a child theme as long as BASE2 is parent theme.

          Summarizing this means: It should be possible to take BASE for solving all report layout issues!

          Miscellaneous:

          @ increasing width for page/wrapper: good idea
          @ reportlayout.css: I would give a little bit of margin between side-pre and content. Something like
          .pagelayout-report #report-main-content .region-content

          {margin-left: 210px;}

          should do it.

          Enough for the moment and back to my exam papers (analytic geometry)!

          Cheers
          Dietmar

          Show
          Dietmar Wagner added a comment - Hi Mary, I think - I should better say "I hope" - I could make some steps forward and have a clearer understanding of the relationship between childs, parents and grandparents (what is more or less like trying to square the circle). My 50ct: 1) ** BINARIUS2 with parent CANVAS2, BASE2 and report from CANVAS2 SOURCECODE: BINARIUS2 first picks up all sheets from BASE2 (11), then all sheets from CANVAS2 (10) and finally those from BINARIUS2 (core and pagelayout - by the way: editor.css is not included in config.php). The file reportlayout.css is included!!! report layout: ok. [You can verify that too in moodledata/cache/theme/binarius2/designer.ser] BINARIUS2 with parent BASE2, CANVAS2 (order changed) and report from CANVAS2 SOURCECODE: BINARIUS2 first picks up all sheets from CANVAS2 and then all sheets from BASE2 and finally those from BINARIUS2. Now BASE2 dominates CANVAS2. The file reportlayout.css is included. report layout: ok. ***************************************************************************************** That means that the CSS files of the parent themes are executed from right to left. ***************************************************************************************** 2) ** BINARIUS2 with parent CANVAS2 and report from CANVAS2 SOURCECODE: BINARIUS2 first picks up all sheets from CANVAS2 followed by all sheets from itself. reportlayout.css is not included!!! BINARIUS2 with parent BASE2 and report from CANVAS2 SOURCECODE: BINARIUS2 first picks up all sheets from BASE2, then all sheets from itself. reportlayout.css is included!! **************************************************************************************************** That means in my eyes that parent themes can only pass their own css files to a child theme. **************************************************************************************************** 3) What really perplexed me was that it makes a great difference if we are linking the reports to BASE2/.../report.php or CANVAS2/.../report.php. Now I know the reason for that. I found that report.php of CANVAS2 has two extra wrappers (like all the layout files of BINARIUS2): BASE2/report.php: ----------------- <div id="page"> <?php if ($hasheading || $hasnavbar) { ?> <div id="page-header"> <?php if ($hasheading) { ?> CANVAS2/report.php: -------------------- <div id="page"> <?php if ($hasheading || $hasnavbar) { ?> <div id="wrapper" class="clearfix"> <!-- START OF HEADER --> <div id="page-header" class="inside"> <div id="page-header-wrapper" class="wrapper clearfix"> <?php if ($hasheading) { ?> If you take CANVAS2/layout/report.php for BASE2 it makes no difference which report you link to a child theme as long as BASE2 is parent theme. Summarizing this means: It should be possible to take BASE for solving all report layout issues! Miscellaneous: @ increasing width for page/wrapper: good idea @ reportlayout.css: I would give a little bit of margin between side-pre and content. Something like .pagelayout-report #report-main-content .region-content {margin-left: 210px;} should do it. Enough for the moment and back to my exam papers (analytic geometry)! Cheers Dietmar
          Hide
          Mary Evans added a comment - - edited

          Hi Dietmar,
          Last things first. I hate geometry!

          In report layout CSS I did change margin-left and added 10px, I also made table 100% which makes the report table fit neatly into the space provided.

          I do wonder though why it was that the report layout needed to be different, when side-pre-only layout would, with a few additions like overflow-x and overflow-y, have been OK surely?

          Back to your testing Binarius. Thanks for taking time out to do this. The reading of CSS from right to left was talked about early last year, as I think it is opposite to how Moodle 1.9 works (not sure about that though).

          The order of parents is important, as I have found by trial and error. Formal White and Magazine use "base/canvas" combination, but I am not sure if this is intentional or not. Which means that Base overrules Canvas in these two themes.

          Back to Binarius. I had totally missed the wrappers in the Canvas version of the report.php, which makes sense why it looked better.

          I'll put all this together and email it to you.

          Now I need to go shopping!
          Cheers
          Mary

          Show
          Mary Evans added a comment - - edited Hi Dietmar, Last things first. I hate geometry! In report layout CSS I did change margin-left and added 10px, I also made table 100% which makes the report table fit neatly into the space provided. I do wonder though why it was that the report layout needed to be different, when side-pre-only layout would, with a few additions like overflow-x and overflow-y, have been OK surely? Back to your testing Binarius. Thanks for taking time out to do this. The reading of CSS from right to left was talked about early last year, as I think it is opposite to how Moodle 1.9 works (not sure about that though). The order of parents is important, as I have found by trial and error. Formal White and Magazine use "base/canvas" combination, but I am not sure if this is intentional or not. Which means that Base overrules Canvas in these two themes. Back to Binarius. I had totally missed the wrappers in the Canvas version of the report.php, which makes sense why it looked better. I'll put all this together and email it to you. Now I need to go shopping! Cheers Mary
          Hide
          Mary Evans added a comment -

          @Dietmar,

          I'm unsure what to do with this, as the problem was not so much you can't scroll as the image shows you can, it's just that the theme looks so ugly...but I think this is the problem with all the themes that are side-post only with wide side margins.

          Cheers
          Mary

          Show
          Mary Evans added a comment - @Dietmar, I'm unsure what to do with this, as the problem was not so much you can't scroll as the image shows you can, it's just that the theme looks so ugly...but I think this is the problem with all the themes that are side-post only with wide side margins. Cheers Mary
          Hide
          Dietmar Wagner added a comment -

          Hi Mary,

          I will try to find some time for that this afternoon.

          Cheers
          Dietmar

          Show
          Dietmar Wagner added a comment - Hi Mary, I will try to find some time for that this afternoon. Cheers Dietmar
          Hide
          Dietmar Wagner added a comment -

          Hi Mary,

          what about simply adding

          .pagelayout-report .no-overflow

          {overflow: auto;}

          at the end of report layout section in binarius' pagelayout.css?

          It works fine and I think you did something like this for other themes, didn't you?

          Cheers
          Dietmar

          Show
          Dietmar Wagner added a comment - Hi Mary, what about simply adding .pagelayout-report .no-overflow {overflow: auto;} at the end of report layout section in binarius' pagelayout.css? It works fine and I think you did something like this for other themes, didn't you? Cheers Dietmar
          Hide
          Mary Evans added a comment - - edited

          Yes...that's exactly what it needs!

          Thanks for the reminder!

          Show
          Mary Evans added a comment - - edited Yes...that's exactly what it needs! Thanks for the reminder!
          Hide
          Dietmar Wagner added a comment -

          Show
          Dietmar Wagner added a comment -
          Hide
          Dietmar Wagner added a comment -

          Show
          Dietmar Wagner added a comment -
          Hide
          Mary Evans added a comment - - edited

          OK...I added a fix which works in pagelayout-report where class="no-overflow" exists, however, because Activity Completion Report does not have this class I propose to remedy this by adding a wrapper around the table for this report and making it class no-overflow.

          I'll submit this as a separate commit, hope this is acceptable?

          Thanks for listening.

          Show
          Mary Evans added a comment - - edited OK...I added a fix which works in pagelayout-report where class="no-overflow" exists, however, because Activity Completion Report does not have this class I propose to remedy this by adding a wrapper around the table for this report and making it class no-overflow. I'll submit this as a separate commit, hope this is acceptable? Thanks for listening.
          Hide
          Mary Evans added a comment - - edited

          A point to note here, that this behaviour is true for all CORE themes, but because of the style of the majority of these themes, this behaviour is not so apparent. Binarius is a fixed width, post-side-only, theme and as such lends itself to the trappings of some report page layouts and styles.

          Sky High theme is another that suffers badly but we have remedied most of that themes report page-layout problems, except this one which we did not test. The good news is that the fix applied to MDL-30298 will in actual fact fix Sky High theme too.

          So fingers crossed that this gets approval from the 'Integrators'

          Show
          Mary Evans added a comment - - edited A point to note here, that this behaviour is true for all CORE themes, but because of the style of the majority of these themes, this behaviour is not so apparent. Binarius is a fixed width, post-side-only, theme and as such lends itself to the trappings of some report page layouts and styles. Sky High theme is another that suffers badly but we have remedied most of that themes report page-layout problems, except this one which we did not test. The good news is that the fix applied to MDL-30298 will in actual fact fix Sky High theme too. So fingers crossed that this gets approval from the 'Integrators'
          Hide
          Mary Evans added a comment -

          Just added a screenshot of the fix

          Show
          Mary Evans added a comment - Just added a screenshot of the fix
          Hide
          Dietmar Wagner added a comment -

          Hi Mary,

          to add a wrapper around the table in report/complition/index.php is an excellent idea.
          As the activity completion report seems to use report/progress/index.php I suggest to do the same for this file.

          Cheers
          Dietmar

          Show
          Dietmar Wagner added a comment - Hi Mary, to add a wrapper around the table in report/complition/index.php is an excellent idea. As the activity completion report seems to use report/progress/index.php I suggest to do the same for this file. Cheers Dietmar
          Hide
          Mary Evans added a comment -

          Thanks for checking that Dietmar, I had assumed the Activity completion used the same page. I'll add this now.

          Show
          Mary Evans added a comment - Thanks for checking that Dietmar, I had assumed the Activity completion used the same page. I'll add this now.
          Hide
          Sam Hemelryk added a comment -

          Thanks Mary, this has been integrated now for 2.1+, 2.2+ and master.
          It wasn't backported to 2.0+ as that is now only receiving security and/or essential fixes.

          Cheers
          Sam

          Show
          Sam Hemelryk added a comment - Thanks Mary, this has been integrated now for 2.1+, 2.2+ and master. It wasn't backported to 2.0+ as that is now only receiving security and/or essential fixes. Cheers Sam
          Hide
          Dan Poltawski added a comment -

          Works as described - thanks!

          Show
          Dan Poltawski added a comment - Works as described - thanks!
          Hide
          Eloy Lafuente (stronk7) added a comment -

          FCT (fixed, closing, thanks). Ciao

          "I feel a very unusual sensation - if it is not indigestion, I think it must be gratitude!"
          ~ Benjamin Disraeli

          Show
          Eloy Lafuente (stronk7) added a comment - FCT (fixed, closing, thanks). Ciao "I feel a very unusual sensation - if it is not indigestion, I think it must be gratitude!" ~ Benjamin Disraeli

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: