Generic PersonCompany DEV: Difference between revisions

Jump to navigation Jump to search
m
no edit summary
mNo edit summary
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{TOCright}}
{{TOCright}}
=Concerns and Goals=
=Concerns and Goals=
As the [[CharDB_DEV|CharDB]], [[OstDB_DEV|OstDB]], [[MangaDB_DEV|MangaDB]] and AniDB's producers all tend to include data about individuals or companies it would be a good idea to extract the generic data for individuals and companies into two separate tables which are then used by all other parts.
As the [[CharDB DEV|CharDB]], [[OstDB DEV|OstDB]], [[MangaDB DEV|MangaDB]] and AniDB's producers all tend to include data about individuals or companies it would be a good idea to extract the generic data for individuals and companies into two separate tables which are then used by all other parts.


* I.e. instead of having all the data inside the producer table, it would only include those data fields which are producer specific and would refer to a person or company table for the general data.
* I.e. instead of having all the data inside the producer table, it would only include those data fields which are producer specific and would refer to a person or company table for the general data.
Line 12: Line 13:
** person<=>person relations? (married?)
** person<=>person relations? (married?)


* <s>And multiplicities, i.e. has each producer only one person/company related to it, or multiple ones?</s> - ''Each producer as only one entity assigned to it. Although one of those entities is Collaboration which can hold multiple companies and/or persons.''
* <s>And multiplicities, i.e. has each producer only one person/company related to it, or multiple ones?</s> - ''Each producer has only one entity assigned to it. Although one of those entities is Collaboration which can hold multiple companies and/or persons.''


* <s>Also, should names be a separate table (like anime titles) or are there only a small number of names we'd want to store per person/company?</s> - ''Names have their own table for every Entity that has titles.''
* <s>Also, should names be a separate table (like anime titles) or are there only a small number of names we'd want to store per person/company?</s> - ''Names have their own table for every Entity that has titles.''
Line 21: Line 22:
* Also how are matching pseudonyms (they're not unique, are they?) handled?
* Also how are matching pseudonyms (they're not unique, are they?) handled?


* Looking at [[Generic_PersonCompany_DEV#Producer|Producer]], [[Generic_PersonCompany_DEV#Artist|Artist]], [[Generic_PersonCompany_DEV#Mangaka|Mangaka]] and [[Generic_PersonCompany_DEV#Seiyuu|Seiyuu]] we see that they are very similar the only thing changing are the names of the generic fields (like start date), so a question is should we either:
* Looking at [[Generic PersonCompany DEV#Producer|Producer]], [[Generic PersonCompany DEV#Artist|Artist]], [[Generic PersonCompany DEV#Mangaka|Mangaka]] and [[Generic PersonCompany DEV#Seiyuu|Seiyuu]] we see that they are very similar the only thing changing are the names of the generic fields (like start date), so a question is should we either:
*# have multiple modules for each specialization or should we keep it only under one module and differentiate with something like show=addentity&type=person[&edit=1]
*# have multiple modules for each specialization or should we keep it only under one module and differentiate with something like show=addentity&type=person[&edit=1]
*# keep using the current way that is xvcl everything and make several modules for each specialization?
*# keep using the current way that is xvcl everything and make several modules for each specialization?


=The big picture=
=Suggestion 1=
==The big picture==
[[Image:People1.png]]
[[Image:People1.png]]


'''''Warning: Image doesn't reflect the current layout.'''''
{{eyecatch|Warning|Image does '''not''' reflect the current layout!}}


* To Fix:
* To Fix:
Line 35: Line 37:
** Decide if we actually need the Pseudonym table
** Decide if we actually need the Pseudonym table


=Data Fields=
==Data Fields==
==Generic Fields==
===Generic Fields===
===Generic Fields - Person===
====Generic Fields - Person====
* image
* image
* url (en)
* url (en)
Line 65: Line 67:
* verified
* verified


===Generic Fields - Company===
====Generic Fields - Company====
* image
* image
* type - type of company
* type - type of company
Line 87: Line 89:
* verified
* verified


===Generic Fields - Collaboration===
====Generic Fields - Collaboration====
* type - collaboration type
* type - collaboration type
** 1 - Joint work
** 1 - Joint work
Line 101: Line 103:


====Generic Fields - CollaborationEntities====
====Generic Fields - CollaborationEntities====
* type - type of entity
* relcolid - Id of the Collaboration
* reltb - type of entity
** 1 - company
** 1 - company
** 2 - person
** 2 - person
* relid - entity id
* relid - entity id
* titleid - titles used by the entity


==Specializations==
====Generic Fields - CollaborationTitle====
===Producer===
* name - name of the Collaboration
* lang - language of Collaboration
* type - type of Collaboration
** 1 - Main title
** 2 - Synonyms/Alias
** 3 - Short
* verified
 
===Specializations===
====Producer====
* relid - entity id
* relid - entity id
* typeid - type of entity
* typeid - type of entity
Line 118: Line 129:
* end date - if different from underlying entity
* end date - if different from underlying entity
* description - producer specific information
* description - producer specific information
* [ratings&co] - not implemented in the ui
* [ratings&co] - not implemented in the UI


===Seiyuu===
====Seiyuu====
<tt>derived from [[Generic_PersonCompany_DEV#Artist |Artist]]/[[OstDB_DEV |OstDB]]</tt>
<tt>derived from [[Generic PersonCompany DEV#Artist|Artist]]/[[OstDB DEV|OstDB]]</tt>
* relid - entity id
* relid - entity id
* typeid - type of entity
* typeid - type of entity
** 1 - person
** 2 - person
* titleid - titles used by the entity
* titleid - titles used by the entity
* debut on - Start of career  
* debut on - Start of career  
Line 131: Line 142:
* [ratings&co] - not implemented in the ui
* [ratings&co] - not implemented in the ui


===Artist===
====Artist====
<tt>copied from [[OstDB_DEV | OstDB]]</tt>
<tt>derived from [[OstDB DEV|OstDB]]</tt>
* relid - entity id
* relid - entity id
* typeid - type of entity
* typeid - type of entity
** 1 - person
** 2 - person
** 2 - collaboration (allows to make bands)
** 3 - collaboration (allows to make bands)
* titleid - titles used by the entity
* titleid - titles used by the entity
* debut on - Start of career  
* debut on - Start of career  
Line 143: Line 154:
* [ratings&co] - not implemented in the ui
* [ratings&co] - not implemented in the ui


===Mangaka===
====Mangaka====
<tt>derived from [[Generic_PersonCompany_DEV#Artist |Artist]]/[[OstDB_DEV |OstDB]]</tt>
<tt>derived from [[Generic PersonCompany DEV#Artist|Artist]]/[[OstDB DEV|OstDB]]</tt>
* relid - entity id
* relid - entity id
* typeid - type of entity
* typeid - type of entity
** 1 - person
** 2 - person
** 2 - collaboration (allows us to have several persons working under the same penname)
** 3 - collaboration (allows us to have several persons working under the same penname)
* titleid - titles used by the entity
* titleid - titles used by the entity
* debut on - Start of career  
* debut on - Start of career  
Line 155: Line 166:
* [ratings&co] - not implemented in the ui
* [ratings&co] - not implemented in the ui


=System=
==further notes==
This details a bit of what is done and what we are aiming at
 
==Generic==
 
===Person===
===Person===
* Persons '''need''' one ''main title'', made from [title] firstname lastname (lang defaults to transcription)
* Persons '''need''' one ''main title'', made from [title] firstname lastname (lang defaults to transcription)
* Persons can have '''one''' ''maiden name'', made from [title] firstname lastname (lang defaults to transcription)
* Persons can have '''one''' ''maiden name'', made from [title] firstname lastname (lang defaults to transcription)
* Persons can have '''multiple''' ''alias'', made from [title] firstname lastname (lang defaults to transcription)
* Persons can have '''multiple''' ''alias'', made from [title] firstname lastname (lang defaults to transcription)
* Persons can have '''multiple''' ''nickanmes'', made from lastname (lang defaults to transcription)
* Persons can have '''multiple''' ''nicknames'', made from lastname (lang defaults to transcription)
* One can choose '''optional''' relations between persons and/or companies. (not implemented in the ui)
* One can choose '''optional''' relations between persons and/or companies (not implemented in the UI).


===Company===
===Company===
Line 172: Line 179:
* Companies can have '''multiple''' ''synonyms'' (lang defaults to transcription)
* Companies can have '''multiple''' ''synonyms'' (lang defaults to transcription)
* Companies can have '''multiple''' ''short names'' (lang defaults to transcription)
* Companies can have '''multiple''' ''short names'' (lang defaults to transcription)
* One can choose '''optional''' relations between persons and/or companies. (not implemented in the ui)
* One can choose '''optional''' relations between persons and/or companies (not implemented in the UI).


===Collaboration===
===Collaboration===
<tt>Still very unspecified</tt>
<tt>Still very unspecified</tt>


* Collaborations '''need''' a type (unspecified at the moment, see [[Generic_PersonCompany_DEV#Generic_Fields_-_Collaboration|Collaboration]])
* Collaborations '''need''' a type (unspecified at the moment, see [[Generic PersonCompany DEV#Generic Fields - Collaboration|Collaboration]])
* Collaborations aren't limited to either companies or persons but can be a mix of both (unspecified at the moment)
* Collaborations aren't limited to either companies or persons but can be a mix of both (unspecified at the moment).


==Specializations==
===Producer===
===Producer===


Line 203: Line 209:
* One can make a Artist either from a Person or a Collaboration entry.
* One can make a Artist either from a Person or a Collaboration entry.
* One chooses from the related entry which names should the Artist be known as.
* One chooses from the related entry which names should the Artist be known as.
=Suggestion 2=
==creatortb==
* image
* url (en)
* url (jp)
* url wiki (en)
* url wiki (jp)
* birth date
* death date
* description
* role[] - relevant for in which system the entity will be shown/used (filter)
** Mangaka
** Artist
** Anime Producer
** Seiyuu
* type
**Person
**Company
* parentid
**analogue to the guise system for character we use this here as well
** let's say person A works under pseudonym B as a mangaka. then we add both persons and set the parentid for the child (the pseudonym)
** that way we can credit the correct person while still being able to display both data entries under 1 entity
==creatornametb==
* name
* lang - language of title
* type - type of title
** 1 - Main title
** 2 - Alias
** 3 - Maiden name
** 4 - Nickname
* verified
==creatorcreatorreltb==
-- used for "silly" relations like "marriage", collaborations, etc.
* prelid
**married
**works for
**works with
**...
* producerid
* next
==creatorrelationtb==
--defines the relation types
*name
*restriction
**relations should be filtered down by type
**personlevel relations make not much sense for companies and vice versa
** see character system which works that way
*description
==creatortagtb==
* tag system like used for character to add further non numerical data
=Top Level Agglomerates=
==Manga==
<tt>check [[MangaDB DEV|MangaDB]]</tt>
* like animenetries at AniDB
* description
* genres/categories
* mangaka(s) [relation]
* picture
==Character==
<tt>check [[CharDB DEV|CharDB]]</tt>
* arbitrary number of titles (with language information)
* picture
* description
* seiyuu [relation]
* appearance in episodes [relation]
==Song==
<tt>check [[OstDB DEV|OstDB]]</tt>
* arbitrary number of titles (with language information)
* length (in seconds)
* genre (?)
* artists(s) [relation]
* appearance in anime [relation]
* ...
==Collection==
<tt>check [[OstDB DEV|OstDB]]</tt>
* picture
* arbitrary number of titles (with language information)
* number of tracks
* release date
* genre (?)
* artist(s) [relation]
* anime(s) [relation]
* ...
=System=
This details a bit of what is done and what we are aiming at


[[Category:Development]]
[[Category:Development]]
[[Category:CharDB]]
1,633

edits

Navigation menu

MediaWiki spam blocked by CleanTalk.
MediaWiki spam blocked by CleanTalk.