|
Eidetic Interface System |
|
|
Development |
#!/usr/bin/perl -wT
use strict;
# A "program" is an operating method inside eidetic (docsys, eacct, etc)
# A "module" is a set of routines associated with a specific program function
# (host, user, host_type, etc)
$| = 1; # Flush STDOUT
use Eidetic;
my $program = 'tester';
my $e=new Eidetic(program_name => $program);
# Configure application
if (!$e->configure(
fields => [
special_field => undef
another_config_field => undef
]
)) {
die "Cannot configure program:";
}
# In the future, register new commands here...
# Get the loaded configuration
my $conf = $e->getConfig();
# Create a personal object to use with your functions, configured
# with info from the config file
my $obj = new Some::Object(
database => $DB,
archive_path => $conf->{archive_path},
noimage_path => $conf->{noimage_path},
default_extension => $conf->{default_extension},
default_language => $conf->{default_language},
tmp_path => $conf->{tmp_path},
archive_permissions => $conf->{archive_permissions}
);
# Tell eidetic to use this object
$e->useObject($obj);
# Register all the access modules
$e->registerModule(name => 'documents',
table => 'document',
commands => [ qw( display search ) ],
queries => {
'tablename',
'filter',
'sort'
},
);
$e->registerModule(name => 'folders',
table => 'folder',
commands => [ qw( display search ) ],
);
$e->registerModule(name => 'licenses',
table => 'license',
commands => [ qw( display ) ],
);
$e->registerModule(name => 'languages',
table => 'language',
commands => [ qw( display ) ],
);
$e->registerModule(name => 'projects',
table => 'project',
commands => [ qw( display ) ],
);
$e->registerModule(name => 'users',
table => 'user',
commands => [ qw( display ) ],
);
$e->main();
|