In this section we first briefly introduce Galaxy and Elgg, the systems upon we built ElGalaxy and then we describe in detail its functionalities. Our idea is to integrate CSCW functionalities with an application usually adopted by researchers: ElGalaxy is the result of the integration of Galaxy (a Workflow Management System) with Elgg (a Social Network Engine).
Galaxy and Elgg
Galaxy
Started in 2005, Galaxy is an open source, Web-based scientific workflow system to build multi-step computational analysis [3–6]. It seeks to increase access to complex computational analyses for all scientists, including those with limited or no programming and administrative knowledge. Large data analyses are possible by using the functionalities provided through the Galaxy’s Web-based graphical user interface (GUI). Using the Galaxy GUI, users can upload their own data or retrieve data from public databases, choose among several analysis tools, set their inputs and parameters and, finally, run tools. Additionally, a workflow editor can be used to create automated, multistep analyses (through the simple drag and drop functionality). Galaxy analyses are completely reproducible. Indeed, all parameters and inputs are permanently recorded, and analyses can be precisely repeated using the GUI. Finally, Galaxy enables users to share and publish their analyses via the Web.
Elgg
Elgg is an open source social networking engine that provides a robust framework on which to build customized social environments [7]. For each user, it offers a personal Wall page, with personal posts and related comments of other users. Moreover, it provides the possibility to manage bookmarks, blogging, sharing files, create and sharing pages. Furthermore, Elgg provides a wide set of Plugins, that allow to add extra functionalities. Elgg has a wide community of developers (it hosts a repository of 1000+ open source plugins) and it is used as private social network by (among the others) the NASA, the Australian and British Governments, the Stanford University and the Johns Hopkins University. A full Elgg package is provided under the GNU General Public (GPLv2).
Functionalities
ElGalaxy has a twofold usage context: it supports individual work in Galaxy and team activities in Elgg. A researcher can use Galaxy as usual and then s/he can share a workflow with his/her team in Elgg. As a consequence, the user’s actions on the workflow in Galaxy (i.e., changes on the workflow, run, saving) trigger notifications to the team members in Elgg. This kind of semi-automated integration reduces the users’ efforts in the adoption of the social environment because they are not in charge of populating the system with contents, which are automatically shared.
The description of ElGalaxy functionalities follows this timeline: (1) a user can belong to several groups in Elgg corresponding to work teams; (2) the user shares a Galaxy workflow with one of his/her groups and the team members can comment on it; (3) each running workflow is shared and can be commented; (4) the team is notified about changes on the workflow; (5) the team can collect several kinds of shared information (such as files, bookmarks, etc.); (6) all the group activities are presented in an activity page.
The user carries out individual actions in Galaxy, while the team actions occur in Elgg. Screenshots about all these activities are available online as supplementary materialFootnote 6.
-
1.
User’s groups. In Elgg, each user can participate to several groups corresponding to teams involved in specific projects (Fig. 2a). Moreover, the user can create new groups and can invite team members.
-
2.
Sharing and commenting a workflow. Each researcher can share his/her Galaxy workflow with a group on Elgg through an explicit action on the workflow (see Fig. 2b). Nothing will be shared without an explicit command of the workflow owner. On the other hand, in Elgg, the team will have a list of all the workflows shared by every team member. Each workflow can be visualized and commented by each team member in order to refine the workflow and to build a common knowledge about the team practices (Fig. 2c). We would to emphasize that the workflow shown in Elgg is not a static image, but the active and live version of the workflow, retrieved in real time from Galaxy.
-
3.
Running the workflow and sharing results. In Galaxy, when a user run a workflow, the system creates a history containing the execution results. If the workflow has been previously shared with a group in Elgg, all the histories coming from its executions will be automatically shared in the same group. Then, in Elgg, team members can see the list of all the histories associated with all the shared workflows. Moreover, they can visualize and comment each history and can see a preview of each step result (Fig. 2d). Sharing histories aims to support team awareness about progress in the work and allows users to discuss about expected or unexpected results.
-
4.
Changing the workflow. In Galaxy, if a shared workflow is modified by its owner, all the team members can immediately visualize the changes in the Elgg environment, which is automatically and permanently synchronized with the analysis activities. It is worth to note that the workflow is just shown in Elgg, therefore no change on the workflow can be made without the intervention of the workflow’s owner in Galaxy.
-
5.
Sharing docs, information, bookmarks. In addition to the activities strictly related to the Galaxy workflows, Elgg offers several further functionalities to support collaboration and information sharing within the team. Indeed, it provides a group Blog, where each team member can create pages; a Files page to collect documents useful for the team (Fig. 2e); a Bookmark page to manage a collection of group bookmarks.
-
6.
Activities overview. Besides the functionalities to support communication and information sharing, ElGalaxy aims to improve team awareness, by allowing every one to be updated about the state of the project at a glance. In particular, Elgg provides “Groups” with an “Activities” page where users can receive notifications about workflows changes and executions, uploaded files, pages creation in the blog section and so on; these notifications can be commented by team members (Fig. 2f). All the workflows notifications (changes, run, results) are also added on the calendar of the social environment, so that the group has an overview of activities over the time. These functionalities allow each team member to stay abreast of the group activities easily, even if he/she works in a remote location. Moreover, each user receives notifications on his/her personal “Wall” page about activities of all the groups to which he/she belongs to, so that he/she can be updated about activities of each project.
Architecture
We integrated Galaxy and Elgg by developing a Bridge software component able to create connections between actions in Galaxy and events in Elgg. The design of the integration is an instance of the generic mechanism presented in a earlier work [8].
The communication between Galaxy and Elgg is realized through two different interaction mechanisms (shown in dotted boxes in Fig. 3): the Resource Delivery Service and the Notification Service. The Resource Delivery Service is responsible of getting from Galaxy the data requested by users through Elgg (for example, the workflow that is shown in the Elgg page). The Notification Service sends notifications from Galaxy to Elgg about some events (i.e., changes and running of workflow, etc.). These services have been implemented by developing different software modules in all the three components of the system, that is, in Galaxy, in Elgg and in the Bridge Component.
With regard to the generic integration mechanism presented in [8], the following modules have been specifically customized: (a) the Hooks manager in the Galaxy environment, (b) the WERD file on the Bridge Component and (c) the whole Elgg plugin.
Modules in galaxy
In Galaxy we integrated the Hooks manager module, which is responsible of producing notifications about changes, savings and running of workflows. The Hooks manager intercepts the Galaxy logging activity about changes and savings of workflows, while intercept the running of a workflow step through an action associated with the step execution. Then, the Hooks manager triggers notifications about these events towards the Notification Server (on the Bridge Component).
Finally, Galaxy provides a set of API that allowed us to get data through Web requests (Standard HTTP and RESTful Services). In particular, we used the Galaxy API to get workflows and histories that are shared in Elgg.
The bridge component
It includes the modules responsible of transferring resources and notifications from Galaxy towards Elgg. The Notification Server, listens for notifications from the Hooks manager in Galaxy and forwards them to the Elgg Notification Manager. The Work Environment Caller module receives the requests for resources (workflows and histories) from Elgg and gets the corresponding responses through the Galaxy API. Moreover, the Bridge Component contains the WERD file (Work Environment Resource Definition XML file), which contains information to locate the resources available in Galaxy.
The Elgg plugin
It is composed of several modules: (a) the Bridge Caller, to manage Galaxy resources, (b) the Notification Manager, responsible of notifications (c) and the UI Management module, responsible of the user interface. The Bridge Caller asks for specific resources (workflows and histories) to the Work Environment Caller in the Bridge Component. Once received the resources, the Bridge Caller makes them available to the UI Management Module. The Notification Manager receives notifications of the user’s actions in Galaxy (changes, save, and running of workflows). Then, it builds the notification and creates entities which can be managed by the UI Management module. The UI Management module is responsible of the integration of data in the user interface of Elgg. It provides synchronous advises and integrates notifications in the “Group Wall” and in the “Group Calendar”; moreover, it leverages the Web UI provided by Galaxy to visualize workflows and the histories to the group.