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

[Feature request] Ability to set matching tags for each reading status and automatically apply these as read status changes (for mobile tracking) #8

Open
FeralFlora opened this issue Mar 28, 2023 · 15 comments · May be fixed by #39
Labels
enhancement New feature or request

Comments

@FeralFlora
Copy link

As Zotero for iOS doesn't have addons, the reading status is not easily accessible on mobile devices. Perhaps a workaround would be if this plugin had the ability to apply tags that match the reading status. I know this is not a clean solution, but I think it's better than nothing.

@Dominic-DallOsto
Copy link
Owner

Just to go through in a bit more detail, this would need:

  • On desktop - when you change the read status of an item a corresponding tag is automatically applied
  • On iOS - you manually set the tags on items you've read
  • When you return to desktop, items that have a different tag to their read status are updated (maybe after displaying a confirmation to the user)
    • Unfortunately I think we lose date information here? We don't know when the tag was set - if it was before or after the read status set on desktop?
  • An option to apply the tag to all items with an existing read status

@Dominic-DallOsto Dominic-DallOsto added the enhancement New feature or request label May 9, 2023
@FeralFlora
Copy link
Author

The first two points correspond to what I was thinking.

To be honest, I didn't consider the situation going from iOS to desktop. I don't know enough about the Zotero backend and the data available to suggest a solution.

The option to bulk add tags based on read status makes migrating to such a workflow much easier.

Perhaps a solution could be to make standard or custom rules on which statuses supersede others? For example. If the current status is "In progress" and the tag is "Read", it is clear that the status should be updated. The same goes for:

  • "To read" -> "In progress"
  • "To read" -> "Read"

"Not reading" is the most problematic one to reconcile, because it can change in any direction.

Do you know if the Zotero app will support extensions eventually?

@FeralFlora
Copy link
Author

Hey, do you have any new thoughts on this?

@bruce-willis
Copy link

Just a ping to this issue.

I like to manage my collection via the desktop app, but I like to read papers on an iPad. Unfortunately, I could not filter by the "To read" or "In progress" property on a tablet.

For a workaround, one can use the following extension: zotero-actions-tags for automatic management of tags and use only tags for reading status, but I really like this extension and hope it will be possible to filter by status on mobile devices (even only one-way sync desktop -> tablet is better than nothing).

@Dominic-DallOsto
Copy link
Owner

Dominic-DallOsto commented Jul 23, 2024 via email

@Dominic-DallOsto
Copy link
Owner

I've started work on this - any thoughts would be great!

My idea at the moment is:

  • to automatically set a tag when setting an item's read status
  • update all items' tags to match read status
    • manual option
    • automatically when enabling the preference for the first time?
  • update all items' read statuses to match tags
    • manual option
    • automatically on startup? Or is there some app->desktop sync operation I could use to trigger this?

@bruce-willis
Copy link

it seems that advanced search isn't possible on the Zotero app at all

Yes, it seems like this feature is still not implemented in the iOS app. Saved searches also do not exist.

I've tested using the following collection (six items, one without any status and with all five statuses):
image

I've tried to use search bar to search for status in the Extra field, but maybe the titles are also playing role in the experiment.

  1. Read_Status: New — (New, To Read, In Progress, Not Reading statuses are shown ❌)
screenshot
  1. Read_Status: To Read — (New, To Read, In Progress, Read , Not Reading statuses are shown ❌)
screenshot
  1. Read_Status: In Progress — (New, In Progress statuses are shown ❌)
screenshot
  1. Read_Status: Read — (New, To Read, In Progress, Read , Not Reading statuses are shown ❌)
screenshot
  1. Read_Status: Not Reading — (only Not Reading status is shown ✅)
screenshot

But filtering by tags is possible? Also the non-coloured tags?

Yes, it works as expected. I manually created tags (just for these 5 items) and it is possible to filter.

screenshots

@bruce-willis
Copy link

I've started work on this - any thoughts would be great!

Thanks! Let me know if you need a beta-tester :D

I also think that this feature should be optional, since I suppose there are users who don't really need it (e.g. only using from the desktop app).

Also tags support not only colours, but also emoji:

iPad
desktop

I have never developed anything for Zotero, but maybe it is possible to get when the tag was set?

Copy link

🚀 This ticket has been resolved in v1.4.0-beta. See Release 1.4.0-beta for release notes.

@Dominic-DallOsto
Copy link
Owner

Dominic-DallOsto commented Jul 28, 2024

Ok, if you have time to checkout the v1.4.0-beta release that would be great! You'll have to manually install it, it won't auto-update.

There's an option to enable this feature which will prompt you to update all your items' tags to match their read statuses.

After that any time you set an item's read status, its tag will be updated to match.

At the moment if you change an item's tag on the app, you need to manually run the option to update read statuses from tags in the settings menu.

  • can you explain a bit more about how the app <-> desktop Zotero synchronisation works? I wonder if there's a natural point to run the tag -> read status update automatically?

Also, could you test whether the modification date for an item gets updated based on when you change tags in the app?

  1. Choose an item in the desktop app and selected it
  2. Open the error console: Tools -> Developer -> Error Console
  3. Type ZoteroPane.getSelectedItems()[0]._dateModified in the console and press enter
  4. Change the item's tag on the app, synchronise it to the desktop, then run the command again
  5. Does the date modified change? If so, does it reflect when you changed the tag in the app, or when you synchronised the item to the desktop?

And if you have any other thoughts or things you think would help let me know, thanks!

Copy link

github-actions bot commented Aug 8, 2024

🚀 This ticket has been resolved in v1.6.0-beta.0. See Release 1.6.0-beta.0 for release notes.

@Dominic-DallOsto
Copy link
Owner

I just updated the beta release to test this feature so it's based off the latest version of this plugin.

If you have the chance to test it and provide any feedback that'd be great!

Copy link

github-actions bot commented Sep 5, 2024

🚀 This ticket has been resolved in v1.6.0-beta.1. See Release 1.6.0-beta.1 for release notes.

@MaxVonMustermann
Copy link

Works like a charm!
The only addition for further polishing: Is it possible to show tag icons (emojis) in the right click context menu on the desktop Zotero app? Currently, right clicking an item, choosing Read Status and then opening the selection menu shows plain text only.

Thank you in advance!

Copy link

🚀 This ticket has been resolved in v1.6.0-beta.2. See Release 1.6.0-beta.2 for release notes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
4 participants