Replies: 10 comments 10 replies
-
From PR comment by @martabal (#7045 (comment))
It could kind of work i think. Assets will be protected in all cases: The backend looks up assets linked to a person that the user has direct or partner.sharedTo access to. Now, for the person objects it's getting more interesting. If partner shares are one-way (user A is basically a "resource account") it will work, I think. If the partner share on the other hand is two-way, we have no obvious strategy for automatically deciding the ownership of person X. It may work as above or disappear for user C. |
Beta Was this translation helpful? Give feedback.
-
Piling on here. I was exploring Immich for use with my family -- initially my wife, but presumably eventually also further shared with our kids as they get older and have devices. I'm finding that the work I've done on identifying matching people doesn't carry over to her account, despite us having pictures of basically the same people. It's frustrating that son-taken-by-dad and son-taken-by-mom are effectively different people; clearly they're all just pictures of our son. (I almost think that people and face matching should be global state, not user state, since identity of the person in the photo is generally an objective reality.) Similarly, in trying to clean up the import, I quickly discovered that while the UI will let me select a new date for her photos, that doesn't actually seem to go anywhere. I can understand that being a permissions thing, but as I do the bulk of the photo cleanup for both of us, it means logging in as her. I wonder if there's an element of request-consent here; I'm allowed to propose changes to her pictures (match with this person, etc.), but the next time she logs in, she'll see a list of changes I made and be asked to approve them before they're "committed." Or, alternatively, more granular settings up front in sharing -- not only do you select a partner, you decide whether they can see albums, people, etc. and whether they can edit the things they're allowed to see. |
Beta Was this translation helpful? Give feedback.
-
Very interested in this! At the moment partner sharing isn't very functional for my needs. We have thousands of historical photos and want to easily navigate them, so if we both want the full functionality of explore and search, we have to upload our photos to a shared admin account. Meanwhile we also want to back up our phones automatically to our personal accounts and have some control or privacy over which ones make their way into partner sharing (archive function seems to meet this need). There doesn't seem to be a realistic way at the moment without logging out/in whenever we want to search our shared library vs. backup our phones. |
Beta Was this translation helpful? Give feedback.
-
Here's another use case for (possibly optionally) sharing 'people' when such are present in shared photos: sharing family photos with my mother who unfortunately has Parkinsons disease and as such - due to her trembling hands - tends to often press buttons and links and options and other things-on-screen without meaning to do so. This leads to all sorts of problems like her accidentally deleting things which she does not want deleted. Giving my mother access to a shared account would quickly mess up the configuration in many interesting ways because of the same problem. I can give her read-only access to a shared library which does not suffer from these problems but, alas, the main attraction - that of being easily able to find photos of specific people - is not part of partner sharing. This has kept me from giving her any access to my installation for now, instead relying on Jellyfin and Nextcloud Memories for the same tasks. Jellyfin is read-only but only offers such organisation as I manually put in place, Nextcloud Memories comes closer to what Immich offers but is decidedly slower and not as effective in its facial recognition no matter which of the related 'apps' is used. I'd like to give her access to my current Immich instance and will do so as soon as shared 'people' is implemented (with a read-only share option...). |
Beta Was this translation helpful? Give feedback.
-
+1 for people/faces sharing. My wife also wants to search for faces i have tagged/named (ex. our son). |
Beta Was this translation helpful? Give feedback.
-
(#7045 (comment)): I think it would be better for us to wait and implement it the proper way What would "the proper way" look like? In the end it will always come down to a given user starting a scan which produces a number of clusters. Those clusters are added to labelled groups - "Joe" and "Alice" and "Torbjörn". Those groups are what are called "Persons". The scanning and clustering is handled by the machine, grouping is left to the user so that is the first step which can be clearly related to a user and where there may be differences in opinion on whether cluster 1 belongs in the "Joe" group or maybe in "Bob". Now give a situation where both user1 and user2 have access to a set of images encompassing the mentioned clusters, either through a share or because they configured the same external source in their libraries. Who gets to "own" the clusters given that these are machine-generated? Maybe they should be treated like any other metadata related to the image (location etc.)? If so, should anyone who has access to an image also have access to the cluster metadata for that image? Groups are created by users but it would be a waste of effort for all users to need to group and label clusters. That does not mean groups can be easily shared just like clusters are since:
From this I gather the problem can be broken in two parts which each need to be solved:
As it currently stands the schema does not allow separation between clustering and grouping metadata since asset_faces refers to person (which contains user-specific information which needs to be shared explicitly, not implicitly) while person refers to users (which means only a single user can 'own' the cluster). Here's a few options on how this could be handled:
WRT shared person-related metadata, what should happen when user1 undoes the share with user2 while user2 had edited and/or created his own persons for that library? Should these be retained - possibly for a limited amount of time - just in case the share is re-established? |
Beta Was this translation helpful? Give feedback.
-
My hopes for sharing includes being able to share a whole library, with associated persons, albums and everything else, with several members of my family - but without sharing my personal library/libraries with them. I've begun categorizing lots of old inherited photos from an imported library and I got a fair bit along before realizing I can not currently share just this library with a group of people. The library files themselves are read-only, but I would like the others to be able to contribute new albums for this "shared space" (and tags when that comes along). This is part of building a general digital archive + backup solution for which I'll be the main caretaker. I have done an initial rough categorization and assigned the majority of faces already (which do greatly overlap with my personal libraries), but the others would like to be able to contribute once the library is shared with them. If possible, we would all be able to selectively include photos and people from outside the shared library. Essentially I want them to be able to say "person A in my private libraries = person B in the shared library" and "these photos from my private library should be included in some of the shared albums", for things like events they also had photos from. Had I realized the current limitation of partner sharing sooner I may have elected to import the to-be-shared library to a new user instead of my own user. Then we could all add that user as a partner. It however appears that may not give the type of "selective overlap" I need. If A & B & C share library X, while B & C share library Y, I do not want that to mean A & C also share Y. But, if a face exists in all of their libraries I do want that face to be "shared", or at least "linked" so that no matter who searches for that person (by whichever name they assigned to them), also see all the photos shared with just them. My expectation for what happens if any two people stop sharing libraries/albums is that they retain at least the albums and/or persons/faces that had been associated both with a shared library and their own library, and any changes thereafter are completely independent. When initially sharing a library (and thus faces/persons/albums) with another user, I would expect that user to have that library pop up under the "Shared" section, along with a question about how to integrate it with their own libraries (or other libraries shared to them, if allowed). I'd like Immich to be able to scan for similar faces across shared libraries and automatically suggest a "soft merge / linking", so that I can actually decide myself if Person A from my user truly matches Person B from their user. If so, I'd still see them as "Person A" after the merge, while the other user(s) would essentially just see "Person B" having a bunch of new photos associated with them - of course also limited to only the photos from albums or libraries shared between the two users. I realize this next part will to a great degree overlap with the other discussions about concepts like tags, and "rule based" albums, so I wasn't exactly sure where to put it, but hope you don't mind I put it here. Conceptually, I can see how this could be implemented as "Hierarchical, linkable Tags with ownership". (Ignore the actual current implementation and performance considerations for now, I do not know enough about Immich's code to actually say how big of refactor this implementation would entail.) Basically, a library/album/person/face/location/whatever is all internally represented by a type of Tag entity. All the photos in "Album Foo" for user 1 would be tagged "album:foo". Creating an album implicitly grants you full ownership. User 1 has their own libraries, albums or other tags completely independently, except for this one photo they'd like to contribute with into Bar, which means it internally gets tagged with at least (album:bar:baz). If user 2 (owning the album) tries to delete this photo (still also having tags owned by user 1), all they can really do in practice is to remove that the tag(s) user 2 owns from it, effectively un-sharing it with themselves. It won't actually get deleted unless user 1 also removes all their own tags from it. If it's an un-shared image without any faces or albums, this effectively just removes the "library:#" tag from it, and any un-tagged photos are deleted. If the library is read-only, the library tag's ACL prevents its own removal. Either of the users could also opt to un-link Persons P & Q, effectively preventing Immich from auto-assigning both those tags when a match for either is detected in any library or album shared between them. At this point one may want Immich to ask if it should also de-associate any existing images with the previously linked tags. Perhaps the server owner could also decide what to do beforehand, or limit the options available to the performing user in situations where bulk associating/applying/removing [linked] tags would show up. I think if sharing is done in this way, or something similar, it may be flexible enough to more or less let users define how sharing is supposed to work for them. Immich needs only to make very few "business logic" assumptions about associations between users and can "just" look at any Tag's ACL and matching Links, to determine what other tags to apply. |
Beta Was this translation helpful? Give feedback.
-
I want to second the idea of having a family library run alongside a personal one, saving my user base from having to remember a shared account along with a personal account, not to mention having to consistently switch between them. Having read all of thee above, I don't think there is anything I might add besides pushing back on the idea that this is a niche application of this product. The role of family archivist is not a small portion of the prospective immich userbase (labeled above as the single enthusiast with little family ties). I will give that there are plenty of single people in this generation. However, it is safe to assume a majority had parent(s). Most of those had their own parent(s), and every single one of them has a box of dusty photos, waiting to be digitized and properly archived for a hope of passing them down. Even from outside this generic family setup, a found family will want the same control alongside the same privacy. There are other markets they could target.
family archivist may not be the majority user demographic, but i do think it is probably the biggest subset of potential users, especially in a multi account setup. i do think the facial recognition is a very small part of the feature being proposed in the initial paragraph. I would hate that being the feature holding up developing what the process for a shared library/album/file set would look like. |
Beta Was this translation helpful? Give feedback.
-
I imagine the whole implementation to be quite complicated. A shared account would actually be enough for me, so all rights are also shared and you only have one database. It's just that I do all the work with assigning people etc.. My wife just wants to see the results and doesn't want to create or change any data herself. She would then express her wishes to me and I would implement them. So there is no need for the program to be able to do all this with any suggestion lists and confirmations etc.. It's all far too complicated and nobody can keep track of it! The only thing that bothers me is that all new pictures from the different smartphones end up in the same directory. The simplest thing would be to create subfolders here that are assigned to the different devices. Then we can use Immich with a shared user. If someone doesn't want to share their personal pictures with their partner, they can always create a separate user for them. Keep it simple! |
Beta Was this translation helpful? Give feedback.
-
+1 for face sharing/editing as well. I have over 280k of assets and having someone help me identify faces would be great. How about exposing the folder structure as well to the partner? I have external libraries that are organized by folder already, and with so many assets it's often easier to look at the photos in a smaller subset (like a folder). I know I could use filters for some of this, but folders would be handy. |
Beta Was this translation helpful? Give feedback.
-
Hi All,
Do the Immich community have, or is able to reach some kind of common understanding of what partner sharing is/contains?
It seems a lot of people think the current state is not going far enough:
See/share partners persons/faces: #6339 #5089 #5457
See/share partners photos on map: #6339
See/share partners album (automatically shared): #7026
"Full access" (shared faces/tagging/albums): #7029 #6335 (?)
Implementing tags would very likely spark requests to be shared too
(i've obviously missed several references above)
I'm keen on tackling this (also to scratch my my own itch) Probably staring with partner's faces, map and memory becoming "first class citizens" in the shared-to's UI.
My question is really, where does partner sharing end? My own use-case would typically allow for both parties having full control over shared resources (ie both can add / remove faces/assets to a person). But it might be taking it a step too far? (I don't plan on including this in the first round)
Then, starting with faces sharing, there are immediately a couple of challenges.
It's probably worth while to consider #4500 (share subsets of a collection between different users) in the same context. I think it would probably require a new access concept (something like group ownership?) If the setup is not too complex, it might be sufficient with a separate user owning the different sets/libraries - But very cumbersome if only the owner can tag, manage faces etc.
Beta Was this translation helpful? Give feedback.
All reactions