Welcome to the Invelos forums. Please read the forum rules before posting.

Read access to our public forums is open to everyone. To post messages, a free registration is required.

If you have an Invelos account, sign in to post.

Invelos Forums->Posts by movie_madness Page: 1  Previous   Next
Message Details
Quoting GSyren:
Quote:
Quoting movie_madness:
Quote:
The OP says he wants "unlimited countries."  If he is thinking of a really high number, then it probably needs to be done with a one-to-many relationship, which does accommodate a really high number of values: millions, even gigs.

Just how many countries do you think there are in the world? 
There is a difference between theoretically unlimited, and unlimited in practice.
Btw the answer is less than 200 countries. It varies a little over time.

If you are proficient in database design, then designing a database for this purpose isn't that great a deal. It does take a bit of planning, but it's not rocket science. Ideally it should be 100% normalized, but sometimes that's overdoing it.

So, I stand by my opinion that designing the database isn't the biggest challenge for the project as described. That's 40 years of professional programming talking ...


But has any of your experience been in database design?  DVD Profiler is a *database* program, and that's the expertise you need here.  A database is a very structured object.  Any changes, even slight ones, to its structure, data format, field properties, etc. could involve a major operation.  If you've had professional experience in databases then you MUST know this.  DVD Profiler was made a long time ago and its database structure is long overdue for some improvements.  More often than not, a database's structure RESTRICTS what you can do on the application end of things, which you must also know.  And THAT is why some of the wish-list features for DVD Profiler are pipe dreams, as you call it, because they are very difficult to do if not impossible.  Database structure always HOLDS BACK whatever you want to do on the application end, please understand this.
Posted:
Topic Replies: 40, Topic Views: 5113
Quoting mediadogg:
Quote:
Quoting movie_madness:
Quote:
In database lingo, the re-design needs to accommodate more "one-to-many" relationships (anyone who has database experience knows what that means).  The current database structure doesn't have the "many" relationship for things like countries, media companies, and screenshots, and that is why you can't have a disc linked to unlimited countries, companies, pictures, etc.  And you will never be able to do that UNTIL the database structure is re-designed to accommodate such one-to-many relationships.  A re-design after the fact would be difficult and may even be impossible.  That was why I designed my own.

It would be great to see the "ideal" schema for a DVDP database re-design. Out of curiosity, in your opinion, could some of the aspects of a many-to-one relationship for the fields in question be simulated by using hidden child profiles using custom profileIDs?


Adding a profile in that manner would waste space because each profile contains a whole bunch of other fields that you likely won't need.  To obtain a "many" field in an efficient manner, you need a one-to-many relationship set up only for that field. 

And if you don't need that many items for your "many" field, a "multi-value" field would work too.  A multi-value field only requires changing the data format of that field, and most likely doesn't require re-designing the database structure.  DVD Profiler DOES have a multi-value already in use: it is the "Regions" box that lets you checkbox A, B, C for Blu-ray or 1 to 6 for DVD.  So we know this data format is supported in the software.  A single field (regions) that could contain multiple values is the very reason of having a multi-value field.  The same could conceivably be done for country, genres, and studios.  But as you see, those are entered in separate boxes.  The software treats them as distinct entities: country #1, country #2, genre #1, genre #2, etc.  Mr. Ken Cole might have his reasons for having such a design (perhaps for easier filtering?).  But a case could be made that those fields could be set up as multi-value like Regions. 

The advantage of a multi-value field is that there is no fixed limit in the number of items within it: you could have 1 country, 5 countries, 10 countries, etc., instead of the fixed 3 countries currently limited by DVD Profiler.  The country field would be a prime candidate for switching over to a multi-value field.

But a multi-value field does NOT offer unlimited storage; there is a limit to how many values you can put in it.  The OP says he wants "unlimited countries."  If he is thinking of a really high number, then it probably needs to be done with a one-to-many relationship, which does accommodate a really high number of values: millions, even gigs.  The only one-to-many relationship used in DVD Profiler is that for the cast & crew data, which can hold an untold amount of data as we know.
Posted:
Topic Replies: 40, Topic Views: 5113
Quoting GSyren:
Quote:
Quoting movie_madness:
Quote:
Not a pipe dream at all, because I've done it.

That's nice, but it's not what we have talked about here. The "pipe dream" was to create a desktop program that rivals DVD Profiler's user functionality, including customization.

If creating the database structure was the trickiest thing for you, then you haven't even scratched the surface of the problems involved in replicating all Profiler's features. It can't be done in ASP.

But, if you have created a program that works better than DVD Profiler for you, that's still quite impressive. I wish we could see it.


But the wish list features in your top post (unlimited countries, media companies, screenshots, etc.) DO require a database structure re-design!  In database lingo, the re-design needs to accommodate more "one-to-many" relationships (anyone who has database experience knows what that means).  The current database structure doesn't have the "many" relationship for things like countries, media companies, and screenshots, and that is why you can't have a disc linked to unlimited countries, companies, pictures, etc.  And you will never be able to do that UNTIL the database structure is re-designed to accommodate such one-to-many relationships.  A re-design after the fact would be difficult and may even be impossible.  That was why I designed my own.

I posted about my database here a long time ago and showed screenshots of my website that has my online collection.  As I said, the biggest time-saver is auto-import IMDb cast & crew with just one mouse click, which is accomplished with web-scraping, the same method used by the Cast Crew Edit 2 plugin.  Then I have "quality of life" features such as having all reviews by Leonard Maltin and Pauline Kael in my database, saving the time to look them up on the web.  In addition to cast & crew credits, I also have "media credits," which include people who did work for the discs (i.e. media) instead of the movies: audio commentaries, visual essays, featurettes, etc., things that aren't listed on IMDb that I wish to include.  That allows me to search for such work by person.
Posted:
Topic Replies: 40, Topic Views: 5113
Letterboxd is movie-based service that doesn't help you with your *media-based* collection.  That's why serious collectors that want complete control of their collections (disc covers, disc specs, etc.) use DVD Profiler and the likes, which not only contains info of the movies but also info on the media formats (disc, cloud, etc.) the movies are recorded in.  DVD Profiler or the likes is a whole new level of movie-cataloguing that average movie fans just don't do.
Posted:
Topic Replies: 8, Topic Views: 3284
Quoting GSyren:
Quote:
Sometimes I get the notion that I could write my own Profiler. Then of course I realize that without an online collection it would be no match. But what if Invelos shuts down its servers? Well, you could still use DVD Profiler, of course. But it would lose that advantage.

Realistically, developing a better, offline, profiling program is a pipe dream, of course. But it’s kind of a thought experiment for me. What functionality would I add or change to make a better program?

I would like to invite your thoughts on this. What would you like to see?

Personally, I can think of several things right off the bat. Unlimited entries for multi value fields like Country of Origin, Studios, Media companies, Genres etc. “Not determined” defaults for fields where that would be relevant, like Subtitles. Unlimited number of images rather than just front and back cover. And, of course, XML import from Profiler export.

This would be a stand-alone program, so things like separating film data from product data (which has been a long standing wish for DVD Profiler) wouldn’t make much sense. But with that in mind, what would you want if you could just get any wish?


Not a pipe dream at all, because I've done it.  I've made my own movie database that can be accessed online anytime anywhere, includes special BD/DVD features like short films and audio commentaries (and the people who did them), includes extra info like reviews by Leonard Maltin and Pauline Kael, etc.  If you have experience in database design and programming then it is definitely doable.  I use Microsoft Access and ASP, which uses BASIC, the easiest programming language there is.  The trickiest thing is to design a "database structure" that works for you.  DVD Profiler uses what I would consider a very inefficient database structure that wastes space (my DVD Profiler database with only 5,000 titles uses 400 megabytes with no images, but my own database wiith 13,000 titles only uses 150 megabytes with no images), and has a lot of shortcomings such as no unicode, duplicate names, blank cast and crew (lack of contributions), etc.  The database I designed makes things efficient and it can do a whole lot more things a lot better.  I still use DVD Profiler, but mainly for its covers, because that saves me from having to scan the covers myself.  But even that is becoming useless because I'm finding more and more discs with no covers.  E.g. Criterion makes Blu-rays and DVDs for its titles, but DVD Profiler has only Blu-ray covers for a lot of titles, because no one is buying the DVD versions so no one is scanning the DVD covers!

The biggest feature of my own database is that it can instantly import all cast & crew of a title from IMDb with just a mouse click.  DVD Profiler doesn't use IMDb so someone has to manually put in the cast & crew, either a contributor or (increasingly common) you yourself.  Even with that popular Cast Crew Edit 2 plugin (which also relies on IMDb), you still have to spend a whole lot of time copying and pasting.  In my database, one mouse click, a few seconds later, you see the whole cast & crew.  Not 10 names, not 20, or whatever the limit is, but the WHOLE cast/crew list.  Whatever is on IMDb cast & crew page, I get.  That is the single biggest time-saver a software of this kind could have, and yet DVD Profiler wastes the most time on it.  Other cataloguing software like All My Movies, Collectorz, Ant Movie Collection, Eric's Movie Database, My Movies Collection (and I've used them all) are also iffy in the completeness of cast & crew and expediency in manually entering cast & crew.  The cast & crew is the BULK of data of every movie title, and yet most of these programs do a poor job with it.  Your database is only as good as your data.  If data are incomplete and unsearchable, they are as good as not existing at all.
Posted:
Topic Replies: 40, Topic Views: 5113
Invelos Forums->Posts by movie_madness Page: 1  Previous   Next