## Java Movie Database - Help

### Index

Main Window
Setup Dialog Box
DataBase Converter
Search Window
Simple Result Window
Detail Window
Movie Collection
Styles
Tips & Tricks

### Main Window

The main window is simple. The most important function (after converting the IMDb text files the first time you run JMDB) is to search in the database. In the toolbar there is a button to start a search. Alternatively, you can quickly open a Search Window by pressing ALT+S (or F3 or F7).

### Setup Dialog Box

Before you start to use the database and search for infos on movies, you have to configure some settings.

Above the tabs you find a checkbox which enables you to access all settings. As most settings normally don't have to be changed only the more important settings can be edited by default. This makes it easier for the user to setup the application.

In the General tab, you should enter the default internet browser (web browser) you use on your system. The browser is used everywhere, where you can call an URL (e.g. the detail windows like the IMDb-URL, the location where movies have been filmed but also at application windows like the 'About Box' as well as the JMDB-URL at the help menu).
The path to helpfile and soundfile (played after finishing a database request) have to be checked.
They are automatically set by the program at the first start and should be correct!
The Movie Collection Path is also automatically set up at the first program start. In that path you can edit and create your own movie collections, but we talk about that feature later!

The Number of results is used to limit the results shown.

Window Maximize Recognition is a workaround to be able to maximize the main window on a windows platform. Because there hasn't been such a feature in previous Java versions (because not all the systems Java is running on support it). The program will try to recognize if the main window is maximized by looking at its position. A maximized window has the upper left corner at position (-4,-4) with a standard width of a window border and a size of (screenwidth+8)*(screenheight+8). If you have set the borderwidth of a window to another value (in Windows control panel), try to edit the Maximize Recognition Pixels value.
If you don't use a Windows platform, disable the Window Maximize Recognition feature.

Another nice feature is the Intelligent Window Positioning. It tries to find a place for the follow up window (the follow up window from the search window is for example the simple result window) without hinding another window. If there is enough space for the new window it is placed there with an Pixel Offset.

Because generally the first thing you do when using JMDB is opening a Search Window, you can enable search window automatically at program start that does this automatically. But it is only shown when the connection to the database could be established.

In the DB Setup tab, you can enter the settings for MySQL or PostgreSQL databases. After installing and configuring the MySQL or PostgreSQL database as described in the documentation that comes with the database package (beside that there are some hints in the JMDB readme.txt) you need to setup JMDB.

- MySQL

- Database: There are multiple MySQL versions supported. Because each version supports a different feature set JMDB allows you to select the correct database.
  As a rule of thumb: Select the highest version!
  Since JMDB v1.40 the default, when you first start the application, is 'MySQL ≥5.0.0'.
- UserID: The general MySQL user is 'root'
- Password: The default password is depending on the system you are using.
  Often the passwort is not set at all, so you can leave the password field empty. Sometimes the password is also 'root'. On other systems (e.g. Linux) you may have been asked to enter a password while MySQL is installed.
- URL: The URL is set automatically to point to a locally installed database ('localhost' or '127.0.0.1'). If you have a home-server you can enter the IP address of that machine. The other elements don't have to be changed.
  If you messed things up just remove the complete URL and select the database again from the drop-down list to get the default setting back.
- JDBC Driver: The JDBC driver is also automatically set, so you don't have to change this. Other databases might provide multiple JDBC drivers, so they can be selected using the drop-down list.

- PostgreSQL

- Database: There are multiple PostgreSQL versions supported. For text indexes and full text search you should use 'PostgreSQL ≥8.3.x'. Newer versions like 8.4.x are also faster.
  As a rule of thumb: Select the highest version!
- UserID: The general PostgreSQL user is 'postgres'
- Password: Enter the password you used when you installed PostgreSQL.
  A good choice if you use it at home (no special security needed) would be 'postgresql' (same as the name of the default user).
- URL: The URL is set automatically to point to a locally installed database ('localhost' or '127.0.0.1'). If you have a home-server you can enter the IP address of that machine. The other elements don't have to be changed.
  If you messed things up just remove the complete URL and select the database again from the drop-down list to get the default setting back.
- JDBC Driver: The JDBC driver is also automatically set, so you don't have to change this. Other databases might provide multiple JDBC drivers, so they can be selected using the drop-down list.

After everything is set you can try to connect to the database by clicking on Test Connection.

If you have not yet converted any IMDb files you get a warning message. This is normal and everything is ok.

If you already converted the files and your database is working correctly you should get this message!

Finally if the database is not running, no connection could be established or the driver could not be loaded you should get this message!

In the IMDb-Import tab, you have to enter the correct location of the IMDb text files (Import Path). They are used when converting them into the MySQL or PostgreSQL database.
Here you can also select which files you normally want to import. Note that the 'required' tag can't be changed (it it used internally at the import). The only column you can change is the 'Import' column.
The first column is the import order, the second is the name of the IMDb file (without extension), the third is the result of a filecheck (it checks the files while you enter a path or when you selected one using the File selection dialog), the forth shows if a file is required to import data and the last one allows you import or not import the file.
The button 'Reload default import file settings' re-enabled all files for the import (default).

The options you can change in the Simple Result Window tab decide which information is shown in the window beside the movie! You can also set if the table should be sorted after searching with the quick search (recommended; quicksearch => searching for name/title and aka).
If you disable some columns, the results are shown more quickly. Especially the apprearing actors and actresses take a lot of time to be displayed.
You can also specify how the background color of the simple result windows should look like. You only have to enter the RGB values. The result is shown immediately in the box next to the entry fields.

The options you can change in the Detail Window Options tab decide which parts of information the detail windows show. If you disable some categories, the database query will finish more quickly but some information is missing.
You can also specify how the background color of the detail window should look like. You only have to enter the RGB values. The result is shown immediately in the box next to the entry fields.

### DataBase Converter

In the Database Converter window you convert the IMDB text files into the MySQL database. If you started JMDB for the first time, you have to convert them before you can use the rest of JMDB.

The database consists of round about 48 database tables. For speedup when searching in the database, you should create indices.
All indices are automatically created when you use Convert + Index, but you can prevent the converter from creating both movies2actors indices by using Convert.

BEWARE: You kill the complete database if you select Kill Database. If you select it, it deletes all database tables and the database itself.
This option is usefull if you want to delete the complete IMDb(TM) data from the database.

We don't plan to support the weekly IMDb (TM) update files directly, so you can only import the whole database (you can update the old files by applying the available diffs with a Diff-Tool - look at the IMDb site to get more info about this option).

### Search Window

To search for a string in one of the four main categories Movies, Actors, Directors and Producers is a basical function and regularly the first thing you do when using JMDB.

With the Show episodes of TV shows checkbox you can allow the search to return episodes of TV shows. These are also stored together with the movies since January 2006 and normally you don't want to see them.

Words means that entries are searched that contain all the words, disregarding the order. For example, you could search for actors "Harri Ford" (finding "Ford, Harrison") or "Batman Robin" (for finding "Batman & Robin (1997)"). String Comparison means searching for entries that contain exactly the string you entered in the Expression text field. With Regular Expression search, you can make more complex searches. The regular expression you can use are bound to the database server you are using with JMDB. You can find the details in the documentation of the database server.

Examples for regular expression searches (MySQL):

- Columbo.*197 in Movies searches all Columbo-movies in the '70s
- ^me[iy]er, in Actors searches all Actors whose name start with meyer or meier

Read the MySQL documentation for learning more about regular expressions.

Begin With means to search only entries that start with the given expression, End With searches only entries that end with it.

Search AKAs means that not only the main database table but also the AKA table is searched for the given name/title.

The Quick option is for getting a quicker response for a database query. Instead of making all queries with the given expression and then creating the result window, the query is internally split up into some more queries and after each step, the result is added to the result window.

When you select Expert Result Window you will have the result in one of these, but normally the Simple Result Window is the best choice.

Same Window means closing the last result window and placing the new one at the same place (also with different result window types).

You can also search for releasedates of movies. You can enter the country and the dates.
All settings set are saved when you click on the save button! The '%' operator is used to ignore the field.
When you search for the date, you have two options.
The first option: You can set the exact date, but you can also set year and month and set the day to '%' to ignore the entry, then all movies with a releasedate in the specified year and month are searched.
The second option: You can also enter a timeframe in which the movies can be found. The values are entered by days or set with the ComboBox objects. If you enter the days directly the comboboxes are automatically updated. The same happens to the day entry field if you set the date with the ComboBoxes. Internally the current date is the base calculating the FROM date.
If you enter -7 in the FROM (the first day field) the date from last week will be presented by the FROM ComboBoxes. The second day field shows the days to be added to the FROM date.
The dates are not directly saved in the setup, but the relative dates are by saving the days that are shown. In the example picture you can see above the value -7, 21, the Checkbox setting of 'Timeframe search' and the country (here '%') are saved in the config file.
The main purpose with this search is ( or at least for me :) ) to look which movies are currently shown in the cinema...
You want to go to the cinema and want to see all movies that started a week ago and all that start in the future (2 weeks). Then you select the timeframe search. Select the date from the last week (or just enter -7) and select the date two weeks in the future or the days that should be added to the calculated FROM date. Then you save this option and search for all movies that are shown in these 3 weeks. If you want to search again next week and call this search, the same days are automatically entered and the new FROM and TO dates are calculated.
NOTICE: You may be wondering why old movies (several years) show up in the search results. This is easy to explain. Sometimes movies are 're-released' and that way they get a new releasedate that is found in the search process.

With the Show episodes of TV shows checkbox you can allow the search to return episodes of TV shows. These are also stored together with the movies since January 2006 and normally you don't want to see them.

### Simple Result Window

In most cases, a Simple Result Window is what you need to get the informtion you wanted. After searching for a movie, for example, you select the one you want to know more about and press Details, or alternatively, you open the Detail Window by double-clicking on the item in the table. A Simple Result Window is easy to use and looks simple, but you don't have the possibility to change something.
You can configure this window with the provided options in Simple Result Window tab from the Setup. You can make JMDB show additional columns like actors or directors directly in the simple resuilt window. You're also allowed change the sorting of the entries in the table by clicking on the header of the table!

Then you can add a movie you have selected in the Simple Result Window to the Bookmark file by selecting the Bookmark button.
The Bookmark file is located in the Movie Collection Path you find in the Setup. You can view the stored bookmarks by selecting Bookmark from the Movie Collection Menu.
For more information look at the Movie Collection paragraph later in this help.

### Detail Window

This Window shows details of the selected item in a Simple or Expert Result Window. You can configure what exactly is showed in here by changing the options in the Detail Window Options tab in the Setup Window.

The IMDb URL allows you to call the Internet Movie Database website with the latest information about the person or movie, but you have to enter the Internet Webbrowser of your choice at the setup ('General' tab).
Note that the IMDb URL show in the person and movie detail windows don't work correctly on names that contain umlauts (not only the german umlauts). It will be automatically fixed if we move to a newer Java Runtime (>= 1.4.x).

Beside that, there is a toolbar shown over the details. If you want read eg. the plot of a movie you can click on the text plot and the detail window is moved to the location where the plot begins.
The last selected toolbar options are shown in another color, so the important options are easier to find.

Note that in a Movie Detail Window, the appearing actors are sorted by their importance they had in that movie.
The lower the number is in the < > the more important the actor/actresses was and the more money he or she earned.

As you can see here, in a Actor Detail Window, the movies in which the actor played are sorted by year.

You can also search further from the Detail Window! The movies, actors/actresses, director and producer are written in another color.
If you double click on those entries, a new search for that entry is executed and the results are shown in a new window.

If you don't want a new window simply hold down the left Alt-Key on your keyboard and double click on the entry. The result will then be shown in the same window you started the new search. This is working for the other windows as well.

JMDB can export details shown in the detail window (Movie, Actor,... detail window) as PDF using the iText library (http://www.lowagie.com/iText/). The files can be found in the "export" directory that can be found in the JMDB installation directory. The current PDF-Export is only a simple export possibility which could look a little bit nicer.
To call the popup menu which shows the "Export to PDF" menu can be opened with a right-click in the Detail window.
If you are a developer you might want to help to make it look nicer. Please contact us! :)

### Movie Collection

Before going into details, you can find the Bookmark and your own collections in the Movie Collection Path you specified in the Setup. Normally that directory is located in the same directory you installed the program into.

We support bookmarking a movie. You can add a new entry by selecting the movie in the Result Window and selecting Bookmark.

#### You can also manage your own video tapes and DVDs with the Java Movie Database.

For this, you write a table definition file like the ones that come with the JMDB package as samples. For an example, a column definition could look like

COLUMN = Rating ; 100 ; 100 ; 100 ; int ; 0xCEDEDE ; black

inside the definition file.

The data file for a movie collection is a standard CVS text files (you can export a spreadsheet table in this format with standard spreadsheet applications). For referencing an entry in the movie collection, the IMDB title (exactly the same text) is stored as "column 0" in the data file. This column is not visible in the table.

An interesting and useful thing is that you can write macro words in your data-file. This macro words are replaced in realtime when you open your movie collection window in JMDB. For example, you can write RATING as a macro word in your data files and RATING is replaced with the rating for that movie that is stored in the database. You don't have to insert that rating by yourself. Another advantage is that when you import newer IMDB text files some day, the rating of that new files is used. The data is always up to date by that way!

Since V1.2 the movie collection entries can have more than one line per movie, so you can e.g. show more than one aka-title of the movie.
With the 'Show full rows' you can switch between multiple rows per item and one line per item. You can also set in the *.def file how many rows should be shown (by default it is automatically calculated).

An example how the result looks like is shown below. Please read the sample files to learn more, they're documented well. It's easier as you think.

Please do not use the same files as the examples, because with an update the files could be overwritten by mistake.

Here you can see an example, where the full height of rows is shown.

### Styles

Since year 2002 JMDB supports different styles using the Java LookAndFeel which allows you to change the look of windows, buttons, entry fields and so on.
If you select another styles from the ones available in the Styles menu the selected style is activated directly, so you don't have to restart the program.
The default style, the Java Runtime Environment (JRE) selects normally when you run a java program, is marked in the menu as system default. If a style is not available but the JRE says it's supported, an error is shown in the debug screen (UnsupportedLookAndFeelException) and the styles is not changed.
This could happen for example under OS/2 (or eCS) with the Windows-Style, but Windows Style is available with windows.jar file under \java11\Swing!

Since JMDB v1.35 (starting with a beta in August 2006) it is possible to support more than just the default Look and Feel (LAF) styles that are shipped with the Java Runtime Environment.
Currently those LAF are:

- NimROD (FREE - http://personales.ya.com/nimrod/index-en.html)
- JGoodies Looks (FREE - http://www.jgoodies.com/)
- Lipstick (Free for non-commercial use - http://regis.risp.pl/)
- Substance (License BSD - http://substance.dev.java.net/)
- Tonic (License LGPL - http://www.digitprop.com/)

LookAndFeel selection

We will support more styles in the future, because they can really easy be implemented in the program. There are BeOS, Kunststoff and other styles available at no cost!
Below there you can see several examples of supported Look and Feel.

Metal LookAndFeel

Motif LookAndFeel

JGoodies Plastic

JGoodies Plastic XP

Lipstik

Tonic

Substance

NimROD

### Tips & Tricks

- Hold down the Alt key when clicking an a actor/director/producer/movie in detail window will close the old window and create the next detail window at the same position.
- Look into the MovieCollection sample files in the MovieCollection directory for learning how to set up your own collections
- press F3 for quickly returning to an open search window and you can immediately start to write your next search expression
- data in movie collections can be inserted automatically when using macro words that are replaced with database data