Manual¶
NOTE: as of June 2011 the new manual is work in progress, the old Manual (version 0.1-0.3 can be found here: OldManual )
- Manual
- Introduction
- About this Manual
- What interkomm is supposed to do
- How does it work
- Current shortcomings
- Installation
- Requirements
- Notes on using the development version
- Installing from debian repository
- Installing from the subversion repository
- Where is what in the filesystem
- Using the command line interface
- Using the UI
- Advanced Documentation
Introduction¶
About this Manual¶
this manual refers to all versions from 0.0.4 and above.
What interkomm is supposed to do¶
How does it work¶
Current shortcomings¶
interkomm is under development and while it does some stuff already, there are many incomplete functions.
currently known issues are ( but there are probably more ):
- if you rename or move files in the filesystem, they will currently get a new ID
(and potentially loose all metadata connected to them)
- stop and start procedure is buggy when one of the daemons has crashed
- password, account and project management is currently limited to the command line tool
- issues with database locks might still occur when heavy concurrency is used
- repairing a project is pre-alpha and only supported via the command line tool
Installation¶
Requirements¶
Right now, the refernce platform for interkomm is Debian/GNU Linux stable ( squeeze ).
Notes on using the development version¶
Please note that interkomm is still under heavy development and versions in the svn can be broken or potentially do some harm to your previous installation. please handle it with care.
Installing from debian repository¶
Step 1: getting interkomm and ffmpeg: -------------------------------------- add the plentyfact and the debian multimedia repositories to your /etc/apt/sources.list deb http://packages.plentyfact.org/debian/ experimental/ deb http://www.debian-multimedia.org squeeze main # apt-get update # apt-get install interkomm ffmpeg Step 2: set up the UI (width apache2) -------------------------------------- an example apache2 vhost can be found at: /usr/share/doc/interkomm/example.vhost cp the file to your /etc/apache/sites-available/ directory and adjust settings if needed ( such as IP and/or server name ) run the following to make sure all necessary modules are available # a2enmod fcgid # a2enmod rewrite # a2enmod auth_digest # a2enmod authn_dbd check if everything is ok with # apache2ctl -t after this restart apache # apache2ctl restart Step 3: dev configuration -------------------------------------- run as root # ikm --dev-setup you will be asked to enter a name for a first project and your global admin password now run: # /etc/init.d/interkomm start this might take 2 or 3 seconds to start, after that, the following processes should be running: ikmd , ikmeventd, ikm-worker (twice) , inotifywait now open the UI in your browser and login with "admin" and the password you have set.
Installing from the subversion repository¶
TODO.
Where is what in the filesystem¶
/usr/sbin/ikm main command line utility
/usr/sbin/ikmd the tcpd daemon
/usr/sbin/ikmeventd the event daemon
/usr/sbin/ikm-worker the spool daemon
/etc/interkomm/ global config files
interkomm.yml main configuration file
/usr/share/lua/5.1/ikm.lua the library loader
/ikm/*.lua lua modules for interkomm
/var/lib/interkomm/
/db/ global database files ( scheduler.db, user.db )
/projects/<projectname>/db/ project related db
/share/work/
/cuts/
/production/
/ignore/
/app/ files for the UI
/public/ root directory for the apache vhost
/usr/share/doc/interkomm/ some helpful files (e.g. the apache vhost example )
/usr/share/man8/ ikm manpage (unfinished)
Using the command line interface¶
The command line utility for interkomm is called "ikm" and is installed in /usr/sbin by default.
# ikm --help
interkomm 0.4.6
usage:
basic commands:
--create-project <project> create a new project
--purge-project <project> completely purge a project (WARNING: removes all files, too!)
--create-user <username> <passwd> create a useraccount with password <passwd>
--remove-user <username> remove a user account
--change-password <username> <passwd> change password for a user account
--lastlog shows the latest log entries
--list-projects lists all projects found in the filesystem
extended commands
--project -p <project> specify the project to work on
--action -a <action>
available actions:
adduser -u <username> add a user to the project
deluser -u <username> remove a user from the project
members list all members of a project
generate-overview (re-)generates the preview infos/pages ( currently broken )
analyze compares the filesystem for any discrepency between database and filesystem
repair will attempt to repair the discrepency between database and filesystem
( ikmd needs to run to do that )
stats returns number of videos ( in the database) and overall size
backupdb dumps a snapshot of the files database (experimental)
--user -u <username> used with project
--file -f <filename> (currently unused)
--item -i <uid> (currently unused)