1. 15 Jun, 2015 2 commits
  2. 01 Jun, 2015 1 commit
  3. 28 May, 2015 1 commit
    • Robert Lyon's avatar
      Allowing for non english theme / plugin lang files to be used · 1d7a1fa4
      Robert Lyon authored and Aaron Wells's avatar Aaron Wells committed
      
      
      Bug 1417120
      
      The language location check now goes in this order:
      
      1. /local string in selected language
      2. theme/plugin directory, in selected language
      3. langpack, in selected language
      4. /local string in parent language (if any)
      5. theme/plugin directory, in parent language
      6. langpack, in parent language
      7. /local string in English
      8. theme/plugin directory, in English
      
      Change-Id: I24f61e24fadbca3a62fefa3855f4f444165d750a
      Signed-off-by: Robert Lyon's avatarRobert Lyon <robertl@catalyst.net.nz>
      1d7a1fa4
  4. 26 Mar, 2015 1 commit
  5. 10 Mar, 2015 1 commit
  6. 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
  7. 18 Feb, 2015 1 commit
  8. 13 Feb, 2015 1 commit
  9. 09 Feb, 2015 1 commit
  10. 27 Jan, 2015 1 commit
  11. 11 Dec, 2014 1 commit
  12. 03 Dec, 2014 1 commit
  13. 16 Nov, 2014 1 commit
  14. 28 Oct, 2014 1 commit
  15. 20 Oct, 2014 1 commit
    • Aaron Wells's avatar
      Marking a page objectionable caused it to be hidden · 969b2a6f
      Aaron Wells authored
      Bug 1298646: Objectionable pages are meant to remain visible
      to users until an admin comes along and deletes them. They were
      accidentally being hidden due to a bug in the logic flow in
      can_view_view()
      
      Change-Id: I2929e11adc048af58b451892bae1c5789af8dcf0
      969b2a6f
  16. 06 Oct, 2014 1 commit
  17. 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
  18. 16 Sep, 2014 1 commit
    • Robert Lyon's avatar
      Updating calendar pieform element to use datepicker/timepicker · 3340ef27
      Robert Lyon authored
      
      
      (Bug #1267239)
      
      The datepicker is now keyboard accessible but not fully screenreader
      accessible - but the folks at datepicker are working on that
      
      The key bindings you need to know for datepicker:
      PAGE UP: Move to the previous month.
      PAGE DOWN: Move to the next month.
      CTRL+PAGE UP: Move to the previous year.
      CTRL+PAGE DOWN: Move to the next year.
      CTRL+HOME: Move to the current month. Open the datepicker if closed.
      CTRL+LEFT: Move to the previous day.
      CTRL+RIGHT: Move to the next day.
      CTRL+UP: Move to the previous week.
      CTRL+DOWN: Move the next week.
      ENTER: Select the focused date.
      ESC: Close the datepicker
      
      The key bindings added for timepicker:
      (to avoid clashes with existing key bindings)
      ALT+UP: Move hour slider up one step
      ALT+DOWN: Move hour slider down one step
      SHIFT+LEFT: Move minute slider down one step
      SHIFT+RIGHT: Move minute slider up one step
      
      Also added the prev/next year button options
      
      Change-Id: Iff857ba9efb23fd123de6af8f78ceffee9c0ac79
      Signed-off-by: Robert Lyon's avatarRobert Lyon <robertl@catalyst.net.nz>
      3340ef27
  19. 15 Sep, 2014 2 commits
  20. 12 Sep, 2014 1 commit
    • Robert Lyon's avatar
      Language-ifying the strings in the primary school theme (Bug 1362871) · 03ff102a
      Robert Lyon authored
      
      
      Currently there is no way for themes to come with their own language
      files - but sometimes a theme may have some text it wants to display
      that is unique to that theme - like when it has a homeinfo.tpl file
      
      I've added the checks to the lang path for checking a theme's lang file
      
      To use it in a template you need to indicate the section is a theme by
      going:
      
      {str tag=stringtoget section=theme.nameoftheme}
      
      and this will look for the lang file in:
      ./theme/nameoftheme/lang/langtype/nameoftheme.php
      
      Change-Id: I16d5273ee94ad2c066f7de5922253edde325fbed
      Signed-off-by: Robert Lyon's avatarRobert Lyon <robertl@catalyst.net.nz>
      03ff102a
  21. 01 Sep, 2014 1 commit
  22. 07 Aug, 2014 1 commit
    • Nigel Cunningham's avatar
      (Bug1353802) Add query result caching to handle_event · 7441f64a
      Nigel Cunningham authored
      
      
      Improve the performance of handle_event by caching the results of
      database queries. In testing adding 2000 users from a CSV file with
      a typical number of fields (username, password, email, firstname,
      lastname, studentid, address, town, city, country, homenumber,
      mobilenumber), this change reduced the average import time over
      three runs (with a fresh install each time) as follows:
      
                             Before      After     Saving
      Total Wall Time        246s        114s       132s - 54%
      handle_event           132s         21s       111s - 84%
      
      (The change to handle_event seems to affect other functions'
      execution times, perhaps due to other database caches still
      being in memory that would otherwise be replaced).
      
      Change-Id: Ibf28650df710dd807f95fca30a2dfc29ed92f5cd
      Signed-off-by: default avatarNigel Cunningham <nigelc@catalyst-au.net>
      7441f64a
  23. 24 Jul, 2014 1 commit
    • Robert Lyon's avatar
      User in multi institutions can lose progress bar (Bug #1347362) · 4a2e491e
      Robert Lyon authored
      
      
      If a user is in two (or more) institutions and the first institution has
      profile progess set up for it and the other doesn't, the switching of
      the select box makes the progress sideblock disappear.
      
      This patch checks that if any institution the user belongs to has
      profile progress then display the select box if they belong to two or
      more institutions and show either the bar or a message mentioning this
      intitution doesn't have progress.
      
      To test:
      - user with 1 institution that has progress
      - user with 1 institution that has no progress
      - user with 2 institution that both have progress
      - user with 2 institution where one has progress
      - user with 2 institution where none have progress
      
      Change-Id: I4daca26b4b9cfef9faa73be34c34ad931d89465e
      Signed-off-by: Robert Lyon's avatarRobert Lyon <robertl@catalyst.net.nz>
      4a2e491e
  24. 21 Jul, 2014 1 commit
  25. 16 Jul, 2014 1 commit
  26. 01 Jul, 2014 2 commits
  27. 30 Jun, 2014 1 commit
  28. 24 Jun, 2014 1 commit
  29. 17 Jun, 2014 1 commit
  30. 16 Jun, 2014 1 commit
  31. 15 Jun, 2014 1 commit
  32. 13 Jun, 2014 1 commit
    • Aaron Wells's avatar
      Cleanup of the Plugin class · 6c89ad48
      Aaron Wells authored
      
      
      Bug 1328768
      
      - Improving documentation
      
      - Adding default implementations for the *_config_options methods because
      that's a better means of documenting them than the function_exists() way
      
      - Fixing the save_config_options() methods in the search plugins, which
      should have been static.
      
      Change-Id: Ib2bf1388843824e63cf6486176e97b8f874e1116
      Signed-off-by: default avatarYuliya Bozhko <yuliya.bozhko@totaralms.com>
      6c89ad48
  33. 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
  34. 09 Jun, 2014 1 commit
  35. 05 Jun, 2014 1 commit
  36. 04 Jun, 2014 2 commits