guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GSoC: Adding a web interface similar to the Hydra web interface


From: Tatiana Sholokhova
Subject: Re: GSoC: Adding a web interface similar to the Hydra web interface
Date: Thu, 24 May 2018 00:06:48 +0300

Hi Ricardo,

Thanks for the helpful answer. Now I almost figured out how to serve static files.

I have committed the first HTML template page (with table of specifications stored in the database) to web-interface branch. Can you please review it?

I am a bit confused about the database structure. As far as I understand, there are project_name (project) and branch_name (jobset) properties, but project_name is a primary key, so a project can't have several branches? 

I'm working on static file serving but I don't know how to set the path of the static file directory. Now I just wrote my absolute path to the style.css file. So, I have two questions. 1. Where should I place the static files? 2. How can I execute getcwd function (as you do it in rcas-web/rcas/config.scm.in)? I tried to add something like

(define-public %current-directory
`(,(getcwd))) 

to my config.scm.in but it does not work.

Best regards, 
Tatiana Sholokhova

2018-05-22 8:33 GMT+03:00 Ricardo Wurmus <address@hidden>:

Hi Tatiana,

> I have already created a small module implementing basic HTML templates in
> Scheme. Also, I have made an extension to the Cuirass Web API. It responds
> on the "/status" request and generates a page with a minimalistic HTML
> table displaying the list of specifications stored in the database.

Excellent.

> My login on Savannah is "TSholokhova". I am looking forward to making my
> first commit. I would be glad to receive comments on my code to be sure
> that I am moving in the right direction.

The Cuirass repository is available at
http://git.savannah.gnu.org/cgit/guix/guix-cuirass.git

I have added your account to the group, so you should have write access
to the repository now.  Please push your commits to a new branch on that
repository.  Please also read the section “Coding Style” in the Guix
manual.

You are welcome to rewrite your own published commits in your own
branch, but not in other branches.  When you want us to comment on your
work, please let us know the range of commits that you would like us to
review.  Ideally, we would be able to merge your work into the “master”
branch regularly.

> You have mentioned that many users would prefer an interface working
> without _javascript_ running. Am I right that we would like to have a
> non-interactive (js-free) interface working and also add some functionality
> (e. g. search tools for tables) via _javascript_?

Yes, this sounds like a good idea.  It is not absolutely necessary, but
it would be nice if basic features of the interface would still be
usable even when _javascript_ is disabled.

> Also, I have a couple of questions regarding the frontend part. What
> frontend framework we would prefer? If I get it right, Hydra uses
> Bootstrap.

It is fine to use Bootstrap.  Please include the unminified Bootstrap
CSS and JS files to the repository.  It is easy to minify them later,
but it is virtually impossible to turn minified code into something
readable.

> For the frontend implementation, we need to include some static
> css&js files in the interface and serve them somehow. Is it a good idea to
> serve the static files by Cuirass web server in Scheme?

Yes, this can be done by the Cuirass web server in Scheme.

In the web interface for RCAS I’m dispatching to “render-static-asset”
in the controller:

    https://github.com/BIMSBbioinfo/rcas-web/blob/master/rcas/web/controller.scm

“render-static-asset” is defined here:

    https://github.com/BIMSBbioinfo/rcas-web/blob/master/rcas/web/render.scm#L65

As you can see, this module defines a bunch of mime types and includes
the appropriate type in the headers along with the contents of the file
it serves.

Hope this helps!

--
Ricardo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]