openlibhums / openlibhums/janeway

New Event signal: ON_ARTICLE_EDIT

Open
#2,096 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dev-ready Metadata new feature Priority high Size M
Dominant language
Python
Stars
238
Forks
97
Avg merge
9d 1h
Merged PRs (30d)
8

Description

Is your feature request related to a problem? Please describe.
When an article's metadata is modified, the person making the edits needs to then remember pushing the metadata changes to indexes and aggregators

Describe the solution you'd like
When an article is edited, an event signal should be fired (e.g. "ON_ARTICLE_EDIT") for exporting tools to be able to subscribe to

Describe alternatives you've considered
We could hook a database signal instead, but we would need to hook multiple models (Article, FrozenAuthor, SectionArticle, Keyword, KeywordArticle...) and then workout what article needs to change based on the model, as well as determine which field updates should lead to a signal being raised. I think using the event system instead, by firing a signal when the django form is saved would work best.

Additional context
Bulk operations will (and probably should!) still require metadata is re-deposited on an ad-hoc basis

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Django form save path for article metadata and the existing event system. Review the Article, FrozenAuthor, SectionArticle, Keyword, and KeywordArticle models to define the article-level boundary. Done means relevant form saves emit ON_ARTICLE_EDIT for export-tool subscribers, while bulk operations remain ad hoc.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, content
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.