S3B/SSCF/BookmarksInterface
From Corrib Clan Wiki
Contents |
SSCF Bookmarks interface (SSCFBI)
Main project is FOAFRealm webapp (foafrealm/webapp). Module is copied into JeromeDL project.
SSCFBI is build using ajax technology. It utilises and extends YAHOO library for building bookmarks tree. Requests are sent to the servlet which responds with JSON formated responses. SSCFBI uses also the module for selecting taxonomies written by Sebastian Kruk.
Implementation status
Implemented features
- Displaying bookmarks tree
- Standalone and embaded modes
- Displaying friends bookmarks on demand
- Copy-cut-paste actions on bookmarks and directories
- More - displaying details about directories
- Setting directory policies
- Creating new directory
- Selecting wordNet values
- Selecting taxonomies values
- Removing bookmarks (! this operation couse the treeview component bug - tree doesn't rebuild correctly if last node in branch is removed)
- Removing empty directories and linked directories (see note above)
- Displaying suggested directories in other ones and as Additional suggested directories
- Importing suggested directories
- Removing suggested directories
TODO
- Directory edit
- Directory clean and remove (if not empty)
- Temporal or complete suggested directory removing (with additional property in FOAFRealm ontology)
- Mixed directories - possiblity to add bookmarks into someones directory
Module files (if not mentioned, files are the same in JeromeDL and FOAFRealm)
JavaScript files
| Foafrealm webapp path | JeromeDL path |
|---|---|
| js/ | js/treeview/ |
- main .js - main javaScript file of the project. Contains almost all important functions.
- YAHOO native files - we employs YAHOO treeview element.
- YAHOO.js
- treeview.js
- event.js
- animation.js
- dom.js
- Different types of nodes
- PersonNode.js - Person node (owner)
- FriendNode.js - Friend node
- DirectoryNode.js - normal directory node
- BookmarkNode.js - normal bookmark node
- SugDirectoryNode.js - Seggested directory node.
- AddDirectoryNode.js - "Additional suggested directories" node.
- commandsText.js - file with commands text - for i18n purposes
- json.js - for parsing json messages.
- Module for selecting taxonomies (rico.js has build in some style description...)
| Foafrealm webapp | JeromeDL |
|---|---|
| taxonomies/prototype.js | prototype.js |
| taxonomies/rico.js | taxonomies/rico.js |
| taxonomies/jonto-warninginfo.js | jonto-warninginfo.js |
| taxonomies/jonto-taxonomies.js | jonto-taxonomies.js |
JSP/TAGs files
| Foafrealm webapp | JeromeDL |
|---|---|
| bookmarks.jsp - all in one | profile/bookmarks.jsp - invoke the bookmarks.tag |
| - | bookmarks.tag - main part |
| - | bookmarksWindows.tag - absolute positioned DIVs, invoked in page.tag (!), contains Template:Window.onload=init() (!) |
CSS files
- css/tree.css - main file with styles.
- Taxonomy module styles:
| Foafrealm webapp | JeromeDL |
|---|---|
| css/taxonomy.css | css/treeview_taxonomy/taxonomy.css |
Java classes (servers side).
Files are located in FOAFRealm sscf project.
- org.foafrealm.servlets.SscfAjax - servlet which communicates with javaScript.
- org.foafrealm.tools.SscfHelper2 - Buils the tree on server side and containts some helper methods. Need to be cleaned and should replace SscfHelper
- org.foafrealm.tools.sscf2js.* - classes which are used to build tree nodes and translate it to the JSON.
- org.foafrealm.manage.BookmarksHelper - some methods are used - need to be rewriten and cleaned. Importand functions could be moved into SscfHelper and than class could be removed.
Bookmark creation schema
Result of bookmark creation is store in buffer, whole methods append results of its work into this variable. Then the created string with bookmarks is send to the web page and script that will generate the tree.
SIOC data in SSCFBI
To get more information about SIOC concept in FOAFRealm see also FOAFRealm Meets SIOC
So far, the server side has been implemented.
Implementation status
- creating SIOC directory where SIOC data will be kept
- saving information about a post (some information is ommitted - there are too many for bookmarking purposes)
- saving information about a forum
- saving information about a site
- all infromation is saved in Sesame with some necessary information, needed for SSCFBI engine purposes (xfoaf:IsIn property)
Module files
- org.foafrealm.manage.BookmarkResource (manage module) - introduced to simplify management of the bookmarks tree; extended by XfoafResource interface and implemented by SiocDataResource class
- org.foafrealm.manage.XfoafResource (manage module) - now extends BookmarkResource interface
- classes from org.foafrealm.manage.sioc package (sscf module):
- SIOC - set of the SIOC classes' and properties' URIs
- SiocDataResource - base class that represents a resource of type SIOC data
- SiocPostResource - management of sioc:posts
- SiocForumResource - management of sioc:forum
- SiocSiteResource - management of sioc:site
- SiocBookmarks - management of SIOC data bookmarking
TODO:
- change bookmark creation schema - add SiocDataResource
- implement showing bookmarked SIOC data
- implement management of SIOC data in the private bookshelf



