Ourchive Release Notes, v0.6.0

Ourchive Release Notes, v0.6.0
Source: Unsplash

Wow, we made it. Our beta site has been upgraded, and now you can upgrade, too.

Bugfixes

  • Fixed a number of deploy/setup bugs, including users without upload permissions being unable to comment and new users' default icons 404ing.
  • Fixed issues with buggy search logic
  • Fixed issues with content page updating
  • Fixed UI and functional issues with date created/updated functionality

Features

  • Added Language as a foreign key object which can be assigned to works and collections
  • Implemented saved searches, so users can persist specific search terms and facets and load searches from the homepage search view
  • Added series and anthologies, which are ordered and unordered collections of works
  • Implemented chive co-owners and updated logic for approval workflow
  • Implemented search groups to give admins control over faceted filter views
  • Implemented homepage browsing view, including a new News view
  • Added S3 support for uploads

UI

  • Began implementing new look & feel, starting with work search tiles and work detail view
  • Migrated icons to Tabler
  • Updated font

Admin/Project Work

  • Migrated repos to OurchiveIO org
  • Upgraded technical documentation
  • Added an e2e testing project and management command to seed data
  • Added a management command for initializing required data such as settings
  • Refactored models: all formerly API models are now in ourchive_app.core; this will support full removal of circular dependencies in v0.7.0.
  • Migrated project domain to Linode
  • Migrated project planning to a self-hosted Taiga instance

Notes/Known Issues

  • The project is maturing to the point that we have code debt and known points of inefficiency, such as search. Urgent issues will be hotfixed, but if you notice a particularly bad performance issue or simply have a fix or improvement, we welcome both issues and PRs.

Upgrade Instructions

PLEASE UPGRADE WITH CARE. This release includes a major change to the database schema. If you do these steps out of order your installation will break.

Prerequisites: Ensure you have upgraded to the most recent release prior to this one. The database schema change requires renaming tables prior to running migrations.

As the app user (e.g. ourchive), pull the tag: git fetch && git checkout v0.6.0

Upgrade dependencies. Activate your virtual env and then:

cd ourchive_app
pip install -r requirements.txt

Now you will be executing a management console command to rename tables, running migrations, and restarting the site.

# execute script
python manage.py executesql v0_6_0_core_table_rename

# migrate
python manage.py migrate

# collect static assets
python manage.py collectstatic

# restart app server
sudo service gunicorn restart

Updated Data

Languages can be configured in the admin panel at https://your-ourchive-url.com/admin/core/language

Search groups can be configured at https://your-ourchive-url.com/admin/core/searchgroup

Your homepage will now show a 'news' section. You can populate news at https://your-ourchive-url.com/admin/core/news/. If you check 'embed in homepage', the message will display in the news list as well as on the homepage, below the 'Welcome to Ourchive' message.

Finally, for any tag or attribute types that you want to be browsable from the homepage, navigate to them in the admin panel and check 'Show for browse'.

Thank you

Special thanks to everyone in this Reddit thread, as well as BrightPerigrine and bellisk.