1. 22 Jan, 2019 1 commit
  2. 14 Aug, 2018 1 commit
  3. 20 Mar, 2017 1 commit
  4. 15 Mar, 2017 1 commit
  5. 15 Aug, 2016 7 commits
  6. 07 Sep, 2015 1 commit
  7. 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
  8. 04 Dec, 2014 1 commit
  9. 31 May, 2013 1 commit
    • Aaron Wells's avatar
      Bug 1180625: Deleting unnecessary files from ADOdb · 9d44b44a
      Aaron Wells authored
      
      
      On the principle that it's good secur1ty to remove executables you're not likely
      to use, clearing out all the bits of ADOdb we're currently not using. This includes
      drivers and data dictionaries for other DBs, tests, docs, icons, PHP4 session code,
      pear auth container, and non-English error messages.
      
      Change-Id: Ibf059ed1d0d7dafbbce16589ead2c0a006e3fcdd
      Signed-off-by: Aaron Wells's avatarAaron Wells <aaronw@catalyst.net.nz>
      9d44b44a
  10. 16 May, 2013 1 commit
    • Aaron Wells's avatar
      lib/adodb: Updating ADOdb to version 5.18 · 88a12838
      Aaron Wells authored
      Bug #1180625
      
      ADOdb 5.18, downloaded form http://sourceforge.net/projects/adodb/files/adodb-php5-only/adodb-518-for-php5/
      I've cherry-picked the following Mahara commits onto it:
      
      1. adodb: fix MySQL bug on installing Mahara
      This was reported in the forums by Bruce Ellis:
        http://mahara.org/interaction/forum/topic.php?id=131
      and corresponds to Eduforge #3159 and LP #547934.
      (cherry picked from commit e7029e5f)
      
      2. adodb: RecordSet_postgres7->MoveNext() - remove expensive is_array()
       implicit count() of the array keys/columns. This shaves a good 5%
      of the exec time of get_records('config')
      (cherry picked from commit 04ef8a3b)
      
      3. adodb: check for Postgres 8.1
      See Eduforge #2318 or LP #547951.
      (cherry picked from commit c6dfccad)
      
      4. Check for valid columns in adodb postgres64 driver MetaIndexes fn (bug #796102)
      Indexes on functions of columns have a 0 in the indkey column of
      pg_catalog.pg_index, which doesn't refer to a column.
      Don't return any columns for the index, rather than returning an empty
      column name.
      (cherry picked from commit b87d9961)
      
      5. Bug #841711: ADODB modification: add __wakeup to connection object
      This reconnects to the db after wakeup, as resource types cannot be
      serialized and unserialized.
      This is necessary for unit tests, phpunit backups and restore globals
      between each test.
      (cherry picked from commit 41707745
      
      )
      
      Change-Id: I888bfc0cfb6acfc58adf1b416580c4b5ddd70732
      Signed-off-by: Aaron Wells's avatarAaron Wells <aaronw@catalyst.net.nz>
      88a12838
  11. 13 Sep, 2011 1 commit
  12. 13 Jun, 2011 1 commit
  13. 18 May, 2010 1 commit
  14. 17 May, 2010 1 commit