hi monks.
i am trying to build a CMS/ object system for a meta-database, which
means it should hold references to media content. The reference is an URI, where the data actually is is not important for the database, but the meta-information. Much alike
but for independent content, not mainstream movies, rips, and so on.
(and not limited to filesharing networks)
for consumers it should be a nice ressource for interlinked, good
documented and rated media content.
other parts of the projects are about a real-life-vieo jukebox and a
quicktime/flash based (voting enabled) player -- the field of
experimentation is big, ranging from creating visualisations of the
data with
up to creating alternative browsing methods, realtime video-remixers
and so on...)
if you are interested, it will be
located here:
http://fs2.at (cooperation with http://mmm.ok.ag)
(please
contact me if you want to
help developing or researching or just want to talk)
- i will maybe move everything i have until now to sourceforge soon...
in the first state the database mostly stores visual content, which is
existing in the versions
- stream
- download
- broadcast
representing 3 levels of compression (we chose general MPEG4 as the
codec which is available on most of the platforms). the upload is done
with
CGI::FormBuilder
(thanks again
jdtoronto, cees
and the other monks who gave me good hints how to show the progress of the upload)
from the Perl side, i want to use
Class::DBI
and several other modules such as
Template Toolkit 1
2
|
Templating System |
Class::DBI 1
2
|
Simple Database
Abstraction; database to object mapping layer |
Class::DBI::mysql::FullTextSearch
1
|
for fulltext-searching mysql |
CGI::FormBuilder
1
2
|
Easily generate and process
stateful forms |
| XML::RSS 1 |
Create RSS for latest entries |
Imager 1
|
Perl Image Processing and
tricking
|
|
|
Small
Tools
|
|
Digest::MD5 1
|
using MD5 on files |
|
|
Media
Information Modules
|
|
Video::Info 1
2
|
resolving video filetype, info
about videos |
|
|
STRUCTURE
(1) OBJECTS
the objects represent the structure of the database plus their
functionality.
(2) CMS
the content management system has several scripts for interacting with the DB from the HTTP-side (HTML forms and things that makes the site-handling more easy).
features:
*
Template-Toolkit
*
CSS based
(3) I/O SCRIPTS
these are for
- remote i/o
- getting requests from outside back as XML, plaintext, HTML
- retrieving the media data
the main i/o are object methods. this is just about formatting output
and making things easier.
CLASSES
m=method
a=attribute
(1) Fs2
main database connection (
Class::DBI)
(1.1) Fs2::User
a: role
m: get() add() mod() commit()
(1.2) Fs2::Request
blesses Fs2::User or Fs2::Content Objects, depending on the query:
e.g.
- all users from the db sorted alphabetically (=array)
- all mmm videos from the db
(1.3) Fs2::Content
a: DB_ID
a: @mirrors
m: get() add() mod() commit()
(1.3.1) Fs2::Content::Playlist
a sequence of Fs2::Content objects (array)
(1.3.2) Fs2::Content::Media
the main class for a content entry, would be a "normal article"
(1.3.2.1)
Fs2::Content::Media::Video
(1.3.2.2)
Fs2::Content::Media::Audio
(1.3.2.3)
Fs2::Content::Media::Executable
(1.3.2.4)
Fs2::Content::Media::Interactive
(1.3.2.5)
Fs2::Content::Media::Other
+---+
+--------|Fs2+-----------+
| +-.-+ |
| | |
+-+--+ +--+----+ ,--+--.
|User| |Content| (Request)
+----+ +.-----++ `-----'
| |
| ++-------+
| |Playlist|
| +--------+
|
|
+-----+ +---+-+ +-----------+
|Video+--------|Media|..|Interactive|
+-----+ +.-.-.+ +-----------+
+-----+ | | | +-----+
|Audio+.......... | ....|Other|
+-----+ | +-----+
+-------'--+
|Executable|
+----------+
i know there are similar projects existing, like
OMA - the Open Meta Archive for
example. but i chose to completely redesign everything from scratch, as
i wanted to get used to
OO-perl
and build features that i think are missing in all the metadata
archives.