Skip to content

Releases: ucfopen/Obojobo

v7.1.3

03 Feb 22:51
v7.1.3
c2a8f17
Compare
Choose a tag to compare

Changes:

  • Fixes pasting text into figure captions in the Visual Editor #1102
  • Fixes setting start page in the Visual Editor #1103

v7.1.2

03 Feb 22:47
v7.1.2
0db6d57
Compare
Choose a tag to compare

Changes:

  • fixes a bugs introduced into the visual editor that uses the wrong rubric variables #1096 (PR #1097)
  • updates to travis release regex to better match alpha releases

v7.1.1

03 Feb 22:41
v7.1.1
60ca187
Compare
Choose a tag to compare

Changes:

  • Changed Visual Editor's Node Detail editor button from 'Close' to 'Save & Close' to help users understand they need to click the button to commit to their changes.
  • Removed NPM publishing from Travis
  • added yarn build to prepublish script to make sure webpack runs before npm publish

v7.1.0 - "Onyx"

14 Jan 21:31
v7.1.0
3a40b98
Compare
Choose a tag to compare

The big stuff you'll wanna know

This release is all about big updates to the editing (and sharing!) of modules.

For authors & instructors:

  • Our visual editor has been vastly updated with a cleaner new look and additional features! You can now copy, download and preview modules from within the Visual Editor, and editing items like QuestionBanks, Assessment Rubrics and Math Equations is much easier.
  • The old "Draft Manager" has been replaced by our new module management interface.
  • Among other improvements this new interface allows you to share access to modules to other users and adds the new Module Library which is a space to post modules for other users to use and modify.
  • The LTI resource selection interface now allows you to embed modules from the new Module Library
  • The visual editor now supports adding Event triggers on all content types.

For data nerds:

  • We fixed a bug causing the question:scoreSet event to be fired twice, causing duplicate events to be stored. It's now only fired once.
  • We fixed a bug causing the viewer:returnFromInactive event to not be created.

For students:

  • (No major updates this release)

For developers:

  • Common.Registry has new methods (More info below)
  • A new database config option has been added (useBluebird) to make debugging database errors easier with more useful stacktraces.
  • All assets built into obojobo-epxress/public/compiled will be served from /static automatically - You no longer need to register them
  • res.badInput, notAuthorized, reject, missing, and unexpected all emit an event that can be used to render a custom error page.
  • DraftModel, MediaModel, UserModel and VisitModel now fire events on common actions
  • New models added: DraftSummary and RepositoryCollection
  • /dev has a resizable iframe for viewing the resource selector
  • Running migrations has changed - The new command is yarn obojobo-migrate up.
  • The Obojobo npm module spec has changed (See the end of this document for details)

For administrators:

  • This release has migrations and new packages.
  • Running migrations has changed - The new command is yarn obojobo-migrate up.
  • Javascript and CSS files are now generated with cache-busting URLS to prevent cached code and/or styles from breaking new updates.

REST API Changes:

  • Added GET /api/drafts/:draftId/raw which returns additional metadata about a draft in addition to the draft content
  • Added GET /api/drafts-public which lists all drafts in the Module Library
  • Added GET /api/drafts which lists all drafts you own
  • Added GET /api/users/search which returns a list of users matching the search terms
  • Added GET|POST /api/drafts/:draftId/permission which lists or updates a draft's permissions
  • Added DELETE /api/drafts/:draftId/permission/:userId which removes a user's permissions from a draft
  • Removed GET /api/drafts/:draftId/raw as it is no longer used

Complete Issues List

The list of completed pull requests can be seen on here: https://github.com/ucfopen/Obojobo/pulls?q=is%3Apr+milestone%3A%228+-+Onyx%3A+Library%2FSharing%2FScore+Importing%22+is%3Aclosed

  • #1089 - adds release scripts to package.json
  • #1082 - Fix save problems on visual/xml/json editor
  • #1078 - [clean] removes /api/drafts/:draft/raw route
  • #1074 - Strips empty mods in json-to-xml-parser but still allows it to be saved
  • #1073 - Prevent QuestionBank settings component from creating infinite loop
  • #1069 - [fix] fixes viewer idle timer reactiviation
  • #1068 - Fixes log out link so it is now easy to click on
  • #1067 - Issue/1058 switching trigger actions does not clear out previous values
  • #1065 - Adds preventESC to Modal (and super classes) to stop users from using the ESC key to close a dialog
  • #1063 - Fixes scrolling focus issues for Break, MathEquation and YouTube in the Visual Editor
  • #1061 - Ensures that triggers in the Visual Editor now work for every node type, and converting from/to XML maintains trigger information
  • #1057 - Fixes a few issues with copy & paste in the visual editor
  • #1055 - Fixes issues when clicking on Break nodes or text placeholders causing annoying behavior
  • #1050 - [fix] editor question bank settings radio buttons
  • #1045 - [fix] permissions for editing shared modules
  • #1044 - [fix] editor loading draft request headers corrected
  • #1041 - [fix] math equation editor no longer jumps to end
  • #1040 - Fix #1039
  • #1038 - Wrap PageEditor in a react ErrorBoundry
  • #1036 - Fixes filter for capital letters and a few style changes
  • #1034 - [fix] dashboard filtering with upper and lower case
  • #1029 - Makes sure the repository Filter input doesn't break if no title present
  • #1028 - Comment out insert menu
  • #1027 - Fix the Delete button in the visual editor more info box from crashing the page
  • #1022 - [fix] minor instructions fix on module page
  • #1018 - Add 0% scoreAction page as a backup for a missing no-score page
  • #1017 - Tweak for lti picker styles
  • #996 - Fix problem when question:scoreSet is being fired twice
  • #992 - adds obojobo-document-json-parser to travis file
  • #989 - dev 8 Repository and Visual Editor Combined
  • #983 - adds note about s-stem NSF support to readme
  • #982 - makes lti error stacktraces more useful
  • #981 - add note about /dev route in readme
  • #844 - Issue #526 customize read an explanation of the answer

Since #989 ended up being a pretty heafty pull request we've summarized the vast amount of changes below:

  • Visual Editor improvements: - Visual Editor is now the default editor with a cleaner interface, new toolbar and several other UI enhancements - Edit as JSON/XML options added to continue to allow advanced editing
    • You can now copy, download and preview modules from within the editor
    • A "more info" dialog is available for each Obo Node in the document, allowing you to get or set it's ID, specify additional options where they exist as well as define triggers.
    • A new triggers & actions dialog has been added to allow you to define behavior for every Obo Node.
    • Math Equation editing has been streamlined to an in-page dialog rather than a popup which shows you a complete live preview of your equation.
    • Editing Question Bank options is now easier.
    • The Question UI has been streamlined. * Editing Assessment Rubric options is now much easier.
  • Site Updates
    • The old Draft Manager has been replaced by a user Dashboard and Module Library page. The new dashboard allows you to now collaborate with other users by sharing your modules. The public library will contain modules available for instructors to use in their courses.
    • New homepage
    • Updated 401, 404 and 500 error pages
    • Logout option added
  • Heroku setup success url changed from /lti to the homepage
  • New common components added:
    • DeleteButtonBase
    • Slider
    • Switch
    • DropDownMenu
    • WithPageFocus (A higher order component to add page focus references as needed)
  • Common.Registry adds registerEditorModel(nodeObj)
  • Common.Registry adds get insertableItems()
  • OboNode editor params change templateObject (object) to insertJSON (callback) to protect from unintentional object instance sharing/reuse
  • Tons of React implementation optimizations
  • Webpack will now build assets with version hashes in the filename to assist caching
  • New asset_resolver.webpackAssetPath() to get the correct path to a webpack asset
  • Database config adds option useBluebird. When set to true will help in debugging database errors (default is off for production use).
  • req.getCurrentUser no longer takes an argument to enable throwing errors if the user isn't logged in (use requireCurrentUser instead)
  • All assets built into obojobo-epxress/public/compiled will be served from /static automatically - You no longer need to register them
  • res.badInput, notAuthorized, reject, missing, and unexpected all emit an event that can be used to render a custom error page.
  • Errors thrown in lti.js will be easier to debug
  • DraftModel gained deleteByIdAndUser()
  • DraftModel now fires events when a draft is created, updated, and deleted
  • MediaModel now fires events when created and...
Read more

v6.0.1 - "Cornelian"

17 Oct 20:08
v6.0.1
6d0bd96
Compare
Choose a tag to compare

We're excited to present to you release 6.0.1! I'd like everyone to say hello to our newest student developer Anthony Rodriguez - his contributions have landed in this release!

The big stuff you'll wanna know

For authors & instructors:

  • This release has a number of updates to Math Equations. First, we've added a live preview when editing Math Equations in the Visual Editor and you can now change the size of your equations in the Visual Editor as well. We've also done a few tweaks to the rendering of Math Equations - labels sit below the equation and very long equations no longer run off the page. Finally katex, the library we're using to render math, has been updated from 0.9.0 to 0.11.1 which includes some bug fixes and additions (see what's new).
  • The Draft Manager now allows you to switch between JSON to XML and back again. You can find that option is in the new toolbar at the top of the page.
  • Viewing a module as an Instructor or Administrator once again shows the module in Preview Mode (reverting to the behavior in 3.3.0). This makes it easier to preview your modules and reduces issues when testing assessments.
  • By default users with the ContentDeveloper role now have the same permissions as those with the Instructor or Administrator roles.

For data nerds:

  • The nav:toggle event is no longer sent to the server. Instead either a nav:close or nav:open event is sent.

For students:

  • We're continuing to work on making Obojobo much better on mobile devices. In addition to several small tweaks we also now hide the navigation sidebar by default.

For developers:

  • New links have been added to /dev to quickly create LTI launches as a student.
  • We've updated several node packages. Among those, React was updated from 16.8.6 to 16.10.1 and Underscore was updated from 1.5.1 to 1.9.1.

For administrators:

  • This release has migrations.
  • The node version requirement has been updated from 10.4.1 to 12.11.1 and the yarn version requirement has been updated from 1.0 to 1.15.2.
  • You may need to update your nginx / Apache / server config based on changes on #942
  • New configuration environment variable OBO_LTI_USERNAME_PARAM allows you to choose the LTI launch param to use as a username in Obojobo. If not set the current default of lis_person_sourcedid will be used.
  • A new "demo mode" (disabled by default) has been added which allows the periodic purging of data such as events. This can be useful to demo Obojobo in cases where keeping some data (such as events and attempt scores) is not desired. Two additional environment variables have been added with this change:
    • OBO_DEMO_PURGE_MODE: Choose between deleting historical logs and everything. This can either be none, DANGER-delete-HISTORY-data or DANGER-delete-ALL-data.
    • OBO_DEMO_PURGE_DAYS_AGO: Specifies how many days to keep old data if purge is enabled.

REST API Changes:

  • (No major updates this release)

Complete Issues List

Here are all the completed issues for this release:

Features & Enhancements:

  • #922 - Draft Manager now has a toolbar which, among other things, allows you to switch a document from JSON to XML (and visa versa).
  • #924 - You can now edit the size attribute for MathEquations in the Visual Editor and a live preview of the rendered LaTeX has been added to the equation edit dialog.
  • #937 - Insert item toolbar in the Visual Editor is no longer cut off by the bottom of the page
  • #938 - Instructor launches again always use preview mode, restoring the 3.3.0 behavior. This prevents instructors seeing LTI errors when submitting assessment attempts.
  • #943 - Adds ContentDeveloper to the same default permissions that Instructor and Administrators have.
  • #959 - Scrollbars no longer show up on questions during their flip animation.
  • #976 - Adds a "demo mode" which can be configured to purge data (such as events) on a scheduled basis.
  • #977 - The katex library used to render latex math has been updated from 0.9.0 to 0.11.1 (Refer to the katex change log).
  • #984 and Additional - Multiple improvements to make the user experience much better on mobile. Navigation now automatically hides on small screen sizes. Changes the display of MathEquation labels to sit underneath the equation. Adds horizontal scrolling to MathEquations so that long equations no longer run off the page.

Bug Fixes

  • #935 - Fix regression bug causing the Draft Manager to break when attempting to render drafts without titles
  • #962 - Fix bug causing multiple blank YouTube chunks created in the visual editor to incorrectly reference the same video

Project & Developer Updates

  • #933 - Add indices to visits table
  • #939 - Moves session clearing to the User model, adds clearSessionsForUserById method.
  • #940 - Refactored LTI code
  • #941 - Adds links to /dev to create LTI student launches
  • #942 - Changes header forwarding to use standard x-forwarded-host.
  • #944 - Adds $Canvas.masqueradingUser.id to LTI config.
  • #960 - Bump mixin-deep from 1.3.1 to 1.3.2
  • #963 - Refactor and cleanup for the code handling the creation of new nodes in the visual editor
  • #974 - Adds option in the LTI config to specify the property to use as the user name
  • #976 - Adds a server:lti:user_launch event when a user is found during an LTI launch. Adds the deep-freeze library. The global config option object is now frozen.
  • #977 - Node version requirement has been updated from 10.4.1 to 12.11.1 and the yarn version requirement has been updated from 1.0 to 1.15.2. React updated from 16.8.6 to 16.10.1. Underscore updated from 1.5.1 to 1.9.1. Updates several other package dependencies to newer versions, refer to the pull request for a complete list. pgSession now uses the app's postgress connection instead of creating it's own.
  • #984 and Additional - Adds Common.util.debounce. scss mq() mixin added. scss pad() mixin now supports a scale argument (pad(0.5) = half the padding). /lti/config.xml response content-type changed from text/xml to application/xml. req.getCurrentUser will now make sure req.currentUser is set in all situations. Scheduler addon added to Heroku one button install. nav:toggle no longer sent to the server. Additional code clean-up and enhancements.

Release Stats

  • Commits: 112
  • Developers: 4
  • Files Changed: 168
  • Lines Changed: 9718 (+5917, -3801)
  • Commit Dates: Jul 25, 2019 - Oct 14, 2019
Lines of Code (expand to view)
› cloc ./ --hide-rate --by-percent cmb --read-lang-def=my_definitions.txt
    1634 text files.
    1422 unique files.                                          
     244 files ignored.

github.com/AlDanial/cloc v 1.82
---------------------------------------------------------------------------------
Language                       files        blank %      comment %           code
---------------------------------------------------------------------------------
Jest Tests                       338          14.09           1.98          51813
Jest Test Snapshots              210           2.29           0.45          45454
JavaScript                       580          12.67           4.48          38751
JSON                              80           0.01           0.00          26679
Sass                              99          15.54           0.94           5231
XML                               31           2.36           5.25           1372
CSS                                7          26.99           0.29            760
EJS                               13           5.65           0.67            696
Markdown                           3          17.82           0.00            535
YAML                               3          18.53           6.95            193
SVG                               28           0.00           0.00            126
---------------------------------------------------------------------------------
SUM:                            1392           8.93           1.92         171610
---------------------------------------------------------------------------------

Thanks!

A big thanks to our contributors for this release (listed in alphabetical order):

Read more

v5.0.1 - "Lapis Lazuli"

12 Aug 19:52
v5.0.1
1f80844
Compare
Choose a tag to compare

They say some things are worth the wait, and we hope you'll agree on this new Obojobo release! We welcome aboard our newest superstar student contributor Toan Vu who has been blasting away at our back catalog of issues and features. This release also has some new cool features that you can add to your modules (along with a few key bug fixes!).

The big stuff you'll wanna know

For authors:

  • Survey questions are now available. These are questions which have no score component and can be both in content or assessment. You can ask students how confident they feel about a question or get a pulse check how they feel about a module. To make survey questions create a new question in the visual editor and change the type in the upper left from Default to Survey (or, in XML: <Question type="survey">...</Question>)
  • A download button has been added to the draft manager. You can now download XML or JSON module documents instead of having to copy and paste them into a new file.
  • We fixed a bug that caused issues when creating multiple empty blank pages in the Visual Editor. Feel free to create as many blank pages as you want!
  • We simplified assessment attempt code which fixed a long-standing issue. Previously using random and random-unseen Question Banks in assessment would cause attempt review to render incorrectly. This is now fixed - you can finally use these type of Question Banks without any problems.
  • Prior to this release a student completed the same Obojobo module twice in different courses or semesters, these would not be treated as distinct assignments in our system. This clearly caused issues for students who may have taken a course multiple times - They would retake an assignment which had no score in the course gradebook only to have Obojobo tell them it's completed. We now treat every embedded assignment of an Obojobo module as a distinct use. This means even if you embed the same Obojobo module 10 times in a course each will be distinct assignments within Obojobo too.
  • You can now upload images in the Visual Editor just like you could in the xml editor. It was missing due to time constraints in our last release, but we're happy it's here now!
  • Lists have been tweaked to visually fit better with text. Previously text and lists had two lines between them, this has been reduced to a single line.
  • Changing the Question Bank choose in Visual Editor was broken and defaulted to choose all items in the Question Bank. Oof. This has now been fixed.
  • Deleting the Assessment and creating a new one in the Visual Editor caused issues since the new Assessment was using a new random id. This has been fixed, all assessments now default to id my-assessment (Future releases will allow you to customize this id).
  • You can now specify the alt property for Math Equations in the Visual Editor. The alt property is an english-language description of a math equation (such as "x equals 2 squared") which is read by screen readers. We strongly recommend you include these and regret that it was missing in the last release.
  • Fixed a nasty bug (sorry!) that prevented editing new IFrames in the Visual Editor.
  • Obojobo now prevents you from opening two of the same Obojobo module in two (or more) tabs or browsers. When opening a module for the second time the first tab/window will display a message and shut down. This prevents users from browsing content in one tab while taking an assessment attempt in another.

For data nerds:

  • Survey questions have question scores (such as those in assessment attempt API responses) of the string "no-score" - This is a special token indicating that question was not scored and has no possible score. You should plan to see this value in addition to the numeric values of 0-100 for standard questions.
  • The context property has been added to a few question events. context lets you know from where the event took place (for example, if the Show Explanation button was clicked in practice or assessment review).
  • Survey questions add a new event: question:submitResponse. This is similar to question:checkAnswer, however since survey questions have no scoring and no correct answer it didn't make sense to use this event. question:submitResponse has a payload of questionId, context and response (these values are the same as those in question:checkAnswer events).

Here's a complete listing of the changes to events for this release:

  • Add question:submitResponse 1.0.0 - Contains the following properties:
    • questionId
    • context
    • response
  • Upgrade question:showExplanation: 1.0.0 to 1.1.0
    • Add context
  • Upgrade question:hide: 1.0.0 to 1.1.0
    • Add context
  • Upgrade question:view: 1.0.0 to 1.1.0
    • Add context
  • Upgrade question:retry: 1.0.0 to 1.1.0
    • Add context
  • Upgrade question:checkAnswer: 1.0.0 to 1.1.0
    • Add context
    • Add response
    • Add scoreId
    • Add score

For students:

  • We've done some tweaks to our mobile design to make it easier to use on mobile devices. We know we still have some work to do to get our mobile experience 100% - If you think you can help us please consider contributing to the project!

For developers:

  • React has been upgraded to 16.8.6! This includes all the goodies of React 16.8.6 including hooks.
  • Jest has been upgraded to 24.8! Tests should run faster.
  • Security updates: lodash has been upgraded to 4.17.14 and lodash.mergewith to 4.6.2
  • A new JSON to XML document parser has been added. We plan on using this to allow users to switch between editing documents in the Visual Editor and by writing XML, but for now it's a standalone package (which you can run manually on the command line).

REST API Changes

  • api/lti/sendAssessmentScore has been renamed to /api/lti/send-assessment-score

For administrators:

  • This release should save you a little disk space. In our testing #729 resulted in a ~25% reduction in database size :)

Complete Issues List

Here are all the completed issues for this release:

Features & Enhancements:

  • #829 - Module launches / assessments now utilize the LTI resource link id
  • #835 - Adds an image upload dialog to the Visual Editor
  • #845 - Updates Visual Editor tutorial so that questions aren't missing content
  • #847 - Updated the style of lists to fit closer to surrounding content
  • #848 #910 - Added ungraded Survey Questions
  • #849 - Renamed 'Break' to 'Horizontal Line' in the Visual Editor
  • #860 - Adds an Obojobo document JSON to XML parser
  • #868 - The edit MathEquation dialog in the Visual Editor now allows you to set/edit the alt attribute
  • #876 - Fix rendering of the submit incomplete attempt dialog to no longer stack buttons on top of one another
  • #906 - Added a button in the Draft Manager to download documents
  • #920 - Prevents multiple tabs/windows open at the same time for the same module

Bug Fixes

  • #729 - Fix assessment attempt review displaying incorrectly for random and random-unseen QuestionBanks.
  • #834 - Update API getDraft and getFullDraft to pass credentials in request
  • #856 - Fixed the hover state of red buttons
  • #861 - Visual Editor pick-all example now correctly uses pick-all instead of pick-one.
  • #869 - Fixed an unintended error attribute being saved with MathEquation content
  • #872 - Creating multiple empty pages in the Visual Editor no longer displays them with the same title
  • #880 - Setting the choose property for a QuestionBank in the Visual Editor now works as expected. Previously changing this value ended up with the value being interpreted as Infinity.
  • #881 - Attempts now default to an id of my-assessment which ensures that ActionButtons that trigger the start of an attempt will still function as expected.
  • #882 #918 - Editing IFrame properties in the Visual Editor no longer crashes the page
  • #887 - Fix pick-one questions in the Visual Editor to correctly use "pick-one" instead of "Pick One"
  • #892 - Currently focused IFrame control label now always on top
  • #915 - Correct name of MCChoice chunk
  • #919 - Adds better error handling to OboModel setProp

Project & Developer Updates

  • #864 - Various server-side code cleanup
  • #866 - Cleaned up test output to remove non-failing errors
  • #883 - Update React to 16.8.6
  • #891 - Update lodash.mergewith to 4.6.2
  • [#895](https://git...
Read more

v4.1.2

01 Aug 17:43
v4.1.2
ddb007e
Compare
Choose a tag to compare

A minor bug fix Obojobo release is here!

Bug Fixes

  • #882 Iframe properties window is broken

v4.0.1

06 May 16:07
v4.0.1
1e657f9
Compare
Choose a tag to compare

This is a very minor maintenance update. Caliper-js dependency moved from caliper-js-public so it was breaking installation. Also, debug, a dependency we use for logging had a minor security flaw.

Changes that authors need to know

None

Changes that developers need to know

  • caliper-js move required no code changes. No code changes were found in the library in it's new location.
  • debug update required no code changes. If you customized or extended Obojobo Next you should test that these updates don't cause an issue.

Issues List

  • #824 update caliper-js github repo url

v4.0.0 - "Snowflake Obsidian"

23 Apr 21:29
v4.0.0
24e99aa
Compare
Choose a tag to compare

I'm very happy and proud to announce that the beta release of our Visual editor is finally here! With the visual editor you can create Obojobo documents visually without any XML or JSON code required. I'd like to give a shout out to Elli Howard who took on the project all the way back in July 2018 and to both Elli Howard and Ryan Eppers who together have been working tirelessly to get it launched!

Highlights from this release

  • Visual editor! This offers an easier way to develop content in Obojobo - no XML required. See "Using the new visual editor" section below for more details.
  • Inactivity records are more useful with additional information added to the viewer:return and viewer:returnFromInactive events.
  • Fixed a bug with questions which should prevent rendering issues we've seen with recent releases of Chrome. These fixes should also prevent further rendering issues as the animations have been revamped and simplified.
  • New options have been added to focus:component allowing more control over directing page focus.
  • Behind the scenes Obojobo has gotten a whole heck of a lot more organized. OboNodes (the content types like Page, Question and List) are now their own packages and assessment quiz generation works off of our internal event system now. These modular architecture updates will make developing new OboNodes in the future much simpler.
  • We've updated from React 15 to 16!

Using the new visual editor

In the draft manager we've added a "+ Visual Editor Tutorial" button to show you the ropes on how it works. Clicking on that button will create a new tutorial document to learn the new visual editor. Once your new tutorial has been created click on the "Edit with Visual Editor (Beta)" link to view it in the new Visual editor.

Important: The visual editor internally uses the JSON document format. If you choose to edit an existing XML document with the visual editor that document will be converted to JSON. We recommend keeping a copy of your XML document if you choose to experiment with the visual editor for existing documents.

This is just the first version of the WYSIWYG visual editor, there's much more in store for the future. We released it now as we wanted to get feedback on it as soon as possible, and give document authors another way to write documents. If you encounter any bugs it would be super helpful for us if you let us know by creating an issue and tagging it with the "editor" tag.

As the visual editor matures over future releases our plan is for the visual editor to become the primary mode of writing documents in Obojobo, with the option to easily switch between the visual editor and writing your documents in XML (or JSON). We will always support being able to write purely in XML/JSON if desired.

Changes that authors need to know

  • The focus:component action syntax has changed. isVisuallyFocused is an option that provides a fade effect, dimming other content except the OboNode being focused on. This has been renamed to fade. Additionally, animateScroll has been added. If true, the page will smoothly animate the scroll to the OboNode to focus on. If false the element will simply appear in the viewport. This action also now sets DOM focus to interact-able elements in Questions and to the buttons in ActionButton OboNodes, enabling better keyboard support.
  • The focus:content action, added in the previous v3.4.0 release, has been removed as it has been superseded by the updates to focus:component. This action was non-documented and likely wasn't being used in a document, but is mentioned here for completeness.

Changes that developers need to know

  • The yarn dev:docEngine command is no longer needed thanks to #689 . Use yarn dev instead. #689 is a pretty big change in code organization, so if you are running into issues run yarn delete:node_modules (which will delete the node_modules folders in every package), then re-run yarn. You should only need to do this once.
  • The sample draft object has changed. In the obojobo-document-engine package run yarn sampleDraft:seed to update the sample draft.

Issues List

Here are all the completed issues for this release:

Features & Enhancements:

  • #585, #671, #587, #602, #619, #639, #687, #712, #714, #738, #746, #758 - The beta of the visual editor is now available.
  • #654 - The sample math questions in the example document assessment has been updated to use LaTeX. Previously these questions were read incorrectly by screen readers.
  • #670 - Simplifies focus code and adds options to the focus:component action. This action can now set the DOM focus for interact-able components in Questions and ActionButtons.
  • #707 - viewer:return and viewer:returnFromInactive now include the internal Obojobo event id in their payloads instead of the caliper event id. viewer:return now includes leftTime and duration in the payload, allowing easier calculations of how long a student was away from a module.
  • #756 - Headings have been expanded to support all 6 levels. h3, h4, h5 and h6 tags are now supported in XML.

Bug Fixes

  • #670 - Changes in v3.4.0 broke the smooth animations when navigating to different headings in a page in the sidebar nav. Those animations have been reworked and restored.
  • #682 - The hamburger menu in Safari went missing in v3.4.0. This fix brings it back.
  • #695 - Fixed a bug causing issues when page titles consisted only of numbers.
  • #697 - Icon used in Heroku has been fixed.
  • #698 - Assessment submit button now centers on narrow pages correctly.
  • #735 - Simplifies question rendering which fixes a rendering bug in the latest releases of Chrome causing questions to be blurry.
  • #741 - The side navigation didn't scroll, causing issues if the contents were taller than the viewable window. It now scrolls as expected.
  • #755 - Fixed a bug causing the draft manager not to display if any drafts contained null content.

Project & Developer Updates

  • #623 - Assessment quizzes are built in a more modular way. This should help support the addition of different question types in the future.
  • #689 - React has been updated from 15 to 16. OboNodes have been split into individual npm packages, resulting in a more modular and future-proof way of defining and building OboNodes.
  • #701 - Updates travis configs to work better with the monorepo package structure

Release Stats

  • Commits: 446
  • Developers: 6
  • Files Changed: 1991
  • Lines Change: 240,291 (+126,693, -113,598)
  • Commit Dates: Feb 7, 2019 - Apr 23 2019
Lines of Code (expand to view)
› git checkout v4.0.0
Previous HEAD position was 1f80844e v5.0.1
HEAD is now at 24e99aaf v4.0.0
Can't find Husky, skipping post-checkout hook
You can reinstall it using 'npm install husky --save-dev' or delete this hook

obojobo-next-npm-package/ on  
› cloc ./ --hide-rate --by-percent cmb --read-lang-def=my_definitions.txt
    1522 text files.
    1314 unique files.                                          
     236 files ignored.

github.com/AlDanial/cloc v 1.82
---------------------------------------------------------------------------------
Language                       files        blank %      comment %           code
---------------------------------------------------------------------------------
Jest Tests                       317          14.24           2.00          47583
JavaScript                       523          12.77           4.32          35238
Jest Test Snapshots              203           3.52           0.78          25018
JSON                              59           0.02           0.00          18690
Sass                              99          15.27           0.94           4802
XML                               31           2.36           5.25           1372
EJS                               13           3.81           0.42           1130
CSS                                7          26.99           0.29            760
Markdown                           3          17.82           0.00            535
YAML                               2          18.22           5.08            181
SVG                               28           0.00           0.00            126
Dockerfile                         2          21.57          35.29             22
Bourne Shell                       1          36.36          1...
Read more

v3.4.0 - "Amethyst"

06 Feb 15:18
Compare
Choose a tag to compare

This was a great release for us as this was our first release after open-sourcing Obojobo 🎉 !

Highlights from this release

  • IFrames have been expanded with several new features.
  • Our draft manager has been improved with better sorting of modules, searching and many UI/UX tweaks.
  • Image hosting is now built-in. You can embed images right from the draft manager!
  • Keyboard navigation and screen reader support has been significantly enhanced.
  • Tests now at 100% coverage!

Changes that authors need to know

  • MathEquation and <latex> elements now have an alt attribute, used to provide a plain-language description of the equation which will be read by screen-readers. We strongly recommend providing these attributes. Here's a few examples:
    • <MathEquation latex="y=x^2+b" alt="y equals x squared plus b">
    • The value <latex alt="i sub x">i_x</latex> is multiplied...
  • The random-all attribute for QuestionBank select attribute has been renamed to random. We recommend sticking with sequential for now until this existing bug has been resolved.

Issues List

While not a fully exhaustive list here are the major updates included in this release:

Note: Where possible the items below link to pull requests, however not all do as some of the pull requests were created in the older non-open-source UCF-only repository. In this case, the related issue or issues are linked instead.

Features & Enhancements:

  • #622 - LTI Course navigation item to open the Obojobo Editor should no longer be shown to students.
  • #588 - Code chunk is now differentiated by a gray background. Text no longer runs off the page, it now scrolls horizontally inside the gray code area.
  • #596 - Media hosting added. You can upload media from the Editor and it will generate the correct <Figure /> tag.
  • #181 - Code conventions are more strongly enforced via the addition of eslint and stylelint linters.
  • #637 #631 - IFrames significantly enhanced with several options added.
  • #520 - Preview mode is now strongly isolated. Taking an attempt in preview mode will have no impact on any attempts in non-preview mode (and vice-versa). Previously in preview mode you could see the history of non-preview attempts - this is no longer the case.
  • #509 - Database tables that were storing information based on a draft id only now use both the draft id and the draft content id. Previous to this change the version of a document for a database row had to be deduced from the timestamp of when the row was created.
  • #83 - Database tables now utilize the visit id, replacing the need for a draft id and user id pair (although some tables may continue to contain these).
  • #257 - Required node version has been upgraded from version 6 to 10. Webpack upgraded to version 4.
  • #236 - Project test coverage is now at 100%, which is now maintained for the project moving forward.
  • #232 - Built files for the obojobo-document-engine project are no longer committed.
  • #86 - Older fb.me CDN links for react libraries updated to use newer CDN links.
  • #179 - visit:start event added (along with an associated Caliper SessionEvent). viewer:open events now create a Caliper ToolUseEvent, replacing the previous behavior of creating a SessionEvent.
  • #195 - Added stronger validation for several routes along with some refactoring of the route code.
  • #206 #207 - Draft content ids now use UUIDs instead of numeric ids.
  • #601 - Several improvements to accessibility, including:
    • Student interface made much more accessible including screen reader and keyboard navigation support.
    • Multiple choice question feedback UI has been changed to place the feedback for an item choice next to the selected choice (this results in easier to understand feedback for non-sighted users and helps make feedback for pick-all questions easier to understand).
    • Enhancements to the focus system.
    • A new alt attribute has been added to MathEquation and inline <latex> elements. This value is read by the screen-reader. It's strongly recommended to use this attribute to provide a plain-english description of the math equation. If no alt attribute is provided the LaTeX code will be read instead. In testing screen-readers varied wildly in support of reading mathml elements and in many cases didn't read mathml content at all, so this alt attribute provides a workable compromise.
  • #288 - The draft manager has been given a number of enhancements, including
    • Drafts now correctly sorted (Most recent to least recent)
    • Items in draft list take up less space
    • Last edited date added
    • Draft search added
    • Reduced the number of javascript alerts
    • Added an unsaved state to any edited Drafts
    • Changes are now preserved so you can edit multiple drafts at once
    • The title of a draft now updates on save
    • Creating a new draft now selects the newly created draft
    • Alert added when leaving the page with unsaved drafts
    • Styling tweaked to better match the rest of the application

Bug Fixes

  • #598 - The sample draft XML when a new draft is created was linking to the older closed-source documentation - this is now updated.
  • #252 - Jest tests now run in a standardized timezone.
  • #646 - JSON draft response restores scrubbing of answer choice scores - this was removed in a previous release.
  • #663 - The random-all option for QuestionBank's select attribute has been renamed to random. The example documents and documentation erroneously sometimes used random-all and sometimes used random. This change also corrects this. The example document was using random which equated to the default of sequential since random previously was not recognized, therefore the example document has been updated to use sequential, maintaining existing functionality. (Note: Due to this existing bug it's recommended to only use the sequential option until the next release.)

Project & Developer Updates

  • #235 - Our developer style guide has been updated with information on testing and project testing conventions.
  • #656 and #657 - Added travis testing for pull requests, ensuring that code requirements are maintained for newly added code.
  • Project has been migrated from two closed course repositories to a single open source monorepo repository, simplifying development.
  • Documentation has been open-sourced.

Release Stats

  • Commits: 427
  • Developers: 5
  • Files Changed: 779
  • Lines Changed: 134,688 (+58,254 -76,434)
  • Commit Dates: Sep 2018 - Feb 2019
Lines of Code (expand to view)
› cloc ./ --hide-rate --by-percent cmb --read-lang-def=my_definitions.txt
     919 text files.
     911 unique files.                                          
      39 files ignored.

github.com/AlDanial/cloc v 1.82
---------------------------------------------------------------------------------
Language                       files        blank %      comment %           code
---------------------------------------------------------------------------------
JavaScript                       396          12.00           7.03          36921
Jest Tests                       207          14.31           2.58          34855
Jest Test Snapshots               95           2.64           0.47          19592
JSON                              21           0.00           0.00           8601
Sass                              72          14.75           1.38           3657
XML                               31           2.41           5.37           1339
EJS                               12          10.31           1.28           1038
CSS                                7          26.99           0.29            760
Markdown                           5          19.64           0.00            577
SVG                               27           0.00           0.00            121
CoffeeScript                       4          11.97           0.00            103
YAML                               3          14.44           2.22             75
Dockerfile                         2          21.57          35.29             22
Bourne Shell                       1          36.36          18.18              5
---------------------------------------------------------------------------------
SUM:                             883          10.57           3.63         107666
---------------------------------------------------------------------------------

</detail...

Read more