Skip to content

Commit

Permalink
Merge pull request #1028 from bihealth/dev
Browse files Browse the repository at this point in the history
Merge v0.11.0 release
  • Loading branch information
mikkonie authored Sep 23, 2022
2 parents 5d5cfb6 + 9bddcef commit 3c9cefc
Show file tree
Hide file tree
Showing 94 changed files with 1,148 additions and 4,135 deletions.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ A clear and concise description of what you want to happen and how this feature
should work.

### Alternative Solutions

A clear and concise description of any alternative solutions or features you've
considered.

Expand Down
14 changes: 8 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
- '3.10'
services:
postgres:
image: postgres:9.6
image: postgres:11
env:
POSTGRES_DB: sodar_core
POSTGRES_USER: sodar_core
Expand Down Expand Up @@ -52,15 +52,17 @@ jobs:
- name: Run tests
run: |
coverage run --rcfile=.coveragerc manage.py test -v 2 --settings=config.settings.test
coverage xml
coverage lcov
coverage report
- name: Check linting
run: flake8 .
if: ${{ matrix.python-version == '3.8' }}
- name: Check formatting
run: make black arg=--check
- name: Run Codacy coverage reporter
uses: codacy/codacy-coverage-reporter-action@master
if: ${{ matrix.python-version == '3.8' }}
- name: Report coverage with Coveralls
uses: coverallsapp/github-action@master
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: coverage.xml
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: './coverage.lcov'
if: ${{ matrix.python-version == '3.8' }}
2 changes: 1 addition & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
image: python:3.8

services:
- postgres:9.6
- postgres:11

variables:
POSTGRES_DB: sodar_core
Expand Down
62 changes: 62 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,68 @@ Changelog for the **SODAR Core** Django app package. Loosely follows the
`Keep a Changelog <http://keepachangelog.com/en/1.0.0/>`_ guidelines.


v0.11.0 (2022-09-23)
====================

Added
-----

- **General**
- Coverage reporting with Coveralls (#1026)
- **Projectroles**
- Project modifying API in ``ProjectModifyPluginMixin`` (#387)
- ``PROJECTROLES_ENABLE_MODIFY_API`` Django setting (#387)
- ``PROJECTROLES_MODIFY_API_APPS`` Django setting (#387)
- ``syncmodifyapi`` management command (#387)
- ``SODARBaseAjaxMixin`` with ``SODARBaseAjaxView`` functionality (#994)
- Custom login view content via ``include/_login_extend.html`` (#982)

Changed
-------

- **General**
- Upgrade minimum PostgreSQL version to v11 (#303)
- Upgrade minimum Django version to v3.2.15 (#1003)
- Upgrade to black v22.6.0 (#1003)
- Upgrade general Python dependencies (#1003, #1019)
- **Filesfolders**
- Change ``public_url`` form label (#1016)
- **Projectroles**
- Replace Taskflow specific code with project modifying API calls (#387)
- Rename ``revoke_failed_invite()`` to ``revoke_invite()``
- Do not return ``submit_status`` from project API views (#971)
- Remove required ``owner`` argument for ``ProjectUpdateAPIView`` (#1007)
- Remove unused owner operations from ``ProjectModifyMixin`` (#1008)
- Refactor and cleanup ``AppSettingAPI`` (#1024)
- **Timeline**
- Deprecate ``ProjectEvent.get_current_status()``, use ``get_status()`` (#322)

Fixed
-----

- **Projectroles**
- Crash at exception handling in ``clean_new_owner()`` (#981)
- Incorrect button icon in remote site form (#1001)
- Case-sensitive project list sorting (#1006)
- Project list filtering not trimmed (#1021)
- **Timeline**
- Uncaught exceptions in ``get_plugin_lookup()`` (#979)

Removed
-------

- **General**
- Codacy support (#1022)
- **Projectroles**
- Taskflow specific views, tests and API calls (#387)
- ``get_taskflow_sync_data()`` method from ``ProjectAppPluginPoint`` (#387)
- ``Project.submit_status`` field and usages in code (#971)
- **Taskflowbackend**
- Remove app and implement in SODAR (#387)
- **Timeline**
- Taskflow API views (#387)


v0.10.13 (2022-07-15)
=====================

Expand Down
1 change: 0 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ recursive-include bgjobs *
recursive-include filesfolders *
recursive-include siteinfo *
recursive-include sodarcache *
recursive-include taskflowbackend *
recursive-include timeline *
recursive-include tokens *
recursive-include userprofile *
Expand Down
21 changes: 0 additions & 21 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@ define USAGE=
@echo -e "\tmake black [arg=--<arg>] -- black formatting"
@echo -e "\tmake serve -- start source server"
@echo -e "\tmake serve_target -- start target server"
@echo -e "\tmake serve_taskflow [arg=sync] -- start server with SODAR Taskflow"
@echo -e "\tmake collectstatic -- run collectstatic"
@echo -e "\tmake test [arg=<test_object>] -- run all tests or specify module/class/function"
@echo -e "\tmake test_taskflow [arg=<test_object>] -- run all tests and taskflow tests or specify module/class/function"
@echo -e "\tmake manage_target arg=<target_command> -- run management command on target site, arg is mandatory"
@echo -e
endef
Expand All @@ -36,15 +34,6 @@ serve_target:
$(MANAGE) runserver 0.0.0.0:$(target_port) --settings=config.settings.local_target


.PHONY: serve_taskflow
ifeq ($(arg),sync)
serve_taskflow: sync_taskflow
else
serve_taskflow:
endif
$(MANAGE) runserver --settings=config.settings.local_taskflow


.PHONY: collectstatic
collectstatic:
$(MANAGE) collectstatic --no-input
Expand All @@ -55,11 +44,6 @@ test: collectstatic
$(MANAGE) test -v 2 --parallel --settings=config.settings.test $(arg)


.PHONY: test_taskflow
test_taskflow: test
$(MANAGE) test -v 2 --tag=Taskflow --settings=config.settings.test_taskflow $(arg)


.PHONY: manage_target
manage_target:
ifeq ($(arg),)
Expand All @@ -71,11 +55,6 @@ else
endif


.PHONY: sync_taskflow
sync_taskflow:
$(MANAGE) synctaskflow --settings=config.settings.local_taskflow


.PHONY: usage
usage:
$(USAGE)
Expand Down
11 changes: 3 additions & 8 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,8 @@ SODAR Core
.. image:: https://github.com/bihealth/sodar-core/actions/workflows/build.yml/badge.svg
:target: https://github.com/bihealth/sodar-core/actions?query=workflow%3ABuild

.. image:: https://app.codacy.com/project/badge/Grade/6ba6b44ee37642918c7ff7a44d413982
:target: https://www.codacy.com/gh/bihealth/sodar-core/dashboard

.. image:: https://app.codacy.com/project/badge/Coverage/6ba6b44ee37642918c7ff7a44d413982
:target: https://www.codacy.com/gh/bihealth/sodar-core/dashboard
.. image:: https://coveralls.io/repos/github/bihealth/sodar-core/badge.svg?branch=main
:target: https://coveralls.io/github/bihealth/sodar-core?branch=update/codacy

.. image:: https://img.shields.io/badge/License-MIT-green.svg
:target: https://opensource.org/licenses/MIT
Expand Down Expand Up @@ -101,8 +98,6 @@ This repository provides the following installable Django apps:
administrators.
- **sodarcache**: Generic caching and aggregation of data referring to external
services.
- **taskflowbackend**: Backend app providing an API for the optional
``sodar_taskflow`` transaction service.
- **timeline**: Project app for logging and viewing project-related activity.
- **tokens**: Token management for API access.
- **userprofile**: Site app for viewing user profiles.
Expand All @@ -120,7 +115,7 @@ and breaking changes are possible.

.. code-block:: console
pip install django-sodar-core==0.10.13
pip install django-sodar-core==0.11.0
For installing a development version you can point your dependency to a specific
commit ID in GitHub. Note that these versions may not be stable.
Expand Down
6 changes: 3 additions & 3 deletions codemeta.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,12 @@
],
"identifier": "https://doi.org/10.5281/zenodo.4269346",
"codeRepository": "https://github.com/bihealth/sodar-core",
"datePublished": "2022-07-15",
"dateModified": "2022-07-15",
"datePublished": "2022-09-23",
"dateModified": "2022-09-23",
"dateCreated": "2019-06-26",
"description": "SODAR Core: A Django-based framework for scientific data management and analysis web apps",
"keywords": "Python, Django, scientific data managmenent, software library",
"license": "MIT",
"title": "SODAR Core",
"version": "v0.10.13"
"version": "v0.11.0"
}
14 changes: 6 additions & 8 deletions config/settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,6 @@
'siteinfo.apps.SiteinfoConfig',
# API Tokens site app
'tokens.apps.TokensConfig',
# SODAR Taskflow backend app
'taskflowbackend.apps.TaskflowbackendConfig',
# Background Jobs app
'bgjobs.apps.BgjobsConfig',
# External Data Cache app
Expand Down Expand Up @@ -492,7 +490,6 @@
'projectroles',
'siteinfo',
'sodarcache',
'taskflowbackend',
'timeline',
],
)
Expand Down Expand Up @@ -591,6 +588,12 @@ def set_logging(level=None):
# Allow unauthenticated users to access public projects if set true
PROJECTROLES_ALLOW_ANONYMOUS = env.bool('PROJECTROLES_ALLOW_ANONYMOUS', False)

# Enable project modify API
PROJECTROLES_ENABLE_MODIFY_API = False
# List of apps for executing project modify API actions in the given order. If
# not set, backend and project apps will execute in alphabetical order by name.
PROJECTROLES_MODIFY_API_APPS = []

# General projectroles settings
PROJECTROLES_DISABLE_CATEGORIES = env.bool(
'PROJECTROLES_DISABLE_CATEGORIES', False
Expand Down Expand Up @@ -680,10 +683,5 @@ def set_logging(level=None):
APPALERTS_STATUS_INTERVAL = env.int('APPALERTS_STATUS_INTERVAL', 5)


# Taskflow backend settings
TASKFLOW_SODAR_SECRET = env.str('TASKFLOW_SODAR_SECRET', 'CHANGE ME!')
TASKFLOW_TEST_MODE = False # Important! Disallow cleanup() command by default


# SODAR constants
# SODAR_CONSTANTS = get_sodar_constants(default=True)
16 changes: 0 additions & 16 deletions config/settings/local_taskflow.py

This file was deleted.

1 change: 1 addition & 0 deletions config/settings/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
PROJECTROLES_DEFAULT_ADMIN = 'admin'
PROJECTROLES_ALLOW_LOCAL_USERS = True
PROJECTROLES_ALLOW_ANONYMOUS = False
PROJECTROLES_ENABLE_MODIFY_API = True
PROJECTROLES_DISABLE_CATEGORIES = False
PROJECTROLES_INVITE_EXPIRY_DAYS = 14
PROJECTROLES_SEND_EMAIL = True
Expand Down
27 changes: 0 additions & 27 deletions config/settings/test_taskflow.py

This file was deleted.

11 changes: 9 additions & 2 deletions docs/source/app_appalerts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,15 @@ accompanying API documentation for details.
Backend Django API Documentation
================================
This is the backend API, retrievable with
``get_backend_api('appalerts_backend')``.
The backend API can be retrieved as follows.
.. code-block:: python
from projectroles.plugins import get_backend_api
app_alerts = get_backend_api('appalerts_backend')
Make sure to also enable ``appalerts_backend`` in the
``ENABLED_BACKEND_PLUGINS`` Django setting.
.. currentmodule:: appalerts.api
Expand Down
11 changes: 10 additions & 1 deletion docs/source/app_projectroles_api_django.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,12 @@ App Settings
============

Projectroles provides an API for getting or setting project and user specific
settings.
settings. The API can be invoked as follows:

.. code-block:: python
from projectroles.app_settings import AppSettingAPI
app_settings = AppSettingAPI()
.. autoclass:: projectroles.app_settings.AppSettingAPI
:members:
Expand Down Expand Up @@ -119,6 +124,10 @@ Base view classes and mixins for building Ajax API views can be found in

.. currentmodule:: projectroles.views_ajax

.. autoclass:: SODARBaseAjaxMixin
:members:
:show-inheritance:

.. autoclass:: SODARBaseAjaxView
:members:
:show-inheritance:
Expand Down
4 changes: 2 additions & 2 deletions docs/source/app_projectroles_basics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,8 @@ Other features in the projectroles app:
- **Custom user model**: Additions to the standard Django user model
- **Multi-domain LDAP/AD support**: Support for LDAP/AD users from multiple
domains
- **SODAR Taskflow and Timeline integration**: Included but disabled unless
backend apps for Taskflow and Timeline are integrated in the Django site
- **SODAR Timeline integration**: Included but disabled unless the backend app
for Timeline is enabled in your Django site


Templates and Styles
Expand Down
9 changes: 9 additions & 0 deletions docs/source/app_projectroles_custom.rst
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,15 @@ documentation links or linking to external sites. Example:
</li>
Extra Login View Content
========================

If you want to provide extra content in your site's login view, you can add
custom HTML into the template file
``{SITE_NAME}/templates/include/_login_extend.html``. The content will appear
below the login form and its format is not restricted.


Site Logo
=========

Expand Down
2 changes: 1 addition & 1 deletion docs/source/app_projectroles_integration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ desired release tag or commit ID.
.. code-block:: console
-e git+https://github.com/mikkonie/django-plugins.git@42e86e7904e5c09f1da32173862b26843eda5dd8#egg=django-plugins
django-sodar-core==0.10.13
django-sodar-core==0.11.0
Install the requirements for development:

Expand Down
Loading

0 comments on commit 3c9cefc

Please sign in to comment.