*** The fourth public release of bmarks-portlet is now available for download ***
*** The first public release of nfeeds-portlet is now available for download ***
The initial portlet screen
Help and Support
This software was written and maintained by Mark McLaren (Mark McLaren's Weblog).
Bookmarks Portlet Google Support Group |
Visit this group |
Alternatively you can post your queries to the Sourceforge help forums.
Introduction
This JSR168 compatible portlet bookmarks application is based around the XML Bookmark Exchange Language (XBEL) format. The application was developed as part of the portal project at the University of Bristol. It was initially targeted at the uPortal platform but should work in any JSR168 container. Originally developed as a standalone web application, it has been converted to a JSR168 portlet through the use of the Struts Bridge from the Apache Portals Bridges project.
What's New
A Google Support Group has been created which should make support and feedback a little easier. In version 4 support has been added for UTF-8 content and various usability and performance enhancements were added. There is now also a newsfeed portlet available.
In version three the graphics and user interface have been considerably re-worked (Thanks Ben). Various Java libraries have been upgraded to contemporary versions (including Struts, Spring, Castor). The tag library is now using a tag file and generally the application has been updated to the JSP 2.0 and Servlet 2.4 standards. There is no longer a "quick start" distribution containing an embedded portlet server. The source code is now stored in Subversion and installation is now achieved with Maven 2.
Functional Features
- Add, Edit, Delete bookmarks and folders
- Simple bookmarks management (moving of bookmarks and folders)
- Import, Append and Export of the standard bookmarks format (de facto Netscape DTD standard which is used by all leading browsers)
- Alphabetical bookmarks sort
Technical Details
- 100% scriptlet free
- JSR168 compatible portlet
- Runs as a portlet and as a standalone web application simultaneously (achieved with Struts Bridge)
- Written in an accessible spirit using unobtrusive DHTML rendering
- XBEL is used throughout internally to store and manipulate bookmarks
- XBEL object representation built with Castor used to manipulate bookmarks
- XSL transformations used in rendering and sorting bookmark trees
- Tidy utility used to XMLize and clean up bookmark imports
- MVC architecture implemented with Apache Struts and JSTL
- Database and resource access enabled with the Spring Framework
- Includes an example embedded database (H2) and simple authentication mechanism
- The newsfeeds portlet has AJAX enabled feed fetching
- The newsfeeds portlet makes use of ROME, whirlycache and Jakarta HttpClient.
- Supports UTF-8 character encoding
- Maven 2 installation
Database access and authentication are likely to be portal and situation specific. In order to include database interactivity it was necessary to provide a simple authentication mechanism. The database and simple authentication included in the default distribution of bmarks-portlet are for illustrative purposes only and the portlet can easily be configured to use other databases and authentication facilities.
The default installation includes a sample embedded in-memory database engine (H2 replace this with your database of choice (when changing database configuration you will no longer need the LocalH2Initializer in WEB-INF/applicationContext). A simple servlet filter authentication is also include (this sets the value of request.getRemoteUser() to "test").
Installation
- Install an application server. This application was written for Tomcat 5.5 and is known to work with Tomcat 5.5.17 and earlier versions.
- Install pluto-1.0.1.jar and portlet-api-1.0.jar into $TOMCAT_HOME/shared/lib
- Install and configure Maven 2.
- Extract the source code distribution of bmarks-portlet into a directory and run:
mvn compile mvn war:war
- uPortal users will need to set "org.jasig.portal.ChannelManager.use_anchors=false" in portal.properties.
- All being well this should create a war file of around 13MB in size (~/target/bmarks-portlet.war). Deploy this war file to the application server.
As this application is written using Struts Bridge it should be accessible as a standalone application (e.g. http://localhost:8080/bmarks-portlet). It should also be available to local instances of JSR168 portlet containers (e.g. bmarks-portlet.BookmarksPortlet).