Download Latest Version SENAITE.LIMS 2.5.0 source code.zip (1.0 MB)
Email in envelope

Get an email when there's a new version of SENAITE

Home / v1.3.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2019-03-30 9.8 kB
SENAITE.CORE v1.3.0.tar.gz 2019-03-30 6.1 MB
SENAITE.CORE v1.3.0.zip 2019-03-30 7.3 MB
Totals: 3 Items   13.4 MB 0

Release notes

Update from 1.2.9 to 1.3.0

IMPORTANT: Plan the upgrade with enough time

Version 1.3.0 is not a hotfix release, it rather comes with a lot of changes that require additional care when planning the update. If you have your own add-on, please review the changes to check beforehand if some parts of your add-on require modifications.

This update will take long (up to 5h for instances with large amounts of data). Therefore, is recommended to plan and allocate enough resources for the process to complete beforehand. For big databases, RAM is a critical factor to be considered before upgrading. Worth to mention that the following tips are strongly recommended before proceeding with the upgrade:

  • Do a zeopack
  • Do a backup of both your code and database
  • Try to have as much analyses in verified/published statuses as possible
  • Stop unnecessary applications and services that may consume RAM
  • Start with a clean log file

Most of the base code has been refactored keeping in mind the following objectives:

  • Less complexity: less code, better code
  • High test coverage: lower chance of undetected bugs
  • Boost performance: better experience, with no delays
  • Improve security: rely on Zope's security policies
  • Code responsibility: focus on core functionalities and let other add-ons to deal with the rest (senaite.lims, senaite.core.listing, etc.)

Besides of this refactoring, this version also comes with a myriad of new functionalities and enhancements: full-fledged sample partitions, reinvented listings and results entry, new adapters for extensibility, etc.

Version 1.3 is the result of hard, but exciting work at same time. Four months of walking through valleys of tears and fighting hydras. Four exciting months to be proud of.

Changes

1.3.0 (2019-03-30)

Added

  • [#1310] Support for radio copy in Sample Add view
  • [#1309] Added Samples rejection view
  • [#1291] "Remove" transition for empty Worksheets
  • [#1259] Added Facscalibur instrument import interface
  • [#1244] Added "Body for Sample Invalidation email" field in setup
  • [#1231] Add Client ID Column in Batch Listing
  • [#1230] Add Client ID Column in Sample Listing
  • [#1222] Added User and Security API
  • [#1217] Added filtering buttons in Analyses listings (Valid, Invalid, All)
  • [#1193] Added viewlets for partition and primary ARs
  • [#1180] Analysis Request field-specific permissions managed in ar_workflow
  • [#1154] Default to "Active" Worksheets in listing
  • [#1153] Progress bar in Worksheet listing
  • [#1120] Listing: Confirm before transition
  • [#1077] Creation of retests for blanks and controls via retraction
  • [#1077] Creation of retests for duplicates via retraction
  • [#1077] Auto-retraction of dependents on retract transitions
  • [#1077] The removal of a routine analysis causes the removal of its duplicates
  • [#1077] Added rollback_to_received transition in ar_workflow
  • [#1077] Added rollback_to_open transition in worksheet_workflow
  • [#1077] Battery of doctests for referenceanalysis_workflow
  • [#1077] Battery of doctests for duplicateanalysis_workflow
  • [#1077] Battery of doctests for analysis_workflow
  • [#1066] Enhanced partitioning system (partition magic)

Changed

  • [#873] Generalize the assignment of values into fields for Setup on import
  • [#1257] Fix Traceback for MultiSelectionWidgets in View Mode for UIDReferenceFields
  • [#1249] Render attachments in report in worksheets too
  • [#1243] ID Server Suffix Support for Retested ARs
  • [#1240] Support action-specific workflow_action requests with named adapters
  • [#1215] Do not copy CaptureDate and Result in retest analyses when created
  • [#1215] Do not modify the ID of analysis on retraction
  • [#1207] Make use of adapters for instrument auto-import
  • [#1206] Make use of adapters for instrument import/export interfaces
  • [#1203] Remove explicit definition of transitions in AR listing
  • [#1192] Integrate Container and Preservation in Partition Magic
  • [#1180] Analysis Request default ID Format becomes {sampleType}-{seq:04d}
  • [#1180] visibility attr behavior (AR fields) in favour of field-specific perms
  • [#1180] Sanitized ar_workflow regarding to guards, transitions and permissions
  • [#1180] Sample content type discarded in favour of Analysis Request
  • [#1182] Allow open min/max values in analysis specifications
  • [#1000] Refactor service calculation dependency/dependants functionality to API
  • [#1176] Unbind cancellation_workflow from AnalysisRequest content type
  • [#1173] Improve Resultsinterpretation Form
  • [#1161] Listing: Transposed worksheet improvements
  • [#1150] Completeness of not yet published Analysis Requests is not 100%
  • [#1147] Set empty option selected by default in result options
  • [#1148] Add "All" filter in Analysis Requests listings
  • [#1148] Make "Active" filter to display ongoing Analysis Requests only
  • [#1136] Skip objects w/o transitions in allowed transitions calculation
  • [#1135] Listing: Separate Remarks Toggle-Handle
  • [#1128] Listing: Removed non-conform handling of disabled fields
  • [#1123] Listing: Handle visibility of selected rows
  • [#1117] Removed attachment_due state and transition from analysis workflow
  • [#1114] Listing integration for Worksheet Templates
  • [#1109] Unassignment of an analysis causes the removal of its duplicates
  • [#1077] Rejection of an analysis causes the removal of its duplicates
  • [#1077] Don't allow to cancel Analysis Requests with assigned/submitted analyses
  • [#1077] Decouple cancellation_workflow from Analysis content type
  • [#1077] Refactored referenceanalysis_workflow + after transitions and guards
  • [#1077] Refactored duplicateanalysis_workflow + after transitions and guards
  • [#1077] Refactored analysis_workflow + after transitions and guards
  • [#1095] New worksheet results listing
  • [#1091] New Worksheet blank/control/duplicate listings
  • [#1093] Listing integration for Analysis Specification Widget
  • [#1092] Listing integration for Profile Analyses Widget
  • [#1081] API functions improved
  • [#1076] Instrument QC Viewlet Availability
  • [#1071] Reinvented Listing Tables
  • [#1066] Set default page size for listings to 50
  • [#1063] Permission for ar_add changed to "AddAnalysisRequest"
  • [#1064] Python 2.x is not supported by WeasyPrint v43. Pinned version: 0.42.3

Removed

  • [#1308] Remove install screen
  • [#1224] Replace publication engine with SENAITE IMPRESS
  • [#1207] Remove results auto-import interval from Setup: no limitations to cron
  • [#1180] Remove AdHoc field from Analysis Request
  • [#1180] Remove support for "sampleId" and "sample" keywords in ID Formatting
  • [#1180] Remove Sample views and accesses to Sample content types
  • [#1180] Remove Sample Partitions classic functionality
  • [#1167] Remove filtering by department
  • [#1149] Remove "Unpublished" filter from Analysis Requests listing
  • [#1132] Remove "Submitted by current user" icon from AR listing (performance)
  • [#1125] Remove Sample views, listings and links to Sample(s) from everywhere
  • [#1118] Removed all legacy Bika Listing / Advanced Filtering from Codebase
  • [#1077] Remove Sample-specific states from analysis workflow
  • [#1077] Remove worksheetanalysis_workflow
  • [#1059] Remove updates alert viewlet
  • [#1060] Remove classic portlets
  • [#1058] Remove gpw dependency
  • [#1058] Remove broken Quality Control reports
  • [#1057] Remove z3c.unconfigure dependency
  • [#1056] Remove collective.taskqueue dependency
  • [#808] Remove old AR Add code

Fixed

  • [#1109] Linking LabContacts to LDAP-user not possible
  • [#1283] Retracting a calculated Analysis leads to an inconsistent state
  • [#1281] Adding Analyses to an existing Worksheet fails
  • [#1269] Render analysis remarks conditionally
  • [#1277] Traceback in Manage Analyses
  • [#1245] Not all clients are shown in clients drop menu for Productivity Reports
  • [#1239] Fix and Improve Stickers
  • [#1214] Disallow entry of analysis results if the sample is not yet received
  • [#1213] Fix instrument notification display in Manage Results View
  • [#1212] Fix typo in SamplingFieldsVisibility
  • [#1191] Some worksheets pre-1.3 with published analyses remain in open/to_be_verified state
  • [#1190] Fixed evolution chart for reference analyses
  • [#1183] Fix results calculation of dependent calculations
  • [#1175] Fixed Version Display of SENAITE CORE Add-on in the Quickinstaller Tool
  • [#1142] Fix instrument QC Analyses Table
  • [#1137] Fixed and refactored log view
  • [#1124] Traceback when invalidating an Analysis Request with retracted analyses
  • [#1090] Primary AR does not recognize created Partitions
  • [#1089] Deepcopy Service Interims to Analyses
  • [#1082] Worksheet folder listing fixtures for direct analyst assignment
  • [#1080] Improve searchability of Client and Multifile fields
  • [#1072] Calculations with dependents do not work after 1.2.9 update
  • [#1070] Cannot get the allowed transitions (guard_sample_prep_transition)
  • [#1065] Creation of reflex rules does not work with senaite.lims add-on

Security

  • [#896] Users without privileges can create reports
  • [#1258] Fix widget permissions for Specs/Profiles/Templates Widgets
  • [#1237] Global Permission and Role Mappings refactoring
  • [#1077] Transitions and states strongly bound to DC Workflow + guards security

Diff stats

Delta between v1.2.9.1 and v1.3.0 - 214 commits - 5 contributors - 1,144 files changed, 156,409 additions and 188,653 deletions

Source: README.md, updated 2019-03-30