Difference between revisions of "MangaDB DEV"

From AniDB
Jump to navigation Jump to search
m
 
(16 intermediate revisions by 3 users not shown)
Line 5: Line 5:
  
 
For other areas of active development on AniDB, check: [[Development]].
 
For other areas of active development on AniDB, check: [[Development]].
 
Directly related: [[Generic PersonCompany DEV]]
 
  
 
=Vision=
 
=Vision=
Line 17: Line 15:
 
* Manga
 
* Manga
 
* Doujin
 
* Doujin
 +
* Magazines
  
 
==Releaseforms==
 
==Releaseforms==
Line 52: Line 51:
  
 
==Editions==
 
==Editions==
To make things worse the same content is released in multiple editions. Multiple editions usually share the same content (usually chapters) but might add different bonus content (illustrations, omake etc.). Repackaging and rereleasing are further reasons.
+
To make things worse the same content is released in multiple editions. Multiple editions usually share the same content (usually chapters) but might add different bonus content (illustrations, omake etc.).  
  
Hence an edition may or may not reuse existing content. It's potentially wanted to "transfer" as much data as possible with this. (where content = credits, release dates) While i say transfer what really is wanted is not duplication, but adressing the same content from multiple angles to lessen maintenance.
+
We will have to ignore this idea in favor of simplicity. it's not feasible to completely mirror reality.
 +
 
 +
If an edition is worth it it should be added as a new manga entry. While this might seem entirely stupid it's the only feasible way to do this.
  
 
==Credits==
 
==Credits==
* Author (作者)
+
* 作者, 著者 - Author
* Publisher/Printing (出版社)
+
* 発行所, 発行 - Publishing Office
* ...
+
* 出版社, 発行者, 発行人 - Publisher
 +
* 発売所 - Sales Office
 +
* 編集, 編集人, 編集者 - Editing
 +
* 編集協力 - Editing Assistance
 +
* カパーイラスト, COVER ILLUSTRATION - Cover Illustration
 +
* カパー&ロゴ - Cover and Logo
 +
* 本文デザイン - Text Design
 +
* 印刷, 印刷所 - Printing
 +
* 装丁, 装幀 - Binding
 +
* 製版, 本文製版 - Text Platemaking
 +
* 製本 - book making (binding, publishing)
 +
* ILLUSTRATION, SPECIAL ILLUSTRATION - porn mag illustrations
  
Additional ones may contain assistance, editing, colouring, illustration.
+
Additional ones may contain assistance, colouring, illustration.
  
 
Most credits apply on volume level and for regular manga are given in a short summary towards the end of the book. Though certain types of releases may contain content which doesn't fit that rule. Especially illustrations/guest work should receive credits on chapter level. Same goes for magazine releases
 
Most credits apply on volume level and for regular manga are given in a short summary towards the end of the book. Though certain types of releases may contain content which doesn't fit that rule. Especially illustrations/guest work should receive credits on chapter level. Same goes for magazine releases
Line 73: Line 85:
 
*packs aren't standardized
 
*packs aren't standardized
 
*repacks and re-edits are common
 
*repacks and re-edits are common
 
Hence because of that adding hashes or automating the add via those is somewhat impossible. The only way to do this would be if we break it down to the page level which is somewhat silly. Furthermore as viewer are capable of showing the content without extracting many people don't decompress the packs. Because of that going down to that level is pointless.
 
  
 
=Implementation=
 
=Implementation=
Line 80: Line 90:
 
==General==
 
==General==
 
===Manga entries===
 
===Manga entries===
* basically just a name and a summary/description of the entry
 
* further data can't be stored at this level
 
* categories/tags would be assigned on this level
 
 
===Editions===
 
 
* compareable to an anime entry
 
* compareable to an anime entry
 
* made up of several elements (chapter, volumes, etc.)
 
* made up of several elements (chapter, volumes, etc.)
 
* picture
 
* picture
  
===Element Edition===
+
===Element Relation===
* to make truly reuseable we need a layer between editions and elements
+
* as certain blocks are content wise identical we need a mapping table between content and manga itself
* release dates
+
* contains meta data that is not content specific (dates, numbers, pics)
* volume/chapter "number"
 
 
* controls the order of elements (some internal number to shift content around)
 
* controls the order of elements (some internal number to shift content around)
  
 
===Elements===
 
===Elements===
* compareable to an episode entry
+
* comparable to an episode entry
 +
* content specific reusable elements
 
* variable element which may be a volume, chapter, omake, illustration, etc.
 
* variable element which may be a volume, chapter, omake, illustration, etc.
* needs nesting capeabilities to build a 2 level hirachy
+
* needs nesting capabilities to build a 2 level hirachy
* only volume/chapter(/omake?) ones should be addable to mylist; rest is mainly only in for credits and completeness sake
 
  
 
===Files===
 
===Files===
Line 105: Line 109:
 
* possible would be to assign multiple hashes to each of these generic files to a) stop the clutter problem and b) still allow for automatisation without completely depending on filename parsing
 
* possible would be to assign multiple hashes to each of these generic files to a) stop the clutter problem and b) still allow for automatisation without completely depending on filename parsing
  
===Credits/Character===
+
===Mylist===
* credits will be set on element level; we can't add a manga or edition id in this for easy access as the data wouldn't be universally useable anymore
+
* as files will exist on element (content) level, unbound of direct relation to manga, we want to store a mangaid in the data record to prevent every single appearance of the file/content in manga popping up in mylist; if the user really has multiple files of the same content in different manga he will have to add those files as well even if that means "duplicating" entries in listtb records. a unique key would hence need to be "uid, fid, mangaid" and not just "uid, fid"
* to lessen the pain of data retrieval we will use a caching table which duplicates and condenses the data
+
 
 +
===Credits===
 +
* while the content of a certain element might be identical the credits for said element might differ and hence we can't apply it on element level, but have to make it manga specific. this will mainly reflect on the publishing level. considering credits for manga are quite short duplicating the records shouldn't be too much work.
 +
 
 +
===Character===
 +
* as we enforce a unique content rule character can be set on element level and will hence apply for every related bit.
  
 
==Database==
 
==Database==
===Approach 1===
+
[[Image:Mangadb-dbspecs3.png]]
BUSTED for various issues in regards to how data can be reused like credits and dates
 
[[Image:Realshitdiagram.png]]
 
  
===Approach 2===
 
[[Image:Mangadb-dbspecs2.png]]
 
 
[[Category:Development]]
 
[[Category:Development]]

Latest revision as of 15:49, 2 January 2012

General

this is the place to contribute ideas on a possible future addition of manga data to AniDB.

For other areas of active development on AniDB, check: Development.

Vision

Data

First thing we need to be aware of what data we would like to actually store/how the real world looks like.

Content forms we care about

  • (Light) Novels
  • Manga
  • Doujin
  • Magazines

Releaseforms

Content comes in various forms made up of different elements.

chapter only releases

used where?

  • official online distribution

content elements

  • chapters

volume only releases

used where?

  • some novels
  • doujins

content elements

  • volumes which consist of basically 1 "chapter"
  • "chapter"; basically 1 per book
  • omake (depending on wanted granularity)
  • illustrations (depending on wanted granularity)
  • other 1 page content (index etc.) (depending on wanted granularity)

mixed content

used where?

  • everything else

content elements

  • volumes which encapsule the content into datasets
  • chapters
  • omake (depending on wanted granularity)
  • illustrations (depending on wanted granularity)
  • other 1 page content (index etc.) (depending on wanted granularity)

Editions

To make things worse the same content is released in multiple editions. Multiple editions usually share the same content (usually chapters) but might add different bonus content (illustrations, omake etc.).

We will have to ignore this idea in favor of simplicity. it's not feasible to completely mirror reality.

If an edition is worth it it should be added as a new manga entry. While this might seem entirely stupid it's the only feasible way to do this.

Credits

  • 作者, 著者 - Author
  • 発行所, 発行 - Publishing Office
  • 出版社, 発行者, 発行人 - Publisher
  • 発売所 - Sales Office
  • 編集, 編集人, 編集者 - Editing
  • 編集協力 - Editing Assistance
  • カパーイラスト, COVER ILLUSTRATION - Cover Illustration
  • カパー&ロゴ - Cover and Logo
  • 本文デザイン - Text Design
  • 印刷, 印刷所 - Printing
  • 装丁, 装幀 - Binding
  • 製版, 本文製版 - Text Platemaking
  • 製本 - book making (binding, publishing)
  • ILLUSTRATION, SPECIAL ILLUSTRATION - porn mag illustrations

Additional ones may contain assistance, colouring, illustration.

Most credits apply on volume level and for regular manga are given in a short summary towards the end of the book. Though certain types of releases may contain content which doesn't fit that rule. Especially illustrations/guest work should receive credits on chapter level. Same goes for magazine releases

Character

  • Chapter appearance

Nothing more to store here.

Situation and Problems

  • packs aren't standardized
  • repacks and re-edits are common

Implementation

General

Manga entries

  • compareable to an anime entry
  • made up of several elements (chapter, volumes, etc.)
  • picture

Element Relation

  • as certain blocks are content wise identical we need a mapping table between content and manga itself
  • contains meta data that is not content specific (dates, numbers, pics)
  • controls the order of elements (some internal number to shift content around)

Elements

  • comparable to an episode entry
  • content specific reusable elements
  • variable element which may be a volume, chapter, omake, illustration, etc.
  • needs nesting capabilities to build a 2 level hirachy

Files

  • generic files with language flag and group assignment
  • possible would be to assign multiple hashes to each of these generic files to a) stop the clutter problem and b) still allow for automatisation without completely depending on filename parsing

Mylist

  • as files will exist on element (content) level, unbound of direct relation to manga, we want to store a mangaid in the data record to prevent every single appearance of the file/content in manga popping up in mylist; if the user really has multiple files of the same content in different manga he will have to add those files as well even if that means "duplicating" entries in listtb records. a unique key would hence need to be "uid, fid, mangaid" and not just "uid, fid"

Credits

  • while the content of a certain element might be identical the credits for said element might differ and hence we can't apply it on element level, but have to make it manga specific. this will mainly reflect on the publishing level. considering credits for manga are quite short duplicating the records shouldn't be too much work.

Character

  • as we enforce a unique content rule character can be set on element level and will hence apply for every related bit.

Database

Mangadb-dbspecs3.png