Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When importer is in incremental mode, offer an option to avoid recording the album #2773

Closed
bviefhues opened this issue Dec 30, 2017 · 3 comments
Labels
feature features we would like to implement

Comments

@bviefhues
Copy link

It would be useful to have a "[L]ater" plugin that allows to non-permanently skip an import in incremental mode, in order to be processed again in subsequent import runs. That would basically be the "[S]kip" functionality, minus storing the path.

Typical use case would be, in a large volume import, to skip the difficult cases for the time being and to re-visit these later.

@sampsyo sampsyo changed the title "Later" Pluging When importer is in incremental mode, offer an option to avoid recording the album Dec 31, 2017
@sampsyo sampsyo added the feature features we would like to implement label Dec 31, 2017
@sampsyo
Copy link
Member

sampsyo commented Dec 31, 2017

Interesting idea! For what it's worth, this is only relevant in incremental mode. By default, we don't record (or automatically skip) any paths. I've updated the title to describe the idea in more detail.

@msjyoo
Copy link
Member

msjyoo commented Jan 3, 2018

@sampsyo Is this something that can be done with a plugin? Adding to the incremental list is done in the final stage of the pipeline, after all the plugin stages have passed.

I would also really like this feature, and I see three options for implementing it if I'm correct about not being able to do it with a plugin:

Option 1:

A config flag to bypass adding to the incremental list on importer.action.SKIP
All skip actions will not add to the incremental list.

Option 2:

Add a new prompt option [L]ater, only visible on incremental imports.
Continue using importer.action.SKIP for this option.
A special variable on ImportTask to indicate that a later prompt was chosen.
Conditionally skip save_history() on this special variable.

Option 3:

Add a new plugin action to skip all future pipeline stages for the current item.
A new Later plugin will use this to skip the manipulate_files stage.

@sampsyo
Copy link
Member

sampsyo commented Jan 3, 2018

Agreed; I don’t believe a plugin could do this currently.

Thanks for laying out these options! This is a good set of alternatives, and I always find it useful to map out the space of possible implementations ahead of time. 👍

Here are some comments on each option:

  1. This is the least obtrusive option, and it avoids bothering people who don’t need this feature with an extra prompt option. The only question is whether this is flexible enough—whether a “skip and record” action is ever useful in addition.
  2. This is a more complex implementation, but it gets the behavior exactly as proposed.
  3. This would be nice for future extensibility, but it runs the risk of unexpected consequences when aborting the pipeline early. For example, the “restartable” import feature wouldn’t get a chance to record progress.

Overall, I lean toward 1 if it doesn’t seem too limited, and probably 2 otherwise. Any opinions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature features we would like to implement
Projects
None yet
Development

No branches or pull requests

3 participants