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/6541
forge-classic:cj/6541
googlecodewikiimporter:cj/6541
tracwikiimporter:cj/6541
merciless:cj/6541
configtree:cj/6541
The merciless branch is branched off of
0.3.x
which 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.x
branch and that that is released and used for SF.You will also need to apply the
configtree
changes to your localproduction.ini
. Specifically, thetickets.import_id_converter
setting 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
ImportIdConverter
needs to be updated.ImportIdConverter
doesn'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.py
assumesImportIdConverter.get().expand
will return a dict, but it could return a string, which will then error. And when it's a dict, querying byimport_id.foobar
will be unindexed. There is an existing index onimport_id
for 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_id
In 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/6541
forge-classic:cj/6541
googlecodewikiimporter:cj/6541
tracwikiimporter:cj/6541