SODAR Changelog
Changelog for the SODAR project. Loosely follows the Keep a Changelog guidelines.
v0.14.2 (2024-03-15)
Added
- General
Django settings for reverse proxy setup (#1917)
- Irodsbackend
Sanitize and validate
IRODS_ROOT_PATH
inget_root_path()
(#1891)
- Landingzones
Create assay plugin shortcut collections for zones (#1869)
Zone statistics for siteinfo (#1898)
UI tests for project details card (#1902)
- Samplesheets
IrodsDataRequest
timeline event extra data (#1912)CRAM file support in study apps (#1908)
check_igv_file_suffix()
helper instudyapps.utils
(#1908)Path checking for IGV omit settings (#1923)
Glob pattern support for IGV omit settings (#1923)
- Taskflowbackend
Django settings in siteinfo (#1901)
BatchSetAccessTask
in iRODS tasks (#1905)IrodsAccessMixin
task helper mixin (#1905)
Changed
- General
Upgrade to Django v3.2.25 (#1854)
Upgrade to django-sodar-core v0.13.4 (#1899)
Upgrade critical Vue app dependencies (#1854)
Upgrade to cubi-isa-templates v0.1.2 (#1854)
Update installation documentation (#1871)
- Irodsbackend
Reduce redundant object queries (#1883)
Change method logic in
get_objects()
andget_objs_recursively()
(#1883)Use
get_root_path()
withinIrodsAPI
(#1890)Refactor
IrodsStatisticsAjaxView
and related JQuery (#1903)
- Samplesheets
Improve Django messages for
IrodsDataRequest
exceptions (#1858)Change
IrodsDataRequest
description if created in Ajax view (#1862)Refactor
IrodsDataRequestModifyMixin
timeline helpers (#1913)Rename
get_igv_omit_override()
toget_igv_omit_list()
(#1924)Rename
check_igv_file_name()
tocheck_igv_file_path()
(#1923)Named process pooling and renaming in sheet editor (#1904)
- Taskflowbackend
Optimize
landing_zone_move
iRODS path retrieval (#1882)Set zone status on uncaught errors in
run_flow()
(#1458)Change
TASKFLOW_IRODS_CONN_TIMEOUT
default value to960
(#1900)
Fixed
- General
Invalid env var retrieval for
AUTH_LDAP*_START_TLS
(#1853)
- Irodsbackend
Invalid path returned by
get_path()
ifIRODS_ROOT_PATH
is set (#1889)Stats badge stuck in updating with non-200 POST status (#1327, #1886)
- Landingzones
Stats badge displayed to superusers for
DELETED
zones (#1866)Zone status updating not working in project details card (#1902)
Modifying finished lock status allowed in
SetLandingZoneStatusTask
(#1909)
- Samplesheets
Invalid WebDAV URLs generated in
IrodsDataRequestListView
(#1860)Superuser not allowed to edit iRODS request from other users in UI (#1863)
IrodsDataRequest
user changed on object update (#1864)IrodsDataRequest._validate_action()
failing withdelete
action (#1858)Protocol ref editable for new row if disabled in column config (#1875)
Sheet template creation failure with slash characters in title/ID fields (#1896)
get_pedigree_file_path()
used in cancer study app tests (#1914)IGV omit settings not correctly set on project creation (#1925)
Germline study cache build crash with no family column (#1921)
Source name editing failing in assay table after row insert (#1928)
- Taskflowbackend
Hardcoded iRODS path length in
landing_zone_move
(#1888)Uncaught exceptions in
SetAccessTask
(#1906)Crash in
landing_zone_create
with large amount of collections (#1905)Finished landing zone status modified by lock exception (#1909)
Removed
- General
LDAP settings
OPT_X_TLS_REQUIRE_CERT
workaround (#1853)
- Taskflowbackend
get_subcoll_obj_paths()
andget_subcoll_paths()
helpers (#1882)
v0.14.1 (2023-12-12)
Added
- Irodsbackend
get_version()
helper (#1592, #1817, #1831)get_access_lookup()
helper (#1832)
- Irodsinfo
iRODS v4.3 auth scheme support in client environment (#1834)
- Samplesheets
Custom validation for
sheet_sync_url
andsheet_sync_token
(#1310, #1384)hpo.jax.org
inSHEETS_ONTOLOGY_URL_SKIP
(#1821)Missing Django settings in siteinfo (#1830)
- Taskflowbackend
iRODS v4.3 support (#1592, #1817, #1832)
BatchCalculateChecksumTask
exception logging (#1843)
Changed
- General
Upgrade to Django v3.2.23 (#1811)
Upgrade to django-sodar-core v0.13.3 (#1810)
- Irodsbackend
iRODS collection modal copy button icon (#1851)
- Landingzones
Disable locked zone controls in template for non-superusers (#1808)
Rename and refactor
disable_zone_ui()
template tag (#1808)
- Samplesheets
Upgrade Vue app dependencies (#1811)
Change default IGV genome to
b37_1kg
(#1812)Update existing
b37
IGV genome settings with a migration (#1812)
- Taskflowbackend
Improve
landing_zone_move
zone status info messages for validation (#1840)
Fixed
- General
Add workaround for
AUTH_LDAP_CONNECTION_OPTIONS
duplication (#1853)
- Irodsbackend
Opening redundant iRODS connection in server version retrieval (#1831)
- Landingzones
No wait for async
CurrentUserRetrieveAPIView
call result (#1732, #1807)BaseLandingZoneStatusTask.set_status()
failure with concurrent sheet replacing (#1839)
- Samplesheets
ColumnToggleModal
study checkbox states rendered under assay (#1848)ColumnToggleModal
group toggle not updating checkboxes in UI (#1849)
- Taskflowbackend
project_create
timeline event user reference (bihealth/sodar_core#1301, #1819)Incorrect write access messages in
landing_zone_move
when validating only (#1845)
Removed
- Taskflowbackend
Duplicate
SetAccessTask
tests (#1833)
v0.14.0 (2023-09-27)
Added
- General
Release cleanup issue template (#1797)
LDAP settings for TLS and user filter (#1803)
- Irodsbackend
get_trash_path()
helper (#1658)iRODS trash statistics for siteinfo (#1658)
- Irodsinfo
IrodsEnvRetrieveAPIView
for retrieving iRODS environment (#1685)
- Landingzones
Landing zone updating (#1267)
“Nothing to do” check for landing zone validation and moving (#339)
iRODS path clipboard copying button in iRODS collection list modal (#1282)
constants
module for zone constants (#1398)Assay link from zone assay icon (#1747)
Missing permission tests (#1739)
- Samplesheets
User setting for study and assay table height (#1283)
Study table cache disabling (#1639)
SHEETS_ENABLE_STUDY_TABLE_CACHE
setting (#1639)cytof
assay plugin (#1642)New ISA-Tab templates from
cubi-isa-templates
(#1697, #1757)General iRODS access ticket management for assay collections (#804, #1717)
Disabled row delete button tooltips (#1731)
IrodsDataRequest
REST API views (#1588, #1706, #1734, #1735, #1736)Davrods links in iRODS delete request list (#1339)
Batch accepting and rejecting for iRODS delete requests (#1340, #1751)
Cookiecutter prompt support in sheet templates (#1726)
“Create” tag for sheet versions (#1296)
Template tag tests (#1723)
iRODS file count in sheet overview tab (#1295)
get_url()
helpers forInvestigation
,Study
andAssay
models (#1748)normalizesheets
management command for sheet cleanup (#1661)Boolean field support in sheet templates (#1757)
iRODS access ticket REST API views (#1707, #1800, #1801)
- Taskflowbackend
BatchCalculateChecksumTask
iRODS task (#1634)Automated generation of missing checksums in
landing_zone_move
(#1634, #1767)Cleanup of trash collections in testing (#1658)
TaskflowPermissionTestBase
base test class (#1718)Taskflow session timeout management (#1768)
TASKFLOW_IRODS_CONN_TIMEOUT
Django setting (#1768)
Changed
- General
Upgrade to django-sodar-core v0.13.2 (#1617, #1720, #1775, #1792)
Upgrade to cubi-isa-templates v0.1.0 (#1757)
Upgrade to python-irodsclient v1.1.8 (#1538)
Upgrade Python dependencies (#1620)
Upgrade Vue app dependencies (#1620)
Upgrade to nodejs v18 (#1765, #1766)
Update deprecated Nodejs install method in Docker and dev (#1769)
Timeline event names and descriptions if called from syncmodifyapi (#1761)
Update tour help (#1583)
Enable setting
ADMINS
via environment variable (#1796)Update
ADMINS
default value (#1796)
- Irodsadmin
Output
irodsorphans
results during execution (#1319)Order
irodsorphans
results by project (#1741)
- Landingzones
Move iRODS object helpers to
TaskflowTestMixin
(#1699)Enable superuser landing zone controls for locked zones (#1607)
Add
DELETING
to locked states in UI (#1657)Query for landing zone status in batch (#1684, #1752)
Create expected collections if zone sync is called from syncmodifyapi (#1761)
Define and use zone status constants (#1398)
- Samplesheets
Sample sheet table viewport background color (#1692)
Contract sheet table height to fit content (#1693)
Hide internal fields from ISA-Tab templates (#1698, #1733)
Refactor
IrodsDataRequest
model and tests (#1706)Update
get_sheets_url()
helper to only handleProject
objects (#1771)Display full path under assay for iRODS data requests in UI (#1749)
Return full path under assay from
IrodsDataRequest.get_short_path()
(#1749)Make
request
optional inSheetVersionMixin.save_version()
- Taskflowbackend
Move iRODS object helpers from
LandingZoneTaskflowMixin
(#1699)Move iRODS test cleanup to
TaskflowTestMixin.clear_irods_test_data()
(#1722)Refactor base test classes (#1722)
Fixed
- General
Local Chromedriver install failure (#1753, bihealth/sodar-core#1255)
- Ontologyaccess
Batch import tests failing from forbidden obolibrary access (#1694)
- Samplesheets
perform_project_sync()
crash with no iRODS collections created (#1687)iRODS delete request modification UI view permission checks failing for non-creator contributors (#1737)
Investigation object ref broken in timeline
sheet_replace
events (#1774)External links column width estimation crash in table rendering (#1787)
Comment field editing with semicolon in data (#1790)
Ontology URLs not encoded if passed as query string in wrapper template (#1762)
Removed
- Landingzones
Unused
data_tables
references from templates (#1710)get_zone_samples_url()
template tag (#1748)
- Samplesheets
SHEETS_TABLE_HEIGHT
Django setting (#1283)Duplicate
IrodsAccessTicketMixin
fromtest_views_ajax
(#1703)IRODS_DATA_REQUEST_STATUS_CHOICES
constant (#1706)HIDDEN_SHEET_TEMPLATE_FIELDS
constant (#1733)sheet_export*
timeline events (#1773)SHEETS_ENABLED_TEMPLATES
Django setting (#1756)tumor_normal_triplets
ISA-Tab template (#1757)
v0.13.4 (2023-05-15)
Changed
- Samplesheets
Update ISA-Tab template dependency to
cubi-isa-templates
(#1667)Allow assay tables with no materials after sample (#1676)
Fixed
- General
django-autocomplete-light
Docker build crash withwhitenoise
(#1666)Chrome install script issues (#1677)
- Samplesheets
Multi-file upload not working (#1670)
Template create form allowing multiple ISA-Tabs per project (#1672)
v0.13.3 (2023-05-10)
Added
- Samplesheets
ProjectIrodsFileListAPIView
in REST API (#1619)SIMPLE_LINK_TEMPLATE
helper for simple link creation
Changed
- General
Upgrade to Django v3.2.19 (#1646, #1652)
Upgrade Vue app dependencies (#1646)
Update URL patterns to use path (#1631)
- Samplesheets
Refactor
meta_ms
to removeSPECIAL_FILE_LINK_HEADERS
use (#1641)Display study and assay plugin icons to contributors and above (#1354)
Fixed
- Samplesheets
Crash from
ClearableFileInput
with Django v3.2.19+ (#1652)
Removed
- General
Unused
sodar.users
views and URLs (#1663)
- Samplesheets
SPECIAL_FILE_LINK_HEADERS
hack (#817, #1641)
v0.13.2 (2023-04-18)
Changed
- General
Upgrade Python dependencies (#1620)
Minor manual updates (#1622)
- Irodsbackend
Refactor
IrodsAPI._sanitize_coll_path()
intosanitize_path()
(#1632)Handle unwanted parent strings in iRODS paths (#1632)
- Samplesheets
Refactor iRODS access ticket tests
Fixed
- Landingzones
Zone list content with user access disabled not displayed for superuser (#1623)
Incorrect “saving version failed” message in
sheet_edit_finish
(#1628)
- Samplesheets
Cell width estimation for simple links and contact columns (#1621)
Removed
- Landingzones
Unused
ProjectZoneView
context items (#1624)
v0.13.1 (2023-03-31)
Added
- General
API examples in manual (#1600)
- Landingzone
Save zone creation metadata as timeline event extra data (#1609)
Allow disabling landing zone operations from non-superusers (#1616)
LANDINGZONES_DISABLE_FOR_USERS
setting (#1616)
Changed
- General
Upgrade critical Python dependencies (#1604)
- Landingzones
Enable zone deletion if zone root collection is not found (#1606)
- Samplesheets
Upgrade Vue app dependencies (#1597, #1604)
Enable sheet deletion with data for delegates (#1605)
Fixed
- Samplesheets
Sheet version export crash with certain old projects (#1596)
Cancer app
get_shortcut_column()
crash if library name not in cache (#1599)Assay plugin override ignored in
_update_cache_rows()
(#1603, #1610)Inherited owners unable to delete sheets with data (#1605)
v0.13.0 (2023-02-08)
Added
- Irodsbackend
Create iRODS user accounts at login for users with LDAP/SODAR auth (#1315, #1587)
- Landingzones
Optional zone write access restriction to created collections (#1050, #1540)
Project archiving support (#1573)
UI warning for user without access for zone updating (#1581)
- Samplesheets
Mac keyboard shortcut support for multi-cell copying (#1531)
Study render table caching (#1509)
syncstudytables
management command (#1509)get_last_material_index()
helper (#1554)get_latest_file_path()
helper (#1554)“Not found” element for iRODS modal filter (#1562)
Existing iRODS file check in material name editing (#1494)
Omit IGV session files by file name suffix (#1575, #1577)
SHEETS_IGV_OMIT_BAM
andSHEETS_IGV_OMIT_VCF
Django settings (#1575, #1595)get_igv_omit_override()
andcheck_igv_file_name()
in study app utils (#1575, #1577)Project archiving support (#1572)
igv_omit_bam
,igv_omit_vcf
andigv_genome
project settings (#1478, #1577)Project-wide genome selecting for IGV session generation (#1478)
Changed
- General
Upgrade to django-sodar-core v0.12.0 (#1567, #1576)
Use default Gunicorn worker class in production (#1536)
Upgrade to fastobo v0.12.2 (#1561)
Update
.coveragerc
(#1582)Upgrade
checkout
andsetup-python
GitHub actions (#1591)
- Irodsbackend
Update backend iRODS connection handling (#909, #1542, #1545)
Rename
IrodsAPI.get_child_colls()
- Landingzones
Refactor permissions (#1573)
- Samplesheets
Upgrade critical Vue app dependencies (#1527, #1571)
Remove redundant node UUIDs from render tables (#708)
Improve IGV session file XML generating (#1585)
Do not create
sheet_edit_start
timeline events (#1570)Use role ranking in
EditConfigMixin
(#1589)
- Taskflowbackend
Remove legacy
landing_zone_create
build error handling (#1530)
Fixed
- General
Missing
LDAP_ALT_DOMAINS
Django setting (#1594)
- Irodsbackend
Unhandled backend init exception in
IrodsStatisticsAjaxView
(#1539)iRODS session disconnection issues (#909, #1542)
Ajax view access for inherited owners (#1566)
- Landingzones
Typo in
LANDINGZONES_TRIGGER_MOVE_INTERVAL
(#1541)
- Samplesheets
Crash from incompatibility with
packaging==0.22
(#1550)Cancer shortcuts expecting specific naming convention (#1554, #1563)
Cancer shortcut caching with identical library names in study (#1560, #1564)
iRODS modal filter input not cleared on modal re-open (#1555)
Column config editing access for inherited owners (#1568)
iRODS delete request accept view crash with collection request (#1584)
Germline study shortcuts enabled if sample not found in assay (#1579)
Removed
- Irodsbackend
Backend API
conn
argument (#909)IrodsAPI.collection_exists()
helper (#1546)IrodsAPI.get_coll_by_path()
helper
- Landingzones
Legacy
LandingZoneOldListAPIView
(#1580)
- Samplesheets
Unused
config_set
andnum_col
header parameters (#1551)get_sample_libraries()
helper (#1554)get_study_libraries()
helper (#1554)GenericMaterial.get_samples()
(#1557)
v0.12.1 (2022-11-09)
Added
- Landingzones
LANDINGZONES_TRIGGER_ENABLE
Django setting (#1508)
Changed
- General
Upgrade to Django v3.2.16+ (#1515)
Move include examples to
include_examples
(#1493)
- Samplesheets
Upgrade Vue app dependencies (#1518)
Improve study app logging (#1507)
Optimize germline study app
get_shortcut_column()
(#1519)Add study app tests (#1523)
Optimize germline study app cache updating (#1506)
Improve default IGV BAM track colour (#1514)
- Taskflowbackend
Improve project lock error messages (#1496, #1500, #1511)
Fixed
- General
Invalid
REDIS_URL
default value (#1497)Invalid modify API settings in production config (#1503)
- Landingzones
Missing zone status check in
ZoneMoveView
(#1520)
- Samplesheets
Uncaught project lock exceptions in iRODS delete request accepting (#1495)
Missing CSS classes for failed iRODS delete requests (#1513)
User alerts/emails sent for own iRODS delete requests (#1502)
- Taskflowbackend
Unhandled project lock exceptions (#1496, #1500, #1511)
Landing zone status not updated on flow lock/build errors (#1498)
Role deletion failing for categories (#1521)
Removed
- Samplesheets
.gitkeep
forconfig
directory (#1493)
v0.12.0 (2022-10-14)
Added
- General
Coverage reporting with Coveralls (#1471)
_login_extend.html
example (#1462)Overview video link in docs and
README
(#1452)Sentry JS include for production (#1393)
- Irodsbackend
get_zone_path()
helper (#1399)get_user_group_name()
helper (#1397)get_ticket()
method
- Landingzones
LandingZone.can_display_files()
helper (#1401)
- Samplesheets
Statistics badge in iRODS dir modal (#1434)
External links column hyperlink support (#1475, #1476)
SHEETS_EXTERNAL_LINK_PATH
Django setting (#1477)get_ext_link_labels()
helper (#1477)samplesheets/config
directory for config files (#1477)
- Taskflowbackend
Add app from SODAR Core (#691)
Add Taskflow functionality from SODAR Taskflow (#691, #1464)
Changed
- General
Refactor Taskflow functionality for integrated code (#691, #1397, #1466, #1469, #1480)
Use general
REDIS_URL
Django setting (#1396)Replace
get_taskflow_sync_data()
methods with modify API calls (#1397)Upgrade to django-sodar-core v0.11.0 (#1459)
Upgrade general Python dependencies (#1453)
Upgrade minimum PostgreSQL version to v11 (bihealth/sodar-core#303)
Enable all tests in GitHub Actions CI (#1168)
Replace hardcoded include templates with examples (#1462)
- Irodsbackend
Disable iRODS environment debug logging (#1455)
- Landingzones
Move Celery tasks into
tasks_celery
(#1400)
- Samplesheets
Move Celery tasks into
tasks_celery
(#1400)Ignore whitespace in simple link regex (#1474)
Read external link labels from JSON file (#1477)
Do not provide
external_link_labels
to UI without investigation
Fixed
- General
Docker build tagging failing for release tags (#1451)
URL config entrypoint for nonexistent
about.html
(#1481)Postgres role errors in CI (#1465)
- Landingzones
iRODS file status displayed for zones with unsuitable status (#1401)
- Samplesheets
iRODS delete request error messages not updated in modal (#1463)
Ticket created for new iRODS collections with disabled anon access (#1479)
Removed
- General
get_taskflow_sync_data()
methods (#1397)GitLab CI support (#1168)
test_local
settings file (#1395)Codacy support (#1471)
Legacy docs URL in
urls.py
(#1489)
- Samplesheets
Taskflow API views (#691, #1397)
BIH specific hardcoded external link labels (#1477)
SHEETS_EXTERNAL_LINK_LABELS
Django setting (#1477)
v0.11.3 (2022-07-20)
Added
- General
GitHub issue templates (#1441)
Contributing and code of conduct docs (#1426)
- Samplesheets
Enable
bulk_rnaseq
ISA-Tab template (#1430)Enable
microarray
ISA-Tab template (#1430)Enable
single_cell_rnaseq
ISA-Tab template (#1430)Enable
tumor_normal_triplets
ISA-Tab template (#1430)
Changed
- General
Upgrade to django-sodar-core v0.10.13 (#1391, #1406, #1418)
Upgrade to black v22.3.0 (bihealth/sodar-core#972)
Default
BASICAUTH_REALM
message (#1410)Add
LocalAuthAPIView
URL toSECURE_REDIRECT_EXEMPT
(#1411)Rename default iRODS zone into
sodarZone
(#1417)Manual updates (#1386, #1387, #1408)
Combine development documentation into manual (#1345)
Update
README
badges for recreated GitHub repository (#1428)Update
.pylintrc
(#1429)General code cleanup (#1429)
Upgrade cubi-tk (#1430)
Upgrade to python-irodsclient v1.1.3 (#1431)
Update
env.example
forsodar-docker-compose
dev environmentUpgrade to Node v16 (#1432, #1448)
Upgrade to lxml v4.9.1 (#1450)
- Samplesheets
Update Vue app browserslist (#1424)
Upgrade Vue app to ag-grid v28 (#1447)
Upgrade general Vue app dependencies (#1330, #1448)
Hide sheet template fields not meant to be edited (#1443)
Fixed
- General
build-docker.sh
failing with special characters in tag name (#1385)
- Irodsinfo
Info page title (#1416)
Manual link pointing to expired URL (#1442)
- Ontologyaccess
Redundant file info in import logging (#1436)
- Samplesheets
Unset study protocol export ordering (#1419)
Bootstrap tooltip issues in sheet tables (#1415)
cubi-tk
install failure due to missinglibbz2-dev
(#1425)OntologyEditModal
warning message for missing ontologies (#1444)OntologyEditModal
search input not trimmed (#1446)Sheet table horizontal scrolling on Firefox (#1445)
Removed
- General
Login page user domain autofill (#1409)
Custom login template (#1409)
Separate development documentation (#1345)
v0.11.2 (2022-03-04)
Added
- General
.readthedocs.yaml
file (#1362)
- Samplesheets
Investigation.get_assays()
helper (#1359)View tests for search (#556)
Changed
- General
Upgrade to django-sodar-core v0.10.10 (#1361, #1376)
Link manual to readthedocs.io (#1358)
Upgrade to python-irodsclient v1.1.2 (#1389)
- Landingzones
Make
description
optional in_make_landing_zone()
(#1360)
- Samplesheets
Allow replacing sheets if unfinished landing zones exist (#1356)
Update project list file column legend (#1366)
Upgrade Vue app dependencies (#1369)
Upgrade Vue app to ag-grid v27 (#1370)
Improve search results layout (#1373)
Fixed
- General
Invalid Python version in readthedocs build (#1362)
- Landingzones
Zone list title column layout issues (#1380)
- Samplesheets
LandingZone
objects deleted by API sheet replacing (#1356)Invalid
Investigation
timeline object reference for sheet replacing (#1357)IrodsStatsBadge
query error handling (#1371)Keyword
type:file
not limiting search (#1374)Redundant iRODS connections in search result rendering (#1375)
Tooltip hide not working in ontology column config (#1379)
Removed
- General
Local manual build (#1358)
- Landingzones
Unused
sodar-popup-overlay
elements fromproject_zones.html
(#1363)
v0.11.1 (2022-02-04)
Added
- Irodsbackend
format_env()
helper for iRODS environments (#1351)
- Irodsinfo
Use
IRODS_HOST_FQDN
for client environment and display (#1349)
- Samplesheets
Toggle WebDAV IGV proxy with
IRODS_WEBDAV_IGV_PROXY
(#1324)
Changed
- General
Upgrade minimum Python version to v3.8, add v3.10 support (bihealth/sodar-core#885)
Upgrade to django-sodar-core v0.10.8 (#1337)
Upgrade Python dependencies (#673, #1337, #1348, bihealth/sodar-core#884, bihealth/sodar-core#901, bihealth/sodar-core#902)
Upgrade to Chromedriver v97 (bihealth/sodar-core#905)
- Samplesheets
Upgrade Vue app dependencies (#1330)
Fixed
- General
Manual building in readthedocs (#1343)
- Irodsinfo
Invalid value formats in iRODS environment generation (#1351)
- Ontologyaccess
Opening OWL data for parsing not working for specific URLs (#1352)
v0.11.0 (2021-12-16)
Added
- General
Siteinfo app in default
LOGGING_APPS
value (#1219)LOGGING_LEVEL
setting (bihealth/sodar-core#822)PROJECTROLES_EMAIL_HEADER
andPROJECTROLES_EMAIL_FOOTER
settings (#1231)Codacy coverage reporting (#1169)
- Irodsbackend
colls
parameter in list retrieval (#1156)IRODS_ENV_DEFAULT
setting (#1260)LocalAuthAPIView
REST API view andIRODS_SODAR_AUTH
setting (#1263)
- Landingzones
busyzones
management command (#1212, #1314)App alerts for sheet cache updates (#1000)
App alerts for zone owner for zone actions (#1204, #1240)
member_notify_move
app setting (#1203)Project member notifications from zone moving (#1203, #1232)
LandingZone.user_message
field (#1203)finished
parameter forLandingZoneListAPIView
(#1234)LandingZone.is_locked()
helper (#321)Zone locked status in UI and
LandingZoneRetrieveAPIView
(#321)Display collections in iRODS file list (#1156)
UI documentation in user manual (#1181)
- Ontologyaccess
App documentation in user manual (#1301)
- Samplesheets
Simple link support for string cell rendering (#1001)
generic_raw
assay plugin (#1128)Overriding assay plugin via assay comment (#1128)
App alerts for sheet cache updates (#1000, #1265)
Tooltip to clarify the Finish Editing button (#1109)
Tooltips for buttons disabled due to an unsaved row (#1056)
Default ontology column value (#1061)
Confirmation for field value overwrite on node rename (#1060)
Sheet version description (#754)
Batch sheet version deletion (#773)
Assay app support for “transcriptome profiling” measurement type (#1255)
Saving version with description in editor UI (#1109)
Automatic study/assay table filtering from search results (#634)
UI documentation in user manual (#1180)
Changed
- General
Upgrade to django-sodar-core v0.10.7 (#1217, #1220, #1243, #1272, #1332)
Upgrade to python-irodsclient v1.0.0 (#1223)
Upgrade to Chromedriver v96 (bihealth/sodar-core#772, #1254, bihealth/sodar-core#847, bihealth/sodar-core#852)
Upgrade to Node v12
Improve production logging (#1257)
Upgrade to django-webpack-loader v1.4.1 (#1198)
Upgrade to redis v3.5.3 (#1297)
Use
ManagementCommandLogger
for command output (#1276)Update user manual (#1304, #1318)
Replace deprecated
MAINTAINER
label in Dockerfile (#1316)Enable setting
SECURE_REDIRECT_EXEMPT
in env vars (#1331)
- Irodsbackend
Retrieve iRODS config from
IRODS_ENV_BACKEND
setting (#1221)Use data attributes in templates (bihealth/sodar-core#530)
Rename
data_objects
toirods_data
in return data (#1156)Get default iRODS environment values from default env (#1260)
- Irodsinfo
Retrieve iRODS config from
IRODS_ENV_CLIENT
setting (#1221)Display
IRODS_ENV_CLIENT
in siteinfo viainfo_settings
Get default iRODS environment values from default env (#1260)
- Landingzones
Do not load finished landing zones in zone list view (#1205)
Rename
STATUS_ALLOW_CLEAR
toSTATUS_FINISHED
(#1205)UI improvements in project zone list (#1235)
Hide zones with
NOT CREATED
status from detail card (#1236)Handle
NOT CREATED
landing zone status (#1237)Use
CurrentUserFormMixin
in forms (#660)Enable automated collection generation by default in UI (#1266)
Clarify collection creation message in UI (#1275)
Default status info for
MOVING
(#1305)Do not count inactive zones in project list (#1306)
- Samplesheets
Move
TestSheetSyncBase
intotest_views_taskflow
Update app setting labels (#1230)
Use
CurrentUserFormMixin
in forms (#660)Rename
get_name()
andget_full_name()
inISATab
model (#1247)Update sheet version list layout (#1246)
Replace version compare menu with operation dropdown entry (#1251)
Update subpage navigation (#1252)
General refactoring (#1248, #1250, #1253)
Move Ajax view version saving to
SheetVersionMixin
(#1109)Use
AppSettingAPI.delete_setting()
for display config deletion (#854)Make UI specific data optional in
build_study_tables()
(#694)Do not require user for
sheet_sync_task
(#1273)Hide navigation dropdown if no sheets are available (#1285)
Reverse import/create order in Sheet Operations dropdown (#1286)
Improve ontology editor layout (#1293)
Improve study and assay title layout (#1291)
Improve iRODS access ticket list layout (#1302)
Remote sheet sync refactoring (#1317, #1325, #1326)
Upgrade Vue app dependencies (#1328, #1329)
Fixed
- General
API version settings not updated (#1218)
Disable cache as workaround for Docker build issues (#1225)
Github Actions CI failure by old package version (bihealth/sodar-core#821)
Build warning in
docs_dev
(#1182)
- Irodsadmin
Missing cleanup in command test
tearDown()
(#1244)
- Irodsbackend
Redundant slash prefix for root level items in collection list (#1245)
IRODS_ENV_BACKEND
value conversion issues (#1259)Unavailable iRODS connection not handled in
BaseIrodsAjaxView
(#1322)
- Landingzones
PROJECTROLES_SEND_EMAIL
not checked in Taskflow views (#1229)Collection hint alert from zone list UI (#1266)
Zone move failure on Celery task crash in
TaskflowZoneStatusSetAPIView
(#1298)status_info
overflow crash inTaskflowZoneStatusSetAPIView
(#1307)Uncaught exceptions in
inactivezones
(#1311)
- Ontologyaccess
Minor layout issues (#1312)
- Samplesheets
Missing label for
public_access_ticket
app setting (#1230)Incorrect
ISATab
timestamp in export and compare dropdown (#1247)Unhandled backend exceptions in
update_project_cache_task()
(#1265)Vue app study navigation failure with additional URL params (#1269)
Assay shortcut card extra link icons (#1271)
Source map errors in production (#1198)
Numeric column default value invalid if range is unset (#1281)
ColumnToggleModal
errors on entering/exiting edit mode (#1280)Editability not updated in
ColumnToggleModal
without grid reload (#1279)First column width breaking in Parser Warnings table (#1287)
Template creation link visible in sheet replace form (#1288)
Default suffix icon in
ColumnConfigModal
(#1290)Ontology editor edit/check button icon misalignment (#1292)
iRODS file list modal button column alignment (#1299)
Random crash in
StudyShortcutsRenderer
unit tests (#1294)Sheet import and create view access permitted with sheet sync enabled (#1309)
Project list sheet import link visible with sheet sync enabled (#1309)
No placeholder for missing investigation title in details card (#1313)
Removed
- General
ADMIN_URL
setting fromproduction.py
(#1228)
- Irodsbackend
IRODS_ENV_PATH
setting (#1221)
- Irodsinfo
IRODSINFO_ENV_PATH
setting (#1221)IRODSINFO_SSL_VERIFY
setting (#1226)
- Landingzones
ZoneClearView
UI view (#1205)_list_buttons.html
template (#1205)
- Samplesheets
SampleSheetVersionCompareForm
(#1251)Unused
config
argument fromSampleSheetIO.save_isa()
Unused
basic_val
arg from_add_cell()
(#1262)
v0.10.1 (2021-07-07)
Added
- General
LABEL
andMAINTAINER
inDockerfile
(#1186)Manual building in Docker setup (#1195)
SAML configuration (#990)
LOGGING_APPS
andLOGGING_FILE_PATH
Django settings (#1209)
Changed
- General
Upgrade to django-sodar-core v0.10.3 (#1201)
Allow modifying all relevant SODAR Django settings from env
- Samplesheets
Upgrade vue app dependencies (#1185)
Refactor vue app code and tests for new dependencies (#1185)
Preserve line breaks in parser warnings (#1188)
Move
DEFAULT_EXTERNAL_LINK_LABELS
toconstants
Fixed
- General
Docker entry points for Celery and Celerybeat (#1193)
Docker image build issues (#1194)
Missing migrations for
JSONField
and site (#1196)irodsadmin
debug logging disabled (#1209)Manual layout broken by
docutils>=0.17
(#1210)
- Samplesheets
Loading icon in vue app iRODS status badge (#1192)
Workaround for Webpack source map file crash (#1198)
v0.10.0 (2021-06-11)
Added
- General
Release notes and changelog sections in manual (#1098)
setup_database.sh
from SODAR CoreEnable
appalerts
app (#1124)Display relevant Django settings values in
siteinfo
app (#1123)taskflowbackend
in site logging (#1137)New Docker setup (#1129, #1163, #1165)
GitHub Actions CI (#1033)
iRODS study and assay data linking documentation in manual (#1127)
- Irodsbackend
Support for
IRODS_ROOT_PATH
setting (#1067)get_root_path()
andget_projects_path()
helpers (#1067)Optional
user_name
anduser_pass
inIrodsAPI
init kwargs (#1139)Public guest access support for Ajax queries (#1140, #1144)
- Landingzones
Optional automated creation of expected zone collections (#391)
_assert_zone_coll()
helper inLandingZoneTaskflowMixin
- Samplesheets
Warning for unrecognized assay plugin in sample sheet import (#1070)
Sheet creation from templates using cubi-tk (#1068)
clean_sheet_dir_name()
helperiRODS delete requests for data objects and collections (#277, #1087, #1089, #1090, #1093, #1134)
Allow per-project restriction of column config updates (#995)
Diff comparison for sheet versions (#1007, #1110, #1117)
Enable remote sync for sample sheets (#959, #1102, #1103)
Icon
component in vue app for django-iconify icon access (#1113)App alerts for iRODS data request actions (#1084)
Public guest access support for sample data (#1100)
get_webdav_url()
helper (#1100)view_versions
permission (#1138)Management command tests (#1170)
Changed
- General
Upgrade to django-sodar-core v0.10.2 (#1096, #1113, #1118, #1121, #1135, #1158, #1166)
Upgrade to Python v3.8 and Django v3.2 (#1113)
Update project icons (#1113, #1125, #1154)
Unify ISA-Tab naming (#1082)
Upgrade to Chromedriver v90 (bihealth/sodar-core#731)
Upgrade to altamISA v0.2.9 (#1099, #1106)
Upgrade versioneer
Upgrade general python dependencies (#1112)
Update taskflow actions for SODAR Taskflow v0.5 compatibility
Cleanup for public GitHub release (#1119)
- Irodsbackend
Split long queries in
get_objs_recursively()
(#1132)Refactor Ajax views (#841)
Require
project
anduser
args forget_webdav_url()
template tag (#1144)
- Irodsinfo
Move iRODS connecting guide into the user manual (#262)
- Samplesheets
Fail gracefully for ISAtab import with empty tables (#903, #1075)
Implement study/assay app retrieval in model
get_plugin()
helpers (#1076)Change timeline event names for sheet import/create/replace (#1079)
Refactor and simplify view pagination settings
Provide sodar context alert data as HTML instead of string (#1089)
Unify iRODS URL patterns (#1086)
Duplicate
sodar_uuid
views in REST API nested lists (#1074)Unify subpage navigation (#1085)
Reorder critical warning check and render test in sheet import (#1107)
Upgrade Vue app dependencies (#1114)
Rename
IrodsCollsCreateView
Enable public guest access to project sheets view (#1141)
Enable sheet export for project guests (#1138)
Enable sheet version viewing and export for project guests (#1138)
Allow no user in
update_project_cache_task()
(#1171)Use logging in
syncnames
(#1170)
Fixed
- General
Production config requirement in
docs_manual
- Irodsadmin
Irodsorphans project UUID not returned if path ends in project UUID (#1071)
- Irodsbackend
Long queries raising
CAT_SQL_ERR
in iRODS (#1132)Redundant iRODS connection opened by
_check_collection_perm()
(#1142)Missing permission check in
IrodsStatisticsAjaxView
POST
request (#1143)
- Irodsinfo
Server status card layout on low resolutions (#1176)
- Landingzones
Root level backend plugin retrieval in template tags
CSS in project zone list (#1027)
Uncaught irodsbackend exceptions in
TriggerZoneMoveTask
(#1148)Project list column retrieval failing with anonymous user (#1155)
Inactive zones deleted from all projects on zone clear (#1150)
- Samplesheets
MaxQuant results not correctly linked in
pep_ms
assay app (#1072)Incorrect timeline event for
sheet_create
(#1080)Assay shortcut card layout breaking on Chrome (#1094)
Node names not properly sanitized on sheet import (#798)
Root level backend plugin retrieval in template tags
Removed
- General
Legacy
raven
dependency (#1147)References to unused
django-db-file-storage
component (#1153)Legacy Docker setup (#1129)
syncgroups
user command, updated version found inprojectroles
(#1172)Unused
sodar.users.utils
(#1172)Unused
.travis.yml
backports.lzma
dependency (#1197)
- Irodsbackend
Support for Ajax queries without project
Unused template tags
get_webdav_url_anon()
andget_webdav_user_anon()
is_webdav_enabled()
template tag, useget_django_setting()
instead
- Samplesheets
find_study_plugin()
helper, useStudy.get_plugin()
instead (#1076)find_assay_plugin()
helper, useAssay.get_plugin()
instead (#1076)
v0.9.0 (2021-02-05)
Added
- General
Missing user model migration
Makefile
for selected management commands (#989)
- Irodsadmin
Add app for iRODS data administration (#972)
irodsorphans
management command (#972, #997, #1035, #1045)
- Irodsbackend
get_query()
helper forSpecificQuery
initialization (#1003)Support for multi-term search (#1065)
- Landingzones
Zone UUID clipboard copying link (#970)
inactivezones
management command (#1010, #1046)
- Ontologyaccess
Add site app for ontology storage and access (#937, #947)
importobo
andimportomim
management commands (#937, #980)ontologyaccess_backend
backend plugin (#958)
- Samplesheets
microarray
assay app (#941)_update_cache_rows()
helper for assay app plugins (#954)NodeMixin
for node field/header helpers (#922)Ontology term editing (#688, #699)
Extract label editing as string (#964)
Simple editing for external links columns (#976)
SampleDataFileExistsAPIView
for querying file status by checksum (#1003)Track hub and iRODS ticket support for UCSC Genome Browser integration (#238)
Django setting
SHEETS_ONTOLOGY_URL_SKIP
for template skip patterns (#1022)Support for multi-term search (#1065)
Changed
- General
Upgrade to altamISA v0.2.7
Upgrade to Bootstrap v4.5.3 and jQuery v3.5.1 (#1011)
Upgrade to Chromedriver v87
Upgrade to python-irodsclient v0.8.6 (#1009, #1058)
Upgrade to django-sodar-core v0.9.0 (#1051)
Refactor
Project.get_full_title()
usage (#1062)Update iRODS install instructions in
docs_dev
(#1028)
- Irodsbackend
Standardize Ajax view output (#841)
Support
name_like
as a list inget_objs_recursively()
(#1065)
- Irodsinfo
Update iCommands instructions (#1028)
- Samplesheets
Display assay plugin icon for all users with sheet edit permissions (#940)
Refactor assay row cache updating (#954)
Refactor ontology value rendering (#693)
Move
ATTR_HEADER_MAP
tomodels
Refactor recognizing ontology/unit columns in rendering (#962)
Disable “Finish Editing” link with unsaved rows (#987)
General vue app refactoring (#747)
Prevent insertion of identical rows (#1023)
Move iRODS content setup for ajax views to
plugins.get_irods_content()
Rename Ajax views and standardize output (#857, #858)
Change default value of
allow_editing
toTrue
(#1069)
Fixed
- General
Missing raven dependency in production config (#1048)
- Samplesheets
Assay iRODS links enabled if null path is returned by assay app (#951)
Empty ontology/unit column type not recognized in rendering (#962)
Legacy
field
header type still in useRow insert failing if the last node is a process (#974, #975)
Row insert failing with single column source node (#965, #986)
Sample deleted from study not removed from assay sample selection (#988)
Default value in column config not validated against range (#1031)
Editor input not correctly trimmed (#1032)
Icon updating on row deletion cancel (#1012)
Ontology URL template forced on incompatible accession URLs (#1022)
Redundant iRODS queries for empty paths in
_update_cache_rows()
(#957)Saving multi-column node for a new row using default suffix (#1040)
UNIT
column type override if empty unit given in config (#1052)Column config copy/paste enabled for contact, date and external links (#1053)
Incompatible format not handle in column config paste (#1029)
Removed
- General
Management commands replaced by
Makefile
(#989)
- Irodsbackend
_get_obj_list()
and_get_obj_stats()
helpers (#1066)
- Samplesheets
Workarounds for legacy sample sheet imports (#946)
v0.8.0 (2020-09-15)
Added
- General
Celery beat setup (#702)
Configuration of support contact info in footer via site settings (#863)
- Landingzones
Automated triggering of landing zone validation/moving by iRODS file (#702)
- Samplesheets
ISAtab export through the REST API via
SampleSheetISAExportAPIView
(#849, #851)Sample sheet column display configuration saving (#539)
Material and process renaming (#852)
Study and assay iRODS paths in
InvestigationRetrieveAPIView
(#895)Protocol selection (#871)
Editing of performer, perform date and contacts (#881)
Editing of non-ontology list values (#886)
Display
name_type
for processesSet default protocol automatically in edit config (#879)
Row insertion (#834)
Row deletion (#868)
Sheet config versioning (#904)
Automated rebuilding of expired sheet configs (#904)
Node name suffix config and automated filling (#912, #925)
get_node_obj()
helper (#922)Update sheet config default protocols on sheet restore (#901)
Export unarchiving notification for Windows users (#894)
Changed
- General
Upgrade to django-sodar-core v0.8.3-WIP
Move ISAtab export functionality to
SampleSheetISAExportMixin
(#849)Upgrade to Chromedriver v85 (bihealth/sodar-core#569)
- Irodsbackend
Improve connection error logging
- Irodsinfo
Improve iRODS server/backend status (#908, #909)
- Landingzones
Refactor zone modification mixins in
landingzones.views
- Samplesheets
Re-initialize Vue app with Vue-CLI v4 (#837)
Partial refactoring and cleanup of Vue app code (#537, #837)
Always store original header name in table rendering
Allow column config editing with
edit_sheet
permission (#880)Allow empty
DATA
material names in editing (#898)Refactor helpers in
SampleSheetTableBuilder
Refactor sheet config helpers into
SheetConfigAPI
(#905)Include top header in column width estimation for rendering (#649)
Use node header for recognizing unit enabled columns without data (#914)
Prevent simultaneous editing of cells in multiple tables (#765)
Preserve display configs on sheet replace if headers match (#906, #933)
Fixed
- General
Hardcoded plugin settings in
production
config (#910)
- Samplesheets
Row sorting not working with updated column type definitions (#847)
Lists of strings assigned
ONTOLOGY
column type in rendering (#885)Last single column node not visible in
ColumnToggleModal
(#877)Column config update randomly breaking table rendering (#850)
Whole cell copying active when in cell edit mode (#882)
File link CSS in edit mode (#896)
Data material name regex not accepting common file name characters (#875)
Incorrect padding for edit button in field header CSS (#862)
Prevent user for enabling unit for columns where it isn’t supported (#889)
Keyboard event handling issues in
DataCellEditor
(#690, #917, #919)Do not look for iRODS link columns in vue app if in edit mode (#866)
Contact column width estimation (#887)
Removed
- General
Unused
Pillow
dependency (bihealth/sodar-core#575)
v0.7.1 (2020-04-27)
Added
- Samplesheets
IrodsCollsCreateAPIView
for iRODS collections creation via API (#826)Host name input confirmation for sample sheet and data deletion (#833)
SampleSheetImportAPIView
for ISAtab import via REST API (#802)Study identifier display in Overview (#791)
Pagination in sheet version list (#743)
- Tokens
Enable app from django-sodar-core v0.8.0+ (#822)
Changed
- General
Upgrade to Django v1.11.29
Upgrade to django-sodar-core v0.8.1 (#835, #845)
Upgrade Python requirements to match djagno-sodar-core v0.8.0 (#835)
Upgrade to Chromedriver v80
Rename references to iRODS collections (#785)
Rename
IRODS_SAMPLE_COLL
andIRODS_LANDING_ZONE_COLL
settings (#785)Rename the
samplesheets.create_colls
permission (#785)Use base Ajax API view classes from SODAR Core (#805)
- Landingzones
Disallow replacing sample sheets if active landing zones exist (#713)
Display moved and deleted zones of other users with
view_zones_all
perm (#806)Return landing zone iRODS path on creation (#843)
Use
SODARUserSerializer
inLandingZoneSerializer
(#842)
- Samplesheets
Upgrade non-breaking Vue app dependencies (#836)
Reorganize views and URL patterns (#801)
Refactor Ajax views and URL patterns (#736, #824)
Improve sheet import logging (#832)
Move ISAtab Zip archive validation to
SampleSheetIO.get_zip_file()
Move ISAtab multi-file reading to
SampleSheetIO.get_isa_from_files()
Refactor
SampleSheetImportMixin
to work with API viewsHide path from sheet configuration information (#779)
Improve notation for missing study shortcut file types (#799)
Temporarily disable Bootstrap tooltips in custom project list cells (#787)
Fixed
- Irodsbackend
Ajax view permission checking and status codes
Hardcoded time zone reference in
api._get_datetime()
(#807)
- Landingzones
REST API view permission checks not working with Knox token auth (#823)
Title suffix not optional in
LandingZone
serializer (#825)Initial workaround for active landing zone deletion on sheet replace (#713)
- Samplesheets
REST API view permission checks not working with Knox token auth (#823)
Crashes caused by sheet config not correctly updated on sheet replace (#829)
Sample sheet version saved for unsuccessful replace (#838)
Editor select box padding for Firefox and Chrome (#726)
CSS issue with
sodar-list-btn
and Chrome (#844, bihealth/sodar-core#529)
Removed
- General
Unused
django-db-file-storage
requirement
- Samplesheets
Unused
models.get_zone_dir()
andio.get_assay_dirs()
helpersBase API view classes moved to SODAR Core (#800)
Unneeded
SheetSubmitBaseAPIView
base class
v0.7.0 (2020-02-12)
Added
- General
Support for local third party JS/CSS includes (#770)
Sentry support (#476)
ENABLE_IRODS
Django setting (#796)
- Irodsbackend
Enforce MD5 hash scheme in client configuration (#740)
Enable
conn
keyword argument in API initialization (#793)
- Landingzones
Extra columns for project list (#579)
Missing permission and view tests
Initial REST API (#780)
- Samplesheets
Editing of selected sample sheet column values (#550)
Project settings for sample sheet configuration (#687)
manage_sheet
permission (#696)Column management UI for sample sheet configuring (#698)
get_name()
helper inISATab
Saved sample sheet version browsing and deletion (#662)
Sample sheet version export (#739)
Sample sheet version restoring (#701)
Save and restore sheet configuration with
ISATab
versionDeletion of
ISATab
versions on sheet delete (#746)Extra columns for project list (#579)
MiscFiles
assay shortcut for all assays (#766)ResultsReports
assay shortcut for all assays (#767)Investigation info retrieval API view (#780)
utils.get_top_header()
helper (#817)Linking for metabolite assignment files in
meta_ms
assay app (#817)Hack for “Report File” column file linking (#817)
Changed
- General
Upgrade to django-sodar-core v0.7.2
Upgrade to python-irodsclient v0.8.2 (#731)
Upgrade to altamISA v0.2.6
Upgrade to Chromedriver v79
Upgrade to Django v1.11.27
Enable logging propagation (#792)
Only log
ERROR
level messages if not in debug mode (#526)
- Irodsbackend
Refactor
api.get_info()
Refactor iRODS connection handling in API (#793)
- Irodsinfo
Display iRODS server information when connection fails (#761)
- Landingzones
Prevent opening unnecessary iRODS connections with irodsbackend API (#796)
Reorganize views and URL patterns (#801)
- Samplesheets
Rename
table_data
member totables
in rendered table data (#219)Move
_get_isatab_files()
and_fail_isa()
intoSampleSheetIOMixin
Refactor
utils.get_index_by_header()
Replace
v-clipboard
package withvue-clipboard2
(#719)Move UI notifications to
NotifyBadge.vue
(#718)Refactor column data retrieval in
ColumnToggleModal
(#710)Rename
getGridOptions()
toinitGridOptions()
(#721)Dynamically add/omit cell unit, link and tooltip in rendering (#708)
Improve column type detection (#730)
Refactor sample sheet import/replace handling in views (#701)
Replace extra content table with standard assay shortcut table (#782)
Change assay sub-app
get_extra_table()
intoget_shortcuts()
(#782)Change
ExtraContentTable.vue
intoAssayShortcutCard.vue
(#782)Prevent opening unnecessary iRODS connections with irodsbackend API (#796)
Remove file suffix restriction from assay app data file linking (#817)
Fixed
- Irodsbackend
Cleanup skipped by uncaught exceptions in
init_irods()
(#723)Data object replicates included in file and stats queries (#722)
- Landingzones
Cache update initiated synchronously in TaskflowZoneStatusSetAPIView (#783)
Missing zone status checks in zone deletion/moving views (#813)
- Samplesheets
getGridOptionsByUuid()
returned column API instead of grid options (#706)getGridOptionsByUuid()
returned initial options without applied updates (#721)Incorrect Investigation UUID passed to
ISATab
on replace (#742)Restrictive tooltip boundary value in
IrodsButtons.vue
Study UUID changed if modifying study identifier when replacing sheets (#789)
Removed
- General
Unused raven requirement (#476)
- Filesfolders
Remove app as files will be placed under
MiscFiles
in iRODS (#766)
- Irodsbackend
test_connection()
helper (#795)
- Samplesheets
Unused
study_row_limit
setting (#641)Support for SODAR v0.5.1 parsing of characteristics lists (#619)
Support for old style comments parsing (#631)
Redundant
columnValues
structure (#711)link_file
,num_col
andalign
parameters from rendering (#708)get_assay_list_url()
template tag (#737)Unused
SourceIDQueryAPIView
and related classes (#820)
v0.6.1 (2019-11-15)
Added
- Irodsbackend
Supply optional iRODS options in environment file (#714)
IRODS_ENV_PATH
settings variable (#714)
- Irodsinfo
Supply optional iRODS options in environment file (#717)
IRODSINFO_ENV_PATH
settings variable (#717)Logging for environment generating and certificate loading
Changed
- Irodsbackend
Enable reading
IRODS_CERT_PATH
from environment variablesImprove connection logging
Refactor
api.test_connection()
(#715)
Fixed
- Landingzones
Misleading alert text in
landingzone_confirm_move.html
(#689)
- Samplesheets
Initial study context sorted by title instead of parsing order (#692)
Rendering crash from missing value type check for units (#697)
v0.6.0 (2019-10-21)
Added
- General
Missing Celery broker URL in
env.example
(#607)
- Samplesheets
ISAtab export (#95)
Model support and parsing for multiple missing ISAtab fields (#95, #581, #626)
extra_material_type
field inGenericMaterial
archive_name
field inInvestigation
Temporary
get_comment()
andget_comments()
helpers (#629, #631)Timeline logging for import and export warnings (#639)
Timeline logging for failed ISAtab import (#642)
SHEETS_ALLOW_CRITICAL
setting for handling critical import warnings (#573)PacBio support in
dna_sequencing
assay app (#628)Rendering for Assay Design REF columns (#652)
Rendering for First Dimension and Second Dimension columns (#652, #653)
Saving of original ISAtab data into the SODAR database (#651)
get_igv_irods_url()
helper (#402)IGV merge shortcuts in study links modal (#402)
ISAtab import from multiple uncompressed files (#593)
ISAtab export option for
RemoteSheetGetAPIView
(#670)Support for
Study
andAssay
inget_object_link()
Timeline logging for ISAtab and Excel export
Assay app
meta_ms
for metabolite profiling / mass spectrometry (#675)Ability to define alerts in context API view (#681)
Alert for sheets parsed with an old altamISA version (#681)
Changed
- General
Upgrade site to django-sodar-core v0.7.0
Upgrade Python requirements to match django-sodar-core v0.7.0
Move graph creation dependencies to
local_extra.txt
(#609)Move redis requirement to base.txt (#610)
Include backend Javascript and CSS as implemented in django-sodar-core v0.7.0 (#533)
Upgrade to Chromedriver v77
- Samplesheets
Color potentially dangerous links (bihealth/sodar-core#64)
Refactor sheet cell data access and sorting (#597)
Upgrade Vue.js app dependencies (#580)
Update ISAtab importing to support altamISA v0.2+ (#617)
Improve characteristics list parsing (#616, #618)
Always import
material_type
field forGenericMaterial
Do not replace title or description in
Investigation
if not providedDisplay configuration in Overview as badge
Improve comments display in Overview (#632)
Refactor
io
module into a class (#562)Suppress altamISA warnings during testing (#637)
Fail when encountering critical altamISA warnings in ISAtab import (#573)
Use file name as study/assay key in parser warning data (#644)
Upgrade to altamISA v0.2.5 (#676)
Rename and refactor
get_igv_session_url()
(#402)Use reference table building classes from altamISA
Enforce ordering in
Study.get_nodes()
to maintain row order (#510)Ignore file name when searching for germline study pedigree files (#602)
Replace TSV table export with Excel file export (#613)
Allow
ACTIVE
landing zones when replacing sample sheetsSort displayed studies and assays by parsing order instead of file name (#683)
Fixed
- General
Missing .venv ignore in Flake8 config (bihealth/sodar-core#300)
Installation document omissions (#606)
Columns with integer and float values sorted lexicographically (#596)
- Samplesheets
“Sequence item 1” render error manifesting with BII-I-1 example (#620)
Redundant unit/value parsing for comments during import (#629)
Missing label for unknown configuration in Overview (#638)
Overview statistics table margin change (#630)
Leftover database objects from ISAtab import crash (#643)
Extract label rendering as an ontology term (#563)
Cache updated on sheet replace with iRODS collections not created (#622)
Name column rendering for Labeled Extract Name materials (#652)
Data File name column rendering (#652)
Crash in importing First Dimension and Second Dimension fields (#653)
Display value copied to clipboard instead of full value in multi-cell select (#521)
Multi-cell clipboard copying wrong cells with custom row ordering (#664)
Crash in search if iRODS connection fails (#680)
Parser warnings layout breaking with long strings (#685)
Removed
- General
Unused storage requirements from production config (#610)
- Samplesheets
Reference table building classes from
rendering.py
write_csv_table()
helper fromsamplesheets.utils
(#613)
v0.5.1 (2019-07-09)
Added
- Samplesheets
iRODS data corruption warning in sheet replacing (#557)
Temporary setting
SHEETS_ENABLE_CACHE
to fix CI (#556)Investigation
model fieldsparser_version
andparser_warning
(#527)Multiple new model fields to support AltamISA v0.1 API (#527)
_get_value()
helper in renderingaltamISA version storing and logging in rendering (#527)
altamISA v0.1 validation (#527)
Handling of altamISA warnings (#527)
Helper script
run_demo.sh
to run in local demo modeVue.js app view for displaying parser warnings
Support for altamISA v0.1 column sorting (#86, #566)
Display comments, performer and perform date in tables
_get_ontology_url()
helper inSampleSheetTableBuilder
Changed
- General
Upgrade site to django-sodar-core v0.6.2 (#569)
Update
setup.py
(#551)
- Samplesheets
Update project iRODS cache when replacing sheets (#554)
Use
delete_cache()
inTaskflowSheetDeleteAPIView
(bihealth/sodar-core#257)Upgrade to CUBI altamISA parser v0.1 (#527)
Update ISAtab importing for altamISA v0.1 (#527)
Update models for altamISA v0.1 (#527)
Raise exception from parser errors when in debug mode
Update test ISAtab files for altamISA v0.1 (#527)
Refactor
io
moduleImprove
io
module loggingChange
GenericMaterial.extract_label
into a JSON field (#527)Update project iRODS cache when creating or updating iRODS collections (#565)
Disable operations dropdown for guest users (#497)
Refactor Vue.js subpage navigation
Refactor legacy table rendering (#111, #566)
Store ontology URL template in
settings.SHEETS_ONTOLOGY_URL_TEMPLATE
Align columns uniformly with cells containing integer or float values (#598)
Clarify “sample repository available” message on details page card (#587)
Fixed
- Samplesheets
Assay UUIDs modified when replacing sheets (#554)
Default
fetch()
credentials failing with certain old browsers (#559)Crash in germline study app
get_shortcut_column()
with empty family column (#560)Germline study app
update_cache()
failing with empty family columnSheet deletion error not displayed to user (#568)
Crash in
SampleSheetStudyTablesGetAPIView
ifStudy
object not found (#578)Leading or trailing spaces in parsed field values (#584)
Crash in germline study app
get_shortcut_column()
if IGV URL was not generated (#589)Errors in
DataCellRenderer
trying to access unsetrenderData
(#595)Contact fields not rendered if using non-standard notation (#595)
Removed
- Samplesheets
Model fields
characteristic_cat
andunit_cat
fromStudy
Model field
header
fromStudy
andAssay
Model field
scan_name
fromProcess
Redundant warning for missing protocol reference in ISAtab import
Duplicate database indexes (#582)
v0.5.0 (2019-06-05)
Added
- General
Unsupported browser warning (#535)
- Irodsbackend
API function
get_url()
(#438)iRODS collection path sanitizing (#488)
Statistics for the siteinfo app (#503)
API function
test_connection()
(#514)
- Irodsinfo
IRODSINFO_SSL_VERIFY
setting for toggling SSL verification in iRODS configuration JSON (#516)
- Landingzones
Call samplesheets project cache updating after moving zone files (#508)
- Samplesheets
New Vue.js based sample sheets viewer (#426)
Get shortcut table data from study apps using
get_shortcut_table()
get_sheets_url()
helperSodarcache iRODS file info caching for study apps (#241)
set_configuration()
helper for unit testsget_igv_url()
helper in study app utilsget_study_libraries()
helper in samplesheets.utilsget_extra_table()
function inSampleSheetAssayPluginPoint
app_name
member inSampleSheetAssayPluginPoint
Multi-cell selection and clipboard copying
Temporary manual sample sheet cache updating (#474)
Deletion of project samplesheets cache on sheet/data deletion (#509)
Temporary view
RemoteSheetGetAPIView
for remote sample sheet access (#388, #523)UI for toggling column visibility (#466)
Filtering for iRODS collection list modal (#18, #467)
Changed
- General
Upgrade site to django-sodar-core v0.6.0
Update login template to match django-sodar-core v0.6.0
- Irodsbackend
Modify stats badge appearance
Refactor URL arguments and URL patterns regarding query strings (#455)
Properly URL encode query strings (#456)
Always return JSON from API views (#457)
Update title and description in plugin
Rename
get_subdir()
intoget_sub_path()
(#495)Disable loading backend javascript for each page (#532, bihealth/sodar-core#261)
- Landingzones
Use
get_info_link()
for zone descriptions (#501)Temporarily load
irodsbackend.js
by a manual include (#532, bihealth/sodar-core#261)
- Samplesheets
Update and refactor server side rendering for client-side sheet UI (#426)
URL patterns for
samplesheets:project_sheet
updated for Vue.js routes (#426)Refactor and update sample sheet rendering for new renderer (#111, #426)
Expect full table data with headers for assay app
get_row_path()
Add table data to
get_last_material_name()
argsReturn iRODS path instead of Davrods URL from study app file locating helpers
Redesign study apps to work with Vue.js viewer (#436)
Display study shortcuts as link column instead of separate table (#464)
Do not display shortcuts in cancer study app for mass spectrometry assays (workaround for #482)
Move
get_material_count()
from views into Investigation modelDisable sheet replacing if active landing zones exist in the project (#525)
Temporarily load
irodsbackend.js
by a manual include in details card (#532, bihealth/sodar-core#261)Move TSV table generation into
utils.write_csv_table()
(#523)
Fixed
- Irodsbackend
Exceptions raised by API for collection paths with trailing slash (#488)
Crash from invalid iRODS authentication in multiple locations (#514)
- Irodsinfo
Crash from invalid iRODS authentication in
IrodsInfoView
(#514)
- Samplesheets
Crash from certain queries if inactive
Investigation
objects are present for project (#544)
Removed
- Irodsinfo
iRODS certificate issue workaround (#516)
- Landingzones
Unused
get_info()
definition in project app plugin (#541)
- Samplesheets
DataTables sample sheet rendering (#100, #223)
Unused views, templates and templatetags from main and sub apps (#462)
Member variable
study_template
inSampleSheetStudyPluginPoint
(#462)JQuery updating in
samplesheets.js
(#462, #473)Local DataTables includes (#462)
JQuery Dragscroll (#462)
Old “hide study columns” functionality from assay tables (#466)
Unused
get_info()
definition in project app plugin (#541)
v0.4.6 (2019-04-25)
Added
- Samplesheets
Validate existence and uniqueness of study identifiers during import (#483)
Changed
- General
Upgrade site to django-sodar-core v0.5.1 (#480)
Upgrade to ChromeDriver v74 (bihealth/sodar-core#221)
- Samplesheets
Identify studies in investigation replacing by identifier instead of title (#483)
Fixed
- Samplesheets
Crash in investigation replacing if study titles are not unique (#483)
v0.4.5 (2019-04-11)
Fixed
- Samplesheets
Hard coded WebDAV URL in IGV links (#468)
Add missing SODAR Core v0.5.0 settings variables (#469)
v0.4.4 (2019-04-03)
Added
- Samplesheets
Copying HPO term IDs into clipboard (#454)
Changed
- General
Upgrade to django-sodar-core v0.5.0
Fixed
- Irodsbackend
Repeated CSS overrides moved to
irodsbackend.css
(#452)
- Samplesheets
Tooltips broke study app table layout in small tables (#458)
v0.4.3 (2019-03-07)
Added
- Irodsbackend
IRODS_QUERY_BATCH_SIZE
setting for batch queries (#432)
- Samplesheets
Support for multiple ontology links in
_get_ontology_link()
(#431)Hack for providing correct HPO ontology into links (#431)
Rendering for HPO term links (#431)
Rendering for performer and perform date (#187)
Transcription profiling support in dna_sequencing assay app (#443)
Use
IRODS_QUERY_BATCH_SIZE
for iRODS updating (#432)External link label
x-generic-remote
(#448)
Changed
- General
Upgrade to django-sodar-core v0.4.5
- Landingzones
Secure Taskflow API views with
BaseTaskflowAPIView
(#435)Adjust form textarea height (#437)
- Samplesheets
Improve exception reporting in
SampleSheetTableBuilder
(#433)Secure Taskflow API views with
BaseTaskflowAPIView
(#435)Support email link rendering for “contact” fields (#439)
Refactor contact field rendering (#439)
Query iRODS stats in batches (#432)
Enable iRODS buttons by default (#432)
Display external ID if label is not found (#449)
Fixed
- General
Add missing
.coveragerc
excludes (#427)
- Samplesheets
iRODS button status updating for Proteomics projects (#428)
General iRODS button status only updated once per page load (#429)
Performance issues in iRODS stats querying with large data (#432)
iRDOS buttons not disabled if iRODS collections not created (#445)
ISAtab upload wiget error not displayed without Bootstrap 4 workarounds (bihealth/sodar-core#164)
Removed
- General
Old Bootstrap 4 workarounds for django-crispy-forms (bihealth/sodar-core#157)
- Samplesheets
iRODS wait icon from study apps and assay tables (#430)
v0.4.2 (2019-02-04)
Added
- General
Formatting with Black
Flake8 and Black checks in CI (#422)
General code cleanup and refactoring (#422)
IRODSBACKEND_STATUS_INTERVAL
setting passed to JQuery (#423)
- Irodsbackend
Support for POST in Ajax views (#416)
App specific rules (#418)
Client side enabling/disabling of iRODS links buttons (#260)
Get status updating interval from setting variable (#423)
API view permission tests (#386, #417)
- Samplesheets
Support alternative notation in contact fields (#382)
Changed
- General
Upgrade minimum Python version requirement to 3.6 (bihealth/sodar-core#102)
Update and cleanup Gitlab-CI setup (bihealth/sodar-core#85)
Update Chrome Driver for UI tests
Cleanup Chrome setup
Update
login.html
override to add site messages (bihealth/sodar-core#105)Update site dependency utilities to match django-sodar-core v0.4.1+ (bihealth/sodar-core#90)
Upgrade to django-sodar-core v0.4.3
Upgrade dependencies to match django-sodar-core v0.4.2+ (#420)
Disable
USE_I18N
(bihealth/sodar-core#117)Changed
CONTRIBUTORS.txt
intoAUTHORS.rst
- Irodsbackend
Refactor Ajax API views (#416)
Limit the amount of iRODS queries (#414)
- Landingzones
Rename Taskflow specific API views (bihealth/sodar-core#104)
- Samplesheets
Rename Taskflow specific API views (bihealth/sodar-core#104)
Only allow superuser or project owner to delete sheet with iRODS data (#424)
Fixed
- General
Login URL was not set to
sodar/users/login.html
Django docs references (bihealth/sodar-core#131)
ProjectAccessMixin.get_project()
calls
- Samplesheets
DataTables scrolling issue with Bootstrap 4.2.1 (#421)
Workaround for DataTables vertical overflow bug (#369)
Removed
- General
Unused templates in
sodar/pages
Unused URL mapping to
about.html
Local JS/CSS includes for JQuery, Bootstrap and other JS helpers (#379, #420)
Legacy Python2
super()
calls (bihealth/sodar-core#118)Redundant
is_superuser
predicates from rules (bihealth/sodar-core#138)
- Irodsbackend
Unused module
admin.py
- Samplesheets
Unused dropup app buttons mode in templates (bihealth/sodar-core#108)
v0.4.1 (2018-12-19)
Added
- General
TASKFLOW_TEST_MODE
setting for test iRODS server support (bihealth/sodar-core#67)Missing LDAP dev setup script (#385)
- Irodsbackend
Project UUID parsing support for
get_uuid_from_path()
Changed
- General
Update list button and dropdown classes (#381)
Upgrade to django-sodar-core v0.4.0
Use
TASKFLOW_SODAR_SECRET
for securing Taskflow API views (bihealth/sodar-core#46)
- Filesfolders
Import app from django-sodar-core v0.4.0 (#403)
- Landingzones
Use
SODAR_API_DEFAULT_HOST
in email generation (#396)Hide deleted zones in project overview (#394)
- Samplesheets
Normalize alternative material names as lowercase to optimize search (#390)
Add real material name in
alt_names
as lowercase (#390)Reduce Django queries to optimize iRODS file search (#393)
Replace IRODS query limit settings with
SHEETS_IRODS_LIMIT
(#393)Cancer study app: only show shortcuts for genome/exome seq assays (#398)
Move germline specific template tags in germline study app (#399)
Refactor study app views (#406)
Fixed
- General
Potential inheritance issues in test classes (bihealth/sodar-core#74)
- Irodsbackend
TypeError
inget_path()
not correctly raised with invalid object class name (#404)iRODS connections not properly cleaned up in Ajax API views (#413)
Ensure iRODS connection cleanup after exiting a decorated function
- Irodsinfo
NetworkException
not caught if iRODS server is unavailable (#395)
- Landingzones
Invalid URLs in zone status update emails (#396)
- Samplesheets
Cancer study app source query not filtered by study (#389)
Handle cancer app library assay linking errors (#404)
Assay links in study overview card (#405)
Study app shortcut exceptions always redirected to default study (#406)
Cancer study IGV shortcut crash if samples not found (#407)
Removed
- General
Unneeded gunicorn dependency in
settings/local.py
(#383)
- Filesfolders
Local app removed (#403)
- Landingzones
Unused
get_irods_cmd()
template tag
v0.4.0 (2018-10-26)
Added
- Adminalerts
Import app from djagno-sodar-core
- Projectroles
Import app from django-sodar-core
- Taskflowbackend
Import app from django-sodar-core
- Timeline
Import app from django-sodar-core
- Userprofile
Import app from django-sodar-core
Changed
- General
Update Django to v1.11.16 (#370)
Update requirements to match django-sodar-core v0.3.0 (#370)
Update SODAR app requirements to current versions
Rebrand project and site as
sodar
(#166)Update
SODAR_CONSTANTS
dependencies in local apps (#370)Update
sodar_uuid
model fields and references in local apps (#370)Update
sodar_url
references in local apps (#370)Update default templates (#370)
Move login Javascript to
login.js
Update development documentation
- Samplesheets
Improve data table CSS during DataTables init (#359)
Fixed
- Irodsbackend
Viewing iRODS file list on an empty collection failed (#375)
WebDAV URL copying tooltip not rendered correctly inside DataTables (#377)
- Samplesheets
IGV session file generating crash if VCF file was not found (#372)
Removed
- General
Local Django apps included in SODAR Core v0.3.0 (#370)
Unused django-extra-views requirement
Unused user templates (#370)
- Samplesheets
Duplicate DataTables CSS includes
v0.3.3 (2018-09-25)
Added
- Samplesheets
Cancer study app (#371)
Generic IGV session file generating function
get_igv_xml()
instudyapps.utils
get_sources()
helper inStudy
modelget_samples()
helper inGenericMaterial
modelget_sample_libraries()
helper insamplesheets.utils
Changed
- Samplesheets
Use
get_igv_xml()
in germline study appUse
get_sample_libraries()
in DNA sequencing assay app
v0.3.2 (2018-09-11)
Added
- General
BIH Proteomics data transfer docs (Mathias Kuhring)
Changed
- Projectroles
Use
omics-search-card-body
instead ofomics-card-body-table
(#364)
Fixed
- General
Dropdown menu overflow hiding in
omics-card-body-table
classes (#364)
- Samplesheets
Investigation parsing failure when replacing isatab deleted previous version (#365)
Removed
- Landingzones
Usage of
popupNoFilesHtml
(will be removed from omics_core)
v0.3.1 (2018-08-24)
Added
- General
SITE_SUBTITLE
setting to show beta status or something similar (#311)API settings
SODAR_API_DEFAULT_VERSION
andSODAR_API_MEDIA_TYPE
Domain/system user groups set on login or by management command
syncgroups
(#313)CSS classes for
badge-group
(#349)
- Adminalerts
Enable Markdown in alert description (#196)
Display user in alert details (#330)
- Filesfolders
Text style depending on item flag (#303)
Optional automated unpacking for uploaded zip files (#327)
Setting
FILESFOLDERS_MAX_ARCHIVE_SIZE
(#327)search()
function in plugin (#335)
- Irodsbackend
Generic iRODS file statistics view, template tags and Javascript (#181, #188)
Missing support for Investigation objects in
get_path()
(#292)iRODS collection query Javascript (#295)
Display collection name in iRODS collection list
IrodsObjectListAPIView
for iRODS collection list queries (#308)BaseIrodsAPIView
for implementing viewsLogging for error cases (#310)
get_sample_path()
andget_uuid_from_path()
helpers (#289)Param
like_name
into data object querying (#289)
- Landingzones
Send email when zone status is set as
MOVED
orFAILED
(#280)Unit tests for
ZoneStatusSetAPIView
Display iRODS stats in details card (#188)
Ability to add extra flow parameters with
get_extra_flow_data()
(#297)Script user workaround for non-working tickets in the proteomics use case (#297)
Option for validating files without moving (#333)
Missing unit tests for
LandingZoneMoveView
(#248)
- Projectroles
Helper
email.send_generic_mail()
(#280)Common template tag
check_backend()
Define backend app javascript include in plugin (#300)
Common template tag
get_setting()
CurrentUserFormMixin
for providing current using to forms ascurrent_user
Helper mixin
KnoxAuthMixin
for views testingSanitize search input (#332)
Handle project list title cell overflow (#306)
No results alert for search (#288)
DataTables rendering for search results (#328)
Result count in search results (#338)
Settings variable
PROJECTROLES_SEARCH_PAGINATION
(#328)Pagination for search results (#328)
Filtering for search results (#328)
- Samplesheets
Display original study/assay filenames as tooltips (#283)
Display assays for samples in search results (#157)
Helper function
GenericMaterial.get_sample_assays()
(#157)Auto-populate field
alt_names
in theGenericMaterial
model (#285)Management command
syncnames
to updatealt_names
(#285)Display project/study file statistics using irodsbackend (#188)
Display stats on the project details page card (#188)
Proof-of-concept ID Querying API with token authentication
iRODS files searchable in site search (#289)
Highlighting of search strings (#341)
Custom display for “external links” fields (#349)
Settings variable
SHEETS_EXTERNAL_LINK_LABELS
(#349)Custom display for different “contact” fields
Handle sheet table cell overflow
Settings variable
SHEETS_MAX_COLUMN_WIDTH
search()
function in plugin (#335)Settings variables
SHEETS_IRODS_LIMIT_PROJECT
andSHEETS_IRODS_LIMIT_TOTAL
(#289)
Changed
- General
Search button CSS (#351)
Refactor search views to allow multiple result sets from apps (#335)
Implement search in
ProjectAppPlugin.search()
instead of template tags (#335)
- Adminalerts
Update user when updating alert (#179)
- Filesfolders
Refactor timeline event creation for object modification
Unify project title printing in search with other apps (#335)
- Irodsbackend
Optimize iRODS queries for increased performance (#242)
Improve collection listing popup layout
Check user perms for iRODS collection when performing queries
Omit
icp
from iRODS path when copying to clipboard (#319)
- Landingzones
Use irodsbackend code for statistics queries (#188)
Refactor
irods_backend
references in templatesMove javascript to separate file (#181)
Hide deleted zones from “other zones” (#302)
Use irodsbackend code for collection listing (#295)
Sort zones in list by zone tiele (#312)
- Projectroles
Minor email refactoring (#280)
Hide system users from normal users’ UI in member selection (#347)
Hide search elements if no results are found (#288)
- Samplesheets
Search for VCF files under all family members in germline app (#275)
Include
alt_name
in GenericMaterial search (#285)Improve search results layout
Display investigation title on project card (#293)
Refactor
irods_backend
references in templatesUse irodsbackend code for collection listing (#295)
Move irods buttons to irodsbackend (#301)
Move irods clipboard javascript to irodsbackend (#301)
Move javascript to separate file (#181)
Allow multiple assay field combinations for selecting assay plugin (#315)
Enable genome_seq_nucleotide_seq app also for exomes (#315)
Rename genome_seq_nucleotide_seq into dna_sequencing (#315)
Refactor site search (#289)
Exclude “name” column from automated aligning (#350)
Fixed
- General
Popover width in CSS (#291)
- Irodsbackend
Handle missing user auth in API views without raising an exception (#337)
- Landingzones
Incorrectly calculated
LANDINGZONES_STATUS_INTERVAL
(#305)
- Projectroles
Extra spaces and tabs broke search (#290)
Search not enabled if selecting previous input with mouse (#307)
Case conversion issue caused
highlight_search_term()
to fail (#341)
- Samplesheets
Show correct target in germline app
FileRedirectView
message (#275)Source/sample name search resulted in a template crash (#287)
CSS highlight bug in nav dropdown
Content app DataTable header broke layout if following assay anchor (#224)
Wrong CSS class in pep_ms (#318)
Assays not filtered by project in sample search (#358)
- Timeline
Not found label did not reflect timeline_mode (#346)
Removed
- General
Unused
ProjectAppPluginPoint.search_title
attribute (#335)
- Filesfolders
find_filesfolders_items()
template tag (#335)
- Landingzones
LandingZoneIrodsStatisticsGetAPIView
and related redundant JQuery scriptsLANDINGZONES_STATISTICS_INTERVAL
settings variableLandingZoneIrodsObjectListAPIView
, use view in irodsbackend instead (#308)
- Projectroles
find_projects()
template tag (#335)
- Samplesheets
MD5 display from file list view
Deprecated
irods_base_dir
from viewsIrodsObjectListAPIView
, use view in irodsbackend instead (#308)samplesheets_common.js
, functionality now in irodsbackend (#301)utils.get_last_material_index()
, no longer used (#317)find_samplesheets_items()
template tag (#335)
v0.3.0 (2018-07-03)
Added
- General
Sphinx-based online user manual (#50)
Site favicon (#166)
- Irodsbackend
Proper cleanup of iRODS session on API deletion
Temporary iRODS ticket operations (#240)
- Landingzones
Status types
DELETING
andDELETED
(#228)Landing zone special configurations (#240)
Configapp sub-app plugin point (#240)
Configapp plugin for
bih_proteomics_smb
(#240)More unit tests for views (#248)
- Projectroles
Tag
force_wrap()
in common template tags
- Samplesheets
Add genome_seq_nucleotide_seq assay app (#249)
Add pep_ms assay app (#245)
Object metadata in sample sheet table rendering (#254)
Show investigation configuration in study details table
WebDAV clipboard copying links (#257)
IGV integration and auth-basic support for germline study app
Changed
- General
Update installation and development documentation (#237)
Rebrand site as SODAR (#166)
Separate manual from development docs (#50, #237)
Use Bootstrap4 modal instead of jquery.popupoverlay (#180)
Improve login user experience (#229)
- Landingzones
Make landing zone deletion async (#228)
Refactor zone list item rendering
Include iRODS buttons from
_irods_buttons.html
Display full zone title in project overview
Call
cleanup_zone()
in configapps when setting status to MOVED or DELETED (#240)
- Projectroles
Use modal for email preview popups (#180)
- Samplesheets
Clarify ISA parsing error message (#236)
Separate configapps into study and assay apps (#249)
Move
get_row_path()
to assay app (#249)Make links column hideable by assay app (#249)
Move iRODS buttons in separate template for including
Change
get_assay_path()
into a more generalget_irods_path()
in template tags (#257)Display study and assay links on the project details page (#257)
Move commonly used javascript to
samplesheets_common.js
(#181)iCommands button copies link to clipboard without popup (#257)
Improve germline study app layout
General table layout updates
Fixed
- Landingzones
Buttons not correctly activated during status update (#215)
Long landing zone names broke zone list table
iRODS client
NetworkException
not caught byLandingZoneStatisticsGetAPIView
(#255)
- Samplesheets
Escape cell values (#233)
Study and Assay UUIDs changed during replace (#234)
Missing iCommands path in popup (#250)
Improve study and assay layout
Linking of BAM and VCF files if no assay plugin was found (#264)
Incorrectly filled
Family
field broke germline study rendering (#270)
- Timeline
Long labels broke timeline table (#225)
Removed
- General
jquery.popupoverlay dependencies (#180)
- Landingzones
ZoneDeleteAPIView as it’s not needed anymore due to async deletion (#228)
v0.3.0b (2018-06-05)
Added
- General
Admin link for superuser (#134)
Common
popupWaitHtml
andpopupNoFilesHtml
Javascript variablesClipboard.js for helping clipboard operations
CSS styling for
.omics-code-input
Height check for project sidebar and dropdown menu switching (#156)
- Irodsbackend
Add irodsbackend app (#139)
Add
get_path()
for retrieving iRODS paths for Django objectsTemplate tag
get_irods_path()
to get object iRODS path in templateAdd
get_session()
for direct iRODS API accessAdd
collection_exists()
to check collection availability
- Irodsinfo
Add irodsinfo site app (#183)
- Landingzones
Add landingzones app (#139)
- Projectroles
Settings updating to Taskflow for project creation and modification (#139)
Add
get_all_settings()
andget_default_setting()
inproject_settings
Add
get_class()
inprojectroles_common_tags
- Samplesheets
iRODS directory creation (#139)
iRODS link and iCommands display (#139)
Render optional hidden HTML attributes for cell meta data (#139)
Add
get_dir()
andget_display_name()
helpers to Study and AssayAdd
SampleSheetTaskflowMixin
for Taskflow test helpersRow numbers for sample sheet tables (#155)
Tour help (#145)
Row limit to prevent import and rendering of huge data (#192)
Render extract label column
Project setting
study_row_limit
(#192)Replacing sample sheets for limited modifications (#195)
SampleSheetConfigPlugin
for sheet configuration specific sub-apps (#201)Config app
bih_germline
as an example (#201)Add
get_configuration()
in theInvestigation
model (#201)Add
get_irods_row_path()
to iRODS path to sample sheet row (#172)
- Taskflowbackend
Add taskflowbackend app (#139)
Add optional
omics_url
kwarg tosubmit()
Changed
- General
Upgrade to Django 1.11.13
Upgrade to django-crispy-forms 1.7.1 (#153)
Upgrade to Boostrap 4.1.1 (#144)
Improve tour help layout
Upgrade to Gunicorn 19.8.1
Switch ordering of Filesfolders and Landingzones in project menu (#217)
- Filesfolders
Don’t show empty folder label if subfolders exist (#135)
- Irodsbackend
Implement functionality of omics_irods_rest directly in the app
Rename
get_object_list()
intoget_objects()
Improve error handling in
get_objects()
- Projectroles
Use Taskflowbackend only for creating and modifying
PROJECT
type projectsModify Taskflow API URLs
Refactor
get_active_plugins()
Refactor email sending
Properly log and report errors in email sending (#151)
Require email sending to succeed for creating invites (#149)
Modify ProjectStarringAPIView to use common permission mixins
Rename
TestTaskflowViewBase
toTestTaskflowBase
Integrate
TaskflowMixin
intoTestTaskflowBase
Improve project list layout (#171)
Move iRODS info page into the irodsinfo app (#183)
Modify signature of
_get_project()
inProjectAccessMixin
Allow
get_all_settings()
andget_project_setting()
with no project inproject_settings
- Samplesheets
Rename top header “legend” to “value” (#129)
Allow sample sheet upload for project contributor (#137)
Allow sample sheet deletion for project contributor (#168)
In taskflow operations, use
omics_uuid
instead ofpk
(#99)Refactor table HTML rendering
Improve URLs for ontology linking (#170)
Hide columns with no data (#184)
Do not allow importing sheet or creating iRODS dirs if rendering fails (#192)
Upgrade altamISA to commit
ddf54e9ab9b47d2b5a7d54ce65ea8aa673375f87
(#191)Display material subtype in top column (#200)
Display Process name if set (#207)
- Taskflowbackend
Use
omics_uuid
instead ofpk
(#139)Only set up
PROJECT
type projects insynctaskflow
Fixed
- General
Add missing email settings in production config (#149)
Add
python3-distutils
to Xenial requirements to fix failing tests caused by recent updatesUser links visible when logged out on low resolutions (#197)
Fix
omics-card-table-bordered
CSS
- Filesfolders
Broken link for subfolders with depth >1 (#136)
- Projectroles
Invalid URL in
build_invite_url()
caused a crash (#149)Project creation failure using taskflow caused database corruption (#162)
Proper redirect from failed project creation to home or parent category
Project partially modified instead of rollback if update with taskflow failed (#163)
Project settings not correctly populated in
TestTaskflowBase
Allow
_get_project()
with top level app models from nested apps (#201)README not modified when updating project with Taskflow enabled (#209)
- Samplesheets
Delete investigation if import fails (#138)
Assay sorting was not defined
Assay data could end up in the wrong table with multiple assays under a study (#169)
Correctly use
request.session.real_referer
for back/cancel links (#175)Error rendering sheet tables caused app to crash (#182)
Building a redirect URL in export view caused a crash
Prevent double importing of Investigation (#189)
Zip file upload failed on Windows browsers (#198)
Remove possible duplicate sample rows from study tables (#199)
Extract label not correctly parsed
Back link not working in
IrodsDirView
(#206)Invalid HTML from rendering extra cell classes together with
text-right
Correctly parse study description (#208)
Numerical value check for right-aligning (#218)
- Timeline
Fix event id parameter in Taskflow view
Removed
- General
Removed Flynn workarounds, deploying on Flynn no longer supported (#133)
- Projectroles
“View Details” link in details page, not needed thanks to project sidebar
get_description()
templatetag
v0.2.0 (2018-04-13)
Added
- General
Automated version numbering in footer (#130)
ProjectPermissionMixin
for project appsProjectAccessMixin
for retrieving project from UUID URL kwargsThe
omics_uuid
field in models where it was missing (#97)Graph output with pygraphviz for local development
- Projectroles
Add
get_project_link()
in templatetags
- Samplesheets
Add samplesheets app
ISA specification compatible data model (#76)
Importing ISA investigations as sample sheets (#77)
Rendering and navigation of sample sheets (#79)
Simple sample sheet search (#87)
DataTables rendering of sheets (#81)
Changed
- General
Upgrade site to Django 1.11.11
Upgrade site to Boostrap 4.0.0 Stable (#78)
Use
omics_uuid
instead ofpk
in URLs and templates (#97)Rework URL scheme for consistency and compactness (#105)
Modify subtitle and page content containers for all apps
Sticky subtitle nav menu for pages with operations menus or navigation
Site-wide CSS tweaks
Rename
details_position
toplugin_ordering
in plugins (#90)Refactor app views with redundant
SingleObjectMixin
includes (#106)Squashed/recreated database migrations (#120) (Note: site must be deployed on a fresh database in this version)
- Projectroles
Search view improvements
Refactor roles and invites views
Split
get_link_state
tag intoget_app_link_state
andget_pr_link_state
to support new URLs (#105)
- Timeline
Use
omics_uuid
for object lookup inplugins.get_object_link()
(#97)
Fixed
- General
Update ChromeDriver to eliminate UI test crashes (#85)
User dropdown rendering depth (#82)
Error template layout breaking (#108)
- Filesfolders
Public link form widget always disabled when updating a file (#102)
Content type correctly returned for uploaded files and folder READMEs (#131)
Removed
- General
Role “project staff” (#121)
v0.1 (2018-01-26)
Added
- General
Create new base project using the current version of cookiecutter-django
Additional unit tests for site apps
Changelog in
CHANGELOG.rst
User profile page (#29)
Highlight help link for new users (#30)
Support for multiple LDAP backends (#69)
- Adminalerts
Add adminalerts app (#17)
- Filesfolders
Import app from prototype
Page title to main files list
File, folder and link search (#21)
Item flagging (#38)
History links for items (#35)
Folder readme file rendering (#36)
- Projectroles
Import app from prototype
Sub-navbar with project breadcrumb (#20)
Move app and project editing links to project sidebar (#20)
Helper functions for project settings
Initial project and app object search (#16, #21)
More helper functions in Project model:
get_parents()
,get_full_title()
Project list filtering (#32)
Project tagging/starring functionality (#37)
History links for project members (#35)
Import roles from another owned project (#9)
User HTML tag in common templatetags (#71)
- Timeline
Import app and backend plugin from prototype
Object event view history and API (#35)
Project model support in event references
Changed
- General
Update site for Django 1.11.9 (#1) and Python 3.6.3 (#2)
Update site to Bootstrap 4 Beta 3 (#70)
Update third-party libraries to their latest versions
Layout redesign (#20)
Switch from PhantomJS to Headless Chrome for UI tests (improved performance and stability, Bootstrap 4 Beta compatibility)
Include CSS and JS imports in testing configs and CI
General code refactoring and cleanup
Update installation instructions in
INSTALL.rst
Rename “actions” into “operations” (#41)
Message alert boxes made dismissable (#25)
Make tables and navs responsive to browser width
- Filesfolders
Redesign data model with inheritance to avoid field repetition
Internal app name is now
filesfolders
Project setting
allow_public_links
is now False by default (#43)Include extra data in item creation and updating
Only allow one readme.* file in each folder (#36)
- Projectroles
Remove two-level restriction for project and category nesting in models
Only allow creation of categories on top level
Improved project list layout
Move
OMICS_CONSTANTS
from configuration intomodels.py
Populate Role objects in a migration script instead of a fixture
Import patched
django-plugins
from GitHub instead of including in project directlyInclude extra data in project creation and updating
Move Project settings helper functions to
project_settings.py
Disable help link instead of hiding if no tour help is available
Show notice card if no ReadMe is available for project (#42)
Refactor URL kwargs
Allow users with roles under category children to view category (#47)
Update text labels for role management to refer to “members” (#40)
Separate common template tags into
projectroles_common_tags
Move project settings forms to project creation/update view (#44)
Provide reload-safe referer URL in
request.session.real_referer
(#67)
- Timeline
Enable event details popover on the project details page
Limit details page list to successful events
Allow guest user to see non-classified events
Function
add_event()
raises properValueError
exceptions
Fixed
- Filesfolders
Redirects in exception cases in
FilePublicLinkView
Unexpected characters in file name broke the
file_serve
view (ODA #109)Check for existing file if moving file during update (#56)
- Projectroles
Check for project title uniqueness
Don’t allow matching titles for subproject and parent
App plugin element IDs in templates
Project context for role invite revocation page
Project type correctly displayed for user (#27)
- Timeline
Tour help anchoring for list navigation buttons
User column link was missing the
mailto:
protocol syntax
Removed
- General
The unused
get_info()
function and its implementations fromplugins
(providedetails_template
instead)Unused user app features
- Filesfolders
Redundant and deprecated fields/functions from the data model
Example project settings
- Projectroles
Temporary settings variables for demo and UI testing hacks