ASP 101 - Active Server Pages 101 - Web05
The Place ASP Developers Go!

Please visit our partners


Windows Technology Windows Technology
15 Seconds
4GuysFromRolla.com
ASP 101
ASP Wire
VB Forums
VB Wire
WinDrivers.com
internet.commerce internet.commerce
Partners & Affiliates














ASP 101 is an
internet.com site
ASP 101 is an internet.com site
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

ASP 101 News Flash ASP 101 News Flash



 Top ASP 101 Stories Top ASP 101 Stories
Getting Scripts to Run on a Schedule
The Top 10 ASP Links @ Microsoft.com
What is Adovbs.inc and Why Do I Need It?

QUICK TIP:
Scriptless ASP Pages
Show All Tips >>
ASP 101 RSS Feed ASP 101 Updates


Building an ASP.NET App: John's DVD Catalog - Part 1: Feedback

by John Peterson

I've gotten a few requests to share the user feedback we've gotten to date to help others brainstorm so here you go...

I've removed the names to protect the guilty parties. If you'd prefer to have your name added or your message removed altogether, just drop me an email and I'll make the change immediately (well maybe not immediately, but at least ASAP).

I've made some comments about a number of the requests. They're highlighted by this style of text. Let me just say right now that all these plans are soft until they show up in the real code... we're going to try and do our best, but I can tell you right now that some of the features requested below will not make it into the code.

Selected Email:

I'm not posting all the replies for my own sanity and yours, but here are some of the replies I felt had interesting points or about which I had comments to make or something to add.


Too bad the site www.dvddb.com is not up yet. I'm assuming it will work like CDDB. You could pull all of your data from there to populate your tables... Just goes to show you, you're ahead of your time... :)

If all goes very well, we might try this with imdb.com. It depends on how easy their site is to screen scrape.


DVD Library...

Me and my friends have a webpage listing all of our DVDs so that we can share them with each other. the page is just has text/html, but I was asked to add the ability to show which DVDs where checked out, and who it was that had checked it out, and on what date.

Could you add this to your DVD Catalog?

Will do... if nothing else, we'll have a comment field you can modify.


For each DVD, you could have a links table -- for example a link to the page for the movie on IMDB.com. Having at least IMDB.com connected to each DVD would alleviate a lot of extraneous pieces of data you might want to know about the DVD (i.e. actors, movie studio, director, producers, etc.)

We are planning on linking to IMDB... we'll see about other links and how they should be managed as we go.


How about the ability to track to whom you "lend" a DVD? Check out / check in. Or if you really want to go wild, add a registration feature that let's users add their own list of DVDs that can be requested for loan by anyone that is registered.

Covered above... I'm not sure about the registration thing... I know I'd like to know who I'm lending my discs to a little better then just having them sign up on my web site!


criterion discs rule

Uh... Okay... Sure... Whatever you say... I'm staying out of this one.


Great idea! can you include:

1. Shopping cart
2. Security (user login)

Will you be using Visual Studio.Net to build it? This is a great tool that I would like to master.

Thanks,

I'm not sure what the application of a shopping cart would be in this app, but if a good one comes up we'll see. We'll look into some sort of basic forms based authentication for the comments system.

The current plan is to use ASP.NET to build it, but we are not currently planning on using VS.NET.


Hi John,

I loan my DVD's out to friends a lot. I'd like to see a printable report on how many I still have on loan, how long they have been out and to whom I loaned them. The ones that are overdue could be highlighted.

Thanks,

Printing huh... yuck, but we'll see what we can do.


Hi there,

a good source for features to include is the iiscart application: http://www.iiscart.com/overview.htm

cheers,


I'm in a similar position in the real world environment, and I'd like to see how to incorporate other media like a dynamic shockwave file (being called by catalog number in the db) and clips, streaming trailers.

take a look at what we've done (granted the DVD list is not an .asp page, but the video search is)

thanks

Images are a definite... other media (video, shockwave, etc.) remains to be seen.


I would include a counter so you could position yourself to your favorite scenes within a movie. This would also tie in to the capability of having more than one event on a DVD as in home movies(kids football game, birthday party, etc). Then the title could be tied into the counter and you can archive your home movies with it as well.

I can't see this making it into V1, but once we get things going we'll see about adding it.


Hi,

How about including a Special Features section, where you list the special features and extras included in the DVD.

Keep up the good work.

Not sure about the implementation yet, but we'll do something.


items I'd want in the directory:

director/producer
letterbox/TV formatted?
languages (spoken and subtitle)
interesting additional features
multi-angle viewing?
Rating (official)

All good... they're in.


Hi John,

Looking forward to read your articles in this topic.

Thanks


Hey John, I was just reading through your proposal and I'd love to see the full application. I'm not quite clear on the complete specs for you design, but I would like to see a completely web managed database. One where you could add, delete, and update records online. I've been having problems here at my office working on an idea that is very similar to yours. Basically it's and online DB where users can submit postings, update their postings and personal info, and basically manage the whole thing online. My biggest problems right now are dealing with form fields, SQL statements, and ASP. My hurdle is dealing with commas, double quotes, single quotes, and apostrophes inside the text fields that I am trying to pass to SQL using ASP. I imagine with film titles and such you would have to deal with a lot of these issues also and I would like to see how you handle them.

That's the plan... eventually... at first it might just be a browser, but before we're done you'll definitely be able to edit things as well.


John:

For my media collection (DVDs and CDs) I have included the ability to record the artists/actors. By doing so I can search for other movies with the same actors or in the case of CDs can find a CD where so and so made a guest appearance.

I'm currently torn on how far to take this... I want actors, but getting all the actors from all the movies would be a monumental task. I'm toying with just listing the top stars and leaving the rest to IMDB links.


John,

As I was reading your article I really couldn't think up any more suggestions for the first few phases of your catalog. But that's where I got an idea: I'm having trouble with thinking up some ideas... but if I could glance through others' ideas I might be able to come up with something... ie. It might be better to have ideas submitted to a forum instead of to your email so your user's ideas can be collected, and others can spin off or comment on each idea. Just a suggestion...

Well it's not a form (management always becomes a pain), but that's what this page is for.


What I'd like to see:

An elegant seperation of functionality from interface / visuals. I see a lot of ASP code on the net where the source looks like HTML, then ASP, then HTML, and on and on. This is actually hard to read IMHO. So, one thing you might consider when thinking about the architecture is how you're going to present the info from a high level and how it will be sorted. For example, you might want to give the user the ability to show DVD's by genre, by average review, or even in alphabetical order. Obviously there could be a lot of code reuse amongst those.

It seems that a lot of ASP'ers are web designer / web developer types and could use more examples of classic programming methodology.

Hope this helps,

Well elegant has never really been our thing ;) but we will be trying to seperate display from code as much as possible.


You could have all queries returned as XML.

For the front end, you could generate HTML from XML using XSL or use XHTML.

You're probably well aware that XSL is the way to go when you need to support down-level browsers and wireless devices.

I think ADO.NET is eventually going to be used mainly as a way to convert DB data to XML, and then XSL will be used to transform it for presentation.

We'll see...


Hi, I just read your mail regarding the DVD app you plan to build. Could you also include this please:

1>A web service for this : "an area for comments so I can write myself notes (like who I loaned the movie to) " -- service tracks who you loaned the DVD to.

2>And this "a rating system so visitors can rate my movies " - the web service displays some kind of ticker or symbol (say movie got 5 out of a possible 10) - which u normally see when ppl ask you to rate their page.

3>Please also include System.XML base class functionality-- you will be using SQL 2000 right?? Please use the "FOR XML AUTO" thing and show us the conversion from XML to HTML using datagrids,datalists etc.This could be there for "basic film information like title, release date, etc"

Thanks and regds,

I'm not sure #1 needs to be a web service, but we'll try and squeeze the comments idea in and we'll make sure to get at least one service in there as well.

Rating system is a go... not the first thing to be done, but we'll get it in there eventually.

#3... No promises, but I'll see what I can do.


Can you maybe publish the C# code as well?

Thanks for a kick ass site.

Again, No promises, but I'll see what I can do.... if we do it, it will be after the VB version is written and semi-complete.


Here is a list of things I think should be included in the project.

1. Duration of Film
2. Subtitle Language Options (Maybe more for a commercial app)
3. Does the DVD contain Extra Computer Data?
4. A Rating System so that you can rate whether or not you like the movie
5. Listing of the Cast (or at least main cast)
6. If you wanna get complex, you could have the app suggest other movies
that you might also be interested in, based on the movie/genre/search you are viewing.

Let me know what you think.

PS. Why don't you make this a project challenge for us to undertake? I wouldn't mind putting together some code for the fine viewers of ASP101.com! (this is where i learned everything i know)

Good ideas... I think we'll hit most of them... The suggestion things is good, but I'm debating what to build it on... if we use traffic flow we need to maintain a record of what movies different users viewed and it could get out of hand... we might just ask for recommendations... we'll see how it goes.

In terms of user input... it's quite an undertaking for us to manage an open-source-esqe project, but if anyone would like to contribute, drop me an email and we'll see what we can work out.


Hi Sir,
This is nice project. But on what basis you siad that, this is a n-tier application and and tell me if we impliment that project without using Vb, then what drawback are arises.

Regards,


Good idea it could also contain a link to the official site of the movie.

Could you also make a C # VERSION of the application.VB.Net is good but c# is cool.

Link shouldn't be a problem... as mentioned above, the C# version will come after the VB version if we decide to do it.


Hoi

A small peace of film in a box when you look at the record on screen does like me nice.

Greatings


Hi John,

At the company I work for most of us also got bitten by the DVD bug... Thats why we have built a DVD catalog and published it on our intranet. It looks like you already covered most of the features we implemented. I can only come up with three more suggestions:

1. Multi user support so a couple of owners can add their titles (automatic password creation for new members, admin can add/remove members etc.)

2. Automatically send e-mails when a member wants to lend a DVD from another member (status of a DVD being: lend out, available, not available)

3. Auction capabilities so members/visitors can buy DVD's that members want to sell.

Good luck with the project.

I actually hadn't thought of this being a multi-owner DB... it's an interesting concept... let me think about it, but for now I think we're going to proceed on the one owner = admin principle.

We'll get emailing in there for sure

Again a good idea, but it's sort of dependent upon the concept of multiple owners.


Hi John,
May I be so bold and offer my humble comments ...

Visitor reviews

Admin Area :- This is where you can login using user name / password to be able to remove any offending comments left by visitor reviews You may be at a customer site, showing off your web pages, and need to remove the comments.

DVD catalogue number

Auto link to a site that sells the DVD, passing the cat number, I don't know, but may be a good excuse to show how XML works. (I don't that's why I ask)

DVD region number

When linking to a database, please remember us who only use ADO on a Access database

How to add / show a picture to / from a database

Search by Artist / Title / a word in a title

Second hand film sales ? (Unsure about that one)

Page hit counter

Chat room

Printer friendly print review pages

Show visitors rating via a graph

If a form is used, how to check if a box has been filled in and if a numeric has been used and not a alpha.

Use some text boxes to show calculations: E.G.: Price, TAX, Posting = Total

Hope those idea's help.

Please feel free to contact me if required.

Many Thanks for a great web site, keep up the good work.

Kind Regards

Some good ideas... some seem like overkill. The chat room is out. We'll see how much of a pain SQL & Access compatible versions is going to be. Most of the rest will be around in some form or another.


How about a listing of the movie stars in each movie, so you can search by star and get all the movies the star has been in?

Thanks,

To some degree... depends a lot upon how many stars we list.


I would like to include basic dvd info like languages, special features, deleted scenes, etc.


I think you're onto something there with the full application sample

Idea:
links to someplace like amazon.com where someone could purchase the DVD like http://www.amazon.com/exec/obidos/ASIN/6304712936/qid%3D994966225/104-0921528-9209501

unfortunately I'm not too familiar with how these sites work as far as creating a dynamic link based on exact title.

For instance, I created an app that lets people schedule my Unreal Tournament gaming server for their personal use http://theweb.dns2go.com/sched/ when their game time is up I can create a dynamic link based on the unique Name of their created game to another website (http://ut.ngstats.com) which maintains a database of games played on supported game servers. I am able to do this because they have a querystring based search function for server names, and I just pass that URL Encoded name through their site. (scroll down to the stats link: http://theweb.dns2go.com/sched/event.asp?id=162)

(at the time of writing this email the ngStats site was having difficulty)

anyhoo there's my idea, using another ecommerce site's defaults to allow you to create dynamic links to their content and products.

We'll be doing this with IMDB. Shopping sites are iffy, but we'll see.


hi john

i've some ideas for your dvd app:

- create a link to www.imdb.com for each dvd. I think of just save an id and generate the link.

- other links, like official movie website or to order the dvd from amazon.

- maybe you could think of make it capable for multiuser, so anyone could get an account and log in, and add his dvd's

i wanted to build a dvd catalog in asp since months... but i never found the time...

cheers

Again with the multi-user... I'm pondering it...


hello john,

I had a few brain flashes for the DVD catalog project...

- A section that links to trailers and/or audio clips associated with a specific DVD title, that a user may have...

- A section for a DVD wish list that a user may keep track of for future addition to their collection...

That's it for now, and i'm looking forward to seeing this project get underway... Hopefully it'll help me get up to speed on the .NET technology.

best regards,

Wish list... maybe...


My suggestion is make it in ASP.NET! It seems silly to me to design such a complex application in a programming language that's going to be antiquated in 6 months. IBuySpy provides a great framework for basing the app on. Also, include a wishlist feature, like on Amazon! Those are way cool. People can write up lists of stuff they dig, and stuff they want but don't have and people can buy it for them as gifts and get ideas for buying stuff. Really convenient.

Good luck on your project! Or should I say, my project.

:-)

That's the plan... the C# version might come after the VB version and if I find the time, maybe I'll go back and tackle it in "classic" ASP, but don't hold your breath... we've got to get it written in .NET first.


Greetings -

I had half thought about the idea of writing one of these for myself. However the purpose for the DVD catalogue was slightly different -

I have a spreadsheet that I have a listing of DVDs I *WANT*, then cross them off if I buy them/get them as presents, etc.

Having this "wanted" feature worked out really handy - I just printed it off and handed it out when people asked me for a birthday present list. I also keep track of info such as the cheapest price I've seen it available in stores, etc - which can double as the "price I paid" field you mentioned.

Also part of my "wanted" spreadsheet was a comment for availability - Star Wars Episode 1 for example, is on my list but with a note - "due for release in October 2001." - again, with the price indicated as an expected rrp.

Also, something which should be included is the version of the movie - some DVDs have a bare-bones and a "Special Edition", "Collectors Edition", etc. Expanding further, it should be noted somewhere whether the particular DVD is part of a boxed set - Alien Legacy for example, contains SEs of all 4 Alien moves, AND a bonus materials DVD in the same package.

Wish list... still a maybe...

The edition is a good idea... I've got a number of discs that have multiple editions available.


John,

I would like to see something demonstrating how to implement a parent-child relationship. For example mabey you could have a page containing two list boxes, the first listing all available genres and the second displaying dvd titles available based on the genre selection. I am particularly interested in how this could be implemented with only a single trip to the server so users get instant feedback (possibly store values in a client-side array).

Just an idea, thanks for all the great material!

Maybe we'll do it, but it's doubtfull we'd do it on the client (ie. 1 trip to the server).


John,

I think that your idea for a larger application is a great one. I have been a long-time supporter of ASP101. I know you said the application would be programmed using VB. What about including (even if down the road) a C# version of the application. It would give many of us the opportunity to look at a side-by-side comparison of the two languages. Most examples are programmed in either one or the other and that makes code comparisons slightly more difficult while learning.

Keep up the great work!

Covered above.


Have the application support thumbnail and full size scans of the cover image for each dvd.

Have a way for visitors to the site comment on the movie and rate it.

Have the application interface with amazon so people that come to your site can purchase the movie so you can make a little money for your work.

Have the application list movies the person who rated them. If bob rates 5 of your movies when I click on bob I can see what movies he has rated and the rating he gave then I could click on the movie to see more detail about the movie and who else rated it.

Use XML to cache information from the database every 10 minutes so you dont have a bunch of people doing queries against your database. Use a scheduled stored procedure to update the XML file every so often.

You aught to post all the ideas on your webpage because sometimes ideas can lead to other ideas. Plus I am curious to see what others have come up with.

Thanks,

Images are a go as are comments and the associated user system. Commerce links are iffy. Caching is good, but we might use the caching system as opposed to XML. Posting is good too! ;)


I currently have a basic version of what you are talking about on my website http://www.stupidityinnumbers.com/DVDS.asp It is a quick page I did for fun. I am working on a more complicated Page with a lot of the same functionality that is a mixed drink databases. This small page also has a little administrative page that I can get to. Adding your other required feilds would only take a few minutes, and a search would only be a few more lines of SQL code!

Based on this list, I think we're looking at a little bit more work then that unfortunately!


John,

I am no asp expert, but I have tried to create a similar catalog and I made the mistake of not designing a very well normalized database. I mean I stuffed all the info in one or two tables.

A good idea would be to divided everything up in different tables and join the info:

dvds
----
title
cover image 
comments
date purchased
price paid
years
----
year
genres
-----
film genre (action/drama/comedy/tv series/etc.) 
actors
------
actorname
etc...

Looking forward to your future articles,

DB design is important... it's not my strong point, but we'll do our best.


People can sign up, or join the club, their posts of DVD's are moderated until they prove to be a worthy submitter and then they can add their collection, they can edit their own original posts and comment on others.

I kind of have alterior motives for learning this sort of interaction. I want the people I have listed on my website to be run off a database, they can sign in and edit their info. Then they can comment on other people, resources, anything on the site, including adding news. I am talking about www.flashcodehacks.com, I just stopped in to your site to check out ASP but I think PHP may be better for me, but I have to investigate...

The ratings generated by viewers is definitely cool. For your needs you might want to partner with Amazon or something as well (basically buid in a database field for ISDN numbers).

Nice site you got!

cheers,

ISBN might be a good primary key, but unfortunately, I've done a lot of buy 3 get 1 free type of deals and a number of my discs are missing this info... if I can get it off the web I might use it.


Project Links

Building an ASP.NET App: John's DVD Catalog
Home |  News |  Samples |  Articles |  Lessons |  Resources |  Forum |  Links |  Search |  Feedback

Internet.com
The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers