$c->{plugins}{"Event::ScanFile"}{params}{disable} = 0;

$c->add_dataset_field( "file", {
		name => "file_cmd_mime",
		type => "text",
	}, reuse => 1 );

$c->{datasets}->{test_dataset} = {
	class => "EPrints::DataObj::TestDataset",
	sqlname => "test_dataset",
	datestamp => "datestamp",       
	sql_counter => "datasetid",
};

# Add fields to the dataset
$c->add_dataset_field( "test_dataset", { name=>"datasetid", type=>"counter", required=>1, can_clone=>0, sql_counter=>"datasetid" }, );
$c->add_dataset_field( "test_dataset", { name=>"name", type=>"text", required=>0, }, );
$c->add_dataset_field( "test_dataset", { name=>"count", type=>"int", required=>0, }, );

$c->add_dataset_trigger( "file", EP_TRIGGER_AFTER_COMMIT , sub {
		my ( %params ) = @_;

		my $repository = %params->{repository};

		return undef if (!defined $repository);

		if (defined %params->{dataobj}) {
			my $file = %params->{dataobj};
			my $file_id = $file->value("fileid");

			$repository->dataset( "event_queue" )->create_dataobj({
					pluginid => "Event::ScanFile",
					action => "scanfile",
					params => [$file_id],
				});
		}

	});



# Define the class, this can either be done using a new file in the right place, or by using this override trick, open a '{' and then continue as it this is new file
{
	package EPrints::DataObj::TestDataset;

	our @ISA = qw( EPrints::DataObj );

	# The new method can simply return the constructor of the super class (Dataset)
	sub new
	{
		return shift->SUPER::new( @_ );
	}

	# This method is required to just return the dataset_id.
	sub get_dataset_id
	{
		my ($self) = @_;
		return "test_dataset";
	}

}

