FlaggedRevs + Semantic MediaWiki issue
We are trying to build a QMS (Quality Management System) using MediaWiki. With FlaggedRevs we build the workflow of document states (In process, Prepared, Revised and Approved). With Semantic MediaWiki's special Search Data page we have an automatic updated index (this is our "All Documents" page).
When we change a page's state, the page disappears from "All Documents". When the page is edited, even if not modified, the page appears again. This is a problem because the people that revise (and approve) the documents should change the state and then edit the document (without change it) to make it available in "All Documents".
With a trace in the database, we determine that the problem is in the "semantic metadata" in the mw_smw_* tables.
Specifically, the problem is the following code during the review (or approval):
680 Query DELETE /* SMW::deleteSemanticData Sgc03 */ FROM `mw_smw_rels2` WHERE s_id = '53' 680 Query DELETE /* SMW::deleteSemanticData Sgc03 */ FROM `mw_smw_atts2` WHERE s_id = '53' 680 Query DELETE /* SMW::deleteSemanticData Sgc03 */ FROM `mw_smw_text2` WHERE s_id = '53' 680 Query DELETE /* SMW::deleteSemanticData Sgc03 */ FROM `mw_smw_spec2` WHERE s_id = '53' 680 Query DELETE /* SMW::deleteSemanticData Sgc03 */ FROM `mw_smw_subs2` WHERE s_id = '53' 680 Query DELETE /* SMW::deleteSemanticData Sgc03 */ FROM `mw_smw_subp2` WHERE s_id = '53' 680 Query DELETE /* SMW::deleteSemanticData Sgc03 */ FROM `mw_smw_inst2` WHERE s_id = '53' 680 Query DELETE /* SMW::deleteSemanticData Sgc03 */ FROM `mw_smw_redi2` WHERE s_title = 'Gestión_de_la_documentación' AND s_namespace = '0' 680 Query SELECT /* SMW::deleteSemanticData Sgc03 */ smw_id FROM `mw_smw_ids` WHERE smw_title = AND smw_namespace = '53' AND smw_iw = ':smw' 680 Query UPDATE /* SMW::deleteSemanticData Sgc03 */ `mw_smw_ids` SET smw_namespace = '0' WHERE smw_title = AND smw_namespace = '53' AND smw_iw = ':smw'
This code is in ./extensions/SemanticMediaWiki/includes/storage/SMW_SQLStore2.php
We try to comment this code in the case of a review (or approval), the semantic metadata is not deleted, and the page dont disappear from "All Documents" (OK). But then, when the page is legitimately re-edited, the semantic metadata is inserted again, and this result in a hang in subsequent edits.
We are looking for a way in which the state changes do not eliminate the document for "All Documents" that also intelligently handle subsequent edits
Any advice is wellcome
Regards, Alfonso