Product news and other information from the developers of Portfolio.
Showing 26 - 30 of 93
  • New exam feature, filesystem(t) skip_custom_init feature and several bugfixes

    Posted by: Robin Smidsrød 10. Dec 2015 16:53

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

    Performance improvements

    • Improve web server buffering, which should improve latency when a lot of users are requesting large multimedia content, or lots of users with low bandwidth are using the site.

    New features

    • It is now possible to give time-limited access to a course, similar to a traditional classroom exam. The exam is automatically delivered after the time limit and supervisors are automatically assigned so that they can assess the exam once it's done. Supervisors are notified using the internal messaging system that a new exam is available for assessment. While the exam is active an infobar is added at the top of the page informing you how far you've come and how much time is left. When the exam is started, current_course and current_institution is set. When the exam is delivered (either manually or automatically) all exam documents are automatically delivered.
    • A new template function, human_duration, was added, making it easy to convert a duration instance into something easily understandable for end-users.
    • The template function, current_exam_participant, was added and is used by the template element_exam_status.


    • Extend filesystem template function to allow skipping of containers and objects based on a custom_init flag.
    • The container get_child_objects() and get_child_containers() methods were also extended to support this new filesystem behavior.
    • Finally the filesystem and read_container request handlers got the skip_custom_init query parameter and behavior.
    • Improve backend search script so it can match against multiple regular expressions like a filter chain.
    • Population of instances in model classes has been vastly improved and refactored to be simpler.


    • When results for a course was deleted, progress was not reset to first document in course. This has now been fixed.
    • The width of the comment field when assessing assignments was too narrow. This has now been fixed.
    You must be logged in to read or post comments
  • EU cookie warning, changed e-portal login procedure and more

    Posted by: Robin Smidsrød 22. Oct 2015 15:36

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

    New features

    • A legal warning about cookie usage is now shown on top of each page with a link to more extensive documentation. If a site uses custom cookies, the template request_cookies should be extended to document their use.


    • When logging in using the e-portal, only the user that is logging in is now created or linked up (previously associated supervisors or students where also created). This means that only student/supervisor-relationships where both students and supervisors have logged in at least once will be created. It is recommended that teachers log in at least once to one of their products in the e-portal before students log in to ensure connections are set up before students start to use the products.
    • The CEFR placement test algorithm has been modified to allow skipping missing documents in the initial categories. This enables use-cases where we only want to test speech-related categories.
    • Android, iOS and Microsoft Edge browsers and mobile platforms should now be properly detected, allowing content to be customized for these devices and browsers. Internet Explorer is now detected as ie instead of msie. Templates should use the client_browser.is_ie check instead of the exact name, so content should not be impacted. The same applies to the Windows platform. It now returns the name windows instead of explicit names for each version of Windows. The check client_browser.on_windows should always be used in templates.
    • Several request handlers now show page titles with the name of the item being edited.


    • Increased line-height for code examples in reference documentation to avoid underscores not being rendered.
    • Fixed PIN code case-sensitivity bug reported on
    You must be logged in to read or post comments
  • HTTP range request support, CORS header support and improved API documentation

    Posted by: Robin Smidsrød 14. Sep 2015 14:00

    Today's update (146d133) brings with it the follow changes:

    Security issues

    • Allow site administrators to set the CORS Access-Control-Allow-Origin HTTP header, allowing JavaScript applications on other sites access to data in Portfolio. The site configuration variable in question is named http_access_control_allow_origin. This was requested by the d-bok project.

    Performance improvements

    • The implementation of HTTP range requests for binary content allow the video and audio player to skip ahead in the stream, saving some bandwidth when users are only interested in a specific portion of the stream.

    New features

    • Support for HTTP range requests (RFC 7233) was added to all binary content served by Portfolio. The thumbnail, watermark and wav2mp3 HTTP request handlers have ranged requests disabled, because the content is dynamically generated. This also means that normal voice recordings performed in the WAV format does not support range requests during playback, because it internally uses the wav2mp3 request handler. This is because some browsers don't support playback of WAV files using HTML5.
    • Additional API documentation. All template handlers should now be documented. A significant portion of the HTTP request handlers have also been documented.


    • Binary HTTP responses from Portfolio was refactored, which should give more consistent response in terms of caching behavior.
    • Improved the readability of the legend text in the CEFR placement test usage report.


    • Google Chrome users were unable to seek in MP4 video files before the entire video file was cached locally and the page was reloaded. This should now work as expected.
    You must be logged in to read or post comments
  • CEFR placement test usage report, JSON response bugfix, updated video player, and more

    Posted by: Robin Smidsrød 5. Feb 2016 11:50

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

    New features

    • A report showing how many CEFR placement tests have been completed has been added. The report is only available to global administrators and owners of the specified groups. The groups included in the report is specified in the global configuration value placement_test_usage_report_groups.
    • Added back-end tool take_ownership. With this tool ownership on institutions, groups, courses, containers and objects can be quickly changed recursively.
    • Added region-agnostic Arabic user-interface language with locale code ar_001 to replace the region-specific code ar_001. The code ar_001 has been demoted to a content language. When rendered in HTML markup, the new code ar_001 will show up as a lang="ar" attribute. As this locale has no region associated with it, a white flag is used where required.


    • Updated video player to mediaelement.js 2.18.1 for better compatibility with newer browsers.
    • Extended database to handle locale codes longer than 5 characters. This was required by the Arabic change mentioned above.


    • Fixed issue where JSON response text sometimes would return garbled Unicode text (Mojibake) and the wrong content length. Returning the wrong Content-Length HTTP header would cause all sorts of hard-to-debug issues, usually related to keep-alive connections and invalid byte boundaries. All use-cases where encode_json() was used have been reviewed and fixed.
    • When a user was removed from an institution, they might not have their student/supervisor relationship revoked. This bug should now be fixed.

    Feature removals / deprecations

    • The user-interface language ar_001 has been demoted into a content language. You should use the locale code ar_001 instead for setting UI language.
    You must be logged in to read or post comments
  • Hotpatch to fix broken file uploader and more

    Posted by: Robin Smidsrød 13. Aug 2015 13:18

    A small hotpatch (c0e693f) was applied today to fix a few issues from yesterday's update.

    Several sites had issues because the page wrapper for all request handlers wasn't named properly, causing several styles and scripts to misbehave. The sites were issues were reported were Klart det and Los geht's. The file uploader and the move feature in the file manager were also reported as broken. All of these issues were solved by naming the page wrapper properly.

    It was noticed that localized titles were broken in many places, because of invalid XML LOM data. The error handling was improved to show a flash error message to the end-user instead of just logging in the server log. This should enable us to fix the issue more quickly in the future.

    You must be logged in to read or post comments
Showing 26-30 of 93
First Previous Next Last