Old thread, but in case it is helpful, in 5.x you can also use the Node Browser at /alfresco to browse the same path and delete exactly the module you need to.
Primary Path: /{http://www.alfresco.org/model/system/1.0}system-registry/{http://www.alfresco.org/system/modules/1.0}modules
mysql> SELECT * FROM alf_qname WHERE alf_qname.id IN (34, 59, 62, 101, 102 ); +—–+———+——-+——————+ | id | version | ns_id | local_name | +—–+———+——-+——————+ | 34 | 1 | 3 | name | | 59 | 1 | 5 | container | | 62 | 1 | 5 | store_root | | 101 | 1 | 8 | currentVersion | | 102 | 1 | 8 | installedVersion | +—–+———+——-+——————+ 5 rows in set (0.00 sec)
mysql> SELECT node_id, qname_id, locale_id, string_value FROM alf_node_properties WHERE qname_id IN (101, 102) ORDER BY node_id; +———+———-+———–+————–+ | node_id | qname_id | locale_id | string_value | +———+———-+———–+————–+ | 2345995 | 101 | 1 | 2.1.13 | | 2345995 | 102 | 1 | 2.1.13 | | 3216313 | 101 | 1 | 2.4.0 | | 3216313 | 102 | 1 | 2.4.0 | | 3216314 | 101 | 1 | 2.4.0 | | 3216314 | 102 | 1 | 2.4.0 | | 3216315 | 101 | 1 | 2.4.0 | | 3216315 | 102 | 1 | 2.4.0 | +———+———-+———–+————–+ 8 rows in set (0.00 sec)
mysql> SELECT node_id, qname_id, locale_id, string_value FROM alf_node_properties WHERE node_id IN (3216313, 3216314, 3216315) ; +———+———-+———–+——————-+ | node_id | qname_id | locale_id | string_value | +———+———-+———–+——————-+ | 3216313 | 34 | 1 | content-********* | | 3216313 | 101 | 1 | 2.4.0 | | 3216313 | 102 | 1 | 2.4.0 | | 3216314 | 34 | 1 | ******-content | | 3216314 | 101 | 1 | 2.4.0 | | 3216314 | 102 | 1 | 2.4.0 | | 3216315 | 34 | 1 | ******-alfresco | | 3216315 | 101 | 1 | 2.4.0 | | 3216315 | 102 | 1 | 2.4.0 | +———+———-+———–+——————-+ 9 rows in set (0.00 sec)
mysql> UPDATE alf_node_properties SET string_value = '2.1.1' WHERE node_id = 3216315 AND qname_id IN (101, 102); Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0
mysql> SELECT node_id, qname_id, locale_id, string_value FROM alf_node_properties WHERE node_id = 3216315 ; +———+———-+———–+—————–+ | node_id | qname_id | locale_id | string_value | +———+———-+———–+—————–+ | 3216315 | 34 | 1 | ******-alfresco | | 3216315 | 101 | 1 | 2.1.1 | | 3216315 | 102 | 1 | 2.1.1 | +———+———-+———–+—————–+ 3 rows in set (0.00 sec)
select local_name, id from alf_qname where local_name in ('currentVersion', 'installedVersion')
var searchString = "/sys:system-registry/module:modules/*"; // XPath search string var store = "system://system"; var nodes = search.selectNodes(store, searchString); for each (var node in nodes) { logger.log("removing entry for module: " + node.name); node.addAspect("sys:temporary"); node.remove(); }
Since the issue ALF-21399 has been closed as "not a bug" I'd like to share that we worked around this long story by implementing a hardcore Alfresco extension which is able to migrate, up- and downgrade Alfresco Types. The implementation has a javascript binding to call a migration batch job for specific types and expects a function (getting the old property array as argument) which takes care how to save the old values in other properties, jdbc datasources ...
If anybody is interested, please send me a pm. We decided not to publish this extension (yet) since it will be very easy to loose data if you have bugs in the custom function. But as always: With great power comes great responsibility!
HI can you be more specific on how do that on the path /alfresco ?
Hi Marco Tenti,
You can access to Node Browser named by Jeff Potts in the following URL http://{alfrescoIP}:{alfrescoPort}/alfresco/s/admin/admin-communitysummary. In this page, you can select Node Browser tool and search "/sys:system-registry/module:modules/*" with option "selectnodes". After that, you can view all modules installed in your system and the modules which have been installed and removed from your Alfresco.
Regards,
Sergio.
Ty very much, save me a lot of time.
Hi Heiko i'm interested to try out the extension you talk it about, i can't send you a pm because i'm must be friend or follow by you for send the message.
Ty.
Greeting.