Social Semantic Server
Purpose
The Social Semantic Server (SSS) represents an extensible, open-source application server environment that equips client-side tools and back-end applications with services to support and scale informal learning at the workplace. The SSS provides plenty of services that foster the development of applications with possibly different objectives in the context of informal learning in everyday workplace settings. The design of the SSS strives to remove possible inherent boundaries from tools by considering several informal learning related use cases; hence, its goal is not to instantiate a particular epistemology or learning theory, but rather to provide a flexible framework on top of which a number of services can be built to support learning according to different learning theories (see [1]).
Summed up, the SSS can assist learners in their journey towards fulfilling certain learning needs as its services aim to provide a multitude of means to support:
-
Sense and meaning making processes (out of learning experiences) (see also Sensemaking and Meaning Making in Informal Workplace Learning)
-
Individual and collective informal learning processes in distributed systems (see also Individual and Collective Learning in Collaborative Knowledge Building)
-
Scaffolding, structuring and aggregation of data / information
Description
The SSS is an open light-weight backend framework to provide services which allow for meaningful and contextualized learning. It offers software developers a growing set of services to enhance applications with crucial functionalities for learning, knowledge management and social collaboration. Its goal is to provide developers a basis for the integration of different applications by exploiting a loosely-coupled service approach on top of a flexible data model possibly instantiated by a hybrid data storage. It offers tool designers the chance to build upon well-established reusable functionality in the context of learning and knowledge management applicable in various environments. Following the needs of Layers tool developers, the SSS constitutes the groundwork for the implementation of novel user-driven requirements coming from the Model of Scaling the Support of Informal Learning [2] and Design Principles derived from theories such as Distributed Cognition and Meaning Making (see [1]). The identification and realization of requirements is guided by a design-based research approach instantiated by a novel DevOpsUse DevOpsUse & Tools: Acknowledging the Role of End Users in Software Development Processes cycle, which for instance includes social requirements engineering processes as well as development-driven release planning and continuous deployments.
By the interaction of users with digital resources and/or other users, the instantiation of SSS services from within applications creates a network, which involves actors, artifacts and metadata. This so-called “semantically-enriched Artifact-Actor Network (AAN)” combines ideas from social and artifact network approaches to describe the relationships among actors and artifacts in different contexts. Together with evolving diverse structures and contents, this emerging (social) information concerning entities and their relationships can be exploited by services (see Section Provided Services) which work on following tasks:
-
Share information between workers throughout application boundaries, groups, organizations and communities of practice
-
Suggest contextual metadata/resources based on interactions or structural data
-
Context-aware recommendation of collaborators, (learning) resources, metadata and users/experts
-
Perform (full-text) search based on metadata, content and relation of artifacts
-
Keep aware/ up-to-date of/ to changes related to learning/ working and recent or specific topics
-
Exploit previously hidden knowledge
-
Facilitate the characterization, contextualization and categorization of digital artifacts
-
Support learning analytics at the workplace
-
Integrate domain-specific with domain-independent applications
-
Aggregate and filter (collective) knowledge
-
Generate and follow user’s activities (upon digital artifacts)
-
Create and maintain (trusted) social networks and foster help seeking by connecting to new peers or solving problems by finding similar artifacts
-
Reaching a shared vocabulary (shared meaning) which reflects the shared understanding necessary for fruitful further collaboration upon text, multimedia and metadata
-
Collaboratively collect, organize and relate data considering fine-grained access and execution restrictions
-
Join communities, subscribe to diverse artifacts and participate in question and answer threads and discussions
-
Support (self-) reflection and retrospective handling of work-based information
Technicalities
In principal, the SSS is open-source software written in Java supported by Maven and is freely available for scientific purposes from GitHub. As the SSS strives for an open light-weight extensible and scalable backend-service framework, it represents a technical infrastructure, which backs tool and application development in support for informal learning at the workplace.
The SSS partially picks up the ideas from Service-Oriented Architecture (SOA) design principles and incorporates ideas from the Microservices design pattern. Whereas the Microservices approach mainly aims for having loosely coupled services for a common business case, which can be replaced and deployed independently, SOA strives for an integration of various application scenarios. In that sense, the SSS pursues the SOA approach when it comes to supporting different tools with common, though in particular cases different, functionality. Additionally, SOA ideas are applied with respect to service arrangements within the actual software package.
The idea of Microservices on the other end is incorporated by keeping modules (i.e., services) very focused on given tasks besides being configurable, replaceable (when it comes to actual service implementations) and only tied together at given boundary points imposed by the service framework. From that, mainly following non-functional requirements have been considered during the first iterations of the SSS developments:
-
Loose coupling of services
-
Abstraction of service implementations
-
Reusability of services
-
Autonomy of services
-
Statelessness of services
-
Composability / modularity of services
-
Extensibility of services
-
Ease of deployment configuration/ flexibility
As such, providing new functionalities or extending existing implementations is fostered by the lightweight service layout shown in Figure 1.
The Service Registry keeps references to self-registering Service Containers, which in turn are provoked to instantiate corresponding Service Implementations - either through JSON-formatted requests to the REST interface or upon server-side invocations from within other Service Implementations. To reuse common database access utilities, each Service Implementation is equipped with references to Data Access Functions and storage engines. The SSS fosters overarching execution of functionality (e.g., information harvesting) possibly involving many different services by implementing from common interfaces available in the service infrastructure.
The SSS is available as dockerized application, making use of Docker Compose, thus integrates well with the infrastructure set up in the Layers project. As the Layers Box provides authentication as an
OpenID Connect (OIDC) service, requests to the SSS can be checked for authentication at respective service (i.e., whether given user is authenticated from within tools) to subsequently handle authorization by the SSS.
The main data store of the SSS is shared among different services, at which data integrity is handled in a twofold way: first, specific services take care of common data attributes; second, responsibility for transaction handling is delegated to respective service implementations. This way, each service can be equipped with different connections to multiple data stores, which in turn enables hybrid data store layouts, probably required for different algorithmic needs. Currently, the SSS features a SQL-based core data store (MySQL), can be utilized to incorporate a document-based data store (Apache Solr) and makes use of file-based storage in particular cases as well (see Figure 1). Additionally, certain external resources such as, e.g., Evernote user stores or users’ email inboxes can be integrated as well. The data model itself (i.e., how different entity types and their relations are laid out) is implemented along the needs from within tool development following the Layers Conceptual Data Model [3].
Provided Services
The SSS provides an extensible set of services to support the development of applications in the context of learning and knowledge management. The services currently employed can be re-used or extended by new or existing services, respectively. Specifically, following services can be listed from within the set of services currently employed in the SSS.
File, Image, Video, App and AppStackLayout
Services developed in this category handle the upload and creation of multimedia contents to the SSS as well as for example different MIME types, parsing and converting of contents and the creation of thumbnails. They both support particular tools and enable the integration of tools via the SSS. The Video service for instance provides functionalities to store videos and their attributes (e.g., user created video annotations), whereas the AppStackLayout service supports the arrangement of Tiles in applications (e.g., Learning Toolbox) so that for instance a search Tile could enable to find videos from within the SSS by making use of the Search service. The App service is used to customize and reflect app specific data, which in turn can be used by tools to retrieve the most fitting apps in a given user application context.
Entity
The Entity service cares about general matters of all data types from within the SSS, thus is made responsible for, e.g., attaching entities to other entities, formulating comments on entities, executing service overarching functionality or marking artifacts as read. As such, the Entity service is involved in any of the tools using the SSS so far.
Circle
The Circle service enables users and tools to work in group-based settings and maintain (trusted) social/ artifact networks (i.e., community support). Features of the circle service include sharing of material between users and friends, with groups and with the public community. Upon this, splitting and merging of groups is possible so that material and users assigned to groups can be re-organized. Besides, this service is used for copying of entities for target users, restricting materials to a particular audience, arranging material within groups and inviting users to groups so that they receive access to any kind of resources.
Learning Episode and Collection
The Learning Episode service in particular deals with the support for visual approaches applied to sense making processes with regard to scaffolding, generation of shared understanding and aggregating information. For instance, this service supports the arrangement of resources in circle-like structures and enhances the experience and ease of collaboration via a Flash Meeting styled collaboration process (e.g., users can lock and release learning episodes). In opposition to the approach taken by the Learning Episode service, the Collection service allows users to structure content (e.g., past learning experiences) in folder-like hierarchies.
Metadata (Tag, Category, Liking, Rating and Flag)
The Tag and Category services enable users to annotate resources on three different levels of visibility: private, group and public. The Liking and Rating services allow users to vote artifacts up or down or to assign star ratings respectively. Additionally, the Flag service allows users to assign metadata from a range of different annotations, such as importance values.
Evernote and Mail
The Evernote service makes use of an incremental synchronization approach to import resources and metadata from Evernote, allows silent updates to contents and handles Evernote rate limits. The Mail service integrates emails sent to users’ accounts so that both email contents and attachments can be further used in various applications.
Overlapping Community Detection
The Overlapping Community Detection (OCD) services have been integrated with the SSS by the OCD service. Hence, if applicable, detection of communities in (different) tool settings is supported by the SSS through the WebOCD framework.
Activity
The Activity service aggregates all kinds of digital traces users leave behind. This way, it is possible to display activities within the system (targeted and filtered) in a chronological way. Thus, users can be supported with insights into, e.g., recently triggered changes to resources, which are relevant to them. The Activity service provides features such as filtering the latest activities of users by a combination of author, resource and activity type. The Activity Service enables to retrieve more detailed information about events in the learning system and thus provides means to reveal hidden relations / knowledge from usage. Based on this, increased awareness of changes in the system is achieved and users can easily keep up to date on recent topics, meaning making processes and possibly interesting learning resources.
Evaluation
For the sake of evaluation purpose of tools, certain traces of users’ interactions with tools and therefore with resources and other users are logged together with additional information on the entities involved. This makes it possible to analyse the behaviour of users as well as how the networks of users, resources and metadata evolve over time. The Evaluation service can be triggered from within tools directly and/ or can be integrated in server-side implementations of services.
Discussion / Q&A
The Discussion service enables users to add comments to any kind of entity. These comments are not limited to text but could also be any kind of multimedia (e.g., videos or images). Over the years, the Discussion service was enhanced with respect to multimedia attachments, targeting discussions to particular entities, sharing threads, accepting and liking answers to questions, editing contents. This service can be used to enable extended communication and problem solving with respect to issues or possible improvements found (similar to the popular Stack Exchange application) with the aim to foster knowledge exchange in informal learning.
Living Document
The Living Document service enables conversations around documents so that documents can be queried and linked to, e.g., discussions. Moreover, this service enables to keep track of which users are allowed to access given documents.
Message
The Message service enables to directly send messages to other users and to receive messages from colleagues, thus enables communication directly when users collaborate.
Recommendation
The Recommendation service uses various algorithms established and currently enables to suggest users, tags and resources. Moreover, the Recommendation service can be triggered to exclude the user’s own resources from suggested resources in order to include new material only and can be configured to take only entities into account, which belong to groups the user is in. From a technical point of view, the Recommendation service is implemented in form of the TagRec framework, which the Recommendation service integrates via a library.
Expert Identification
The Expert Identification service employs different categories of algorithms including link analysis approaches and language models. Link analysis methods contain classical and community-aware ranking algorithms to identify experts [4]. This service significantly affects the learning rate of novices when they share their knowledge. Moreover, expertise of a person enhances the trustworthiness in resources. The Expert Identification service is implemented in las2peer and could be integrated with the help of its RESTful design.
Engineering Consensus Building
The Consensus Engineering service facilitates learners on agreement and meaning making processes taking place during the collaboration with their peers. With this service we model the optimal extent of the influence of learners’ social status (as a form of social context) that benefits the consensus building in an informal collaborative environment. The most influential learners or learners with a high social status contribute with a high quality content when collaborating with their peers. They are also characterized with a high convincing power, so they can influence the opinions of others and benefit the uptake and decision making in collaboration tools such as KnowBrain and Bits & Pieces, Discussion Tool.
Search
The Search service enables to retrieve artifacts in manifold ways, as such it is an important instrument to support contextualized learning since it is typically used in situations where the user exactly knows what she is looking for. Aside from content-based search possibilities, it enables to search for metadata as well as for particular attributes attached to entities. To combine content-, metadata- and user-based search, particular services equip the Search service with possibilities to query for certain characteristics of data. For example, the Tag service handles tag-related searches whereas the document-based data store allows searching for keywords in file contents. The Search service also provides the possibility to combine search results in a flexible manner: firstly, the data attributes for which search queries should be applied can be specified and, secondly, it can be defined how results should be combined using Boolean operations AND and OR. Besides pagination of search results, the Search service enables to filter by particular attributes of results such as authors or types. Additionally, the Search service can be triggered to extend results with recommended entities so that results are enriched with resources, which may be of interest to the user.
Scaling and Integration
Through the SSS, plenty of services are provided that can be exploited to scale informal learning in everyday workplace settings. Based on these services, diverse tools with different objectives can be supported by the SSS. As such, the SSS is designed not to limit possible service applications for specifically tailored client- or server-side usage, but to support several informal learning related use cases (instantiated through tools) in an integrated manner. We describe this in the case of the Healthcare and Construction domains.
Healthcare
To foster bottom-up learning in the Layers healthcare setting, currently, mainly three tools (Bits & Pieces, Discussion Tool and LivingDocuments) receive service support from the SSS. This three tools are also integrated via the SSS to form the Healthcar suite. However, further tools which were initially designed for Construction, such as Ach So!, could also make use of the SSS services in the Healthcare domain.
As Bits and Pieces is built on the SSS [5], server-side functionality is provided completely by services of the SSS. Therefore, for instance the Data Import (and Evernote and Mail services), User Event and User services enable several functionalities from within Bits and Pieces regarding the chronological displaying of Bits in the timeline area besides making information about users available to the client. On top of these services, we support features such as arranging Bits in the Organize view, resource recommendations to integrate new Bits, and tag recommendation to possibly add new annotations to Circles and Bits. These features are implemented using the Learning Episode, Recommendation, Tag and Category services. To receive and display extended sets of information on Bits, Learning Episodes and other entity types in Bits and Pieces, we exploit the Entity, File and Image services. The Activity and the Search service enables users to receive up-to-date information on shared Bits and Learning Episodes and to (re)find material in the system. In order to share material with other users, the Circle service is employed to copy or share resources. To report on sensemaking outcomes later on and to evaluate the tool itself, parts of the Data Export, Activity, Evaluation as well as the Learning Episode services enable exporting relevant information for respective audiences. To enable user-to-user as well as more collaborative communication features, the Message in Bits and Pieces and Discussion service (used in the Discussion Tool) support users in direct information exchange about issues in the sensemaking process.
Aside from other services used in the Discussion Tool, the Entity service in conjunction with the Learning Episode service enables Bits used in Bits and Pieces to be attached to question and answers if applicable for extending textual contents. Subsequently, the Like service enables users to state a subjective opinion on one or more of the answers and thus, very similar to the Flag and Rating services used in Bits and Pieces, to state the importance of a particular Bit.
Living Documents is used to collaboratively write up sensemaking outcomes in documents of textual layout. For that, the Living Document service working together with the Circle service enable the Discussion Tool to already select a potential document which the current user is able to access. This feature could be seen as some kind of document recommendation service. Subsequently, the new document is linked to a discussion and registered with the help of the Discussion, Entity, Circle and Living Document service. To recommend users who could act as potential contributor to writing up sensemaking outcomes for further application in UK’s National Health Service (NHS) revalidation process, the Recommender service suggests possible contributors. Additionally, the outcomes achieved in any of the mentioned tools are available to other tools, which make use of the SSS services, e.g., Learning Toolbox , KnowBrain and AchSo! .
Construction
To foster contextualized learning in the construction domain, the SSS services support mainly four tools (Learning Toolbox, and Ach So!). Similar to Healthcare, also tools from the other domain, such as Bits & Pieces, Discussion Tool and LivingDocuments, could be supported using the SSS services.
Thus, the SSS provides functionality for the Learning Toolbox that enables the creation of Tiles with the help of the Appstacklayout service. The created Tiles are registered in the SSS so that the contents of the Tiles can be searched from within the SSS using the Search service. To receive contents via annotations, the Tag service supports the Learning Toolbox in annotating e.g. Tiles and contents (e.g., Apps; Apps can be registered with the help of the App service). As Learning Toolbox aims to provide central access points to Layers tools and contents (besides other features), it supports the retrieval of videos created from within AchSo! exploiting the Search service.
For that, AchSo! uses the Circle service to arrange videos uploaded to groups and to subsequently invite users from within the system to respective groups. This way, the SSS supports the sharing of knowledge by means of services available in different contexts. To reflect videos in the SSS, the Video service enables AchSo! to equip videos with links to physical locations so that Learning Toolbox instantly can embed videos found by search in respective players. Furthermore, material available to Learning Toolbox and AchSo! can be served for instance to Bits and Pieces or Living Documents to enable enhanced use cases.
Research Results and Impact
The SSS has been presented as a flexible framework to provide services on social semantic network data in order to support informal learning at the workplace [6] [1]. In this respect, we paid special attention on showing that the SSS is capable of providing services for various tools in the Healthcare and Construction domains [7] [8] [1] [9].
Furthermore, the SSS has been employed as an infrastructure for workplace Learning Analytics (LA) (see also SSS for Learning Analytics) The SSS is able to collect data from workplace learning tools, integrate it into a common data model based on a semantically-enriched Artifact-Actor Network and offer it back for LA applications (see Figure 2). We used the SSS in three pilot studies where the SSS data was exploited by a set of recommender algorithms, developed as micro-services that extend the SSS functionality, and a visual dashboard, developed as an external application that consumes the SSS data. The evaluation results indicate that the SSS satisfactorily supports the analysis of a wide range of workplace learning situations as well as the importance of the knowledge creation theories for such analysis [10] [11] [12].
Material
Links
-
Social Semantic Server code: Link
-
Web site describing our research: Link
-
Impact section describing how the SSS is used to integrate Layers tools: Link
-
Impact section describing how the SSS is used as an infrastructure for workplace learning analytics: Link
-
Tool section describing how KnowBrain is used as a front-end to the SSS: KnowBrain
-
Slides about the Social Semantic Server presented at i-KNOW’2015 in Graz, Austria:
- Slides about the Social Semantic Server used for Learning Analytics presented at LAK’2016 in Edinburgh, Scotland:
Developers and Contributors
Dieter Theiler, Dominik Kowald, Adolfo Ruiz-Calleja, Sebastian Dennerlein, Tobias Ley, Elisabeth Lex
References
- T. Ley, J. Cook, S. Dennerlein, M. Kravcik, C. Kunzmann, K. Pata, J. Purma, J. Sandars, P. Santos, A. Schmidt, M. Al-Smadi, and C. Trattner, “Scaling informal learning at the workplace: A model and four designs from a large-scale design-based research effort,” British Journal of Educational Technology, vol. 45, no. 6, pp. 1036–1048, 2014 [Online]. Available at: Fulltext DOI: 10.1111/bjet.12197
- M. Derntl, M. Kravcik, R. Klamma, I. Koren, P. Nicolaescu, D. Renzel, A. Hannemann, M. Shahriari, J. Purma, M. Bachl, E. Bellamy, R. Elferink, V. Tomberg, D. Theiler, and P. Santos, “Customizable Architecture for Flexible Small-Scale Deployment,” Learning Layers Project, Deliverable D6.2, 2014.
- M. Shahriari, S. Parekodi, and R. Klamma, “Community-aware Ranking Algorithms for Expert Identification in Question-answer Forums,” in Proceedings of the 15th International Conference on Knowledge Technologies and Data-driven Business, 2015, pp. 1–8 [Online]. Available at: http://doi.acm.org/10.1145/2809563.2809592
- S. Dennerlein, M. Rella, V. Tomberg, D. Theiler, T. Treasure-Jones, M. Kerr, T. Ley, M. Al-Smadi, and C. Trattner, “Making sense of bits and pieces: A sensemaking tool for informal workplace learning,” in European Conference on Technology Enhanced Learning, 2014, pp. 391–397. DOI: 10.1007/978-3-319-11200-8_31
- P. Santos, S. Dennerlein, D. Theiler, J. Cook, T. Treasure-Jones, D. Holley, M. Kerr, G. Attwell, D. Kowald, and E. Lex, “Going beyond your Personal Learning Network, using Recommendations and Trust through a Multimedia Question-Answering Service for Decision-support: a Case Study in the Healthcare.,” Journal of Universal Computer Science, 2016.
- S. Dennerlein, V. Tomberg, T. Treasure-Jones, D. Theiler, E. Lex, S. Lindstaedt, and T. Ley, “The Role of Memory and Sensemaking in Healthcare Professionals Informal Learning at Work: A Design-Based Research Study,” in under review, to be submitted, 2018.
- S. Dennerlein, D. Theiler, P. Marton, P. S. Rodriguez, J. Cook, S. Lindstaedt, and E. Lex, “Knowbrain: An online social knowledge repository for informal workplace learning,” in Design for Teaching and Learning in a Networked World, Springer, 2015, pp. 509–512.
- A. Ruiz-Calleja, S. Dennerlein, V. Tomberg, K. Pata, T. Ley, D. Theiler, and E. Lex, “Supporting learning analytics for informal workplace learning with a social semantic infrastructure,” in Design for Teaching and Learning in a Networked World, Springer, 2015, pp. 634–637.
- A. Ruiz-Calleja, S. Dennerlein, V. Tomberg, T. Ley, D. Theiler, and E. Lex, “Integrating data across workplace learning applications with a social semantic infrastructure,” in International Conference on Web-Based Learning, 2015, pp. 208–217.