Forums | Mahara Community

Support /
shared skin can not be used


10 January 2022, 21:54

Hello

We have been using shared skins for several years on Mahara. Since the last update (21.10.0), the public skins are no longer usable by users. They see them, can select them but they do not appear on their pages. I have checked the rights to maharadata. Is this the case for other platforms? Please tell me what else I need to check. Thank you.

Doris ⚡'s profile picture
Posts: 84

12 January 2022, 11:09

Hi Anne,

What was the version from which you upgraded to Mahara 21.10? Are the students viewing their page just in 'Edit' mode or in 'Display' mode? Do you encounter the problem as well when you create a new public skin, favourite that as someone else, and then use it on your page?

It might be easiest if you shared a short screencast so we can follow your steps directly. Please make sure that the page you are using does not contain any sensitive information that can't be shared publicly.

Can you please also go through your steps on our public demo site and give it a go there? That is a site that was upgraded. Skins that have been favourited appear there on pages in 'Display' mode.

 

Kind regards,

Doris

13 January 2022, 23:42

Hi Doris

Thanks for your reply.

We update Mahara from Mahara 21.04 to 21.10 .

Unfortunately I did not test the use of skins on the previous version and no user reported any concerns to me. I cannot take a screenshot because I am on private data.

However to answer your question:

  • step 1: in the "create" -> "skins" menu, users bookmark a public skin (which is displayed in the form of a "thumbnail").
  • step 2: when they modify one of their page, and they want to apply it, they can see it in the list of their favorites (thumbnail), choose it and save it.
  • step 3: they display their page (directly on their eportfolio) and the skin is not applied.

Note that if they use their skins, there is no problem. Likewise, some favorite skins are functional. This does not therefore apply to all public skins.

I have done several tests and it appears that if the owner makes a modification to his public skin (opening in edit mode and simply saving is enough), then the public skin is functional. In the database, looking at the "viewskin" entry of the "mhr_skin" table, I compared before / after.

An example:
Before change (not fonctional)
a:37:{s:21:"body_background_color";s:11:"transparent";s:21:"body_background_image";i:174916;s:22:"body_background_repeat";s:1:"4";s:26:"body_background_attachment";s:6:"scroll";s:24:"body_background_position";s:1:"5";s:23:"header_background_color";s:7:"#CCCCCC";s:22:"header_text_font_color";s:7:"#000000";s:24:"header_link_normal_color";s:7:"#0000EE";s:28:"header_link_normal_underline";b:0;s:23:"header_link_hover_color";s:7:"#EE0000";s:27:"header_link_hover_underline";b:0;s:17:"header_logo_image";s:6:"normal";s:21:"view_background_color";s:11:"transparent";s:21:"view_background_image";N;s:22:"view_background_repeat";s:1:"4";s:26:"view_background_attachment";s:6:"scroll";s:24:"view_background_position";s:1:"1";s:21:"view_background_width";s:2:"80";s:21:"view_text_font_family";s:5:"Times";s:24:"view_heading_font_family";s:5:"Times";s:19:"view_text_font_size";s:6:"medium";s:20:"view_text_font_color";s:7:"#000000";s:23:"view_text_heading_color";s:7:"#000000";s:26:"view_text_emphasized_color";s:7:"#000000";s:22:"view_link_normal_color";s:7:"#0000EE";s:26:"view_link_normal_underline";b:0;s:21:"view_link_hover_color";s:7:"#EE0000";s:25:"view_link_hover_underline";b:0;s:23:"view_table_border_color";s:7:"#CCCCCC";s:23:"view_table_header_color";s:7:"#CCCCCC";s:28:"view_table_header_text_color";s:7:"#000000";s:24:"view_table_odd_row_color";s:7:"#EEEEEE";s:25:"view_table_even_row_color";s:7:"#FFFFFF";s:24:"view_button_normal_color";s:7:"#CCCCCC";s:23:"view_button_hover_color";s:7:"#EEEEEE";s:22:"view_button_text_color";s:7:"#FFFFFF";s:15:"view_custom_css";s:0:"";}

After (ok)

a:18:{s:21:"body_background_color";s:7:"#FFFFFF";s:21:"body_background_image";i:174916;s:22:"body_background_repeat";s:1:"4";s:26:"body_background_attachment";s:6:"scroll";s:24:"body_background_position";s:1:"5";s:23:"header_background_color";s:7:"#CCCCCC";s:21:"view_text_font_family";s:5:"Times";s:24:"view_heading_font_family";s:5:"Times";s:22:"view_block_header_font";s:5:"Arial";s:28:"view_block_header_font_color";s:7:"#333333";s:19:"view_text_font_size";s:6:"medium";s:20:"view_text_font_color";s:7:"#000000";s:23:"view_text_heading_color";s:7:"#000000";s:22:"view_link_normal_color";s:7:"#0000EE";s:26:"view_link_normal_underline";b:0;s:21:"view_link_hover_color";s:7:"#EE0000";s:25:"view_link_hover_underline";b:0;s:15:"view_custom_css";s:0:"";}

We almost have a thousand public skins, and I don't see how to fix that with a mass action.

Kind regards,

Anne

Doris ⚡'s profile picture
Posts: 84

22 February 2022, 17:44

 

Hi Lisa,

A number of properties like 'view_button_text_color', ' header_link_hover_color' and others that appear in your non-functional CSS were removed after 18.04 and 19.04. They won’t work in either 21.04 or 21.10 as those properties aren’t parsed and like you said, need to be re-saved to use the current format options to work.

A database step was made available in 19.10 for updating skins to match the new format options.

  1. Try running that step again by copying it from htdocs/lib/db/upgrade.php (lines 1683-1702) to your htdocs/local/upgrade.php file inside the xmldb_local_upgrade() function.
  2. In htdocs/local/version.php, set $config->version number = 2020050600; (version number from line 1683). If the existing $config->version is not ‘0’, increment the number by one, i.e. 2020050600 becomes 2020050601 and update the version number in htdocs/local/upgrade.php to be the same.

Finally, run the upgrade by going to ‘Admin menu -> Admin home -> Overview’ page and trigger the upgrade.

Regards,

Doris

4 results