a framework for personalizable community web portals - CiteSeerX

4 downloads 186 Views 177KB Size Report
Community Web Portals are collections of static or dynamic Web .... portlet layout cell, e.g. portlets that render static HTML pages, or servlet-based portlets that.
A FRAMEWORK FOR PERSONALIZABLE COMMUNITY WEB PORTALS Martin S. Lacher, Michael Koch, Wolfgang Wörndl Department of Computer Science, Technische Universität München, Arcisstr. 21, 80290 München, Germany

ABSTRACT In this paper we present a framework for the creation of community web portals. The framework provides the necessary infrastructure for the management of several portlets, which divide the available space for information display on the portal page. The management infrastructure includes authentication, layout and user profile services. The framework also provides a portlet infrastructure for displaying and filtering information from heterogeneous information sources of structured information. This infrastructure is based on a layered approach which keeps the source integration, filtering and presentation layers quasi-independent. Available filter templates can be freely assigned to any information source with any display template for display in a portlet. We achieve this layer independence by using a standard set of information fields for internal processing. The heterogeneous information sources are then mapped to this standard field set.

1. INTRODUCTION Computer based community support systems can provide powerful support for direct exchange of information and in finding people to exchange information with. Such systems usually provide a platform for a loosely coupled group of people who share some interest or belong to the same context (community). A community platform mainly supports information exchange among the members. The most widely-used user interface to community platforms today are Web portals. Web portals integrate different information sources, provide search and directory services and allow personalization of content and configuration of navigation and layout options. Community Web Portals are collections of static or dynamic Web pages, through which community members can contribute and get information from other community members as well as from other sources of interest for community members. Typically, community information sources are heterogeneous with respect to their describing schema and access methods. The immediate advantage of a Community Web Portal is the integration and interoperability of different information sources. However, the heterogeneous and loosely coupled nature of communities prohibits to force a common standard for information exchange on information sources. Instead, a community portal has to integrate heterogeneous information sources for presentation and personalization. In our project “Infodrehscheibe” (information hub) we are currently working on building community portals for student communities in Germany. In this project, we quickly faced the need for a Web portal which allows community members to build community pages easily and provides an integrated and personalized view onto community relevant information sources. Guided by these needs, we have developed a framework that allows for easy integration of heterogeneous sources of structured information. Information from different sources can be presented with the same look and feel in subdivided layout areas on the portal page. The framework provides several layout templates for the presentation of information, which can be applied to all different sources. The user can specify generic filters for information personalization, which can also be applied to all sources. The combination of these features allows for an integrated and personalized view on the community's information space. In the remainder of this paper, we will first present some characteristics of communities and community support applications. We will then describe our general portal infrastructure as well as an application example, the “Infodrehscheibe”, in Section 3. In Section 4, we will explain our layered approach to information integration, filtering and display on which our portal infrastructure is bases. In Section 5, we will mention related work and conclude with a review of the contributions advantages of our framework in Section 6. 2. COMMUNITY SUPPORT APPLICATIONS In general, a community is a group of people who share some interest or belong to the same context. Thus, a community can be seen as a describing identity for a set of people. (Mynatt et al., 1997) concretize a bit more:

“[A community] is a social grouping which exhibit in varying degrees: shared spatial relations, social conventions, a sense of membership and boundaries, and an ongoing rhythm of social interaction” Examples for communities are all students in a university department, the inhabitants in a neighborhood or all people interested in collaborative filtering. Communities are a good source for knowledge in a certain field of interest. To foster the flow of knowledge (Borghoff, 1998), community support systems are required. In contrast to groupware applications, community support tools address large, inhomogeneous groups, mostly not working on a common project. Therefore, community support systems require the integration of a larger number of heterogeneous information sources. However, existing systems still lack the possibility to exchange data with each other. An open flow of knowledge could be greatly simplified (Koch, 2000), if o there was one user profile for each user that can be used in several communities. o information sources in communities can be used in several other communities. o the user can personalize the information display mode for information from different sources. Our framework tackles those problems and provides viable solutions. Those solutions will be explained in the next sections. 3. GENERAL INFRASTRUCTURE OF THE WEB PORTAL FRAMEWORK Our general portal infrastructure offers three kinds of services: user management, layout management and information source management. In this section we will describe the user management and layout management services for the portal as a whole. The information source management services and layout management services for one information display unit on the portal page, a portlet, will be described in the next section. We consider sources to store information in the form of information items (basic information transport units). 3.1 Services of the portal framework The user management services are performed by a user profile agent which can manage attribute-value-pair based user profiles. The profile stores demographic information, relationship information, ratings, and links to information items in the communities. We separate user profile information from the services that make use of it. The user controls the user profile through a user profile agent, which is also the access point for services which make use of the profile. We rely on standards such as vCARD (Howes, 1998) for user profile representation. The user can define access rules to prevent fraudulent use of profile information (Koch, 2001). Layout management services include usage of consistent layout templates for all Web pages (with the option to display a “printer-friendly“ version), navigation elements and the possibility to personalize content (e.g. by choosing from a set of interests). Our framework generates standard HTML Web pages to keep requirements for the clients minimal. To allow for further customization, a portal page can be divided into several portlets with one portlet representing a layout area of the portal page. The look and feel is comparable to personalized Web portal sites such as My Yahoo1. Our portlets actually allow more flexibility than the ones at My Yahoo, since we do not enforce fixed width columns. Each of the portlets essentially consists of a cell of a table on the portal page. Users can personalize their portal page by adding an arbitrary number of portlet cells, the visualization characteristics of which can be selected from a list of available templates. In addition, a user can customize the arrangement of the portlet cells and some basic layout options such as background colors. A portlet template can be everything that produces HTML output for display in the portlet layout cell, e.g. portlets that render static HTML pages, or servlet-based portlets that query the portlet content from a database. A configuration element is shown at the top of every portlet (see Figure 1). Users can thereby change the arrangement of portlets and configure available options with regard to the portlet content. The portlet configuration element can be hidden by clicking on the handle on the left side. The Portal framework is based on the Java Servlet technology. From a technical perspective, a portlet is some kind of servlet module. The development of new portlet templates is fairly easy, new portlets only have to be derived from a Portlet superclass.

Figure 1: Portlet configuration element 1 http://my.yahoo.com/ (Trademark Yahoo Inc.)

3.2 An application example – the “Infodrehscheibe” We have built a community portal for a computer science student community: the “Infodrehscheibe”2 (“information hub”). Over 2000 students use the Infodrehscheibe on a regular basis. Data sources for the Infodrehscheibe include class lists, announcements for projects and general administrative announcements.

Figure 2: A typical Infodrehscheibe page with three portlets Figure 2 shows a typical personalized Infodrehscheibe page. The top and left parts of the pages are fixed contents of the Infodrehscheibe community portal. The rest of the page can be personalized by creating new portlets on the page. In Figure 2, there are three portlets on the page: on the left side is a portlet which shows announcements that belong to categories that the user specified, in the middle is the homepage of the department of computer science and on the right side is a portlet which allows to see which other users are logged in to the portal. In order to allow for the integration of several heterogeneous sources we have defined one portlet template that implements a layered approach to information integration, filtering and display. This is explained in the next section. 4. A LAYERED APPROACH TO INTEGRATED PRESENTATION OF HETEROGENEOUS INFORMATION In addition to the general portal services, our framework also offers services for the integration and display of heterogeneous information sources on a portal page. To achieve an independence of integration, filtering and display we created a layered architecture. The architecture has three layers: the view layer, the filter layer and the provider (information source) layer. The three layers are independent from each other, such that any view can be combined with any filter and any provider. The provider layer is the interface to heterogeneous information sources in the community. By heterogeneity we mean different access techniques as well as data schemas. We consider relational schemas only, i.e. every data 2

http://drehscheibe.in.tum.de

source has to provide its data as a set of tuples. The provider layer currently provides access to information sources through HTTP, POP3, NNTP, JDBC and through the standard file system. The different data schemas for different data sources are mapped to one internal schema. The internal schema consists of a set of fields (field library) which are aggregated in relations. This standard set of fields is referenced in all other layers. The mapping of fields from different data sources to the internal field library has to be performed manually, but we are currently developing heuristics for a semi-automatic mapping of fields. All settings for the provider layer are stored in a configuration file. In this file, the configuration for each data source to be integrated has to be given, i.e. a name for the source, an URL to address it, its fields with types and mappings to the field library fields. As an example for a field mapping consider a POP3 source, which delivers data tuples with the attributes TO, FROM, SUBJECT, MESSAGE, PRIORITY, SENT. The internal field library only has the fields TITLE, TEXT, AUTHOR and DATE. Since filters and display templates only refer to fields in the field library, the fields of this source have to be mapped as FROMàAUTHOR, SUBJECTàTITLE, MESSAGEàTEXT, FROMàAUTHOR, SENTàDATE. The actual set of fields in the field library is extensible and not influenced by any constraints on the filter or display layers. The filter layer allows to filter data sources before the respective information items are displayed. For this purpose, content constraints can be defined on data fields. Currently, we only allow simple constraints for filtering. In the field library, there is a special field, the TEXT field, which is supposed to hold the main content of the information item. Firstly, a number of required substrings for the TEXT field can be defined as a filter constraint. Moreover, additional order and equality constraints can be specified for fields on which an order or equality relation is defined. For example, a numeric field can be required to be greater than a certain value. All filters can be specified for all sources in general as well as only for certain sources. All filter settings can be done through a portlet-based UI, the filter designer. The view layer takes care of the presentation of information items and is independent of the other layers as far as possible. This means that in principle, any kind of display mode can be assigned to any combination of source and filter. The view layer again refers to the field library for the display of information items. A number of display templates have been defined, which differ in different criteria of information display. The criteria are the amount of actual item information displayed, the amount of contextual information of an item displayed, interactivity of the display mode, space requirements on the portal page etc. For example, one display template is the ticker tape, which only shows the TITLE fields of information items scrolling through a small window. This template has a low interactivity, low space requirements and no context information is displayed. Another pre-defined display template is tree with item preview, which shows a tree of hierarchical item context information on one side and a preview of the item content on the other side. This template only makes sense, if there is some sort of hierarchical context of the information item. This template has a high interactivity (nodes in the tree can be chosen), requires a large area on the template page and displays a lot of context information of the information item. There are several other display templates, which will not be discussed here. 5. RELATED WORK There has been little research on the construction of community web portals in general. Research work is either on community systems in general (Ishida, 1998) or on general characteristics of design for communities (Carotenuto, 1999). We present a system that solves some problems derived from community characteristics. In (Schumacher 1999), the market for portal solution is surveyed. In (Staab, 2000), (Staab, 2000a) community portals based on a centralized schema (ontology) for information in the community are presented. Their concepts include extensive usage of AI techniques to construct a deductive community database. There are a number of commercial (e.g. IBM EIP, Hyperwave, BEA Weblogic 3) and non-commercial (Apache JetSpeed4) web portal solutions available. However, none of these solutions combine an open approach to integration of different sources with a complete infrastructure for portal building. Our portlet implementation is similar to the Apache JetSpeed project, which also provides an API to develop portlets, but does not include integrated Web portal functions such as user login handling. Many concepts from this work have been extended and adapted from the original concepts in (Bender, 2000).

3

http://www.ibm.com/software/eip/; http://www.hyperwave.com/ ; http://edocs.bea.com/wlac/portals/docs/index.htm

4

http://jakarta.apache.org/jetspeed/

6. CONCLUSION In this paper, we have presented a framework for the creation of community web portals. We derived basic informal requirements for a community web portal and showed how our framework tackles the resulting problems. Our infrastructure consists of two parts: the management infrastructure for portlets, the display subwindows on the portal page, and a layered infrastructure for information integration, filtering and display in portlets. We showed that this layered infrastructure offers the following solutions to problems common in communities: • Personal preferences for information filtering in the user profile can be reused for several information sources from several communities. • The display mode for information items can be personalized according to the user’s preferences and independently from the information source. These solutions are achieved through the independence of layers. This is achieved by using a standard set of information fields for internal processing. This internal field library requires all fields from all sources to be manually mapped to fields in the field library. For a broad variety of display templates, we discovered a number of orthogonal characteristics for information display. We defined a set of display templates, which spans a large subspace of the resulting space for information display possibilities. To put it in a nutshell, our framework can contribute a great deal to the success of virtual communities by making it easier to display information in a way that is suitable for communities.

REFERENCES Bender, F.: “Ein Enterprise Information Portal für die Informationsdrehscheibe”, Master’s Thesis. Munich, Germany: Technische Universität München, 2000. Borghoff, U. and Pareschi, R. (Eds.): “Information Technology for Knowledge Management”. Berlin, Heidelberg: Springer, 1998. Carotenuto, L.; Etienne, W.; Fontaine, M.; Friedman, J.; Newberg, H.; Muller, M.; Simpson, M.; Slusher, J.; Stevenson, K.: “Towards flexible support for voluntary knowledge communities”, in: Workshop on Workspace Models for Collaboration. London, UK: 1999. Howes, T.; Smith, M.; Dawson, F.: “MIME Content-Type for Directory Information (vCARD Specification)”, RFC 2425, Sep. 1998 Ishida, T. (Ed.): “Community Computing“, John Wiley and Sons, 1998. Koch, M.; Lacher, M.: “Integrating Community Services - A Common Infrastructure Proposal”, in Proc. KnowledgeBased Intelligent Engineering Systems and Allied Technologies (KES2000). Brighton, UK: September 2000 Koch, M.; Wörndl, W.: “Community Support and Identity Management”, to appear in: Proc. Europ. Conference on Computer-Supported Cooperative Work (ECSCW2001), Bonn, Germany: 2001. Mynatt, E.D.; Adler, A.; Ito, M. and Oday, V.L.: “Design for Network Communities”, in: Proc. ACM SIGCHI Conf. On Human Factors in Computer Systems: 1997 Schumacher M.; Schwickert A. C.: “Web-Portale - Stand und Entwicklungstendenzen“, Lehrstuhl für Allg. BWL und Wirtschaftsinformatik, Johannes Gutenberg-Universität Mainz, Germany: 1999. Staab, S.; Angele, J.; Decker, S.; Erdmann, M., Hotho, A., Mädche, A., Schnurr, H., Studer, R., Sure, Y.: “Semantic Community Web Portals“, in: Proc. of the 9th Intl. WWW Conf. (WWW9), Amsterdam, The Netherlands: May 2000 Staab, S.; Angele, J.; Decker, S.; Erdmann, M.; Hotho, A.; Mädche, A.; Schnurr, H.; Studer, R.; Sure, Y.: “AI for the Web - Ontology-based Community Web Portals“, in: Proc. 17th National Conf. on Artificial Intelligence and 12th Innovative Applications of AI Conf. (AAAI2000/IAAI2000). Austin, TX: Jul. 2000.

Suggest Documents