Frequently Asked Questions
- What do I need to install to run GenoRing?
- You just need to install Docker and PERL if it is not already available on your system. Nothing else. - What kind of site is targeted by GenoRing?
- GenoRing can be used to run a genome hub, a gene bank, a breeding site, and even a lab site. Since it is based on Drupal, a general purpose CMS, any kind of site could be run. However, GenoRing is focused on biological data and more adapted to site dealing with such data. Finally, the main limitation is the list of available GenoRing modules mitigated by the fact that new modules could be created quite easily. - Can I run GenoRing on my computer?
- Yes. GenoRing is initially designed to be run on Linux but it can also be run on Windows or on Mac OS (ARM architecture). It might be convenient to test it or to develop modules. - Can I use another CMS than Drupal?
- Yes. However, you will need to develop an alternative service to the "genoring" Docker. To be compatible with other GenoRing modules, you will have to implement a "genoring" script that will support a list of commands described in the documentation (in DEVEL.md). - "I have a performant Galaxy instance running on a HPC" or "I prefer to manage a local instance of the web server/database server" or "I do not want to use containers" ... Am I forced to use GenoRing Docker containers?
- No, you can replace GenoRing services provided through containers by local or external services. It is quite easy as long as you can provide a replacement server IP that will substitute to the Docker container. However, auto-updating services, as well as data backups and other features, may not work properly, depending on the service. - How complicated is it to replace GenoRing services by local/external services?
- It is done by a single command line as long as the replacement service works the same as the provided container. However, if the service uses shared data volumes, some file system adaptation will be required. Furthermore, auto-updating services, as well as data backups and other features, may not work properly, depending on the service. It might be required to replace hook scripts to support some events such as starting and stopping GenoRing or testing the service status. - How do I access to GenoRing when it is started?
- Just open a web browser and use the URL http://your.host.name-or-ip:8080/ unless you specified a different port than the default "8080". Ex.: http://192.168.0.2:8080/ or http://my.server.com:8080/
If you are running GenoRing on you local machine for testing, you can also access it through: http://localhost:8080/
Currently, HTTPS (SSL) is not supported but it will in future versions. - Why GenoRing relies on a PERL script to manage everything?
- The main goals of GenoRing are to be easy to use, with very few requirements, to be modular and, easy to maintain.
Running it with a single command line was a key point. Several choices were possible:- Aks the user to use Docker compose commands but it would require the user to create a docker-compose.yml file or at least edit it manually to add and enable or disable modules. The user would also have to edit environment files manually, which is not very convenient. And to achieve more complex tasks (backups, use alternative services), it would not be very easy as well. That's why using a script was unavoidable for simplicity.
- A shell script could have been used. While shell scripts don't require any software installation on Linux or Mac systems, they would not work on Windows systems. Furthermore, there are many reasons to avoid shell scripts: https://mywiki.wooledge.org/BashPitfalls
- A PERL Script: that's the solution we choose because PERL is natively available on most systems and easy (and free) to install on Windows as well. And to reduce any other requirements, only standard PERL libraries are used.
- A python script, a PHP script,... could have been used but they all require a language interpreter to be installed which would mean additional requirements. There also could be issues due to incompatibles versions of installed software.
- Maybe other more complex solutions exist as well but a PERL script remains a simple choice and still not too complex to maintain.
- I want to integrate a custom application to GenoRing. How to proceed?
- Start by copying the module template directory (modules/TEMPLATE), remove unnecessary files and hooks, edit and add what is needed. Then, you should be able to enable your custom module and have it integrated to GenoRing just as any regular module. - How to add Drupal extensions and themes to the Drupal instance provided by GenoRing? Do I need to use a local version instead?
- You don't need to use a local version. You can use "composer" to manage Drupal extensions through the GenoRing shell (`genoring.pl shell`). - I would like to use my institute Single Sign On service (SSO) to log into GenoRing automatically. Is it possible?
- Yes, through a Drupal extension as long as such an extension exists for your SSO system. You will have to add that extension and configure it.