•  
      epic #8107 Full project export/import
    Summary
    Full project export/import
    Empty

    1 - What should be archived

    Project metadata

    Project metadata are exported (and imported) as a snapshot. We take the current list of services, user groups, etc at the time of export.

    Services, however might deal with history (for instance Tracker, subversion history & co).

    Statistics elements (including disk usage) are not exported (nor imported)

    1.1 - Project widget customisation

    • wont't be archived

    1.2 - services

    The list of enabled service , their rank ...

    1.3 - Service details

    1.3.1 - Documents

    • an archive for the documents
    • xml for non-physical docs
    • only mandatory metadata to be archived: title, description, owner (its real name), creation_date and last_update_date

    1.3.2 - PHPwiki

    • Make use of the dump feature offered in the PhpWiki? Administration: doc #83401 (to be confirmed)
    • or may be make use of the REST api for wiki

    1.3.3 - MediaWiki

    • n/a

    1.3.4 - FRS

    • archive the packages.

    1.3.5 - Webdav

    nothing to import

    1.3.6 - TrackerV3

    partially done with the TV3ToV5 feature

    1.3.7 - TrackerV5

    the xml structure + content

    1.3.8 - Agile dashboard

    • the xml structure

    1.3.9 - Subversion

    • the repository source

    1.3.10 - Git

    • the sources repositories

    1.3.11 - Continuous integrations

    • n/a

    1.3.12 - Lists

    • the Ml archives or the mbox file +attachement folder
    • forumM won't be imported

    1.3.13 - Forums

    • all in the db optionnal

    1.3.14 - Surveys

    • won't be archived

    1.3.15 - News

    • all in the db: dump it to xml files optionnal

    1.4 - users and users groups

    • Users & Group members are exported

    2 - How it should be archived

    The idea is to have an xml file per project

    2.1 - xml structure

    <service>
    <name> service_name_1</name>
    <rank> service_rank_1 </rank>
    <path>archive_path_1</path>
    </service>
    <service>
    <name> service_name_2</name>
    <rank> service_rank_2 </rank>
    <path>archive_path_2</path>
    </service>
    ....
    <service>
    <name> service_name_n</name>
    <rank> service_rank_n </rank>
    <path>archive_path_n</path>
    </service>
    Progress
    Empty
    Empty
    Closed
    Details
    #8107
    Nouha Terzi (terzino)
    2018-07-17 11:25
    2015-05-28 10:20
    Attachments
    Empty
    References

    Follow-ups

    User avatar
    • Description
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    BTW, it might be worth telling tuleap-devel that this topic is debated. Nouha, could you please inform them (people will be bored to see only me posting there) ?
    User avatar

    I think some fundamental points should be discussed:

    - We consider archiving a snapshot of the project at the time t: no need to archive the whole history of the project.

    - No permissions will be archived. The restore mechanism will set no-body specific permission, permission set to only to the admin_site that will restore the project.

    - No users membership will be archived. no ugroup will be archived.

    All the work done today for export/import does manage history, membership and permissions:

    • Export of SVN, CVS and git deal with history
    • Export of docman deals with versions and permissions
    • Export of Tv3 deals with history and permissions

    The work we (Enalean) will do on tv3 -> tv5 cross-platform will come with user_group and membership management as docman export/import already does.

    I think we should be consistent with this behaviour when possible.