Due to an active development process of features, natural chaos regarding organizational issues (e.g. Kenai was closed for public access) and a lot of urgent deadlines for proposals and papers, it has been a long time since we published a KiWi release. The last KiWi release 0.7 was announced in December 2009, as you can read on Sebastian Schafferts Blog. Last friday, however, we found some time to fix the last major bugs, test the newest features, provide some minor aesthetic surgeries and release the new prototype version 0.8. We are glad to present the new features of KiWi:
Mihai Radulescu implemented the configuration wizard that allows to easily deploy a fresh version of KiWi. With the wizards help one can chose the preferred database (standard for testing is h2 DB, alternatives are PostgreSQL and MySQL), the working path to store indexes and triples, and the extensions that should be installed. To run the wizard you should have a look at the installation HOWTO, where the basic step is to insert http://localhost:8080/kiwi.web.setup/wizard_database.seam in your local browser and follow the instructions.
The Semantic Forms feature has been implemented by Rolf Sint. It allows to define forms by annotating form fields with RDFa, therefore providing the ability to store form data in a semi-structure format. Semantic Forms can be created in the Wiki-Editor by clicking on the ‘+’ sign at the top of the editor and choosing a pre-defined Semantic Form template. After defining the values of the Semantic Form it can either be stored as a modification to the current ContentItem or as a new ContentItem. Semantic Forms are a currently evolving technology that supports a lot of UseCases in the field of Semantic Web, for example in project, risk or idea management.
As announced in the KiWi 0.7 release blog entry, TagIT2 had a usability stress test in January 2010 at the Salzburger Nachrichten Agentur (local newspaper for Salzburg, AT) under the lead of Thomas Kurz. It went very well and the results are very satisfying. Besides the existing TagIT2 functionality, KiWi 0.8 introduces the features for defining and importing routes (gpx-import) in TagIT2.
Identitiy & Permission Management:
The identity management hast been refactored to build a basis for the permission management. JBoss Seam’s identity management is still in use, but an identity is either a registered user or the pre-defined anonymous user, but never undefined. This allows us to assign and to withdraw roles and permissions for users that are signed-in and for those who are not.
KiWi 0.8 introduces global and individual permission management for single users and groups of users that is (hopefully) easy to maintain. Global permissions are defined in the admin extension under ‘manage permissions’, where users or groups can be assigned to read, write and admin roles. Individual permissions can be defined in the ‘individual permissions’ action in the Wiki view for each ContentItem. Identity and Permission Management were my contribution to KiWi 0.8.
Marek Schmidt updated the information extraction service prototype with two major new features: Extractlets and Annotation Editor.
Extractlets are a new simple API which allows developers to easily write custom information extraction components to produce various kinds of suggestions (including links, tags, fragments and nested items), taking advantage of the natural language processing pipeline provided by GATE plugins.
The prototype of the annotation editor is now able to display information extraction suggestions and enables seamless annotation with all kinds of metadata supported by the KiWi system (links, tags, fragments, nested items).
The Reasoner experienced a refactoring by Jakub Kotowski mainly to clean up the code, to make it nicer, more general and to prepare it for further features. The highlight is that a subset of OWL2 RL can be expressed in sKWRL and processed by the reasoner. The Explanation Service deals correctly with multiple derivations and detects cycles. Another interesting improvement is the partly separate TBox/ABox reasoning which is now mainly to speed up reasoning by firing only rules which can be satisfied with respect to the TBox.
The KiWi users are now able to get their search result personalized based on their tagging activity. The idea is to promote the returned items closer to user preferences at the first positions. Technically, we re-rank the regular search results by measuring the similarity of tags assigned to the content items retrieved in the search with a set of tags which denote user preferences. Fred Durao lead the Personalized Search improvement and the development of Social Capital Recommendations.
Social Capital Recommendations
The tag-based recommendations are now powered by a social capital factor, which considers the summation of collaborative work behind WiKi pages. The goal is to use the energy employed on the development of pages for increasing the performance of the recommendations. In addition to the collaborative work, the social capital factor is weighted by user expertise and the interactivity between social ties. The user expertise is calculated by the amount of contributions (i.e. tagging, editing, commenting, rating) an individual performs for the whole community, whereas the interactivity is accounted as the amount of activities a single user performs on the pages created by his/her social ties.
The intern Arpad Borsos, who has been employed at Salzburg Research for the last 3 months, extended the vocabulary management tool (VMT), which evolved out of Rolf Sint’s Diploma Thesis, by means of user interaction and user interface. VMT 2.0 is now based on Smart GWT and uses the new SKOS standard. Furthermore, SKOS concept merging is now possible with VMT 2.0.
Rolf Sint and Thomas Kurz started a new use case scenario, the Ideator, which is implemented as an extension to KiWi. The main idea behind that use case is an application for collaborative idea management. Currently, the ideator enables the creation and categorization of ideas and impresses its users with a beautiful user interface.
Community Equity (CEQ):
Mihai Radulescu improved the CEQ feature by applying different ageing functions depending on the action type (e.g. the equity points gained with a comment action will deprecate faster than the one gained with an edit action).
There is a set of default ageing functions (one per action), which can be changed according with the user needs. For the moment this functionality is only provided on the service layer.
The current implementation provides support for postgreSQL and h2 databases, MySQL and Oracle will be supported in the next version.
There is a very basic UI for the CEQ functionality (Inspector -> Inspect CEQ values).
All in all, we are happy that we have found some time to bring KiWi 0.8 to the public and we’ll try to adapt to the “release early, release often” attitude, again. The code can now be found on the google code repository http://code.google.com/p/kiwi/. Have fun trying it out and see you next time with (hopefully) more features and less bugs 🙂