Blog

Product news and other information from the developers of Portfolio.
Showing 1 - 5 of 95
  • Fixed issue with formatting of timestamps from database

    Posted by: Robin Smidsrød 18. Oct 2017 15:16

    There was a small issue with formatting of timestamps coming from the database that was not fixed in the update that was deployed yesterday. This should now be fixed with release cde6b8e.

    You must be logged in to read or post comments
  • Timestamps now show in correct time zone and more lists are sorted correctly

    Posted by: Robin Smidsrød 17. Oct 2017 18:18

    Today's update (0863168) brings with it the following changes:

    Security issues

    • The HTTP request handler read_config is now accessible by anonymous users when you're fetching global or site configuration. This fixes an issue with DrillPro apps on Servus.
    • Talkbook sounds were previously not available to d-bok reader because of a HTTP CORS issue. This should now be fixed.
    • All Unicode text input should now be normalized to the NFC form to avoid hard-to-notice comparison bugs.

    New features

    • A new template handler, current_timezone is available, which includes the time zone value from the browser (or a default value if not yet set). The default time zone can be set with the global configuration variable timezone.
    • The test suite can now test job queue and web worker behavior better, allowing for improved code coverage.

    Enhancements

    • Timestamps are now shown in the time zone the user expects. This is implemented in the template handler human_date, which is used in most situations to display timestamps. Timestamps generated before this update will show up in the UTC time zone, regardless of what time zone the user uses. The current time zone is now shown in the standard footer template, allowing for easier time zone debugging.
    • The sort_object template handler now supports locale-aware sorting.
    • The unpack HTTP request handler now always dispatches to an async job.
    • The job queue has been reimplemented using Redis queue and distributed locking primitives.
    • PORTFOLIO.session_set_var JavaScript function now supports async operation.

    Feature removals / deprecations

    • The job queue is no longer implemented using Beanstalk, so it has been completely removed.
    • The unpack HTTP request handler no longer supports unpacking archives without using async job.
    You must be logged in to read or post comments
  • New image measurement handler, Heap Analytics user tracking added and default permissions warning removed

    Posted by: Robin Smidsrød 7. Sep 2017 17:41

    Today's update (e9988b9) brings with it the following changes:

    New features

    • New request handler for images was added that make it possible to quickly measure the dimensions of a rectangle in an image which can be used directly in the findinpicture app. This handler is available in the edit top menu. A copy-to-clipboard button is also available which is focused after a selection is done. Some SVG images are not compatible with this rendering method and can't be properly measured. This issue might be fixed in a later update.
    • Added user client-side event tracking using HeapAnalytics.com. This can be selectively enabled for a site by setting the heap_analytics_id configuration variable.
    • When you're creating exercises (app-input objects) it is now possible to quickly look up the app you want to use with the app selector located next to the custom_init input box in the object editor.

    Enhancements

    • The list_config request handler has been completely rewritten to use the new list_config template function.

    Bugfixes

    • When new objects were created a warning about broken default permissions was shown. This should no longer happen if no default permissions are set.

    Feature removals / deprecations

    • The object attributes structure, version and aggregation_level was removed, along with their backing database columns. They have never been used for anything useful. They were removed to save space and decrease user interface complexity.
    You must be logged in to read or post comments
  • Default permissions, CodeMirror editor improvements and bugfixes

    Posted by: Robin Smidsrød 15. Aug 2017 17:13

    Today's update (a1a3d64) brings with it the following changes:

    New features

    • It's now possible to save a set of default permissions which will be applied whenever you create new objects or containers.
      • These permissions are also applied when you unpack zip files or upload files directly.
      • When you create voice recordings using the recorder app these default permissions are not applied.
      • If you unpack a zip file over existing content the permissions of the existing content will not be modified, although the content will be.
    • A button has been added to the metadata tab of the container and object editor to allow for generation of the LOM XML content. This should make it easier to add additional titles in other languages.
    • A help feature has been added to the CodeMirror editor. Press F1 while the cursor is inside the editor to access the help feature.
    • It's now possible to randomize and sort lines in the CodeMirror editor. You use the keys F8 and F9 respectively to perform these actions.

    Enhancements

    • The current_timestamp template function now returns a DateTime instance instead of a string, allowing for more date math and other behavior. The returned timestamp always has the timezone set to UTC, instead of using local timezone. This does mean that users will see timestamps with an offset from what they're used to, but this can't be improved unless we have some way of gathering the time zone from the browser and storing it in the session (or cookies).
    • A lot of the behavior around adding and removing permissions to containers and objects has been changed. It should now be more consistent all over.
    • Some strings in the Spanish translation was updated.

    Bugfixes

    • When the create_response template function was used and the CodeMirror editor was used, saving and sending in content was impossible. This has now been fixed.
    • HTTP redirects didn't include a CORS header, even if one was specified for the site. This has been fixed.

    Feature removals / deprecations

    • Removed the old and unused get_isbn HTTP request handler.
    You must be logged in to read or post comments
  • Rewritten create_response() feature and various other improvements

    Posted by: Robin Smidsrød 27. Jun 2017 17:30

    Today's update (e736cb2) brings with it the following changes:

    New features

    • The create_response() template function has been more or less completely rewritten. It is now rendered on the page instead of opening a new window/tab. It allows inline editing of a response object. This should improve useability for students quite a lot.
    • It is now possible to see how much blob storage space a user has consumed.

    Enhancements

    • Added font-size option to the simple TinyMCE editor.
    • Improved message when object is saved and sent to supervisor.
    • When rendering origin object while editing a response object, the response is no longer shown in the dropdown, avoiding double display of the same content.
    • Inconsistent styles for info/warning/error messages has been cleaned up.
    • Test suite has been improved quite a lot. It can now be run in continuous integration services.

    Bugfixes

    • The human_size() template function now works with the value 0.
    • Fixed issue with inconsistent padding/margin around some TinyMCE toolbar elements.

    Feature removals / deprecations

    • Several JavaScript functions which are no longer in use have been removed:
      • PORTFOLIO.helpSuccessHandler
      • PORTFOLIO.helpFailureHandler
      • PORTFOLIO.getAjaxObject
      • PORTFOLIO.PopDocAjax
      • PORTFOLIO.contentSuccessHandler
    You must be logged in to read or post comments
Showing 1-5 of 95
Next Last

Login