wiki:BookmarksProject/Wishlist

Version 1 (modified by peter, 7 years ago) (diff)

moved wishlist/TODO items from bookmarks/trunk/TODO@82

Bookmarks Wishlist

Tool suite example to create an instance of the application in the directory "foo":

    $ mkdir foo
    $ cd foo
    $ bkmk init
    # writes a basic conf.yml, creates a bookmarks.db SQLite database using bookmarks.sql
    # could prompt for settings or take them on the command line
    $ bkmk start
    # starts up the server using starman, by default on port 5000
    $ bkmk stop
    # stops the running server

Deleting bookmarks

    sub delete {
	my $self = shift;
	my $bookmark = shift;

	my $sth_insert = $self->dbh->prepare('insert into deleted_bookmarks (id, dtime) values (?, ?)');
	$sth_insert->execute($bookmark->id, time);
	my $sth_delete = $self->dbh->prepare('delete from bookmarks where id = ?');
	$sth_delete->execute($bookmark->id);
    }

Paging of results (will require counting bookmark total)

    sub get_count {
	my $self = shift;
	my $search = shift;

	my ($sql, @bind) = sql_interp(
	    'select count(*) from resources join bookmarks on resources.uri = bookmarks.uri',
	    $self->_sql_where_clause($search),
	);
	my $sth = $self->dbh->prepare($sql);
	$sth->execute(@bind);
	my ($count) = $sth->fetchrow_array;
	return $count;
    }