JMDB 2
We plan to build a version 2 of the JMDB from scratch. We start with a DB API, continue with a simple command line program and finally add the new GUI. This whole project will take at least a year, but we will try to modularize the JMDB2 so you can join us to write some of the modules.
Main Features Compared to 1.x
JMDB2 will be better in almost any way. :-) We think we have learned enough from programming the JMDB1 and now know what the real important features are and where to design it carefully.
- Simplicity: Whereas the JMDB1 source code was large and not easy to maintain because of the creation with IBMs Visual Age, the new implementation will be more modularized and easier to understand.
- Stable and small core: The JMDB2 main features will be implemented as a bunch of well designed classes with interfaces that are easy to understand and to use. They will be flexible and powerful enough to cover mostly all use cases we had in the past.
- Extensible and usable from other languages: The new database API and some wrappers will make it easy to use the movie database JMDB creates for you from your own applications. Extensions to the JMDB application itself will be possible in form of own search or result windows in the GUI.
- No unnecessary features: We won't implement all the unnecessary stuff one never needed in the JMDB1. This includes especially the expert result window. If you want to write one, you can do it later on implementing an own result window using the interfaces we will provide.
- List Definition Files: The JMDB database is created out of text files you can download from the IMDb project. Whereas JMDB1 had many different methods to handle all these different files (there are about 50 files with about 10 different formats), there will be list definition files that define the format of the text files. The list definition files are then used importing from the text files in a general way. With these definition files we are more flexible when a text file changes it's format or when additional files are available. There will be no need anymore to change the source code in this cases.
- Own tables: With the list definition files it will also be possible to define the format of own text files that can then be imported to additional database tables. The information you import here can be used through the database API like all the IMDb data. You can of course share these own tables with other JMDB users so they can also import the additional data to their database. An idea for an additional table would be the number of the DVD where you can find the movie in your DVD cupboard.
Rough Timeline (and now outdated as you see)
This has been only a rough plan. As we didn't have enough free time nothing happend so far. We still plan to work on JMDB 2.x but in the meantime the time will be used to update JMDB 1.x as we want to re-use most of the internal parts where it is reasonable.