TWiki As A Bookmark Manager
I do quite a bit of Internet-based research, and many times I found
myself wishing there was a magic button that if I pressed it while
looking at an arbitrary web page, would
- create a bookmark
- allow me to annotate the bookmark
- allow me to access my bookmarks from anywhere
- allow me to share the bookmark with others
- allow me to search my (and others') bookmarks
So today I built such a system with my corporate intranet TWiki.
Here's the design:
- Each bookmark is its own TWiki page.
- Each of these TWiki pages has a BookmarkForm attached
- The BookmarkForm has fields for Title, URL and annotation
- A short JavaScript script in the form of a javascript: URL that I attach to a 'link button' in IE. It doesn't work yet in Netscape, but it's on my todo list.
When I hit the magic button, the short
JavaScript script grabs the
current page's URL and title, and invokes the TWiki 'edit' script,
specifying a unique TWiki topic name of the form BookmarkIDXXXXXXXX
(where XXXXXXXX is a unique number), as well as passing other
CGI
params so that the BookmarkForm's Title and URL fields are automatically
filled in with the current page's values.
Once the edit page is up, the user has the opportunity to annotate.
Then the user previews and saves.
I also use formatted regular expression searches to display lists of
bookmarks in tabular form.
Here's what I'm currently using. It's really all on one line -- I've
broken it up into separate lines for clarity.
Keep in mind that this is just a prototype at the moment.
javascript:
var d=new Date();
var dateTime=d.getTime();
this.open(
'http://web/twiki/bin/edit/Main/BookmarkID'+
dateTime+
'?formtemplate=Main.BookmarkForm&Main.TopicOwner=Main.FrankSmith&Main.TopicURL='+
document.URL+
'&Main.TopicTitle='+
document.title,
'bookmark'+dateTime,
'');
this.URL=this.URL;
Anybody else doing anything like this?
--
FrankSmith - 21 Nov 2002
This is a really good idea. I'd like to also see the
BookmarkForm and the
BrowseBookmarks page for showing all the book marks. It would be nice of all this supported TWiki's topic parents for making heirarchies of bookmarks
--
DougAlcorn - 21 Nov 2002
I figured that someone must have implemented the magic button before. So I did a
Google search on "web based bookmark management", and the top hit is
http://www.bookmarktracker.com/
.
I registered at this site, and it looks like it will be a good source of
ideas. They have javascript magic buttons, and their implementation is very
similar to the one I outlined above.
When you hit their magic button, a window pops up:
--
FrankSmith - 21 Nov 2002
Frank,
The thing I was thinking of was Backflip -- see
AddToTopicLikeBackflip.
--
RandyKramer - 22 Nov 2002
Nice and smart idea. But I do not like creating this many pages, with little contents and no meaningfull name. Who is going to link them together? How you'll find on which page bookmark is?
I can imagine little different approach: Your Javascript might ask also for a page name, and add bookmark as a bullet item somewhere on the end of the page - or in %BOOKMARKS% area. Default page name might be ie. Main.UserNameBookmarks or like.
So you can "gather" bookmarks in some pages, and link these pages in a meaningfull way - URL without context saved in a Twiki is better than a bookmark in browser (at least is web-based), but not much. How many bookmarks do you have in your PC? Mine have hundreds, in hierarchical folders.
To make this happen, you need to solve page locking issues (somebody might be editing the page where bookmark wants to go). But the same known bug is also in
Plugins.CommentPlugin, with proposed solution. You can fix it in both places
Maybe even better will be to enhance
Plugins.CommentPlugin. COMMENT in
view mode is rendered as a submittable form. Your new BookmarkPlugin may add fields URL, Title. Then, in order to add the bookmark, user needs to:
- copy URL from browser to clipboard,
- open (in another window) twiki with bookmarks, and find the proper page,
- fill Title and Note, paste URL
- submit the page.
Proposed approach does not require Javascript (which is Good Thing, in eyes of many). But you can use JS, ie. to open bookmark index page (to quickly find proper page), and to paste URL into plugin input fields.
BookmarkPlugin will generate bullet list element and fill it using proper Twiki syntax. You can also borrow COMMENT trick - it allows multiple instances on same page - multiple "growth areas".
--
PeterMasiar - 22 Nov 2002
Nice and smart idea. But I do not like creating this many pages, with little contents and no meaningfull name. Who is going to link them together? How you'll find on which page bookmark is?
Good question. The answer is that I use formatted searches to generate lists of bookmarks.
Sure there are lots of pages with meaningless names, but I'm using TWiki in a manner
such that this doesn't matter. My premise is that for TWiki to be accepted by
the masses, it has to be easier to use. Specifically, I think it means not requiring
people to think up
WikiWords.
To that end, in my TWiki installation, I put a form
on every TWiki page. There are many different types of forms, but they all have
a set of fields in common. One such field is TopicTitle, which is a free-form
ASCII string (not a
WikiWord). People are better at entering a phrase or title
than they are at thinking up a
WikiWord. Another common field is TopicComment,
used to store a short summary of the page. It's kindof object-oriented.
An example of what I mean by a formatted search is:
Note the much friendlier use of free-form titles instead of
WikiWord topic
names. Also note the descriptive text below each title.
Although each bookmark is in an individual TWiki page with little content and
a nasty looking name, you can see how these facts are hidden from the user.
I don't want to start a philisophical war here. I'm just outlining what I've
found works in practice in my own particular situation.
Note that what I've described here can be implemented with stock TWiki,
although I could forsee some TBD features requiring changes to TWiki or
implementation as a plugin.
--
FrankSmith - 25 Nov 2002
...just a few ideas to add:
- consult with TikiWiki http://tikiwiki.sourceforge.net/
documentation as thay have really interesting inplementation which uses optional caching of external links (great for research based work...when you do not lose work if external servers are down)
- consult with previous work done on DmozCatalogPlugin for using TWiki bookmark managment as base for DMOZ-like or compatible directory.
--
ZeljkoBlace - 25 Dec 2002
Hi Frank, could you please attach your working version or set up a demo system so we can see it in action?
Thanks and Merry Christmas!
--
MartinCleaver - 26 Dec 2002
An interesting discussion here. I used to use HotLinks before they went away for this kind of thing. Now I use a system a friend of mine implemented called
Web Assistant
. However I thought of using TWiki on my own for free form bookmark and annotation functions. With research (and the sharing aspects) this area might just be a killer app of sorts.
--
GrantBow - 03 Jan 2003
I also just ran across
TWikiBookmarklets. Very nice!
--
GrantBow - 15 Jan 2003
Regarding the comment above suggesting a facility to cache external links for research based wikis, I've uploaded a plugin for this purpose, have a look at
URLCachePlugin
--
ArildBergh - 11 Jun 2005
I created something similar in
BookmarkSharingWithTWiki.
The examples there piggyback on
CommentPlugin,
although, like the poster of this page, I would like to create a
BookMarkPlugin.
--
AndyGlew - 22 Aug 2006