[
https://issues.apache.org/jira/browse/JAMES-3360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17180895#comment-17180895
]
David Leangen commented on JAMES-3360:
--------------------------------------
Thank you for the clarification.
{quote}bq. UserRepository is an interface that other people implement when they
store users in other places.
{quote}
Yes, likely a "UserRepository" is still a useful pattern to use. We still need
to store the data somewhere, right?
So overall what I understand you are saying is: you don't think that "user" is
a domain concept: it is only relevant on the technical level. Therefore, what
we call it is not so important. (If "user" is not a domain concept, then I
would agree with your assessment.)
You also seem to imply that you do not subscribe to the idea of maintaining
consistency (i.e. you don't mind using one term in the user docs, and a
different term in the code). (I do not agree with this approach. I think we
need consistency throughout the entire stack.)
Therefore, you do not see the value in making the change, especially because
there are costs (and the cost of breaking the API is high). (My decision
depends on whether or not "user" is considered as a domain concept or not. If
it is, then the code ought to reflect the domain, and it must be incrementally
improved, even at the cost of breaking the current API. If not, then I agree
that we don't need the trouble.)
So if we could have some consensus around this point (is "user" a domain
concept or not), if we agree that it is not, then I will reconsider how to
write the documentation and will close this issue.
> Change "User Repository" to "User Directory"
> --------------------------------------------
>
> Key: JAMES-3360
> URL: https://issues.apache.org/jira/browse/JAMES-3360
> Project: James Server
> Issue Type: Improvement
> Reporter: David Leangen
> Priority: Major
>
> I wonder if there isn't a wording problem here.
> I understand that the idea is to have a place to store user data. However,
> the naming looks at the problem from a purely technical point of view. A
> "Repository" by definition is a place to "put" something. For example, in the
> real world, a document repository is an actual place to put documents.
> The wording suggests that we have some place where we put people, which seems
> very strange to me if we correspond the idea to the real world. It creates a
> very strange mental model for me.
> I think the concept that should be modeled here is more along the lines of a
> "Directory". We have a kind of index that gives useful information about how
> to locate users. It is not a place where we take people and lock them up.
> Rather, it is a list of information about people. Does that make sense?
> [Here is a
> definition|https://dictionary.cambridge.org/dictionary/english/directory] we
> could use:
> {quote}a list of telephone numbers, names, addresses, or other information
> {quote}
> Note that if the Repository is never exposed to anybody except implementors,
> and it really is just a place to put data, then this issue would not bother
> me. However, it is my understanding from writing the new documents that this
> concept is actually exposed, so I think the concept needs to be fixed.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]