ODK Aggregate Changelog

What's new in ODK Aggregate 1.4.4

Oct 20, 2014
  • installer now asks for an ODK Aggregate username for the super-user (not a Google e-mail account). Default password is aggregate.
  • banner displayed if super-user's password has not been changed from aggregate.
  • fix: column name generator bug (upload of form definition failed)
  • fix: add more detailed error messages when a submission is corrupted
  • IE6 and IE7 are no longer supported. Upgrade your browser.
  • allow user to specify the ODK 2.0 App Name.
  • allow anonymous access to ODK 2.0 Sync APIs.
  • enforce 'Administer Tables' access for ODK 2.0 Sync APIs that alter server configuration.
  • for ODK 2.0 Sync APIs, remove JBoss Resteasy; use Apache Wink instead.
  • extensive version updates to supporting software libraries.
  • update CONFIGURE.txt instructions for maven builds. Define ANT scripts for external dependencies.

New in ODK Aggregate 1.4.3 (Oct 20, 2014)

  • updated javarosa jar
  • add stub Tomcat/MySQL Eclipse project with readme
  • update selenium test environment and various 3rd party jars
  • update the GAE SDK inside the installer to 1.9.0
  • new ODK Tables sync protocol and UI. Breaks ODK Tables Alpha 2 sync.
  • new sync protocol exchanges SAVEPOINT_TYPE, FILTER_TYPE, FILTER_VALUE

New in ODK Aggregate 1.4.2 (Oct 20, 2014)

  • Fixes to ODK Tables sync protocol for the combined release.

New in ODK Aggregate 1.4.1 (Oct 20, 2014)

  • Enketo Webforms integration. You can now use Enketo's browser-based Webforms to fill-in and publish submissions directly into ODK Aggregate. This feature was developed and donated by SDRC India. To enable Enketo integration, go to the Site Admin / Preferences tab and click on Enketo API Configuration.
  • fix the Z-ALPHA JSON publisher and the JSON File export to emit an array of zero or more objects, one object per submission, with proper treatment of embedded quotes, etc. Confirmed that the output passes JSLint.
  • fix the CVS File export functionality to double-up all occurrences of double-quotes in a field before surrounding that field with double quotes (per RFC 4180).
  • clean up date and time handling in REDCap publisher and enforce GMT time zone interpretation when rendering date and time strings.
  • various GWT interfaces have been changed to use concrete ArrayList types (reduces code size).
  • new permissions have been added in support of ODK Tables -- Synchronize Tables and Administer Tables and for most ODK Tables interactions, the user is required to have Synchronize Tables permissions.
  • extensive changes to ODK Tables sync protocol and database structures. There will be further changes in the next update.
  • fix sizing calculations and CSS so that the ODK logo does not get clipped or overwritten.

New in ODK Aggregate 1.4 (Oct 7, 2013)

  • changed behavior: simple JSON publisher now POSTs an application/json entity body; added option for how to treat binary content. Incompatible change; see Upgrading section if you were using the Z-ALPHA JSON Server
  • changed representation: ODK Tabled storage schema has been revised. Incompatible change; see Upgrading section if you used your server to upload or download data to ODK Tables. Syncing with ODK Tables is broken in this release. Only v1.3.4 on Google AppEngine works with the ODK Tables alpha (we are in the middle of changing table schemas).
  • fix: file exports were not properly writing UTF-8 character sets.
  • fix: postgreSQL failures on some forms (column names must be less than 63 characters)
  • Upgrade Aggregate’s Google publishers to use the updated Oauth2 libraries (e.g., Google Fusion Tables, Google Spreadsheet). Publishing from Google Apps domains does not work (it never has). This required a significant rewrite of the publishers so please notify the ODK core team of bugs!
  • NEW: Add support for publishing data to Google Maps Engine, more information can be found at GoogleMapsEngineInstructions
  • rework Spreadsheet and Fusion Table publishers to use Google libraries (consistent with the new Google Maps Engine publisher)
  • additional active-paused state in publisher to extend the delay in publishing attempts (and reduce quota usage) if the destination publisher is reporting an error.
  • improved how failures during form definition uploads are rolled back to increase the likelihood that the database is restored to a clean state.

New in ODK Aggregate 1.3.4 (Aug 15, 2013)

  • Fix for the v1.3.3 fix for Google AppEngine -- The original fix caused the creation of new publishers to Google Spreadsheets to fail, export to files to fail, form deletions to fail, and purge-sent-submisions actions to fail. This fix should rectify those issues.

New in ODK Aggregate 1.3.3 (Aug 7, 2013)

  • fix for Google AppEngine:
  • entity keys (unique identifiers assigned by Google AppEngine and used internally by ODK Aggregate) may now contains slashes. Submissions that have been assigned an entity key containing a slash were breaking the 'SubmissionKey' parsing used when publishing, retrieving images, accessing repeat groups, or retrieving submissions using ODK Briefcase.

New in ODK Aggregate 1.3.2 (Jul 10, 2013)

  • expose the ODK Tables data and management tabs.
  • issue 710 - upon an initial install, configure Anonymous User with Data Collector and Form Manager (and Data Viewer) permissions.
  • watchdog sweep interval shortened to 30 seconds in fast-publishing mode (from 60 seconds). Ensure watchdog is scheduled to be fired when there are records remaining to be published.
  • another fix for table-splitting
  • fix publisher failure to Google Spreadsheets and Fusion Tables by prepending 'n' to element names beginning with digits.
  • fix publishing failure with Fusion Tables when a form with repeat groups has submissions without any repeats.
  • issue 824 - fix for malformed json publishing with null media attachments
  • issue 776 - attempt to create Spreadsheets and Fusion Tables on behalf of the owner (vs. reassign ownership after the fact). Potentially fixes Google Apps Domain publishing issues (if service account is granted the permissions).
  • fix publisher-creation failure that can cause cycling UI refresh.
  • update javarosa library, adding format-date-time().
  • issue 806 - briefcase not downloading instances with repeat groups containing images.
  • update to selemium 2.33.0 to resolve Firefox ESR 17.0.7 failures.

New in ODK Aggregate 1.3.1 (Apr 18, 2013)

  • change watchdog to run more frequently if there is an active publisher. Provide a 'disable' button on the Site Admin / Preferences page to restore older behavior (to conserve GAE quota).
  • form upload failed for some forms on MySQL with stack exhaustion.
  • Fix to simple JSON publisher. had caused instability when used.
  • popups don't show centered in screen when displayed on top of scrolling regions.
  • forms with repeat groups cannot be versioned.
  • rows-per-page value keeps getting reset on refresh

New in ODK Aggregate 1.3 (Feb 5, 2013)

  • Installer now supports migrated AppEngine instances (for the Master-Slave -to- High-Replication Datastore migration).
  • Google Fusion Tables publisher now provides the links to the tables of all the repeat groups, the top-level record, and a left-outer-join view of the first repeat group and top-level record. This gives a 'flat' view of the data.
  • Google Spreadsheets and Google Fusion Tables publishers are now using OAuth 2.0 for authentication. This breaks all existing publishers (you need to republish). Additional user configuration is needed to register the necessary OAuth 2.0 credentials via the Site Admin / Preferences page. When setting up a publisher, you are no longer redirected to Google to allow access; the access credentials defined on the Site Admin / Preferences page bypass that step in the process; instead, you will receive an e-mail from Google notifying you of the newly published data having been shared with you.
  • Google Maps v3 API is now used for the visualization features.
  • siteKey and userServiceKey have been removed from the installer and siteKey is now saved and accessed from the datastore (this enables easily-replicated AWS VM images to be constructed).
  • some large forms cause table subdivision algorithm to fail, preventing the form from loading into ODK Aggregate. This alters the names of tables that are created and their contents.
  • Added a 'Published Through' and an 'Owner' column to the 'Published Data' table to communicate the progress of the publisher and who is receiving the data (really, the initial owner).
  • move the watchdog to the frontend instance to minimize the use of the background thread. This change may cause issues on servers with a very large number of publishers or pending export jobs.
  • spelling typo fix
  • fix Fusion Tables link; changed Google Spreadsheets to be links, and to have these links open in new windows.
  • Google Spreadsheet publisher failed badly if name was blank.
  • extra comma in JSON file export (in repeat groups)
  • JSON file export now exports multiple-choice values as a JSON array of string values, rather than a space-separated string.
  • arbitrary intermingling of http and https requests are problematic
  • cannot save filter unless display metadata is checked.
  • version string should be an integer that fits in an int.
  • unable to change the title of an existing form
  • forms are now listed alphabetically
  • MySQL media attachments are stored as BLOB types, allowing the default MySQL configuration to work (the LONG_BLOB setting had required changes to the out-of-the-box MySQL database configuration)
  • annual update of all jars and jar dependencies (extensive); removed all OAuth 1.0 jars.
  • Alpha release REDCap (XML) publisher
  • Alpha release Simple JSON publisher
  • Alpha release Ohmage JSON publisher

New in ODK Aggregate 1.2 (Dec 21, 2012)

  • Updated javarosa library with cascading select support (as with KoBo Collect).
  • Add a Delete button to the Exports list to enable deleting the generated files.
  • Exported files using filters now export the metadata if displayed by the filter.
  • Improved Map visualization display and pop-ups (showing images)
  • Improved filter, export and publishing pop-ups.
  • Update to use LONGBLOB and LONGSTRING on MySQL (new tables only) See MySQL Usage
  • cache thumbnail images for 1 hr for improved performance and lower AppEngine datastore usage.
  • Form definition files and media attachments can now be altered and those changes uploaded to the ODK Aggregate server. The server still maintains only one version of the form, and all alterations must not affect the number of questions in the form or change the data type of any field (e.g., from int to decimal or string, etc.).
  • Whenever a form or any of its media files are modified, the version attribute in the top-level element (where the form id is defined) must be changed. Version attributes are recommended to be of the form "yyyymmddnn", e.g., 2012060400 -- the last two digits are the form iteration within the given day. They must be integer values and the new value must compare lexically greater than the prior value (this means, for example, since "9" compares lexically greater than "10", you cannot update a version from 9 to 10 -- but you could upgrade from "09" to "10").
  • There is a 15-minute grace period for uploading revisions after which the version must be incremented (e.g., incremented to 2012060401).
  • Note that you will need the soon-to-be-released updates to ODK Briefcase and ODK Form Uploader in order to use those tools with this version of ODK Aggregate.
  • Fix odd start-up failures on Google AppEngine
  • timestamp comment in wrong location

New in ODK Aggregate 1.1 (Dec 21, 2012)

  • PREVIEW RELEASE Production deployments should remain on the v1.0.9 release unless the features of this release are critical to your deployments.
  • Form definition files and media attachments can now be altered and those changes uploaded to the ODK Aggregate server. The server still maintains only one version of the form, and all alterations must not affect the number of questions in the form or change the data type of any field (e.g., from int to decimal or string, etc.).
  • Whenever a form or any of its media files are modified, the version attribute in the top-level element (where the form id is defined) must be changed. Version attributes are recommended to be of the form "yyyymmddnn", e.g., 2012060400 -- the last two digits are the form iteration within the given day. They must be integer values and the new value must compare lexically greater than the prior value (this means, for example, since "9" compares lexically greater than "10", you cannot update a version from 9 to 10 -- but you could upgrade from "09" to "10").
  • There is a 15-minute grace period for uploading revisions after which the version must be incremented (e.g., incremented to 2012060401).
  • Note that you will need the soon-to-be-released updates to ODK Briefcase and ODK Form Uploader in order to use those tools with this version of ODK Aggregate. Compatibility issues may arise as we understand the full ramifications of this change.
  • Note that ODK Collect 1.1.7 has buggy support for versioned forms. If you make use of versioning, you should use ODK Collect 1.2 RC1.
  • An updated ODK Aggregate 1.1 will be released at the time ODK Collect 1.2 becomes the official production release.

New in ODK Aggregate 1.0.9 Production (Dec 21, 2012)

  • AppEngine over-quota page showing erroneously.

New in ODK Aggregate 1.0.8 Production (Dec 21, 2012)

  • fix erroneous release of TaskLock that could cause 60-second lock-out of "Add Forms", causing slow uploads of multimedia forms using FormUploader or Briefcase
  • fix performance bugs in the TaskLock for GAE.
  • fix correctness bugs in the TaskLock for MySQL and PostgreSQL that can cause two TaskLocks to be obtained for the same resource if they are both requested at exactly the same second.

New in ODK Aggregate 1.0.7 Production (Dec 21, 2012)

  • double "Add Forms" leaves UI in inoperable state
  • double "Add Forms" leaves UI in inoperable state
  • JSON file export supported
  • update installer to use Google AppEngine 1.6.4 SDK
  • remove uiVersion comparison tests (deprecated functionality).

New in ODK Aggregate 1.0.6 Production (Apr 4, 2012)

  • Fix issue 542 - Add a Refresh Credentials button on publishers. This button appears when the publishing to an external service (Google Spreadsheet or Fusion Tables) fails with a 401 (Unauthorized) error. Clicking the button will walk through the authorization screens for publishing to that service, yielding a new credential for that publisher
  • Fix issue 512 - Add a Purge Submission Data button on the Form Management / Submission Admin tab. This button enables you to delete submission data up to a specified date. Incomplete submissions are not deleted
  • Fix issue 422 - digest auth failing in 1.0.5 Release Candidate
  • Includes all functionality from the 1.0.5 release candidate

New in ODK Aggregate 1.0.5 RC (Feb 28, 2012)

  • Reduce memory requirements for KML and CSV generation to enable generation of larger datasets
  • Restore bookmark navigation after login challenges - v1.0.4 did not navigate to a requested bookmark page if the user was challenged to log onto the site
  • Add support for Oauth 1.0 publishing from Build into Appspot-hosted Aggregate instances. Oauth 1.0 tokens do not work on Tomcat servers
  • Add support for Oauth 2.0 access to Aggregate. Aggregate will accept any Google token granting access to https://www.googleapis.com/auth/userinfo.email with access rights equivalent to the indicated Google user

New in ODK Aggregate 1.0.4 (Feb 10, 2012)

  • issue 483 - unable to log into MySQL or PostgreSQL deployments with openId
  • issue 484 - streaming does not function
  • issue 486 - odk:length not respected on Google AppEngine
  • Fix layout issue with HelpBook and misc. popups
  • Update all security jars and misc. others to latest releases
  • Update to Google AppEngine 1.6.1 SDK