User Tools

  • Logged in as: anonymous (anonymous)
  • Log Out

Site Tools


mantisbt:importexport

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
mantisbt:importexport [2008/07/11 19:19] giallumantisbt:importexport [2024/03/26 05:03] (current) – [Other] formatting xmllint code block dregad
Line 2: Line 2:
  
    * **Author**: Gianluca Sforna (giallu)    * **Author**: Gianluca Sforna (giallu)
-   * **Status**: <del>Draft</del> | Work in Progress | <del>Implemented</del>+   * **Status**: <del>Draft</del><del>Work in Progress</del> | Implemented
    * **Associated Issue**: http://www.mantisbt.org/bugs/view.php?id=4220    * **Associated Issue**: http://www.mantisbt.org/bugs/view.php?id=4220
  
Line 9: Line 9:
 A complete solution for copying a list of issues between two different Mantis instances is something asked from quite some time: A complete solution for copying a list of issues between two different Mantis instances is something asked from quite some time:
  
-http://www.mantisbt.org/bugs/view.php?id=4220 +  * http://www.mantisbt.org/bugs/view.php?id=4220 
-http://www.mantisbt.org/bugs/view.php?id=5310+  http://www.mantisbt.org/bugs/view.php?id=5310
  
 For a greater flexibility, the use of an XML format looks like the best option (XML export was also asked in http://www.mantisbt.org/bugs/view.php?id=4024). For a greater flexibility, the use of an XML format looks like the best option (XML export was also asked in http://www.mantisbt.org/bugs/view.php?id=4024).
Line 44: Line 44:
 ** Proposed solution ** ** Proposed solution **
  
-import will happen on a single project in instance B, so warn the user on export if "All project" is selected+import will happen on a single project in instance B 
 + 
 +** Status ** 
 + 
 +DONE 
  
 === User IDs === === User IDs ===
Line 57: Line 62:
   * squash all ids to a single one in instance B   * squash all ids to a single one in instance B
   * attempt to find a matching user by username, then fall back to squashing id   * attempt to find a matching user by username, then fall back to squashing id
 +
 +** Status **
 +
 +DONE
 +A function implementing the above behaviour exists, but composing a list of users is memory intensive (more than 32Mb to execute with the mantis DB) so I'm refraining from using it.
 +
 +The current implementation tries by default to match usernames, then squash to the userID performing the import operation
  
  
Line 72: Line 84:
   * Replace them with fake links, pretending the linked bug or note was deleted   * Replace them with fake links, pretending the linked bug or note was deleted
  
 +** Status **
 +
 +DONE (notes are not in the initial implementation, but code can support those)
 +
 +
 +
 +=== Categories ===
 +** Issue ** 
 +
 +Category is a required field, but nothing guarantees the target project on instance B will use the same ones as instance A.
 +
 +** Proposed solution **
 +
 +Add import options:
 +  * skip import of issues with unknown categories
 +  * create missing categories (dangerous...)
 +
 +** Status **
 +
 +PENDING
  
  
Line 122: Line 154:
  
 ===== Requirements ===== ===== Requirements =====
 +
  
 The code being developed depends on: The code being developed depends on:
Line 131: Line 164:
 ===== Other ===== ===== Other =====
  
-  * The resulting xml file can be tested for validity with xmllint like: +  * The resulting xml file can be tested for validity with xmllint like: <code> 
- +xmllint --noout --dtdvalid mantis.dtd exported_issues.xml 
-  ''xmllint --noout --dtdvalid mantis.dtd export_file.xml''+</code>
  
   * Check memory consumption when a huge number of issues are exported and imported   * Check memory consumption when a huge number of issues are exported and imported
 +  * Add checks for required extensions - bool extension_loaded  ( string $name  )
 +  * let user choose destination project on instance B
  
  
mantisbt/importexport.1215818353.txt.gz · Last modified: 2008/10/29 04:31 (external edit)

CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki