The bad news is that the current source code release of CCTorrent is broken because of the new database scheme. The good news is that the new scheme will allow more flexibility.
The following models have been added to the database:
- Profile: A user profile: One user can have many profiles.
- Item: Item is an abstract base class for Album, Track, Video and Picture. All subclasses of Item can be rated when the rating system is implemented.
- Collection: This represents a collection of Item objects whereby a Collection itself is an Item. A user can add his favourite collections (albums, podcasts, ...) to a new collection to share his favourites with the world. Of course a user can create a collection that consists of tracks, cat videos (or other videos) or pictures.
- Picture and UploadedPictureFile: Until now picture files were just stored on disk without being registered in the database. Registering them will allow easier reuse of a picture file and also allow using one picture for many items.
The following models have been replaced:
- Album -> Collection
- Artist -> Profile
The new database model means a lot of code has to be changed but the new flexibility of the scheme will be worth it. With the new picture model CCTorrent will have another feature MediaGoblin has. It would be not very difficult to add a text model to add another feature of MediaGoblin to CCTorrent ;)
Next development steps
Switching to Python 3 will be done during the code rewrite caused by the new database model. With Python 3 Unicode problems will be solved.
The next important problem for CCTorrent is file uploading, since it only works reliable on Django development servers, but not on production servers.