whiskyechobravo / kerko

A web application component that provides a faceted search interface for bibliographies managed with Zotero.
https://whiskyechobravo.github.io/kerko/
GNU General Public License v3.0
302 stars 36 forks source link

Include or exclude items based on tag(s) #4

Closed interrupt21h closed 3 years ago

interrupt21h commented 4 years ago

Is it possible to have Kerko use a personal library, but set a collection as the top level? I really don't want to have redundant group libraries and don't pay for storage. I managed to get things somewhat working with groups and manually finding and syncing my attachments....but it's not ideal. My personal library has a lot of collections that I don't want associated with my currant usage of the project (I want to have a nice index for my computer security related stuff, but I also have non-tech items as well)...see http://tech.21h.io for my current hack working off group libraries.

Sorry if it's not very polished yet....never done much Python programming and I'm just hacking a solution...Right now I have my Zotero desktop syncing to webdav....and then I try and matchup the md5sums of my local pdf library to the dav folder to extract the pdf zip....I have like 20GB of files, so I hate to have so much redundancy.

One other solution would be if I could blacklist certain collections from showing up. Then I could simply use my personal library and use an RE black list to prevent what I didn't want included. I had hoped that some of the blacklisting of tags and children would have that effect, but so far it seems to still include the items.

Update: I have it working the way I want right now at http://lib.21h.io (tech points there too), but I had to combine two very different collections that I don't want associated ("ANALOG" & "DIGITAL" on my site). The IT related stuff is fine, but the other stuff is more personal or associated with classes I teach and not something I want associated with my professional IT collection. My only other option right now would be to create a separate profile in Zotero. But that is a hassle. I would rather be able to have a default filter that excludes anything with a certain tag from the main index. I assume there must be some place to hook something like that in the code.

Other than that, it works awesome. I know I'm not a typical use case, but it's a good workflow for me.

davidlesieur commented 4 years ago

Would the ability to include or exclude items based on a tag be a good compromise to you? It could work similarly to the current whitelisting/blacklisting options.

I'm suggesting a tag-based option, because using collections for this purpose will raise more issues, e.g., during sync Kerko would have to search up the collection hierarchy for each item to find out whether a parent collection has been included/excluded (not rocket science, but if tags work equally well, it is certainly the simpler solution). I also think that most people would rather use tags for this purpose, and not worry about re-categorizing items into one or more collections (they may have many facets to consider) when they just want the items to become "published".

interrupt21h commented 4 years ago

Yes. That would be perfect.

davidlesieur commented 4 years ago

You're not alone wanting a way to include/exclude items, I also got a similar request from another channel. If you feel like trying to implement it, I'll gladly take pull requests. Otherwise I'll probably implement it within the next few weeks.