We should keep track of the original source in imported artifacts. The import_id field is just right for that. IIRC, tool configs may have an import_id too. Both would be useful so that we could run reports on how my tickets or trackers (for example) have been imported from elsewhere.
Also record each import in the project audit log.
allura:cj/6541forge-classic:cj/6541googlecodewikiimporter:cj/6541tracwikiimporter:cj/6541merciless:cj/6541configtree:cj/6541The merciless branch is branched off of
0.3.xwhich was branched just prior to the 0.4.0 changes that broke backwards compatibility, since we haven't resolved that yet in Allura. Make sure when this is merged, that it is merged into the0.3.xbranch and that that is released and used for SF.You will also need to apply the
configtreechanges to your localproduction.ini. Specifically, thetickets.import_id_convertersetting was renamed to justimport_id_converter.I've handled the ming (merciless) portion of this. Version 0.3.9 (and 0.4.1) have the changes.
FYI, I have rebased versions of all of these I can push.
The docstring on
ImportIdConverterneeds to be updated.ImportIdConverterdoesn't know what type of artifact it's converting. Does that need to be accounted for yet? Or wait until we have a non-ticket implementation, so we know how exactly it would work.ForgeTracker/forgetracker/tracker_main.pyassumesImportIdConverter.get().expandwill return a dict, but it could return a string, which will then error. And when it's a dict, querying byimport_id.foobarwill be unindexed. There is an existing index onimport_idfor a simple string match. I think an easy win is to just query{"import_id": expand_result}it'll work with strings & dicts, and querying against a full dict value will use the index that's onimport_idIn the audit log, the URL value ends up being like
/--forgeimporters.base.import_tool--/5228fa9cd8be3540e721915f//--forgeimporters.base.import_tool--/5228fa9cd8be3540e721915f/That's not ideal, but not too big of a deal either. The URL is set up by the taskd runner (not sure why it's duplicated), so we'd have to override itThe following have been force-pushed:
allura:cj/6541forge-classic:cj/6541googlecodewikiimporter:cj/6541tracwikiimporter:cj/6541