Apache Taverna Mobile is an Android app for controlling an Apache Taverna Server for remotely running Apache Taverna workflows.
It can also talk to a Taverna Player.
This module was created during Google Summer of Code 2015.
(c) 2015-2016 Apache Software Foundation
This product includes software developed at The Apache Software Foundation.
Licensed under the Apache License 2.0, see the file LICENSE for details.
The file NOTICE contain any additional attributions and details about embedded third-party libraries and source code.
Please subscribe to and contact the [dev@taverna](http://taverna.incubator.apache.org/community/lists#dev mailing list) for any questions, suggestions and discussions about Apache Taverna Mobile.
Bugs and feature plannings are tracked in the Jira
Issue tracker
under the TAVERNA
component GSOC Taverna Mobile. Feel free
to add an issue!
To suggest changes to this source code, feel free to raise a GitHub pull request. Any contributions received are assumed to be covered by the Apache License 2.0. We might ask you to sign a Contributor License Agreement before accepting a larger contribution.
- Android Studio at least version 1.1.0
- Android Build tools version 21.1.2+
- gradle version 1.1.0+
- Support libraries for CardViews and recycler views. These are already configured in the gradle files Import the project as Android Studio Project into Android Studio after downloading from the github repository. Create and startup a virtual device or connecct your mobile device if ready. Once the devices are ready, build and run the project. Select the target devvice on which to install and launch the app. Once installed, you get a flash screen containing the logo and Name of the app and some powered by Text.
Launch the application to get started. For first time use when the application is started, you will be prompted with a login screen. This login accepts MyExperiment accounts. You will need to first create one such account in order to login. You can decide whether to remain logged-in or be logged-out when your session expires. You can also configure the login persistence from the settings option in the menu after you login. A successful login would lead you to a dashboard or home screen of the application. Users need to go to the settings page and configure their Taverna Player accounts and mount points to indicate which server should be used to run their workflows. This setting could change per organisation.
The dashboard has two swipeable tabs. These tabs represent screens that hosts workflow streams.
once logged-in a stream of workflows should appear on the first screen(Wrofklows). The second tab holds workflows that have been favorited or saved for offline reference.
On the first tab, you could pull down to referesh initial workflows. To load more workflows, just scroll to the end of the current stream. more workflows would be loaded and added to the current ones as the user reaches the end of the current stream.
The search bar icon allows you to search and find workfows by author or by name. the results are provided in real-time in the first tab (First page).
To mark a workflow as favorite, you can just tap the favorite button for the given workflow.
To view details and actually run a workflow, click the view button for the given workflow. Details are fetched from myxperiment and presented on the current page. The details page has three main swipeable tabs. The second tab shows a list of the runs performed on this workflow and the last tab is for some policy information. On the first page of the details, users can initiate a workflow run, download a workflow or mark them as favorite with the appropriate button.
The navigation drawer can be pulled out from the home page by swiping the extreme left of screen across the screen. This menu contains the following items:
- Workflows: enters the workflow screen from any other screen.
- Open workflow: prompts users to pick a workflow to run from an external storage location or Dropbox.
- Usage: presents usrs with usage dialog with usage information.
- About: presents an about dialog for the application.
- Settings: Provides a settings page for users to configure preference paramters an options like player portal location and credentials.
- Logout: Logs a user out of the application and closes the app.
Taverna Mobile has further documentation about key functionalities and implementations with screenshots attached.
It has been mainly adapted for developers, however, users can get neccessary information from the quick start section of this readme.
The defaults for this applications uses a development instance of Taverna Server at University of Manchester, which might not be available.
You can start our own Taverna Server with Docker:
docker run -p 8090:8080 --name taverna-server -d taverna/taverna-server:2.5.4
And a Taverna Player:
docker run --name taverna-portal --link taverna-server:taverna -p 3000:3000 -d fbacall/taverna-player-portal
Then edit app/src/main/res/values/strings_activity_settings.xml to set:
<string name="pref_player_default"> http://example.com:3000/</string> <!-- default value -->
<string name="pref_server_default"> http://example.com:8090/</string> <!-- default value -->
.. where you= replace example.com
with the hostname or IP address of your server running Docker.
Note that if you are using Docker on OS X or Windows, then a Virtual Machine will run the Docker
containers under a different IP address. Use docker-machine ip
to check. You may have to
adjust your firewalls to allow port 3000
and 8090
from the Taverna Mobile app. If you are
testing from a mobile/tablet, you may have to use WiFi to get access to the
Taverna Server on the local network.
You can alternatively install the Taverna Server WAR file in your favourite servlet container, e.g. Apache Tomcat - see the Taverna Server installation guide for details.
This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.
The following provides more details on the included cryptographic software:
- Uses Apache HttpComponents client, which can initiater
https://
connections through Android SDK's SSL support - Uses Dropbox Android SDK,
which includes a
SecureSSLSocketFactory
binding with Android SDK