1. 31 Mar, 2015 1 commit
  2. 03 Mar, 2015 1 commit
    • Nigel Cunningham's avatar
      (Bug1352028) Add a JSON progress bar for bulk operations. · 55a8deb8
      Nigel Cunningham authored
      
      
      This patch adds a JSON progress meter (I'll call it that to avoid confusion
      with progress bars) to the bulk uploading of users, groups and group
      memberships and the bulk export and import of users (LEAP), so the user can see
      the progress of the operation and not just the submit button changed to
      'Processing..' and whatever indication their browser gives while waiting for
      content.
      
      The bulk export and import are minor rewrites, replacing the old iframe based
      progress bar and the associated multiple pages and additional template file in
      the case of the bulk export, and the recursive redirect-to-self of the bulk
      import.
      
      To accomplish the display of the progress bar during the operation, we make the
      PHP session be closed (read only) except when changes need to be made. This is
      for the most part a straightforward change in session.php as it's the only
      direct accessor. In other places, we replace direct accessing of the session
      variable ($_SESSION) with use of the session class ($SESSION) so that it can
      reopen the session, make the change and close the session again.
      
      There is one more aspect to all of this: with previous behaviour, multiple
      requests for the same session would queue, taking the session lock in turn.
      After this patch is applied, they can proceed in parallel, allowing greater
      throughput. There is no additional locking requirement because the issues are
      the same as those already dealt with in allowing multiple PHP threads to
      process requests from different sessions at the same time.
      
      I have sought to make the progress meter nice and generic, so it can be used in
      the other bulk imports and exports too.
      
      Paradoxically, these changes don't just make the import seem to be faster, it
      actually is.. at least in the case of users and groups.
      
      Times for importing 1000 users, groups and memberships, averaged over 3 runs
      each (Wall time, not CPU time - but the relationship is the same).
      
                      Without Progress     With Progress
      Users                166s               155s
      Groups                85s                78s
      Memberships           20s                19s
      
      Change-Id: Iec15c57db32c77994edb80c71d65591de51a95e4
      Signed-off-by: default avatarNigel Cunningham <nigelc@catalyst-au.net>
      55a8deb8
  3. 24 Feb, 2015 1 commit
  4. 12 Feb, 2015 1 commit
    • Nigel Cunningham's avatar
      (Bug1364691) Add artefact_instances_from_ids function. · ccd5e53d
      Nigel Cunningham authored
      
      
      Add support for getting multiple artefacts from an array
      of IDs, all at once. The main saving is that we then do
      one SQL query for the whole array instead of one for each
      element in the array.
      
      In testing admin/users/bulkexport.php, this reduced
      execution time for an export of 1000 users by 12 seconds
      (approx 10 percent).
      
      Change-Id: I51867cd4693a7572dd609b98b6503251e473078a
      Signed-off-by: default avatarNigel Cunningham <nigelc@catalyst-au.net>
      ccd5e53d
  5. 22 Sep, 2014 1 commit
  6. 18 Sep, 2014 1 commit
    • Robert Lyon's avatar
      The archiving of submitted pages/collections from groups (Bug #1335670) · 5c57b565
      Robert Lyon authored
      
      
      This patch contains:
      - The export queue system where pages/collections on release from
      submission are added to the export queue table ready to be archived.
      - The export queue admin page showing what is in the queue to be
      exported. The cron runs every 6 minutes. Queue items failed to export
      are also shown here.
      - The archive list admin page, where one can download the generated
      leap2a files for the archived submissions.
      
      In this patch you should be able to add things to the export queue by
      either releasing a sumbission on a group that has 'archive
      submissions' option ticked. This will add the archive to that archived
      submission page, or you can also run a leap2a export from portfolio
      export which will add the export queue and send you an email once the
      export is done.
      
      Things to note:
      - The is a server busy function that stops the export queue from
      running but I'm not too sure if the threshold is too low/high
      - The export queue tries to export the first 100 items each run but if
      resources are fine in handling that easily then the number could be
      higher but I'm not sure of what will be a good number.
      - Currently there is alsoe infrastructure like table columns for dealing
      with releasing submissions from external systems (eg moodle) but that
      functuionality is yet to be built.
      - The checking of server busy in MS windows untested - may need to
      just let MS ignore server busy check as there doesn't seem to be
      standard way to check this.
      
      Change-Id: If4c1d272e9c5d46fbf16b2ff73ceb2687c06ffd4
      Signed-off-by: Robert Lyon's avatarRobert Lyon <robertl@catalyst.net.nz>
      5c57b565
  7. 21 Jul, 2014 1 commit
  8. 12 Jun, 2014 1 commit
    • Aaron Wells's avatar
      Refactor the Dwoo_Template_Mahara files · 97e96de0
      Aaron Wells authored
      Bug 1231755
      
      - Cleanup, documentation, and removing replicated code.
      
      - Not checking for whether the file exists. We'll just make a list
      of search paths and pass those through to Dwoo_Template_File, and
      let it determine which path has the file.
      
      - Eliminating the separate Dwoo_Template_Mahara classes for plugintypes,
      and moving the custom logic for how plugintypes find their template files,
      into the Plugin class itself.
      
      Change-Id: I877a4221323333e8e8b6c6df54062a0f8bf2b817
      97e96de0
  9. 04 Jun, 2014 1 commit
  10. 14 Oct, 2013 1 commit
  11. 28 Apr, 2013 1 commit
  12. 30 Jul, 2012 1 commit
    • Son Nguyen's avatar
      Enable Unicode filename for exporting HTML · bc66d5c1
      Son Nguyen authored
      
      (Bug #996172)
      
      + Using utf-8 string as file/folder name:
      + Setting the maximum of file/folder name length to 80. (Max filename
      length on many OS is limited to 256 bytes)
      + Percent encoding URL. It is a non human-readable string. However, the
      modern web browsers (Firefox3, Chrome, >IE7) will automatically display
      it into human readable URL.
      
      Change-Id: Ibb0d4e5d5fbe01bc49b5ad9ba68e4bc483938016
      Signed-off-by: default avatarSon Nguyen <son.nguyen@catalyst.net.nz>
      bc66d5c1
  13. 08 Aug, 2011 1 commit
  14. 25 Jul, 2011 1 commit
  15. 04 Jul, 2011 1 commit
  16. 13 May, 2011 1 commit
  17. 05 Dec, 2010 1 commit
  18. 09 Sep, 2010 1 commit
  19. 09 Aug, 2010 1 commit
  20. 26 May, 2010 1 commit
  21. 15 Apr, 2010 1 commit
  22. 08 Apr, 2010 2 commits
  23. 14 Mar, 2010 1 commit
  24. 16 Feb, 2010 1 commit
  25. 02 Nov, 2009 1 commit
    • Nigel McNie's avatar
      (#3416) Allow site files to be exported by users too. · d4f0e071
      Nigel McNie authored
      
      
      This change involves relaxing the check that artefacts can only be
      exported if they're owned by the user (naturally, site files are not).
      Unfortunately, there's no easy replacement check that I can drop in to
      continue to guarantee security. $user->can_view_artefact has two
      problems: doesn't respect site files, and is slow.
      
      I added a commented out hypothetical permission checking block and a
      comment as to why it wasn't uncommented.
      Signed-off-by: default avatarNigel McNie <nigel@catalyst.net.nz>
      d4f0e071
  26. 21 Oct, 2009 1 commit
  27. 15 Sep, 2009 1 commit
  28. 27 May, 2009 4 commits
  29. 11 May, 2009 1 commit
  30. 01 May, 2009 1 commit
  31. 28 Apr, 2009 3 commits
  32. 27 Apr, 2009 1 commit
  33. 22 Apr, 2009 1 commit
  34. 21 Apr, 2009 1 commit