Setup and configuration
- SMW version: 3.0.0 (abdec88)
- Cargo version: 2.1.2 (ab7a941)
- MW version: 1.32.3 (db56d5c)
- PHP version: 7.1.31-1+0~20190807.22+debian10~1.gbpf402ed (apache2handler)
- DB system (MySQL, Blazegraph, etc.) and version: 10.3.15-MariaDB-1-log
This was replicated on wmf cloud services:
- https://meza-1.wmflabs.org/demo/index.php/Main_Page (This only has SMW installed)
- https://meza-2.wmflabs.org/demo/index.php/Main_Page (This has Extension:Cargo and SMW installed)
Issue
Wikis using Extension:Cargo and Extension:Semantic MediaWiki have a bug that prevents SMW properties to update. If a page has a SMW query with a category with a subcategory, the page struggles with setting and keeping SMW properties up-to-date. The bug is not present in the wiki with only SMW installed, it is only present when a wiki has SMW and Cargo installed.
Steps to reproduce
- Create a "Category" page.
- Create a second "Category" page and make it a subcategory of the first "Category" page. Do this by adding [[Category:(FIRST_CATEGORY_PAGE_NAME)]] to the source code of the second "Category" page.
- Create a "Property" page and set the property type (The type does not matter in this test).
- Create a page and add it to the first "Category". Do this by adding [[Category:(FIRST_CATEGORY_PAGE_NAME)]] to the source code.
- Create a second page and add it to the second "Category". Do this by adding [[Category:(SECOND_CATEGORY_PAGE_NAME)]] to the source code.
- Create a third page and use the previously mentioned "Property" in "{{#set:(PROPERTY)=TEST}}"
- Check the "Browse properties" page of the third page to make sure the property is setting
- Go back to the third page, update the property to a new value and add a query with the first "Category". Example: {{#set:(PROPERTY)=TEST2}}{{#ask:[[Category:(FIRST_CATEGORY_PAGE_NAME)]]}}
- After you save your changes, check the "Browse properties" page of the third page again to see if the property's value has updated
- Because of the bug, the value of the property will not update. If you edit the page, you can see that the source code shows that the property's value should show as one thing but "Browse properties" shows another.