Reviewed:  https://reviews.mahara.org/7184
Committed: 
https://git.mahara.org/mahara/mahara/commit/ce0d0fa356ab18cc900707af55ccef5438495843
Submitter: Robert Lyon (robe...@catalyst.net.nz)
Branch:    16.10_STABLE

commit ce0d0fa356ab18cc900707af55ccef5438495843
Author: Robert Lyon <robe...@catalyst.net.nz>
Date:   Fri Sep 23 13:44:42 2016 +1200

Bug 1626805: Allow the view constructor to fix missing layout info

Sometimes in MySql if many users are copying a page at once the
view_rows_columns information can get deleted.

As we can work out what the values should have been from other tables
we can regenerate it and add it back in.

If the view doesn't have a layout set it hasn't changed from when
first been made so we can make it the same as view type's template

To test: see bug report

behatnotneeded

Change-Id: I81c8e33dc1bc4121c1df97e1acbc981ad969271c
Signed-off-by: Robert Lyon <robe...@catalyst.net.nz>
(cherry picked from commit e95ebc66365b6e083d786600e0570bd652d3794f)

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask 
on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1626805

Title:
  Page becomes blank after a while

Status in Mahara:
  Fix Committed
Status in Mahara 16.04 series:
  Confirmed
Status in Mahara 16.10 series:
  Fix Committed

Bug description:
  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

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1626805/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~mahara-contributors
Post to     : mahara-contributors@lists.launchpad.net
Unsubscribe : https://launchpad.net/~mahara-contributors
More help   : https://help.launchpad.net/ListHelp

Reply via email to