2016-09-23 02:01:53 |
Robert Lyon |
description |
There is an issue with race conditions and copying pages in Maharra when using a MySQL database.
What happens is the values in view_rows_columns for the view get deleted somehow and this ends up making the page look empty/page blocks 'look' deleted.
They still exist but the system doesn't know how to display the page.
Luckily we can work out what the rows were by looking at data from a number of other tables and repopulate the table.
I'll add a fix for this.
To test:
before patch:
1) Create a page and add some blocks to it
2) create another page and set the layout to multiple rows and add some blocks on each row
3) View the pages to make sure they look ok, open each in a new tab for ease of checking
4) Go to the db and then run:
SELECT FROM view_rows_columns WHERE view = [viewid];
to see what rows it has
DELETE FROM view_rows_columns WHERE view = [viewid];
and get the [viewid] from the urls off the pages
5) Refresh the pages they should be blank (and you will get a bunch of errors in debugging on)
6) Checkout patch and refresh the pages again you should see the pages looking correct again
7) Check the db again and see the rows have returned and should be the same as before |
There is an issue with race conditions and copying pages in Mahara when using a MySQL database.
What happens is the values in view_rows_columns for the view get deleted somehow and this ends up making the page look empty/page blocks 'look' deleted.
They still exist but the system doesn't know how to display the page.
Luckily we can work out what the rows were by looking at data from a number of other tables and repopulate the table.
I'll add a fix for this.
To test:
before patch:
1) Create a page and add some blocks to it
2) create another page and set the layout to multiple rows and add some blocks on each row
3) View the pages to make sure they look ok, open each in a new tab for ease of checking
4) Go to the db and then run:
SELECT FROM view_rows_columns WHERE view = [viewid];
to see what rows it has
DELETE FROM view_rows_columns WHERE view = [viewid];
and get the [viewid] from the urls off the pages
5) Refresh the pages they should be blank (and you will get a bunch of errors in debugging on)
6) Checkout patch and refresh the pages again you should see the pages looking correct again
7) Check the db again and see the rows have returned and should be the same as before |
|