Hello,
I need party education and work experience entities to build resume like structure for a party. The entities that I came up for them are detailed below.
Regards, Vinay Agarwal
<entity entity-name="Education" package-name="org.ofbiz.grayzilla" title="Party Education Entity"> <field name="partyId" type="id-ne"></field> <field name="instituteId" type="id-ne"></field> <field name="degree" type="id-long"></field> <field name="studentId" type="id-long"></field> <field name="fromDate" type="date-time"></field> <field name="thruDate" type="date-time"></field> <prim-key field="partyId"/> <prim-key field="instituteId"/> <prim-key field="fromDate"/> <relation type="one" fk-name="EDU_PRTY" rel-entity-name="Party"> <key-map field-name="partyId"/> </relation> <relation type="one" fk-name="EDU_INST" rel-entity-name="Party"> <key-map field-name="instituteId" rel-field-name="partyId"/> </relation> </entity>
<entity entity-name="Experience" package-name="org.ofbiz.grayzilla" title="Party Experience Entity"> <field name="partyId" type="id-ne"></field> <field name="companyId" type="id-ne"></field> <field name="titleLast" type="id-long"></field> <field name="description" type="id-vlong"></field> <field name="fromDate" type="date-time"></field> <field name="thruDate" type="date-time"></field> <prim-key field="partyId"/> <prim-key field="companyId"/> <prim-key field="fromDate"/> <relation type="one" fk-name="EXPER_PRTY" rel-entity-name="Party"> <key-map field-name="partyId"/> </relation> <relation type="one" fk-name="EXPER_COMP" rel-entity-name="Party"> <key-map field-name="companyId" rel-field-name="partyId"/> </relation> </entity> _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
Have you looked at the existing data model? I HIGHLY recommend this before working on any new entities... It is necessary in order to not only plan for and understand where new entities will fit in but also to see if what you need already exists or is close to existing. Look in particular in the "humanres" (Human Resources) and "workeffort" packages. -David On Feb 18, 2006, at 2:28 PM, Vinay Agarwal wrote: > Hello, > > > I need party education and work experience entities to build resume > like structure for a party. The entities that I came up for them > are detailed below. > > > Am doing it write? > Is it worth putting them back on OFBiz? > > Regards, > > Vinay Agarwal > > > <entity entity-name="Education" > > package-name="org.ofbiz.grayzilla" > > title="Party Education Entity"> > > <field name="partyId" type="id-ne"></field> > > <field name="instituteId" type="id-ne"></ > field> > > <field name="degree" type="id-long"></field> > > <field name="studentId" type="id-long"></ > field> > > <field name="fromDate" type="date-time"></ > field> > > <field name="thruDate" type="date-time"></ > field> > > <prim-key field="partyId"/> > > <prim-key field="instituteId"/> > > <prim-key field="fromDate"/> > > <relation type="one" fk-name="EDU_PRTY" rel- > entity-name="Party"> > > <key-map field-name="partyId"/> > > </relation> > > <relation type="one" fk-name="EDU_INST" rel- > entity-name="Party"> > > <key-map field- > name="instituteId" rel-field-name="partyId"/> > > </relation> > > </entity> > > > <entity entity-name="Experience" > > package-name="org.ofbiz.grayzilla" > > title="Party Experience Entity"> > > <field name="partyId" type="id-ne"></field> > > <field name="companyId" type="id-ne"></field> > > <field name="titleLast" type="id-long"></ > field> > > <field name="description" type="id-vlong"></ > field> > > <field name="fromDate" type="date-time"></ > field> > > <field name="thruDate" type="date-time"></ > field> > > <prim-key field="partyId"/> > > <prim-key field="companyId"/> > > <prim-key field="fromDate"/> > > <relation type="one" fk-name="EXPER_PRTY" > rel-entity-name="Party"> > > <key-map field-name="partyId"/> > > </relation> > > <relation type="one" fk-name="EXPER_COMP" > rel-entity-name="Party"> > > <key-map field-name="companyId" > rel-field-name="partyId"/> > > </relation> > > </entity> > > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.ofbiz.org/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users smime.p7s (3K) Download Attachment |
The existing relevant entities defined in humanres application are as
follows: 1. PartyQualType: There are two defined "CERTIFICATION" and "DEGREE". This entity doesn't contain any other detail but does have "hasTable" field implying possibly could be expanded (but I am not sure). 2. PartyQual: Relates a Party entity to a PartyQualType entity with from and thru dates. 3. SkillType: While none is defined in demo data, I assume it is something like "java programming" or "Microsoft office". 4. PartySkills: Relates a Party to SkillType with fields like skillLevel, yearsExperience, and rating. 5. PartyResume: Seems to contain only string information. I originally thought PartyQualType would the correct entity but its many-to-many relationship with Party made me believe that it has a different purpose. That's why I thought creating those new entities made sense. Of course I am not totally sure and, therefore, seeking advice in this matter. Regards, Vinay Agarwal -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of David E. Jones Sent: Saturday, February 18, 2006 2:39 PM To: OFBiz Users / Usage Discussion Subject: Re: [OFBiz] Users - Party Education and Work Experience Entities Have you looked at the existing data model? I HIGHLY recommend this before working on any new entities... It is necessary in order to not only plan for and understand where new entities will fit in but also to see if what you need already exists or is close to existing. Look in particular in the "humanres" (Human Resources) and "workeffort" packages. -David On Feb 18, 2006, at 2:28 PM, Vinay Agarwal wrote: > Hello, > > > I need party education and work experience entities to build resume > like structure for a party. The entities that I came up for them > are detailed below. > > > Am doing it write? > Is it worth putting them back on OFBiz? > > Regards, > > Vinay Agarwal > > > <entity entity-name="Education" > > package-name="org.ofbiz.grayzilla" > > title="Party Education Entity"> > > <field name="partyId" type="id-ne"></field> > > <field name="instituteId" type="id-ne"></ > field> > > <field name="degree" type="id-long"></field> > > <field name="studentId" type="id-long"></ > field> > > <field name="fromDate" type="date-time"></ > field> > > <field name="thruDate" type="date-time"></ > field> > > <prim-key field="partyId"/> > > <prim-key field="instituteId"/> > > <prim-key field="fromDate"/> > > <relation type="one" fk-name="EDU_PRTY" rel- > entity-name="Party"> > > <key-map field-name="partyId"/> > > </relation> > > <relation type="one" fk-name="EDU_INST" rel- > entity-name="Party"> > > <key-map field- > name="instituteId" rel-field-name="partyId"/> > > </relation> > > </entity> > > > <entity entity-name="Experience" > > package-name="org.ofbiz.grayzilla" > > title="Party Experience Entity"> > > <field name="partyId" type="id-ne"></field> > > <field name="companyId" type="id-ne"></field> > > <field name="titleLast" type="id-long"></ > field> > > <field name="description" type="id-vlong"></ > field> > > <field name="fromDate" type="date-time"></ > field> > > <field name="thruDate" type="date-time"></ > field> > > <prim-key field="partyId"/> > > <prim-key field="companyId"/> > > <prim-key field="fromDate"/> > > <relation type="one" fk-name="EXPER_PRTY" > rel-entity-name="Party"> > > <key-map field-name="partyId"/> > > </relation> > > <relation type="one" fk-name="EXPER_COMP" > rel-entity-name="Party"> > > <key-map field-name="companyId" > rel-field-name="partyId"/> > > </relation> > > </entity> > > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.ofbiz.org/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
In reply to this post by Vinay Agarwal
This seems to duplicate the PartyRelationship entity. I would recommend making
the educational institution a party (or party group), create roles for the institution and student, then link them together using PartyRelationship. You'll still need an entity or property to persist the degree. Vinay Agarwal wrote: > Hello, > > > > I need party education and work experience entities to build resume like > structure for a party. The entities that I came up for them are detailed > below. > > > > 1. Am doing it write? > 2. Is it worth putting them back on OFBiz? > > > > Regards, > > Vinay Agarwal > > > > <entity entity-name="Education" > > package-name="org.ofbiz.grayzilla" > > title="Party Education Entity"> > > <field name="partyId" type="id-ne"></field> > > <field name="instituteId" type="id-ne"></field> > > <field name="degree" type="id-long"></field> > > <field name="studentId" type="id-long"></field> > > <field name="fromDate" type="date-time"></field> > > <field name="thruDate" type="date-time"></field> > > <prim-key field="partyId"/> > > <prim-key field="instituteId"/> > > <prim-key field="fromDate"/> > > <relation type="one" fk-name="EDU_PRTY" > rel-entity-name="Party"> > > <key-map field-name="partyId"/> > > </relation> > > <relation type="one" fk-name="EDU_INST" > rel-entity-name="Party"> > > <key-map field-name="instituteId" > rel-field-name="partyId"/> > > </relation> > > </entity> > > > > <entity entity-name="Experience" > > package-name="org.ofbiz.grayzilla" > > title="Party Experience Entity"> > > <field name="partyId" type="id-ne"></field> > > <field name="companyId" type="id-ne"></field> > > <field name="titleLast" type="id-long"></field> > > <field name="description" type="id-vlong"></field> > > <field name="fromDate" type="date-time"></field> > > <field name="thruDate" type="date-time"></field> > > <prim-key field="partyId"/> > > <prim-key field="companyId"/> > > <prim-key field="fromDate"/> > > <relation type="one" fk-name="EXPER_PRTY" > rel-entity-name="Party"> > > <key-map field-name="partyId"/> > > </relation> > > <relation type="one" fk-name="EXPER_COMP" > rel-entity-name="Party"> > > <key-map field-name="companyId" > rel-field-name="partyId"/> > > </relation> > > </entity> > > > ------------------------------------------------------------------------ > > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.ofbiz.org/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
In reply to this post by Vinay Agarwal
Wouldn't this mean that every possible college, university, school of
higher learning, etc. would potentially need to be entered as an entity into the database just to model education? This sounds like a lot of work just to represent the fact that someone has a degree from somewhere! -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Adrian Crum Sent: Monday, February 20, 2006 11:00 AM To: OFBiz Users / Usage Discussion Subject: Re: [OFBiz] Users - Party Education and Work Experience Entities This seems to duplicate the PartyRelationship entity. I would recommend making the educational institution a party (or party group), create roles for the institution and student, then link them together using PartyRelationship. You'll still need an entity or property to persist the degree. Vinay Agarwal wrote: > Hello, > > > > I need party education and work experience entities to build resume like > structure for a party. The entities that I came up for them are detailed > below. > > > > 1. Am doing it write? > 2. Is it worth putting them back on OFBiz? > > > > Regards, > > Vinay Agarwal > > > > <entity entity-name="Education" > > package-name="org.ofbiz.grayzilla" > > title="Party Education Entity"> > > <field name="partyId" type="id-ne"></field> > > <field name="instituteId" > > <field name="degree" type="id-long"></field> > > <field name="studentId" type="id-long"></field> > > <field name="fromDate" type="date-time"></field> > > <field name="thruDate" type="date-time"></field> > > <prim-key field="partyId"/> > > <prim-key field="instituteId"/> > > <prim-key field="fromDate"/> > > <relation type="one" fk-name="EDU_PRTY" > rel-entity-name="Party"> > > <key-map field-name="partyId"/> > > </relation> > > <relation type="one" fk-name="EDU_INST" > rel-entity-name="Party"> > > <key-map field-name="instituteId" > rel-field-name="partyId"/> > > </relation> > > </entity> > > > > <entity entity-name="Experience" > > package-name="org.ofbiz.grayzilla" > > title="Party Experience Entity"> > > <field name="partyId" type="id-ne"></field> > > <field name="companyId" type="id-ne"></field> > > <field name="titleLast" > > <field name="description" type="id-vlong"></field> > > <field name="fromDate" type="date-time"></field> > > <field name="thruDate" type="date-time"></field> > > <prim-key field="partyId"/> > > <prim-key field="companyId"/> > > <prim-key field="fromDate"/> > > <relation type="one" fk-name="EXPER_PRTY" > rel-entity-name="Party"> > > <key-map field-name="partyId"/> > > </relation> > > <relation type="one" fk-name="EXPER_COMP" > rel-entity-name="Party"> > > <key-map field-name="companyId" > rel-field-name="partyId"/> > > </relation> > > </entity> > > > > > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.ofbiz.org/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
I agree with Jeffrey. There is no need to create Party and
PartyRelationship unless you are actively working with that Party. If an employee went to a certain high school at some point but that's that, and you don't have any other activities with that high school, why create a Party for it? Si Blessing, Jeffrey J wrote: >Wouldn't this mean that every possible college, university, school of >higher learning, etc. would potentially need to be entered as an entity >into the database just to model education? This sounds like a lot of >work just to represent the fact that someone has a degree from >somewhere! > >-----Original Message----- >From: [hidden email] >[mailto:[hidden email]] On Behalf Of Adrian Crum >Sent: Monday, February 20, 2006 11:00 AM >To: OFBiz Users / Usage Discussion >Subject: Re: [OFBiz] Users - Party Education and Work Experience >Entities > >This seems to duplicate the PartyRelationship entity. I would recommend >making >the educational institution a party (or party group), create roles for >the >institution and student, then link them together using >PartyRelationship. > >You'll still need an entity or property to persist the degree. > > >Vinay Agarwal wrote: > > >>Hello, >> >> >> >>I need party education and work experience entities to build resume >> >> >like > > >>structure for a party. The entities that I came up for them are >> >> >detailed > > >>below. >> >> >> >> 1. Am doing it write? >> 2. Is it worth putting them back on OFBiz? >> >> >> >>Regards, >> >>Vinay Agarwal >> >> >> >> <entity entity-name="Education" >> >> package-name="org.ofbiz.grayzilla" >> >> title="Party Education Entity"> >> >> <field name="partyId" type="id-ne"></field> >> >> <field name="instituteId" >> >> >type="id-ne"></field> > > >> <field name="degree" type="id-long"></field> >> >> <field name="studentId" >> >> >type="id-long"></field> > > >> <field name="fromDate" >> >> >type="date-time"></field> > > >> <field name="thruDate" >> >> >type="date-time"></field> > > >> <prim-key field="partyId"/> >> >> <prim-key field="instituteId"/> >> >> <prim-key field="fromDate"/> >> >> <relation type="one" fk-name="EDU_PRTY" >>rel-entity-name="Party"> >> >> <key-map field-name="partyId"/> >> >> </relation> >> >> <relation type="one" fk-name="EDU_INST" >>rel-entity-name="Party"> >> >> <key-map field-name="instituteId" >>rel-field-name="partyId"/> >> >> </relation> >> >> </entity> >> >> >> >> <entity entity-name="Experience" >> >> package-name="org.ofbiz.grayzilla" >> >> title="Party Experience Entity"> >> >> <field name="partyId" type="id-ne"></field> >> >> <field name="companyId" type="id-ne"></field> >> >> <field name="titleLast" >> >> >type="id-long"></field> > > >> <field name="description" >> >> >type="id-vlong"></field> > > >> <field name="fromDate" >> >> >type="date-time"></field> > > >> <field name="thruDate" >> >> >type="date-time"></field> > > >> <prim-key field="partyId"/> >> >> <prim-key field="companyId"/> >> >> <prim-key field="fromDate"/> >> >> <relation type="one" fk-name="EXPER_PRTY" >>rel-entity-name="Party"> >> >> <key-map field-name="partyId"/> >> >> </relation> >> >> <relation type="one" fk-name="EXPER_COMP" >>rel-entity-name="Party"> >> >> <key-map field-name="companyId" >>rel-field-name="partyId"/> >> >> </relation> >> >> </entity> >> >> >> >> >> >------------------------------------------------------------------------ > > >> >>_______________________________________________ >>Users mailing list >>[hidden email] >>http://lists.ofbiz.org/mailman/listinfo/users >> >> > >_______________________________________________ >Users mailing list >[hidden email] >http://lists.ofbiz.org/mailman/listinfo/users > >_______________________________________________ >Users mailing list >[hidden email] >http://lists.ofbiz.org/mailman/listinfo/users > > > _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
In reply to this post by Vinay Agarwal
Vinay,
I looked at your new entities. I think that we can accommodate your needs by expanding the number of PartyQualType to include "EXPERIENCE". Then a person's education history can be modeled using PartyQual of type "DEGREE" and work experience as PartyQual of type "EXPERIENCE". Perhaps a couple of other fields on PartyQual to include who/where/comments. Like in my last email, I don't think we necessarily need to define them as parties or with foreign-keys. Si Vinay Agarwal wrote: >The existing relevant entities defined in humanres application are as >follows: > >1. PartyQualType: There are two defined "CERTIFICATION" and "DEGREE". This >entity doesn't contain any other detail but does have "hasTable" field >implying possibly could be expanded (but I am not sure). > >2. PartyQual: Relates a Party entity to a PartyQualType entity with from and >thru dates. > >3. SkillType: While none is defined in demo data, I assume it is something >like "java programming" or "Microsoft office". > >4. PartySkills: Relates a Party to SkillType with fields like skillLevel, >yearsExperience, and rating. > >5. PartyResume: Seems to contain only string information. > >I originally thought PartyQualType would the correct entity but its >many-to-many relationship with Party made me believe that it has a different >purpose. > >That's why I thought creating those new entities made sense. Of course I am >not totally sure and, therefore, seeking advice in this matter. > >Regards, >Vinay Agarwal > >-----Original Message----- >From: [hidden email] [mailto:[hidden email]] >On Behalf Of David E. Jones >Sent: Saturday, February 18, 2006 2:39 PM >To: OFBiz Users / Usage Discussion >Subject: Re: [OFBiz] Users - Party Education and Work Experience Entities > > >Have you looked at the existing data model? I HIGHLY recommend this >before working on any new entities... It is necessary in order to not >only plan for and understand where new entities will fit in but also >to see if what you need already exists or is close to existing. > >Look in particular in the "humanres" (Human Resources) and >"workeffort" packages. > >-David > > >On Feb 18, 2006, at 2:28 PM, Vinay Agarwal wrote: > > > >>Hello, >> >> >>I need party education and work experience entities to build resume >>like structure for a party. The entities that I came up for them >>are detailed below. >> >> >>Am doing it write? >>Is it worth putting them back on OFBiz? >> >>Regards, >> >>Vinay Agarwal >> >> >> <entity entity-name="Education" >> >> package-name="org.ofbiz.grayzilla" >> >> title="Party Education Entity"> >> >> <field name="partyId" type="id-ne"></field> >> >> <field name="instituteId" type="id-ne"></ >>field> >> >> <field name="degree" type="id-long"></field> >> >> <field name="studentId" type="id-long"></ >>field> >> >> <field name="fromDate" type="date-time"></ >>field> >> >> <field name="thruDate" type="date-time"></ >>field> >> >> <prim-key field="partyId"/> >> >> <prim-key field="instituteId"/> >> >> <prim-key field="fromDate"/> >> >> <relation type="one" fk-name="EDU_PRTY" rel- >>entity-name="Party"> >> >> <key-map field-name="partyId"/> >> >> </relation> >> >> <relation type="one" fk-name="EDU_INST" rel- >>entity-name="Party"> >> >> <key-map field- >>name="instituteId" rel-field-name="partyId"/> >> >> </relation> >> >> </entity> >> >> >> <entity entity-name="Experience" >> >> package-name="org.ofbiz.grayzilla" >> >> title="Party Experience Entity"> >> >> <field name="partyId" type="id-ne"></field> >> >> <field name="companyId" type="id-ne"></field> >> >> <field name="titleLast" type="id-long"></ >>field> >> >> <field name="description" type="id-vlong"></ >>field> >> >> <field name="fromDate" type="date-time"></ >>field> >> >> <field name="thruDate" type="date-time"></ >>field> >> >> <prim-key field="partyId"/> >> >> <prim-key field="companyId"/> >> >> <prim-key field="fromDate"/> >> >> <relation type="one" fk-name="EXPER_PRTY" >>rel-entity-name="Party"> >> >> <key-map field-name="partyId"/> >> >> </relation> >> >> <relation type="one" fk-name="EXPER_COMP" >>rel-entity-name="Party"> >> >> <key-map field-name="companyId" >>rel-field-name="partyId"/> >> >> </relation> >> >> </entity> >> >> >>_______________________________________________ >>Users mailing list >>[hidden email] >>http://lists.ofbiz.org/mailman/listinfo/users >> >> > > >_______________________________________________ >Users mailing list >[hidden email] >http://lists.ofbiz.org/mailman/listinfo/users > > > _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
In reply to this post by Blessing, Jeffrey J
It would be useful, though, if your policy is to hire a lot of people
from a few, "certified" institutions and run reports on all employees from each institution. Perhaps it would be running an Army? Blessing, Jeffrey J wrote: >Wouldn't this mean that every possible college, university, school of >higher learning, etc. would potentially need to be entered as an entity >into the database just to model education? This sounds like a lot of >work just to represent the fact that someone has a degree from >somewhere! > >-----Original Message----- >From: [hidden email] >[mailto:[hidden email]] On Behalf Of Adrian Crum >Sent: Monday, February 20, 2006 11:00 AM >To: OFBiz Users / Usage Discussion >Subject: Re: [OFBiz] Users - Party Education and Work Experience >Entities > >This seems to duplicate the PartyRelationship entity. I would recommend >making >the educational institution a party (or party group), create roles for >the >institution and student, then link them together using >PartyRelationship. > >You'll still need an entity or property to persist the degree. > > >Vinay Agarwal wrote: > > >>Hello, >> >> >> >>I need party education and work experience entities to build resume >> >> >like > > >>structure for a party. The entities that I came up for them are >> >> >detailed > > >>below. >> >> >> >> 1. Am doing it write? >> 2. Is it worth putting them back on OFBiz? >> >> >> >>Regards, >> >>Vinay Agarwal >> >> >> >> <entity entity-name="Education" >> >> package-name="org.ofbiz.grayzilla" >> >> title="Party Education Entity"> >> >> <field name="partyId" type="id-ne"></field> >> >> <field name="instituteId" >> >> >type="id-ne"></field> > > >> <field name="degree" type="id-long"></field> >> >> <field name="studentId" >> >> >type="id-long"></field> > > >> <field name="fromDate" >> >> >type="date-time"></field> > > >> <field name="thruDate" >> >> >type="date-time"></field> > > >> <prim-key field="partyId"/> >> >> <prim-key field="instituteId"/> >> >> <prim-key field="fromDate"/> >> >> <relation type="one" fk-name="EDU_PRTY" >>rel-entity-name="Party"> >> >> <key-map field-name="partyId"/> >> >> </relation> >> >> <relation type="one" fk-name="EDU_INST" >>rel-entity-name="Party"> >> >> <key-map field-name="instituteId" >>rel-field-name="partyId"/> >> >> </relation> >> >> </entity> >> >> >> >> <entity entity-name="Experience" >> >> package-name="org.ofbiz.grayzilla" >> >> title="Party Experience Entity"> >> >> <field name="partyId" type="id-ne"></field> >> >> <field name="companyId" type="id-ne"></field> >> >> <field name="titleLast" >> >> >type="id-long"></field> > > >> <field name="description" >> >> >type="id-vlong"></field> > > >> <field name="fromDate" >> >> >type="date-time"></field> > > >> <field name="thruDate" >> >> >type="date-time"></field> > > >> <prim-key field="partyId"/> >> >> <prim-key field="companyId"/> >> >> <prim-key field="fromDate"/> >> >> <relation type="one" fk-name="EXPER_PRTY" >>rel-entity-name="Party"> >> >> <key-map field-name="partyId"/> >> >> </relation> >> >> <relation type="one" fk-name="EXPER_COMP" >>rel-entity-name="Party"> >> >> <key-map field-name="companyId" >>rel-field-name="partyId"/> >> >> </relation> >> >> </entity> >> >> >> >> >> >------------------------------------------------------------------------ > > >> >>_______________________________________________ >>Users mailing list >>[hidden email] >>http://lists.ofbiz.org/mailman/listinfo/users >> >> > >_______________________________________________ >Users mailing list >[hidden email] >http://lists.ofbiz.org/mailman/listinfo/users > >_______________________________________________ >Users mailing list >[hidden email] >http://lists.ofbiz.org/mailman/listinfo/users > > > _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
In reply to this post by Si Chen-2
Vinay's suggestion includes an "instituteId" field - which I assume points to
information about an educational institution. That is no different than making the institution a party, so why introduce an unnecessary entity? If Vinay's "instituteId" can be accomodated by the Party entity, then why make a custom entity to tie the two together? Just use PartyRelationship. It looks to me like the amount of data stored in Vinay's suggestion is no different than the one I suggested. Si Chen wrote: > I agree with Jeffrey. There is no need to create Party and > PartyRelationship unless you are actively working with that Party. If > an employee went to a certain high school at some point but that's that, > and you don't have any other activities with that high school, why > create a Party for it? > > Si > > Blessing, Jeffrey J wrote: > > >>Wouldn't this mean that every possible college, university, school of >>higher learning, etc. would potentially need to be entered as an entity >>into the database just to model education? This sounds like a lot of >>work just to represent the fact that someone has a degree from >>somewhere! >> >>-----Original Message----- >>From: [hidden email] >>[mailto:[hidden email]] On Behalf Of Adrian Crum >>Sent: Monday, February 20, 2006 11:00 AM >>To: OFBiz Users / Usage Discussion >>Subject: Re: [OFBiz] Users - Party Education and Work Experience >>Entities >> >>This seems to duplicate the PartyRelationship entity. I would recommend >>making >>the educational institution a party (or party group), create roles for >>the >>institution and student, then link them together using >>PartyRelationship. >> >>You'll still need an entity or property to persist the degree. >> >> >>Vinay Agarwal wrote: >> >> >> >>>Hello, >>> >>> >>> >>>I need party education and work experience entities to build resume >>> >>> >> >>like >> >> >> >>>structure for a party. The entities that I came up for them are >>> >>> >> >>detailed >> >> >> >>>below. >>> >>> >>> >>> 1. Am doing it write? >>> 2. Is it worth putting them back on OFBiz? >>> >>> >>> >>>Regards, >>> >>>Vinay Agarwal >>> >>> >>> >>> <entity entity-name="Education" >>> >>> package-name="org.ofbiz.grayzilla" >>> >>> title="Party Education Entity"> >>> >>> <field name="partyId" type="id-ne"></field> >>> >>> <field name="instituteId" >>> >>> >> >>type="id-ne"></field> >> >> >> >>> <field name="degree" type="id-long"></field> >>> >>> <field name="studentId" >>> >>> >> >>type="id-long"></field> >> >> >> >>> <field name="fromDate" >>> >>> >> >>type="date-time"></field> >> >> >> >>> <field name="thruDate" >>> >>> >> >>type="date-time"></field> >> >> >> >>> <prim-key field="partyId"/> >>> >>> <prim-key field="instituteId"/> >>> >>> <prim-key field="fromDate"/> >>> >>> <relation type="one" fk-name="EDU_PRTY" >>>rel-entity-name="Party"> >>> >>> <key-map field-name="partyId"/> >>> >>> </relation> >>> >>> <relation type="one" fk-name="EDU_INST" >>>rel-entity-name="Party"> >>> >>> <key-map field-name="instituteId" >>>rel-field-name="partyId"/> >>> >>> </relation> >>> >>> </entity> >>> >>> >>> >>> <entity entity-name="Experience" >>> >>> package-name="org.ofbiz.grayzilla" >>> >>> title="Party Experience Entity"> >>> >>> <field name="partyId" type="id-ne"></field> >>> >>> <field name="companyId" type="id-ne"></field> >>> >>> <field name="titleLast" >>> >>> >> >>type="id-long"></field> >> >> >> >>> <field name="description" >>> >>> >> >>type="id-vlong"></field> >> >> >> >>> <field name="fromDate" >>> >>> >> >>type="date-time"></field> >> >> >> >>> <field name="thruDate" >>> >>> >> >>type="date-time"></field> >> >> >> >>> <prim-key field="partyId"/> >>> >>> <prim-key field="companyId"/> >>> >>> <prim-key field="fromDate"/> >>> >>> <relation type="one" fk-name="EXPER_PRTY" >>>rel-entity-name="Party"> >>> >>> <key-map field-name="partyId"/> >>> >>> </relation> >>> >>> <relation type="one" fk-name="EXPER_COMP" >>>rel-entity-name="Party"> >>> >>> <key-map field-name="companyId" >>>rel-field-name="partyId"/> >>> >>> </relation> >>> >>> </entity> >>> >>> >>> >>> >>> >> >>------------------------------------------------------------------------ >> >> >> >>>_______________________________________________ >>>Users mailing list >>>[hidden email] >>>http://lists.ofbiz.org/mailman/listinfo/users >>> >>> >> >>_______________________________________________ >>Users mailing list >>[hidden email] >>http://lists.ofbiz.org/mailman/listinfo/users >> >>_______________________________________________ >>Users mailing list >>[hidden email] >>http://lists.ofbiz.org/mailman/listinfo/users >> >> >> > > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.ofbiz.org/mailman/listinfo/users > _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
Yes, Adrian, you are right. I was just agreeing with Jeffrey that maybe
we don't need to track these institutions as parties. Now looking at it further, though, it seems that Vinay has pointed out a lot of fields which do not belong in other PartyRelationships, even if the institution were a Party. You can add all those fields to PartyRelationship to be used only for education history, but my personal preference is to keep stuff where they are intuitive. Si Adrian Crum wrote: >Vinay's suggestion includes an "instituteId" field - which I assume points to >information about an educational institution. That is no different than making >the institution a party, so why introduce an unnecessary entity? If Vinay's >"instituteId" can be accomodated by the Party entity, then why make a custom >entity to tie the two together? Just use PartyRelationship. > >It looks to me like the amount of data stored in Vinay's suggestion is no >different than the one I suggested. > > >Si Chen wrote: > > > >>I agree with Jeffrey. There is no need to create Party and >>PartyRelationship unless you are actively working with that Party. If >>an employee went to a certain high school at some point but that's that, >>and you don't have any other activities with that high school, why >>create a Party for it? >> >>Si >> >>Blessing, Jeffrey J wrote: >> >> >> >> >>>Wouldn't this mean that every possible college, university, school of >>>higher learning, etc. would potentially need to be entered as an entity >>>into the database just to model education? This sounds like a lot of >>>work just to represent the fact that someone has a degree from >>>somewhere! >>> >>>-----Original Message----- >>>From: [hidden email] >>>[mailto:[hidden email]] On Behalf Of Adrian Crum >>>Sent: Monday, February 20, 2006 11:00 AM >>>To: OFBiz Users / Usage Discussion >>>Subject: Re: [OFBiz] Users - Party Education and Work Experience >>>Entities >>> >>>This seems to duplicate the PartyRelationship entity. I would recommend >>>making >>>the educational institution a party (or party group), create roles for >>>the >>>institution and student, then link them together using >>>PartyRelationship. >>> >>>You'll still need an entity or property to persist the degree. >>> >>> >>>Vinay Agarwal wrote: >>> >>> >>> >>> >>> >>>>Hello, >>>> >>>> >>>> >>>>I need party education and work experience entities to build resume >>>> >>>> >>>> >>>> >>>like >>> >>> >>> >>> >>> >>>>structure for a party. The entities that I came up for them are >>>> >>>> >>>> >>>> >>>detailed >>> >>> >>> >>> >>> >>>>below. >>>> >>>> >>>> >>>> 1. Am doing it write? >>>> 2. Is it worth putting them back on OFBiz? >>>> >>>> >>>> >>>>Regards, >>>> >>>>Vinay Agarwal >>>> >>>> >>>> >>>> <entity entity-name="Education" >>>> >>>> package-name="org.ofbiz.grayzilla" >>>> >>>> title="Party Education Entity"> >>>> >>>> <field name="partyId" type="id-ne"></field> >>>> >>>> <field name="instituteId" >>>> >>>> >>>> >>>> >>>type="id-ne"></field> >>> >>> >>> >>> >>> >>>> <field name="degree" type="id-long"></field> >>>> >>>> <field name="studentId" >>>> >>>> >>>> >>>> >>>type="id-long"></field> >>> >>> >>> >>> >>> >>>> <field name="fromDate" >>>> >>>> >>>> >>>> >>>type="date-time"></field> >>> >>> >>> >>> >>> >>>> <field name="thruDate" >>>> >>>> >>>> >>>> >>>type="date-time"></field> >>> >>> >>> >>> >>> >>>> <prim-key field="partyId"/> >>>> >>>> <prim-key field="instituteId"/> >>>> >>>> <prim-key field="fromDate"/> >>>> >>>> <relation type="one" fk-name="EDU_PRTY" >>>>rel-entity-name="Party"> >>>> >>>> <key-map field-name="partyId"/> >>>> >>>> </relation> >>>> >>>> <relation type="one" fk-name="EDU_INST" >>>>rel-entity-name="Party"> >>>> >>>> <key-map field-name="instituteId" >>>>rel-field-name="partyId"/> >>>> >>>> </relation> >>>> >>>> </entity> >>>> >>>> >>>> >>>> <entity entity-name="Experience" >>>> >>>> package-name="org.ofbiz.grayzilla" >>>> >>>> title="Party Experience Entity"> >>>> >>>> <field name="partyId" type="id-ne"></field> >>>> >>>> <field name="companyId" type="id-ne"></field> >>>> >>>> <field name="titleLast" >>>> >>>> >>>> >>>> >>>type="id-long"></field> >>> >>> >>> >>> >>> >>>> <field name="description" >>>> >>>> >>>> >>>> >>>type="id-vlong"></field> >>> >>> >>> >>> >>> >>>> <field name="fromDate" >>>> >>>> >>>> >>>> >>>type="date-time"></field> >>> >>> >>> >>> >>> >>>> <field name="thruDate" >>>> >>>> >>>> >>>> >>>type="date-time"></field> >>> >>> >>> >>> >>> >>>> <prim-key field="partyId"/> >>>> >>>> <prim-key field="companyId"/> >>>> >>>> <prim-key field="fromDate"/> >>>> >>>> <relation type="one" fk-name="EXPER_PRTY" >>>>rel-entity-name="Party"> >>>> >>>> <key-map field-name="partyId"/> >>>> >>>> </relation> >>>> >>>> <relation type="one" fk-name="EXPER_COMP" >>>>rel-entity-name="Party"> >>>> >>>> <key-map field-name="companyId" >>>>rel-field-name="partyId"/> >>>> >>>> </relation> >>>> >>>> </entity> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>------------------------------------------------------------------------ >>> >>> >>> >>> >>> >>>>_______________________________________________ >>>>Users mailing list >>>>[hidden email] >>>>http://lists.ofbiz.org/mailman/listinfo/users >>>> >>>> >>>> >>>> >>>_______________________________________________ >>>Users mailing list >>>[hidden email] >>>http://lists.ofbiz.org/mailman/listinfo/users >>> >>>_______________________________________________ >>>Users mailing list >>>[hidden email] >>>http://lists.ofbiz.org/mailman/listinfo/users >>> >>> >>> >>> >>> >> >>_______________________________________________ >>Users mailing list >>[hidden email] >>http://lists.ofbiz.org/mailman/listinfo/users >> >> >> > >_______________________________________________ >Users mailing list >[hidden email] >http://lists.ofbiz.org/mailman/listinfo/users > > > _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
I wouldn't add fields to PartyRelationship - I would add properties to the
parties via the "extensibility pattern." I firmly believe the existing data model will support Vinay's requirements. Si Chen wrote: > Yes, Adrian, you are right. I was just agreeing with Jeffrey that maybe > we don't need to track these institutions as parties. Now looking at it > further, though, it seems that Vinay has pointed out a lot of fields > which do not belong in other PartyRelationships, even if the institution > were a Party. You can add all those fields to PartyRelationship to be > used only for education history, but my personal preference is to keep > stuff where they are intuitive. > > Si > > Adrian Crum wrote: > > >>Vinay's suggestion includes an "instituteId" field - which I assume points to >>information about an educational institution. That is no different than making >>the institution a party, so why introduce an unnecessary entity? If Vinay's >>"instituteId" can be accomodated by the Party entity, then why make a custom >>entity to tie the two together? Just use PartyRelationship. >> >>It looks to me like the amount of data stored in Vinay's suggestion is no >>different than the one I suggested. >> >> >>Si Chen wrote: >> >> >> >> >>>I agree with Jeffrey. There is no need to create Party and >>>PartyRelationship unless you are actively working with that Party. If >>>an employee went to a certain high school at some point but that's that, >>>and you don't have any other activities with that high school, why >>>create a Party for it? >>> >>>Si >>> >>>Blessing, Jeffrey J wrote: >>> >>> >>> >>> >>> >>>>Wouldn't this mean that every possible college, university, school of >>>>higher learning, etc. would potentially need to be entered as an entity >>>>into the database just to model education? This sounds like a lot of >>>>work just to represent the fact that someone has a degree from >>>>somewhere! >>>> >>>>-----Original Message----- >>>>From: [hidden email] >>>>[mailto:[hidden email]] On Behalf Of Adrian Crum >>>>Sent: Monday, February 20, 2006 11:00 AM >>>>To: OFBiz Users / Usage Discussion >>>>Subject: Re: [OFBiz] Users - Party Education and Work Experience >>>>Entities >>>> >>>>This seems to duplicate the PartyRelationship entity. I would recommend >>>>making >>>>the educational institution a party (or party group), create roles for >>>>the >>>>institution and student, then link them together using >>>>PartyRelationship. >>>> >>>>You'll still need an entity or property to persist the degree. >>>> >>>> >>>>Vinay Agarwal wrote: >>>> >>>> >>>> >>>> >>>> >>>> >>>>>Hello, >>>>> >>>>> >>>>> >>>>>I need party education and work experience entities to build resume >>>>> >>>>> >>>>> >>>>> >>>> >>>>like >>>> >>>> >>>> >>>> >>>> >>>> >>>>>structure for a party. The entities that I came up for them are >>>>> >>>>> >>>>> >>>>> >>>> >>>>detailed >>>> >>>> >>>> >>>> >>>> >>>> >>>>>below. >>>>> >>>>> >>>>> >>>>>1. Am doing it write? >>>>>2. Is it worth putting them back on OFBiz? >>>>> >>>>> >>>>> >>>>>Regards, >>>>> >>>>>Vinay Agarwal >>>>> >>>>> >>>>> >>>>> <entity entity-name="Education" >>>>> >>>>> package-name="org.ofbiz.grayzilla" >>>>> >>>>> title="Party Education Entity"> >>>>> >>>>> <field name="partyId" type="id-ne"></field> >>>>> >>>>> <field name="instituteId" >>>>> >>>>> >>>>> >>>>> >>>> >>>>type="id-ne"></field> >>>> >>>> >>>> >>>> >>>> >>>> >>>>> <field name="degree" type="id-long"></field> >>>>> >>>>> <field name="studentId" >>>>> >>>>> >>>>> >>>>> >>>> >>>>type="id-long"></field> >>>> >>>> >>>> >>>> >>>> >>>> >>>>> <field name="fromDate" >>>>> >>>>> >>>>> >>>>> >>>> >>>>type="date-time"></field> >>>> >>>> >>>> >>>> >>>> >>>> >>>>> <field name="thruDate" >>>>> >>>>> >>>>> >>>>> >>>> >>>>type="date-time"></field> >>>> >>>> >>>> >>>> >>>> >>>> >>>>> <prim-key field="partyId"/> >>>>> >>>>> <prim-key field="instituteId"/> >>>>> >>>>> <prim-key field="fromDate"/> >>>>> >>>>> <relation type="one" fk-name="EDU_PRTY" >>>>>rel-entity-name="Party"> >>>>> >>>>> <key-map field-name="partyId"/> >>>>> >>>>> </relation> >>>>> >>>>> <relation type="one" fk-name="EDU_INST" >>>>>rel-entity-name="Party"> >>>>> >>>>> <key-map field-name="instituteId" >>>>>rel-field-name="partyId"/> >>>>> >>>>> </relation> >>>>> >>>>> </entity> >>>>> >>>>> >>>>> >>>>> <entity entity-name="Experience" >>>>> >>>>> package-name="org.ofbiz.grayzilla" >>>>> >>>>> title="Party Experience Entity"> >>>>> >>>>> <field name="partyId" type="id-ne"></field> >>>>> >>>>> <field name="companyId" type="id-ne"></field> >>>>> >>>>> <field name="titleLast" >>>>> >>>>> >>>>> >>>>> >>>> >>>>type="id-long"></field> >>>> >>>> >>>> >>>> >>>> >>>> >>>>> <field name="description" >>>>> >>>>> >>>>> >>>>> >>>> >>>>type="id-vlong"></field> >>>> >>>> >>>> >>>> >>>> >>>> >>>>> <field name="fromDate" >>>>> >>>>> >>>>> >>>>> >>>> >>>>type="date-time"></field> >>>> >>>> >>>> >>>> >>>> >>>> >>>>> <field name="thruDate" >>>>> >>>>> >>>>> >>>>> >>>> >>>>type="date-time"></field> >>>> >>>> >>>> >>>> >>>> >>>> >>>>> <prim-key field="partyId"/> >>>>> >>>>> <prim-key field="companyId"/> >>>>> >>>>> <prim-key field="fromDate"/> >>>>> >>>>> <relation type="one" fk-name="EXPER_PRTY" >>>>>rel-entity-name="Party"> >>>>> >>>>> <key-map field-name="partyId"/> >>>>> >>>>> </relation> >>>>> >>>>> <relation type="one" fk-name="EXPER_COMP" >>>>>rel-entity-name="Party"> >>>>> >>>>> <key-map field-name="companyId" >>>>>rel-field-name="partyId"/> >>>>> >>>>> </relation> >>>>> >>>>> </entity> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>>------------------------------------------------------------------------ >>>> >>>> >>>> >>>> >>>> >>>> >>>>>_______________________________________________ >>>>>Users mailing list >>>>>[hidden email] >>>>>http://lists.ofbiz.org/mailman/listinfo/users >>>>> >>>>> >>>>> >>>>> >>>> >>>>_______________________________________________ >>>>Users mailing list >>>>[hidden email] >>>>http://lists.ofbiz.org/mailman/listinfo/users >>>> >>>>_______________________________________________ >>>>Users mailing list >>>>[hidden email] >>>>http://lists.ofbiz.org/mailman/listinfo/users >>>> >>>> >>>> >>>> >>>> >>> >>>_______________________________________________ >>>Users mailing list >>>[hidden email] >>>http://lists.ofbiz.org/mailman/listinfo/users >>> >>> >>> >> >>_______________________________________________ >>Users mailing list >>[hidden email] >>http://lists.ofbiz.org/mailman/listinfo/users >> >> >> > > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.ofbiz.org/mailman/listinfo/users > _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
Can you give an example of your "extensibility pattern"?
Adrian Crum wrote: >I wouldn't add fields to PartyRelationship - I would add properties to the >parties via the "extensibility pattern." I firmly believe the existing data >model will support Vinay's requirements. > >Si Chen wrote: > > > >>Yes, Adrian, you are right. I was just agreeing with Jeffrey that maybe >>we don't need to track these institutions as parties. Now looking at it >>further, though, it seems that Vinay has pointed out a lot of fields >>which do not belong in other PartyRelationships, even if the institution >>were a Party. You can add all those fields to PartyRelationship to be >>used only for education history, but my personal preference is to keep >>stuff where they are intuitive. >> >>Si >> >>Adrian Crum wrote: >> >> >> >> >>>Vinay's suggestion includes an "instituteId" field - which I assume points to >>>information about an educational institution. That is no different than making >>>the institution a party, so why introduce an unnecessary entity? If Vinay's >>>"instituteId" can be accomodated by the Party entity, then why make a custom >>>entity to tie the two together? Just use PartyRelationship. >>> >>>It looks to me like the amount of data stored in Vinay's suggestion is no >>>different than the one I suggested. >>> >>> >>>Si Chen wrote: >>> >>> >>> >>> >>> >>> >>>>I agree with Jeffrey. There is no need to create Party and >>>>PartyRelationship unless you are actively working with that Party. If >>>>an employee went to a certain high school at some point but that's that, >>>>and you don't have any other activities with that high school, why >>>>create a Party for it? >>>> >>>>Si >>>> >>>>Blessing, Jeffrey J wrote: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>Wouldn't this mean that every possible college, university, school of >>>>>higher learning, etc. would potentially need to be entered as an entity >>>>>into the database just to model education? This sounds like a lot of >>>>>work just to represent the fact that someone has a degree from >>>>>somewhere! >>>>> >>>>>-----Original Message----- >>>>>From: [hidden email] >>>>>[mailto:[hidden email]] On Behalf Of Adrian Crum >>>>>Sent: Monday, February 20, 2006 11:00 AM >>>>>To: OFBiz Users / Usage Discussion >>>>>Subject: Re: [OFBiz] Users - Party Education and Work Experience >>>>>Entities >>>>> >>>>>This seems to duplicate the PartyRelationship entity. I would recommend >>>>>making >>>>>the educational institution a party (or party group), create roles for >>>>>the >>>>>institution and student, then link them together using >>>>>PartyRelationship. >>>>> >>>>>You'll still need an entity or property to persist the degree. >>>>> >>>>> >>>>>Vinay Agarwal wrote: >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>>Hello, >>>>>> >>>>>> >>>>>> >>>>>>I need party education and work experience entities to build resume >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>like >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>>structure for a party. The entities that I came up for them are >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>detailed >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>>below. >>>>>> >>>>>> >>>>>> >>>>>>1. Am doing it write? >>>>>>2. Is it worth putting them back on OFBiz? >>>>>> >>>>>> >>>>>> >>>>>>Regards, >>>>>> >>>>>>Vinay Agarwal >>>>>> >>>>>> >>>>>> >>>>>><entity entity-name="Education" >>>>>> >>>>>> package-name="org.ofbiz.grayzilla" >>>>>> >>>>>> title="Party Education Entity"> >>>>>> >>>>>> <field name="partyId" type="id-ne"></field> >>>>>> >>>>>> <field name="instituteId" >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>type="id-ne"></field> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> <field name="degree" type="id-long"></field> >>>>>> >>>>>> <field name="studentId" >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>type="id-long"></field> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> <field name="fromDate" >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>type="date-time"></field> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> <field name="thruDate" >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>type="date-time"></field> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> <prim-key field="partyId"/> >>>>>> >>>>>> <prim-key field="instituteId"/> >>>>>> >>>>>> <prim-key field="fromDate"/> >>>>>> >>>>>> <relation type="one" fk-name="EDU_PRTY" >>>>>>rel-entity-name="Party"> >>>>>> >>>>>> <key-map field-name="partyId"/> >>>>>> >>>>>> </relation> >>>>>> >>>>>> <relation type="one" fk-name="EDU_INST" >>>>>>rel-entity-name="Party"> >>>>>> >>>>>> <key-map field-name="instituteId" >>>>>>rel-field-name="partyId"/> >>>>>> >>>>>> </relation> >>>>>> >>>>>></entity> >>>>>> >>>>>> >>>>>> >>>>>><entity entity-name="Experience" >>>>>> >>>>>> package-name="org.ofbiz.grayzilla" >>>>>> >>>>>> title="Party Experience Entity"> >>>>>> >>>>>> <field name="partyId" type="id-ne"></field> >>>>>> >>>>>> <field name="companyId" type="id-ne"></field> >>>>>> >>>>>> <field name="titleLast" >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>type="id-long"></field> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> <field name="description" >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>type="id-vlong"></field> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> <field name="fromDate" >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>type="date-time"></field> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> <field name="thruDate" >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>type="date-time"></field> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> <prim-key field="partyId"/> >>>>>> >>>>>> <prim-key field="companyId"/> >>>>>> >>>>>> <prim-key field="fromDate"/> >>>>>> >>>>>> <relation type="one" fk-name="EXPER_PRTY" >>>>>>rel-entity-name="Party"> >>>>>> >>>>>> <key-map field-name="partyId"/> >>>>>> >>>>>> </relation> >>>>>> >>>>>> <relation type="one" fk-name="EXPER_COMP" >>>>>>rel-entity-name="Party"> >>>>>> >>>>>> <key-map field-name="companyId" >>>>>>rel-field-name="partyId"/> >>>>>> >>>>>> </relation> >>>>>> >>>>>></entity> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>------------------------------------------------------------------------ >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>>_______________________________________________ >>>>>>Users mailing list >>>>>>[hidden email] >>>>>>http://lists.ofbiz.org/mailman/listinfo/users >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>_______________________________________________ >>>>>Users mailing list >>>>>[hidden email] >>>>>http://lists.ofbiz.org/mailman/listinfo/users >>>>> >>>>>_______________________________________________ >>>>>Users mailing list >>>>>[hidden email] >>>>>http://lists.ofbiz.org/mailman/listinfo/users >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>_______________________________________________ >>>>Users mailing list >>>>[hidden email] >>>>http://lists.ofbiz.org/mailman/listinfo/users >>>> >>>> >>>> >>>> >>>> >>>_______________________________________________ >>>Users mailing list >>>[hidden email] >>>http://lists.ofbiz.org/mailman/listinfo/users >>> >>> >>> >>> >>> >> >>_______________________________________________ >>Users mailing list >>[hidden email] >>http://lists.ofbiz.org/mailman/listinfo/users >> >> >> > >_______________________________________________ >Users mailing list >[hidden email] >http://lists.ofbiz.org/mailman/listinfo/users > > > _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
http://www.ofbiz.org/entity-overview.html#Extensibility%20Pattern
Si Chen wrote: > Can you give an example of your "extensibility pattern"? > > Adrian Crum wrote: > > >>I wouldn't add fields to PartyRelationship - I would add properties to the >>parties via the "extensibility pattern." I firmly believe the existing data >>model will support Vinay's requirements. >> >>Si Chen wrote: >> >> >> >> >>>Yes, Adrian, you are right. I was just agreeing with Jeffrey that maybe >>>we don't need to track these institutions as parties. Now looking at it >>>further, though, it seems that Vinay has pointed out a lot of fields >>>which do not belong in other PartyRelationships, even if the institution >>>were a Party. You can add all those fields to PartyRelationship to be >>>used only for education history, but my personal preference is to keep >>>stuff where they are intuitive. >>> >>>Si >>> >>>Adrian Crum wrote: >>> >>> >>> >>> >>> >>>>Vinay's suggestion includes an "instituteId" field - which I assume points to >>>>information about an educational institution. That is no different than making >>>>the institution a party, so why introduce an unnecessary entity? If Vinay's >>>>"instituteId" can be accomodated by the Party entity, then why make a custom >>>>entity to tie the two together? Just use PartyRelationship. >>>> >>>>It looks to me like the amount of data stored in Vinay's suggestion is no >>>>different than the one I suggested. >>>> >>>> >>>>Si Chen wrote: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>I agree with Jeffrey. There is no need to create Party and >>>>>PartyRelationship unless you are actively working with that Party. If >>>>>an employee went to a certain high school at some point but that's that, >>>>>and you don't have any other activities with that high school, why >>>>>create a Party for it? >>>>> >>>>>Si >>>>> >>>>>Blessing, Jeffrey J wrote: >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>>Wouldn't this mean that every possible college, university, school of >>>>>>higher learning, etc. would potentially need to be entered as an entity >>>>>>into the database just to model education? This sounds like a lot of >>>>>>work just to represent the fact that someone has a degree from >>>>>>somewhere! >>>>>> >>>>>>-----Original Message----- >>>>>>From: [hidden email] >>>>>>[mailto:[hidden email]] On Behalf Of Adrian Crum >>>>>>Sent: Monday, February 20, 2006 11:00 AM >>>>>>To: OFBiz Users / Usage Discussion >>>>>>Subject: Re: [OFBiz] Users - Party Education and Work Experience >>>>>>Entities >>>>>> >>>>>>This seems to duplicate the PartyRelationship entity. I would recommend >>>>>>making >>>>>>the educational institution a party (or party group), create roles for >>>>>>the >>>>>>institution and student, then link them together using >>>>>>PartyRelationship. >>>>>> >>>>>>You'll still need an entity or property to persist the degree. >>>>>> >>>>>> >>>>>>Vinay Agarwal wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>Hello, >>>>>>> >>>>>>> >>>>>>> >>>>>>>I need party education and work experience entities to build resume >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>like >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>structure for a party. The entities that I came up for them are >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>detailed >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>below. >>>>>>> >>>>>>> >>>>>>> >>>>>>>1. Am doing it write? >>>>>>>2. Is it worth putting them back on OFBiz? >>>>>>> >>>>>>> >>>>>>> >>>>>>>Regards, >>>>>>> >>>>>>>Vinay Agarwal >>>>>>> >>>>>>> >>>>>>> >>>>>>><entity entity-name="Education" >>>>>>> >>>>>>> package-name="org.ofbiz.grayzilla" >>>>>>> >>>>>>> title="Party Education Entity"> >>>>>>> >>>>>>> <field name="partyId" type="id-ne"></field> >>>>>>> >>>>>>> <field name="instituteId" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>type="id-ne"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="degree" type="id-long"></field> >>>>>>> >>>>>>> <field name="studentId" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>type="id-long"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="fromDate" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>type="date-time"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="thruDate" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>type="date-time"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <prim-key field="partyId"/> >>>>>>> >>>>>>> <prim-key field="instituteId"/> >>>>>>> >>>>>>> <prim-key field="fromDate"/> >>>>>>> >>>>>>> <relation type="one" fk-name="EDU_PRTY" >>>>>>>rel-entity-name="Party"> >>>>>>> >>>>>>> <key-map field-name="partyId"/> >>>>>>> >>>>>>> </relation> >>>>>>> >>>>>>> <relation type="one" fk-name="EDU_INST" >>>>>>>rel-entity-name="Party"> >>>>>>> >>>>>>> <key-map field-name="instituteId" >>>>>>>rel-field-name="partyId"/> >>>>>>> >>>>>>> </relation> >>>>>>> >>>>>>></entity> >>>>>>> >>>>>>> >>>>>>> >>>>>>><entity entity-name="Experience" >>>>>>> >>>>>>> package-name="org.ofbiz.grayzilla" >>>>>>> >>>>>>> title="Party Experience Entity"> >>>>>>> >>>>>>> <field name="partyId" type="id-ne"></field> >>>>>>> >>>>>>> <field name="companyId" type="id-ne"></field> >>>>>>> >>>>>>> <field name="titleLast" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>type="id-long"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="description" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>type="id-vlong"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="fromDate" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>type="date-time"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="thruDate" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>type="date-time"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <prim-key field="partyId"/> >>>>>>> >>>>>>> <prim-key field="companyId"/> >>>>>>> >>>>>>> <prim-key field="fromDate"/> >>>>>>> >>>>>>> <relation type="one" fk-name="EXPER_PRTY" >>>>>>>rel-entity-name="Party"> >>>>>>> >>>>>>> <key-map field-name="partyId"/> >>>>>>> >>>>>>> </relation> >>>>>>> >>>>>>> <relation type="one" fk-name="EXPER_COMP" >>>>>>>rel-entity-name="Party"> >>>>>>> >>>>>>> <key-map field-name="companyId" >>>>>>>rel-field-name="partyId"/> >>>>>>> >>>>>>> </relation> >>>>>>> >>>>>>></entity> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>------------------------------------------------------------------------ >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>_______________________________________________ >>>>>>>Users mailing list >>>>>>>[hidden email] >>>>>>>http://lists.ofbiz.org/mailman/listinfo/users >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>>_______________________________________________ >>>>>>Users mailing list >>>>>>[hidden email] >>>>>>http://lists.ofbiz.org/mailman/listinfo/users >>>>>> >>>>>>_______________________________________________ >>>>>>Users mailing list >>>>>>[hidden email] >>>>>>http://lists.ofbiz.org/mailman/listinfo/users >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>>_______________________________________________ >>>>>Users mailing list >>>>>[hidden email] >>>>>http://lists.ofbiz.org/mailman/listinfo/users >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>>_______________________________________________ >>>>Users mailing list >>>>[hidden email] >>>>http://lists.ofbiz.org/mailman/listinfo/users >>>> >>>> >>>> >>>> >>>> >>> >>>_______________________________________________ >>>Users mailing list >>>[hidden email] >>>http://lists.ofbiz.org/mailman/listinfo/users >>> >>> >>> >> >>_______________________________________________ >>Users mailing list >>[hidden email] >>http://lists.ofbiz.org/mailman/listinfo/users >> >> >> > > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.ofbiz.org/mailman/listinfo/users > _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
In reply to this post by Si Chen-2
The extensibility pattern is documented in the OFBiz documentation, namely in a document on the Docs & Books page of the ofbiz.org web site. In general this is ONLY meant to be used when you DO NOT know what the fields will be in advance or when they vary too much for a more static field to work. It is really not meant to be used in this sort of circumstance where it is possible to define the structure and meaning of every field in advance. -David On Feb 20, 2006, at 3:17 PM, Si Chen wrote: > Can you give an example of your "extensibility pattern"? > > Adrian Crum wrote: > >> I wouldn't add fields to PartyRelationship - I would add >> properties to the >> parties via the "extensibility pattern." I firmly believe the >> existing data >> model will support Vinay's requirements. >> >> Si Chen wrote: >> >> >> >>> Yes, Adrian, you are right. I was just agreeing with Jeffrey >>> that maybe >>> we don't need to track these institutions as parties. Now >>> looking at it >>> further, though, it seems that Vinay has pointed out a lot of fields >>> which do not belong in other PartyRelationships, even if the >>> institution >>> were a Party. You can add all those fields to PartyRelationship >>> to be >>> used only for education history, but my personal preference is to >>> keep >>> stuff where they are intuitive. >>> >>> Si >>> >>> Adrian Crum wrote: >>> >>> >>> >>> >>>> Vinay's suggestion includes an "instituteId" field - which I >>>> assume points to >>>> information about an educational institution. That is no >>>> different than making >>>> the institution a party, so why introduce an unnecessary entity? >>>> If Vinay's >>>> "instituteId" can be accomodated by the Party entity, then why >>>> make a custom >>>> entity to tie the two together? Just use PartyRelationship. >>>> >>>> It looks to me like the amount of data stored in Vinay's >>>> suggestion is no >>>> different than the one I suggested. >>>> >>>> >>>> Si Chen wrote: >>>> >>>> >>>> >>>> >>>> >>>> >>>>> I agree with Jeffrey. There is no need to create Party and >>>>> PartyRelationship unless you are actively working with that >>>>> Party. If >>>>> an employee went to a certain high school at some point but >>>>> that's that, >>>>> and you don't have any other activities with that high school, why >>>>> create a Party for it? >>>>> >>>>> Si >>>>> >>>>> Blessing, Jeffrey J wrote: >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> Wouldn't this mean that every possible college, university, >>>>>> school of >>>>>> higher learning, etc. would potentially need to be entered as >>>>>> an entity >>>>>> into the database just to model education? This sounds like a >>>>>> lot of >>>>>> work just to represent the fact that someone has a degree from >>>>>> somewhere! >>>>>> >>>>>> -----Original Message----- >>>>>> From: [hidden email] >>>>>> [mailto:[hidden email]] On Behalf Of Adrian Crum >>>>>> Sent: Monday, February 20, 2006 11:00 AM >>>>>> To: OFBiz Users / Usage Discussion >>>>>> Subject: Re: [OFBiz] Users - Party Education and Work Experience >>>>>> Entities >>>>>> >>>>>> This seems to duplicate the PartyRelationship entity. I would >>>>>> recommend >>>>>> making >>>>>> the educational institution a party (or party group), create >>>>>> roles for >>>>>> the >>>>>> institution and student, then link them together using >>>>>> PartyRelationship. >>>>>> >>>>>> You'll still need an entity or property to persist the degree. >>>>>> >>>>>> >>>>>> Vinay Agarwal wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> >>>>>>> >>>>>>> I need party education and work experience entities to build >>>>>>> resume >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> like >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> structure for a party. The entities that I came up for them are >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> detailed >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> below. >>>>>>> >>>>>>> >>>>>>> >>>>>>> 1. Am doing it write? >>>>>>> 2. Is it worth putting them back on OFBiz? >>>>>>> >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> Vinay Agarwal >>>>>>> >>>>>>> >>>>>>> >>>>>>> <entity entity-name="Education" >>>>>>> >>>>>>> package- >>>>>>> name="org.ofbiz.grayzilla" >>>>>>> >>>>>>> title="Party Education Entity"> >>>>>>> >>>>>>> <field name="partyId" type="id-ne"></field> >>>>>>> >>>>>>> <field name="instituteId" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> type="id-ne"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="degree" type="id-long"></field> >>>>>>> >>>>>>> <field name="studentId" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> type="id-long"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="fromDate" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> type="date-time"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="thruDate" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> type="date-time"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <prim-key field="partyId"/> >>>>>>> >>>>>>> <prim-key field="instituteId"/> >>>>>>> >>>>>>> <prim-key field="fromDate"/> >>>>>>> >>>>>>> <relation type="one" fk-name="EDU_PRTY" >>>>>>> rel-entity-name="Party"> >>>>>>> >>>>>>> <key-map field-name="partyId"/> >>>>>>> >>>>>>> </relation> >>>>>>> >>>>>>> <relation type="one" fk-name="EDU_INST" >>>>>>> rel-entity-name="Party"> >>>>>>> >>>>>>> <key-map field-name="instituteId" >>>>>>> rel-field-name="partyId"/> >>>>>>> >>>>>>> </relation> >>>>>>> >>>>>>> </entity> >>>>>>> >>>>>>> >>>>>>> >>>>>>> <entity entity-name="Experience" >>>>>>> >>>>>>> package- >>>>>>> name="org.ofbiz.grayzilla" >>>>>>> >>>>>>> title="Party Experience Entity"> >>>>>>> >>>>>>> <field name="partyId" type="id-ne"></field> >>>>>>> >>>>>>> <field name="companyId" type="id-ne"></field> >>>>>>> >>>>>>> <field name="titleLast" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> type="id-long"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="description" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> type="id-vlong"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="fromDate" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> type="date-time"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <field name="thruDate" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> type="date-time"></field> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> <prim-key field="partyId"/> >>>>>>> >>>>>>> <prim-key field="companyId"/> >>>>>>> >>>>>>> <prim-key field="fromDate"/> >>>>>>> >>>>>>> <relation type="one" fk-name="EXPER_PRTY" >>>>>>> rel-entity-name="Party"> >>>>>>> >>>>>>> <key-map field-name="partyId"/> >>>>>>> >>>>>>> </relation> >>>>>>> >>>>>>> <relation type="one" fk-name="EXPER_COMP" >>>>>>> rel-entity-name="Party"> >>>>>>> >>>>>>> <key-map field-name="companyId" >>>>>>> rel-field-name="partyId"/> >>>>>>> >>>>>>> </relation> >>>>>>> >>>>>>> </entity> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> ----------------------------------------------------------------- >>>>>> ------- >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> _______________________________________________ >>>>>>> Users mailing list >>>>>>> [hidden email] >>>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> _______________________________________________ >>>>>> Users mailing list >>>>>> [hidden email] >>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>> >>>>>> _______________________________________________ >>>>>> Users mailing list >>>>>> [hidden email] >>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> _______________________________________________ >>>>> Users mailing list >>>>> [hidden email] >>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>> >>>>> >>>>> >>>>> >>>>> >>>> _______________________________________________ >>>> Users mailing list >>>> [hidden email] >>>> http://lists.ofbiz.org/mailman/listinfo/users >>>> >>>> >>>> >>>> >>>> >>> >>> _______________________________________________ >>> Users mailing list >>> [hidden email] >>> http://lists.ofbiz.org/mailman/listinfo/users >>> >>> >>> >> >> _______________________________________________ >> Users mailing list >> [hidden email] >> http://lists.ofbiz.org/mailman/listinfo/users >> >> >> > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.ofbiz.org/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users smime.p7s (3K) Download Attachment |
I kinda agree and I kinda don't.
I'll use our dealers as an example. We set up our dealers as party groups with the role DEALER. Associated with every dealer are some bits of information (dealer ID#, dealer lic#) that only apply to that role. Initially, I created a separate entity to hold those bits of information, but later realized I could have just made them PartyAttributes and avoided creating an additional entity. So, it's a matter of preference I guess. I prefer to stay within the existing data model whenever possible - to make updates easier to import. David E. Jones wrote: > > The extensibility pattern is documented in the OFBiz documentation, > namely in a document on the Docs & Books page of the ofbiz.org web site. > > In general this is ONLY meant to be used when you DO NOT know what the > fields will be in advance or when they vary too much for a more static > field to work. It is really not meant to be used in this sort of > circumstance where it is possible to define the structure and meaning > of every field in advance. > > -David > > > On Feb 20, 2006, at 3:17 PM, Si Chen wrote: > >> Can you give an example of your "extensibility pattern"? >> >> Adrian Crum wrote: >> >>> I wouldn't add fields to PartyRelationship - I would add properties >>> to the >>> parties via the "extensibility pattern." I firmly believe the >>> existing data >>> model will support Vinay's requirements. >>> >>> Si Chen wrote: >>> >>> >>> >>>> Yes, Adrian, you are right. I was just agreeing with Jeffrey that >>>> maybe >>>> we don't need to track these institutions as parties. Now looking >>>> at it >>>> further, though, it seems that Vinay has pointed out a lot of fields >>>> which do not belong in other PartyRelationships, even if the >>>> institution >>>> were a Party. You can add all those fields to PartyRelationship to be >>>> used only for education history, but my personal preference is to keep >>>> stuff where they are intuitive. >>>> >>>> Si >>>> >>>> Adrian Crum wrote: >>>> >>>> >>>> >>>> >>>>> Vinay's suggestion includes an "instituteId" field - which I >>>>> assume points to >>>>> information about an educational institution. That is no different >>>>> than making >>>>> the institution a party, so why introduce an unnecessary entity? >>>>> If Vinay's >>>>> "instituteId" can be accomodated by the Party entity, then why >>>>> make a custom >>>>> entity to tie the two together? Just use PartyRelationship. >>>>> >>>>> It looks to me like the amount of data stored in Vinay's >>>>> suggestion is no >>>>> different than the one I suggested. >>>>> >>>>> >>>>> Si Chen wrote: >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> I agree with Jeffrey. There is no need to create Party and >>>>>> PartyRelationship unless you are actively working with that >>>>>> Party. If >>>>>> an employee went to a certain high school at some point but >>>>>> that's that, >>>>>> and you don't have any other activities with that high school, why >>>>>> create a Party for it? >>>>>> >>>>>> Si >>>>>> >>>>>> Blessing, Jeffrey J wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> Wouldn't this mean that every possible college, university, >>>>>>> school of >>>>>>> higher learning, etc. would potentially need to be entered as an >>>>>>> entity >>>>>>> into the database just to model education? This sounds like a >>>>>>> lot of >>>>>>> work just to represent the fact that someone has a degree from >>>>>>> somewhere! >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: [hidden email] >>>>>>> [mailto:[hidden email]] On Behalf Of Adrian Crum >>>>>>> Sent: Monday, February 20, 2006 11:00 AM >>>>>>> To: OFBiz Users / Usage Discussion >>>>>>> Subject: Re: [OFBiz] Users - Party Education and Work Experience >>>>>>> Entities >>>>>>> >>>>>>> This seems to duplicate the PartyRelationship entity. I would >>>>>>> recommend >>>>>>> making >>>>>>> the educational institution a party (or party group), create >>>>>>> roles for >>>>>>> the >>>>>>> institution and student, then link them together using >>>>>>> PartyRelationship. >>>>>>> >>>>>>> You'll still need an entity or property to persist the degree. >>>>>>> >>>>>>> >>>>>>> Vinay Agarwal wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Hello, >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> I need party education and work experience entities to build >>>>>>>> resume >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> like >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> structure for a party. The entities that I came up for them are >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> detailed >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> below. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 1. Am doing it write? >>>>>>>> 2. Is it worth putting them back on OFBiz? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> >>>>>>>> Vinay Agarwal >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> <entity entity-name="Education" >>>>>>>> >>>>>>>> package- name="org.ofbiz.grayzilla" >>>>>>>> >>>>>>>> title="Party Education Entity"> >>>>>>>> >>>>>>>> <field name="partyId" type="id-ne"></field> >>>>>>>> >>>>>>>> <field name="instituteId" >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> type="id-ne"></field> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> <field name="degree" type="id-long"></field> >>>>>>>> >>>>>>>> <field name="studentId" >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> type="id-long"></field> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> <field name="fromDate" >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> type="date-time"></field> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> <field name="thruDate" >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> type="date-time"></field> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> <prim-key field="partyId"/> >>>>>>>> >>>>>>>> <prim-key field="instituteId"/> >>>>>>>> >>>>>>>> <prim-key field="fromDate"/> >>>>>>>> >>>>>>>> <relation type="one" fk-name="EDU_PRTY" >>>>>>>> rel-entity-name="Party"> >>>>>>>> >>>>>>>> <key-map field-name="partyId"/> >>>>>>>> >>>>>>>> </relation> >>>>>>>> >>>>>>>> <relation type="one" fk-name="EDU_INST" >>>>>>>> rel-entity-name="Party"> >>>>>>>> >>>>>>>> <key-map field-name="instituteId" >>>>>>>> rel-field-name="partyId"/> >>>>>>>> >>>>>>>> </relation> >>>>>>>> >>>>>>>> </entity> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> <entity entity-name="Experience" >>>>>>>> >>>>>>>> package- name="org.ofbiz.grayzilla" >>>>>>>> >>>>>>>> title="Party Experience Entity"> >>>>>>>> >>>>>>>> <field name="partyId" type="id-ne"></field> >>>>>>>> >>>>>>>> <field name="companyId" type="id-ne"></field> >>>>>>>> >>>>>>>> <field name="titleLast" >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> type="id-long"></field> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> <field name="description" >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> type="id-vlong"></field> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> <field name="fromDate" >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> type="date-time"></field> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> <field name="thruDate" >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> type="date-time"></field> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> <prim-key field="partyId"/> >>>>>>>> >>>>>>>> <prim-key field="companyId"/> >>>>>>>> >>>>>>>> <prim-key field="fromDate"/> >>>>>>>> >>>>>>>> <relation type="one" fk-name="EXPER_PRTY" >>>>>>>> rel-entity-name="Party"> >>>>>>>> >>>>>>>> <key-map field-name="partyId"/> >>>>>>>> >>>>>>>> </relation> >>>>>>>> >>>>>>>> <relation type="one" fk-name="EXPER_COMP" >>>>>>>> rel-entity-name="Party"> >>>>>>>> >>>>>>>> <key-map field-name="companyId" >>>>>>>> rel-field-name="partyId"/> >>>>>>>> >>>>>>>> </relation> >>>>>>>> >>>>>>>> </entity> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> ----------------------------------------------------------------- >>>>>>> ------- >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Users mailing list >>>>>>>> [hidden email] >>>>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> Users mailing list >>>>>>> [hidden email] >>>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Users mailing list >>>>>>> [hidden email] >>>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> _______________________________________________ >>>>>> Users mailing list >>>>>> [hidden email] >>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> _______________________________________________ >>>>> Users mailing list >>>>> [hidden email] >>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> [hidden email] >>>> http://lists.ofbiz.org/mailman/listinfo/users >>>> >>>> >>>> >>> >>> _______________________________________________ >>> Users mailing list >>> [hidden email] >>> http://lists.ofbiz.org/mailman/listinfo/users >>> >>> >>> >> >> _______________________________________________ >> Users mailing list >> [hidden email] >> http://lists.ofbiz.org/mailman/listinfo/users > > > > ------------------------------------------------------------------------ > > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.ofbiz.org/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
Or perhaps try a third route... and it sounds like Vinay is going for this one: discuss the change and then create something that can be committed. For 2 fields I agree it is tempting to just use attributes, but even for just 2 another entity is often worth it. Creating form definitions, view entities, and so on is a lot easier with entities and fields than with attributes, which is one reason that I like that approach. For database maintenance, reporting, and constraining data it is also often much easier/better. For the maintenance part, contributing it back can help with that, and good patch or private repository management can also help a lot with that... BTW, for something like a "Dealer" entity the biggest question I would have is are there similar things that have the same fields that could result in a "higher level" entity that could be more re-usable. There may be specific things like this that can't be generalized, like a dealer license #, if that can't be generalized into a more reusable license # sort of thing because of legal constraints or how it is used, then yeah, those should be considered in the data modeling and sometimes special structures are needed, and in those cases even that pretty specific stuff is just what we want in the project because chances are someone else will (or perhaps has...) run into it. -David On Feb 20, 2006, at 3:44 PM, Adrian Crum wrote: > I kinda agree and I kinda don't. > > I'll use our dealers as an example. We set up our dealers as party > groups with > the role DEALER. Associated with every dealer are some bits of > information > (dealer ID#, dealer lic#) that only apply to that role. Initially, > I created a > separate entity to hold those bits of information, but later > realized I could > have just made them PartyAttributes and avoided creating an > additional entity. > > So, it's a matter of preference I guess. I prefer to stay within > the existing > data model whenever possible - to make updates easier to import. > > > David E. Jones wrote: > >> >> The extensibility pattern is documented in the OFBiz documentation, >> namely in a document on the Docs & Books page of the ofbiz.org web >> site. >> >> In general this is ONLY meant to be used when you DO NOT know >> what the >> fields will be in advance or when they vary too much for a more >> static >> field to work. It is really not meant to be used in this sort of >> circumstance where it is possible to define the structure and >> meaning >> of every field in advance. >> >> -David >> >> >> On Feb 20, 2006, at 3:17 PM, Si Chen wrote: >> >>> Can you give an example of your "extensibility pattern"? >>> >>> Adrian Crum wrote: >>> >>>> I wouldn't add fields to PartyRelationship - I would add >>>> properties >>>> to the >>>> parties via the "extensibility pattern." I firmly believe the >>>> existing data >>>> model will support Vinay's requirements. >>>> >>>> Si Chen wrote: >>>> >>>> >>>> >>>>> Yes, Adrian, you are right. I was just agreeing with Jeffrey >>>>> that >>>>> maybe >>>>> we don't need to track these institutions as parties. Now >>>>> looking >>>>> at it >>>>> further, though, it seems that Vinay has pointed out a lot of >>>>> fields >>>>> which do not belong in other PartyRelationships, even if the >>>>> institution >>>>> were a Party. You can add all those fields to >>>>> PartyRelationship to be >>>>> used only for education history, but my personal preference is >>>>> to keep >>>>> stuff where they are intuitive. >>>>> >>>>> Si >>>>> >>>>> Adrian Crum wrote: >>>>> >>>>> >>>>> >>>>> >>>>>> Vinay's suggestion includes an "instituteId" field - which I >>>>>> assume points to >>>>>> information about an educational institution. That is no >>>>>> different >>>>>> than making >>>>>> the institution a party, so why introduce an unnecessary entity? >>>>>> If Vinay's >>>>>> "instituteId" can be accomodated by the Party entity, then why >>>>>> make a custom >>>>>> entity to tie the two together? Just use PartyRelationship. >>>>>> >>>>>> It looks to me like the amount of data stored in Vinay's >>>>>> suggestion is no >>>>>> different than the one I suggested. >>>>>> >>>>>> >>>>>> Si Chen wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> I agree with Jeffrey. There is no need to create Party and >>>>>>> PartyRelationship unless you are actively working with that >>>>>>> Party. If >>>>>>> an employee went to a certain high school at some point but >>>>>>> that's that, >>>>>>> and you don't have any other activities with that high >>>>>>> school, why >>>>>>> create a Party for it? >>>>>>> >>>>>>> Si >>>>>>> >>>>>>> Blessing, Jeffrey J wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Wouldn't this mean that every possible college, university, >>>>>>>> school of >>>>>>>> higher learning, etc. would potentially need to be entered >>>>>>>> as an >>>>>>>> entity >>>>>>>> into the database just to model education? This sounds like a >>>>>>>> lot of >>>>>>>> work just to represent the fact that someone has a degree from >>>>>>>> somewhere! >>>>>>>> >>>>>>>> -----Original Message----- >>>>>>>> From: [hidden email] >>>>>>>> [mailto:[hidden email]] On Behalf Of Adrian Crum >>>>>>>> Sent: Monday, February 20, 2006 11:00 AM >>>>>>>> To: OFBiz Users / Usage Discussion >>>>>>>> Subject: Re: [OFBiz] Users - Party Education and Work >>>>>>>> Experience >>>>>>>> Entities >>>>>>>> >>>>>>>> This seems to duplicate the PartyRelationship entity. I would >>>>>>>> recommend >>>>>>>> making >>>>>>>> the educational institution a party (or party group), create >>>>>>>> roles for >>>>>>>> the >>>>>>>> institution and student, then link them together using >>>>>>>> PartyRelationship. >>>>>>>> >>>>>>>> You'll still need an entity or property to persist the degree. >>>>>>>> >>>>>>>> >>>>>>>> Vinay Agarwal wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Hello, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I need party education and work experience entities to build >>>>>>>>> resume >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> like >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> structure for a party. The entities that I came up for them >>>>>>>>> are >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> detailed >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> below. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 1. Am doing it write? >>>>>>>>> 2. Is it worth putting them back on OFBiz? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> >>>>>>>>> Vinay Agarwal >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> <entity entity-name="Education" >>>>>>>>> >>>>>>>>> package- >>>>>>>>> name="org.ofbiz.grayzilla" >>>>>>>>> >>>>>>>>> title="Party Education Entity"> >>>>>>>>> >>>>>>>>> <field name="partyId" type="id-ne"></field> >>>>>>>>> >>>>>>>>> <field name="instituteId" >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> type="id-ne"></field> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> <field name="degree" type="id-long"></ >>>>>>>>> field> >>>>>>>>> >>>>>>>>> <field name="studentId" >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> type="id-long"></field> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> <field name="fromDate" >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> type="date-time"></field> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> <field name="thruDate" >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> type="date-time"></field> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> <prim-key field="partyId"/> >>>>>>>>> >>>>>>>>> <prim-key field="instituteId"/> >>>>>>>>> >>>>>>>>> <prim-key field="fromDate"/> >>>>>>>>> >>>>>>>>> <relation type="one" fk-name="EDU_PRTY" >>>>>>>>> rel-entity-name="Party"> >>>>>>>>> >>>>>>>>> <key-map field-name="partyId"/> >>>>>>>>> >>>>>>>>> </relation> >>>>>>>>> >>>>>>>>> <relation type="one" fk-name="EDU_INST" >>>>>>>>> rel-entity-name="Party"> >>>>>>>>> >>>>>>>>> <key-map field- >>>>>>>>> name="instituteId" >>>>>>>>> rel-field-name="partyId"/> >>>>>>>>> >>>>>>>>> </relation> >>>>>>>>> >>>>>>>>> </entity> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> <entity entity-name="Experience" >>>>>>>>> >>>>>>>>> package- >>>>>>>>> name="org.ofbiz.grayzilla" >>>>>>>>> >>>>>>>>> title="Party Experience >>>>>>>>> Entity"> >>>>>>>>> >>>>>>>>> <field name="partyId" type="id-ne"></field> >>>>>>>>> >>>>>>>>> <field name="companyId" type="id-ne"></ >>>>>>>>> field> >>>>>>>>> >>>>>>>>> <field name="titleLast" >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> type="id-long"></field> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> <field name="description" >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> type="id-vlong"></field> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> <field name="fromDate" >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> type="date-time"></field> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> <field name="thruDate" >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> type="date-time"></field> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> <prim-key field="partyId"/> >>>>>>>>> >>>>>>>>> <prim-key field="companyId"/> >>>>>>>>> >>>>>>>>> <prim-key field="fromDate"/> >>>>>>>>> >>>>>>>>> <relation type="one" fk-name="EXPER_PRTY" >>>>>>>>> rel-entity-name="Party"> >>>>>>>>> >>>>>>>>> <key-map field-name="partyId"/> >>>>>>>>> >>>>>>>>> </relation> >>>>>>>>> >>>>>>>>> <relation type="one" fk-name="EXPER_COMP" >>>>>>>>> rel-entity-name="Party"> >>>>>>>>> >>>>>>>>> <key-map field-name="companyId" >>>>>>>>> rel-field-name="partyId"/> >>>>>>>>> >>>>>>>>> </relation> >>>>>>>>> >>>>>>>>> </entity> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> --------------------------------------------------------------- >>>>>>>> -- >>>>>>>> ------- >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Users mailing list >>>>>>>>> [hidden email] >>>>>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Users mailing list >>>>>>>> [hidden email] >>>>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Users mailing list >>>>>>>> [hidden email] >>>>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> Users mailing list >>>>>>> [hidden email] >>>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> _______________________________________________ >>>>>> Users mailing list >>>>>> [hidden email] >>>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Users mailing list >>>>> [hidden email] >>>>> http://lists.ofbiz.org/mailman/listinfo/users >>>>> >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> [hidden email] >>>> http://lists.ofbiz.org/mailman/listinfo/users >>>> >>>> >>>> >>> >>> _______________________________________________ >>> Users mailing list >>> [hidden email] >>> http://lists.ofbiz.org/mailman/listinfo/users >> >> >> >> --------------------------------------------------------------------- >> --- >> >> >> _______________________________________________ >> Users mailing list >> [hidden email] >> http://lists.ofbiz.org/mailman/listinfo/users > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.ofbiz.org/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users smime.p7s (3K) Download Attachment |
David E. Jones wrote:
> Or perhaps try a third route... and it sounds like Vinay is going for > this one: discuss the change and then create something that can be > committed. > > For 2 fields I agree it is tempting to just use attributes, but even > for just 2 another entity is often worth it. Creating form definitions, > view entities, and so on is a lot easier with entities and fields than > with attributes, which is one reason that I like that approach. For > database maintenance, reporting, and constraining data it is also often > much easier/better. > > For the maintenance part, contributing it back can help with that, and > good patch or private repository management can also help a lot with > that... > > BTW, for something like a "Dealer" entity the biggest question I would > have is are there similar things that have the same fields that could > result in a "higher level" entity that could be more re-usable. There > may be specific things like this that can't be generalized, like a > dealer license #, if that can't be generalized into a more reusable > license # sort of thing because of legal constraints or how it is used, > then yeah, those should be considered in the data modeling and > sometimes special structures are needed, and in those cases even that > pretty specific stuff is just what we want in the project because > chances are someone else will (or perhaps has...) run into it. <snip> I like the idea of having a user-specified ID for parties (in addition to PartyId). The PartyId property is great for relating tables, but it is not intuitive. There may be many reasons why an additional ID is necessary. We needed the Dealer ID# for backwards compatibility - all of our (non-OFBiz) historical data is linked to that ID. We couldn't make the PartyId equal to the dealer ID because other parties in other roles may have the same ID# (one of the flaws in the way data was stored pre-OFBiz). For instance, we could have Dealer #234 and Supplier #234. Homeowner ID numbers start with the first 3 letters of their last name. This helps our service department locate their information when the homeowner doesn't know their ID#. So, we have these different departments within our company that all have unique ways of assigning ID numbers. I decided at the outset to keep OFBiz's PartyId invisible to the user and keep all user-visible ID numbers in a separate table. It is common for users to ask if they can change an ID#. With this system they can. If we were using only PartyIds they can't. Having a separate ID becomes especially helpful in the case of our payroll department. Payroll started using our non-OFBiz payroll software by assigning employee numbers using the employee's department number followed by a unique 3 digit number. This became confusing when the employee started working in another department. Payroll asked me if they can change the employee numbers. The answer was No because the employee number was the key field that linked all the tables. <ramble> When I first became involved with OFBiz I took the same approach as Vinay - try to solve problems with new entities. David Jones kept insisting I could do the same thing with existing entities. I was resistant at first. It took quite a bit of data model study before I came to that conclusion that he was right. Now I'm a big fan of the existing data model - I've accomplished a lot here with minimal modifications to it. _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
In reply to this post by David E. Jones
If I understand it correctly, overall inclination of the group, although not
unanimous, is for something like the following. If this is correct, I will go ahead and implement/debug it like this and pass the patch files around. Regards, Vinay Agarwal <entity entity-name = "PartyQual" package-name = "org.ofbiz.humanres.ability" title = "Party Qualification Entity"> <field name = "partyId" type = "id-ne"></field> <field name = "partyQualTypeId" type = "id-ne"></field> <field name = "institutionId" type = "id-ne"></field> <!--degree or job title --> <field name = "title" type = "id-long"></field> <!--Degree status: COMPLETE, INCOMPLETE, DEFERRED, Employment status: REGULAR, PART_TIME, CONTRACTOR --> <field name = "status" type = "id"></field> <!--institution specific ID like employee id, or student id--> <field name = "partyInstId" type = "id"></field> <!--degree major or responsibilites at job --> <field name = "infoString" type = "id-vlong"></field> <field name = "fromDate" type = "date-time"></field> <field name = "thruDate" type = "date-time"></field> <prim-key field = "partyId"/> <prim-key field = "partyQualTypeId"/> <prim-key field = "fromDate"/> <relation type = "one" fk-name = "PARTY_QUAL_PRTY" rel-entity-name = "Party"> <key-map field-name = "partyId"/> </relation> <relation type = "one" fk-name = "PARTY_QUAL_PQTYP" rel-entity-name = "PartyQualType"> <key-map field-name = "partyQualTypeId"/> </relation> <relation type = "one" fk-name = "PARTY_QUAL_INST" rel-entity-name = "Party"> <key-map field-name = "institutionId" rel-field-name = "partyId"/> </relation> </entity> <service name = "createPartyQual" engine = "java" default-entity-name = "PartyQual" location = "org.ofbiz.humanres.services.java" invoke = "createPartyQual" auth = "false"> <description>Create an education entry for resume</description> <auto-attributes mode = "INOUT" include = "pk" optional = "true"/> <auto-attributes mode = "IN" include = "nonpk" optional = "true"/> <override name = "partyId" optional = "false"/> <override name = "partyQualTypeId" optional = "false"/> <override name = "institutionId" optional = "false"/> <override name = "fromDate" optional = "false"/> </service> _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
In reply to this post by Vinay Agarwal
Vinay,
This looks good to me. I might use "institutionPartyId", "statusId", and "institutionInternalId" instead, but it's a matter of semantics. You'd also have to create some seed data for status codes. See StatusItem and StatusItemType definitions elsewhere. Last of all, you can use <description> tag inside of the fields to put your comments. Later we'll expand the Entity readers to get those and show them to users in webtools. Si Vinay Agarwal wrote: >If I understand it correctly, overall inclination of the group, although not >unanimous, is for something like the following. If this is correct, I will >go ahead and implement/debug it like this and pass the patch files around. > >Regards, >Vinay Agarwal > > ><entity entity-name = "PartyQual" package-name = >"org.ofbiz.humanres.ability" title = "Party Qualification Entity"> > <field name = "partyId" type = "id-ne"></field> > <field name = "partyQualTypeId" type = "id-ne"></field> > <field name = "institutionId" type = "id-ne"></field> > <!--degree or job title --> > <field name = "title" type = "id-long"></field> > <!--Degree status: COMPLETE, INCOMPLETE, DEFERRED, > Employment status: REGULAR, PART_TIME, CONTRACTOR --> > <field name = "status" type = "id"></field> > <!--institution specific ID like employee id, or student id--> > <field name = "partyInstId" type = "id"></field> > <!--degree major or responsibilites at job --> > <field name = "infoString" type = "id-vlong"></field> > <field name = "fromDate" type = "date-time"></field> > <field name = "thruDate" type = "date-time"></field> > <prim-key field = "partyId"/> > <prim-key field = "partyQualTypeId"/> > <prim-key field = "fromDate"/> > <relation type = "one" fk-name = "PARTY_QUAL_PRTY" rel-entity-name = >"Party"> > <key-map field-name = "partyId"/> > </relation> > <relation type = "one" fk-name = "PARTY_QUAL_PQTYP" rel-entity-name = >"PartyQualType"> > <key-map field-name = "partyQualTypeId"/> > </relation> > <relation type = "one" fk-name = "PARTY_QUAL_INST" rel-entity-name = >"Party"> > <key-map field-name = "institutionId" rel-field-name = "partyId"/> > </relation> ></entity> ><service name = "createPartyQual" engine = "java" default-entity-name = >"PartyQual" > location = "org.ofbiz.humanres.services.java" invoke = "createPartyQual" >auth = "false"> > <description>Create an education entry for resume</description> > <auto-attributes mode = "INOUT" include = "pk" optional = "true"/> > <auto-attributes mode = "IN" include = "nonpk" optional = "true"/> > <override name = "partyId" optional = "false"/> > <override name = "partyQualTypeId" optional = "false"/> > <override name = "institutionId" optional = "false"/> > <override name = "fromDate" optional = "false"/> ></service> > > > >_______________________________________________ >Users mailing list >[hidden email] >http://lists.ofbiz.org/mailman/listinfo/users > > > _______________________________________________ Users mailing list [hidden email] http://lists.ofbiz.org/mailman/listinfo/users |
Free forum by Nabble | Edit this page |