Details

      Description

      In the user management a new tool is implemented to export the user data. What exactly is exportable is defined in the subtasks for this issue. 

      An example how this could look like is attached as mockups. 

      NOTE: the list in the subtasks is subject of discussion and change. It has been priorities from top to down and during implementation we will see how fast we can deliver those elements and wether we will skip elements because they are to complicated for now. 

      Features

      The generation of the data export can take some time, thus it should be implemented asynchronously. Once the export archive is generated, it must be downloadable from the user profile. For example an export tab could be implemented from which the export process can be triggered and where existing export can be downloaded. 

      When an export is generated, the user can see the export in his settings as well and download it from there (new segment next to the disclaimer).

      The user manager must be able to get a link that he can send to the user to download the export he requested. The user however can not trigger the export generation.  

      Since this duplicates all data it could make sense to add an expiration date to the exports and automatically delete them after some time if feasible. 

       

      Technical details

      To implement this feature a new interface should be implemented similar to the UserDataDeletable or the UserDataDeletable should be extended. 

      Since the export is now moved, UserDataDeletable.deleteUserData can be refactored to remove the archivePath and move this functionality to the new UserDataExportable interface. 

      Wherever the UserDataDeletable is implemented it must be checked if it makes sense to add the new interface and move the export code or implement it. 

       

      Dry run

      The interface must provide methods to generate the exports and to perform a "dry-run". The dry run version would only generate a list of URL's to the exported objects with some label, date and context information if this is possible at all.

      The ideal is to use the same tool to show the user a list of items that "belong" to him and provide him a way to access those items. This could also be displayed to the user profile somewhere as a big list.

      Since this can be very costly we need to consider some optimisations there by user not letting generating the list e.g. more than once a day or by excluding all data that can not be gathered quickly using database queries (E.g. file things). Those can be added later when we have better solutions for this. 

       

      Format

      The export must be readable but not win a beauty contest. Each exported decides what format is best: XML, HTML, Excel, File - whatever is already there. 

      For many data objects such as forum posts, efficiency statements the portfolio handler can be used to generate appropriate HTML. For the user profile an XML serialisation can be made or an HTML fragment is created. 

       

      Bonus

      As a bonus, an imsmanifest.xml could be generated by the exporter and the wiki-offline tools be bundled in the export to make the export easily browsable by the user. But this is only done if feasible. 

       

       

        Attachments

        1.
        User data export: profile Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 45 minutes
         
        2.
        User data export: user settings Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 45 minutes
         
        3.
        User data export: profile image / avatar Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 45 minutes
         
        4.
        User data export: personal notes Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 45 minutes
         
        5.
        User data export: private / public folder content Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 45 minutes
         
        6.
        User data export: information about accepted disclaimer Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 45 minutes
         
        7.
        User data export: calendar data Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 45 minutes
         
        8.
        User data export: subscriptions Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 45 minutes
         
        9.
        User data export: bookings Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 1 hour, 15 minutes
         
        10.
        User data export: efficiency statements Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 1 hour, 45 minutes
         
        11.
        User data export: course memberships Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 1 hour, 15 minutes
         
        12.
        User data export: group memberships Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 1 hour, 15 minutes
         
        13.
        User data export: mails Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 1 hour, 15 minutes
         
        14.
        User data export: chat messages Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 45 minutes
         
        15.
        User data export: forum posts Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 2 hours, 15 minutes
         
        16.
        User data export: comments and ratings Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 1 hour, 30 minutes
         
        17.
        User data export: blog / podcast items Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 1 hour, 30 minutes
         
        18.
        User data export: course tasks Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 2 hours, 15 minutes
         
        19.
        User data export: course file discussion Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 1 hour, 30 minutes
         
        20.
        User data export: course member folder Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 1 hour, 15 minutes
         
        21.
        User data export: log Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 1 hour, 5 minutes
         
        22.
        User data export: eportfolio Sub-task Closed Stéphane Rossé

        100%

        Original Estimate - Not Specified Original Estimate - Not Specified
        Time Spent - 2 hours, 50 minutes
         

          Activity

            People

            • Assignee:
              srosse Stéphane Rossé
              Reporter:
              gnaegi Florian Gnägi
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 4 days, 1 hour, 40 minutes
                4d 1h 40m