-
Notifications
You must be signed in to change notification settings - Fork 18
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
Describe how to link people to posts without implying membership in organizations #125
Comments
/cc @fgregg |
I really like this idea, but we need a really clear distinction between a membership and an appointment. Particularly since many people are members of a body because they are "appointed" by someone else, people might get confused about what we are really talking about here. It seems like a key thing that we are trying to get at is that there are posts or roles that do not confer membership in a body. Is that right? If so, could that just be an attribute of a post? |
So, an attribute of the Post would indicate whether being appointed to that post confers membership? I suppose we could then run validations to ensure there is no Membership is associated to that Post. And alternately, run validations to ensure that no Appointment is used if a Post confers membership; |
My current use cases would be satisfied, if posts had this |
…han I hoped popolo-project/popolo-spec#125 This reverts commit 240c2ad.
If there's no Appointment class, then you're okay using Memberships to make the link between People and Posts (with some Posts conferring membership and some not)? |
yes. That's my current favorite solution.
…On Fri, Feb 3, 2017 at 5:52 PM, James McKinney ***@***.***> wrote:
If there's no Appointment class, then you're okay using Memberships to
make the link between People and Posts (with some Posts conferring
membership and some not)?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#125 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAgxbTW8tRzBDyp2nAdV49KJuf21NGS0ks5rY72rgaJpZM4LwSzf>
.
--
773.888.2718
|
If I'm understanding correction, putting Could Membership and Appointment be generalized to another object (like Association), and then have an (I may be missing some underlying requirement, so please feel free to disregard if so!) |
In terms of modeling, that's the same as having an Appointment class, except we're using a |
I think I'm operating under the assumption that more classes are less desirable as increased complexity, but perhaps not true. Memberships were always a "linkage" sort of class in my mind. As proposed, introduceing the idea of now having n types of linkages makes the spec a little harder to grok imho |
Hmm, I'm remembering a pattern from the UK's electoral candidates project. For candidacy (#104 #43), they had people hold memberships that were linked to posts but not to organizations. You could still get the organization in which the post exists through the post, but by leaving the organization blank on the membership, normal system logic wouldn't count that person as a member of that organization. @fgregg What if Pupa allowed creating memberships without setting the organization? @patcon Not setting |
@jpmckinney, for the UK project, I understand the steps that led to having memberships that were not linked to organizations. I think that this was a reasonable technical solution, but it violates my understanding of what a membership means. For me, a membership means that you are part of a body, so not having a body doesn't make sense. |
My understanding of your proposed alternative is that a confers_membership flag on a Post negates the semantics of its related Memberships actually being 'memberships', which seems more confusing to me.
Sent from mobile
… On Feb 7, 2017, at 10:49 AM, Forest Gregg ***@***.***> wrote:
@jpmckinney, for the UK project, I understand the steps that led to having a memberships that were not linked to organizations. I think that this was a reasonable technical solution, but it violates my understanding of what a membership means. For me, a membership means that you are part of a body, so no having a body doesn't make sense.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
My proposal is that a a |
actually, if it is valid for posts to not have related memberships, then I think we would be good. |
How do you relate a person to a post if not through a membership? |
ah, I see. Now I think I finally fully understand the distinction you were trying to make between Would be it be accurate that you see an appointment as a relation between a person and a post, and a membership as a relation between a person and a body? |
Membership is currently a relation between a Person, Post and Organization. Post is optional. See diagram: http://www.popoloproject.com/specs/membership.html An Appointment would likely just be between a Person and a Post. Posts are always related to Organizations. There are no free-floating Posts. |
Reading through this thread again, I think your Appointment class idea is very good. I think we need a different name than Appointment, though, as it improperly draws attention to the means by which a person comes to hold an office. some ideas for names, none of which I really love:
I also think it might have nice to an optional attribute on the |
Term sounds good, though (in isolation) it could be confused with the term of the legislature (see #93 where the modelling of legislative periods are discussed)… But if we aren't using Term anywhere else, I think it's fine to use for this purpose, as I can't think of anything better. |
The original W3C ORG standard didn’t have a
post_id
on Membership, but it also didn’t have a means of having start/end dates for holding a Post. With mySociety and Sunlight, we decided to addpost_id
to Membership, which has the side effect of a Person having multiple Memberships if they hold multiple Posts, which isn’t reality, but was considered acceptable.One way to have a single membership but multiple posts is to make
post_id
an array, but that complicates the very common case of a Person only holding 0 or 1 Posts per Membership.Another way is to create a new Appointment class, to hold the dates during which additional posts are held.
Example: Morgan is a member of House for District 1 from 2010 to 2014, and is also appointed Speaker from 2012 to 2013:
The text was updated successfully, but these errors were encountered: