1. 15 Jun, 2015 4 commits
  2. 23 Apr, 2015 1 commit
    • Nigel Cunningham's avatar
      (Bug785472) Remove unneeded raise_memory_limit calls · 039564a5
      Nigel Cunningham authored
      
      
      On the basis of my profiling and testing over the last week,
      all of the scripts affected by this patch don't need their
      raise_memory_limit calls. Ensure_sanity currently sets the
      memory limit to 128MB, which has been seen to be more than
      sufficient for each of these use cases.
      
      Tests have involved at least 1000 records being imported in
      each case, and sometimes as many as 20,000. I would have
      liked to have tested with some really full profiles (eg
      lots of pictures and content), but am satisfied that there's
      enough margin to cover those cases. In any case, such files
      are often handled using external apps and therefore won't
      be counted toward PHP's memory use anyway. Finally, the
      limit can easily be increased by the user if necessary for
      a particular case.
      
      Change-Id: Ifecc83fd47da51268bae6cbd6960735eb91f9403
      Signed-off-by: default avatarNigel Cunningham <nigelc@catalyst-au.net>
      039564a5
  3. 12 Mar, 2015 2 commits
  4. 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
  5. 12 Oct, 2014 1 commit
  6. 06 Oct, 2014 1 commit
  7. 24 Sep, 2014 1 commit
    • Nigel Cunningham's avatar
      (Bug1262928) Add support for filtering upload file types. · b0499974
      Nigel Cunningham authored
      
      
      Add support for having a CSV (or other file type) filter
      in the File control generated by Pieforms, and use it for
      the forms for uploading users, groups and group memberships.
      
      Note that support for the accept attribute in browsers is
      patchy. This will have no effect in the Chromium and Firefox
      versions current at the time of preparation, but has been
      successfully tested in Chrome.
      
      Change-Id: Ib5cf42be4e054f31086e9db9cda15473e86df7a3
      Signed-off-by: default avatarNigel Cunningham <nigelc@catalyst-au.net>
      b0499974
  8. 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
  9. 24 Mar, 2014 1 commit
  10. 06 Mar, 2014 1 commit
  11. 02 Mar, 2014 1 commit
  12. 25 Feb, 2014 1 commit
  13. 18 Feb, 2014 1 commit
  14. 14 Oct, 2013 1 commit
  15. 22 Aug, 2013 1 commit
  16. 19 Jul, 2013 1 commit
  17. 02 Jul, 2013 1 commit
    • Robert Lyon's avatar
      Show warn if nonexistant group is in group csv update bug #1187571 · b11f42e2
      Robert Lyon authored
      
      
      To test:
      - Fresh install upload some groups via csv
      - Add a new group to the csv and then try and upload with the 'Update
      groups' option checked
      
      should give broken 'page not found'
      
      - Apply patch
      - Add a new group to the csv and then try and upload with the 'Update
      groups' option checked
      
      should tell you the line where things are wrong in normal error.
      
      Change-Id: Ifb7558c5c3b51f7fa0d6c677e7ef65badd1d0a24
      Signed-off-by: Robert Lyon's avatarRobert Lyon <robertl@catalyst.net.nz>
      b11f42e2
  18. 03 Jan, 2013 1 commit
  19. 03 Apr, 2012 1 commit
  20. 09 Feb, 2012 1 commit
  21. 12 Sep, 2011 4 commits
  22. 01 Sep, 2011 3 commits
    • Richard Mansfield's avatar
      Allow per-group page editing permissions · 5117c733
      Richard Mansfield authored
      
      
      The roles which have edit permissions on group views is set for each
      grouptype.  This changes the setting to be per-group.
      
      Partially addresses bug #547362, bug #631189
      
      Change-Id: I3f51f0ed44b7f479a094a2c5b2e2ee4807722e34
      Signed-off-by: default avatarRichard Mansfield <richard.mansfield@catalyst.net.nz>
      5117c733
    • Richard Mansfield's avatar
      Enable submissions per-group, and decouple from 'course' groups · 3b58a258
      Richard Mansfield authored
      
      
      View submission was previously enabled on all (and only) course
      grouptype groups (those groups with tutors).  After this change
      view submission can be turned on and off on any group, and if a
      group has no tutors (standard grouptype), then only the group
      admins will be allowed to assess submitted views.
      
      Change-Id: I6df7f9dfc1b9fadbe39887ead4c1aa5c7a9eaed6
      Signed-off-by: default avatarRichard Mansfield <richard.mansfield@catalyst.net.nz>
      3b58a258
    • Richard Mansfield's avatar
      Add more flexible group jointypes (bug #610690) · 027ffc0d
      Richard Mansfield authored
      
      
      The four existing jointypes, 'open', 'controlled', 'request' and
      'invite' are mutually exclusive, but they don't need to be so strict.
      This patch introduces more flexibility in the way groups allow new
      members to join.
      
      * Group admins can always send membership invitations to a group, even
        if it's open or controlled
      * Membership requests can be enabled for any group unless it has open
        membership.
      * The grouptype now determines the set of roles available to a group,
        but no longer restricts the available join types.
      
      The db upgrade will preserve existing behaviour apart from enabling
      invitations on open, request, and controlled groups.
      
      Change-Id: I8bb0940a37f3c0c36366c1d5b8d27e8b9914a7e3
      Signed-off-by: default avatarRichard Mansfield <richard.mansfield@catalyst.net.nz>
      027ffc0d
  23. 04 Jul, 2011 1 commit
  24. 01 Jul, 2011 1 commit
    • Hugh Davenport's avatar
      Add page for Group CSV Uploads · d022f93a
      Hugh Davenport authored
      
      
      You can now use the web API service for groups to upload
      a CSV file to create and update groups
      
      The new page is below, and gives all the details about the format
      /admin/groups/uploadcsv.php
      
      Bug #547688
      
      Change-Id: Ic116c836e607ae3d1f6c0f67bbbf1f9c119828a8
      Signed-off-by: default avatarHugh Davenport <hugh@catalyst.net.nz>
      d022f93a
  25. 01 Jun, 2011 1 commit
  26. 13 May, 2011 1 commit
  27. 22 Dec, 2010 2 commits
  28. 01 Sep, 2010 1 commit
  29. 24 Aug, 2010 2 commits