Skip to content

Concerns about Valkyrie::ChangeSet (discussion) #984

@dchandekstark

Description

@dchandekstark

I would like to raise a couple of concerns about Valkyrie::ChangeSet.

  1. The libraries that it is based on -- [reform](https://github.com/trailblazer/reform and disposable -- ceased development a few years ago. While this does not appear to be an immediate issue by itself, I think it's a potentially major vulnerability, and I would like to see an alternative implementation for that reason. Valkyrie already requires activemodel, do ActiveModel::Dirty might be a good option, at least for the change tracking part, which leads me to ...
  2. There seems to be issues with change tracking of properties for embedded Valkyrie::Resource objects. I am finding that change_set.changed? returns false and change_set.changed returns a hash with attribute keys and false values -- however, save works to persist the changes. Change tracking is important to our project, and it seems that reform/disposable are not reliable for the kinds of data that we are persisting. It is possible, I suppose, that user error is an issue, but that takes me back to point 1. The functionality involved here is in a secondary dependency and browsing the code of disposable gives the impression of a somewhat incomplete/abandoned effort (lots of TODO and FIXME at https://github.com/trailblazer/trailblazer-disposable/blob/master/lib/trailblazer/disposable/twin.rb, last updated 7y ago).

I am interested in whether others share these concerns or have different perspectives on the issues.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions