[CollEc] CollEc 2.0 Access
Düben, Christian
Christian.Dueben at uni-hamburg.de
Fri Jul 17 15:37:57 UTC 2020
If the window turns grey, it means that an error occurred and that the app is no longer responsive. This happens immediately when accessing it through test.collec.repec.org. You can still click through the tabs, but the app is not going to respond to any user input. This includes loading the selectable author names. I did set a default error message that is printed when the error occurs within the R process. However, the grey screen is related to ShinyProxy.
The key concept of web applications is that they are anything but static. This becomes particularly clear when opening the app in a browser and viewing the source code. It is a HTML script which largely relies on Javascript, the language used for non-static, interactive content.
Like any other web application, Shiny apps consist of two main components. On the one hand, there is the front-end, client-side process which happens in the user's browser. That is a HTML body, with some CSS layout and lots of interactive Javascript functions. On the other hand, there is the back-end process. Nowadays, web applications' server-side processes are commonly written in NodeJS, i.e. server-side Javascript. In Shiny apps they are written in R. The communication between a user and the server happens via web sockets linking each user to a user-specific Docker container. These processes are running as long as the user is active, but consume little resources unless the user requests output, like distance plots. Interrupting them implies shutting down the app.
As mentioned above, the selectize functionality does not work when the app shut down and the screen turned grey. In contrast, the "Select by" (Name, RePEc Handles) dropdown menu still lists the available options. It does not trigger any computations either, but the options still show up in the browser. The reason for this difference is the way I implemented the two fields. The "Select by" field runs on the client side. It is a dropdown menu with two options not incurring any substantial computational costs. The name selection is also available through a search field on the client side, but the respective process runs on the server side. There is no need of loading 47,000 names into the user's browser and running the sorting algorithm on the client side when the user types. I tried it. It is very slow. Thus, I load the 47,000 names on the server and only export the top 20 results. These results are updated as the user types. It works when you access the app through the IP rather than test.collec.repec.org. In the distances tab the two fields running on the server side are "Author 1" and "Author 2", highlighted in the attached screenshot.
The 20 people listed by default, before a user starts typing, are the twenty people with the highest closeness values in the inverse transition function case. This part is a ranked list. However, I do not see the point of loading the a full ranked list into the selection field. Nobody scrolls through 47,000 names. It just slows down the app.
I wrote "centrality measures like closeness and betweenness" instead of "centrality measures called closeness and betweenness" because closeness and betweenness are not the only centrality measures in graph theory.
It is true that we are mentioned in the introduction and in the footer. I am going to think about removing that sentence.
I placed some of the text below the video.
According to your code, HTTP port 80 is connected to ShinyProxy port 8080. Somehow, there is something wrong with this connection's configuration.
Christian Düben
Research Associate
Chair of Macroeconomics
Hamburg University
Von-Melle-Park 5, Room 3102
20146 Hamburg
Germany
+49 40 42838 1898
christian.dueben at uni-hamburg.de
http://www.christian-dueben.com
-----Original Message-----
From: Thomas Krichel <krichel at openlib.org>
Sent: Freitag, 17. Juli 2020 14:50
To: Düben, Christian <Christian.Dueben at uni-hamburg.de>
Cc: CollEc Run <collec-run at lists.openlib.org>
Subject: Re: CollEc 2.0 Access
Düben, Christian writes
> Vimeo apparently does not display ads. But that might change at one
> point and I am not going to monitor that platform's ad policy.
> Therefore, I hosted the video locally for now, despite the mentioned
> disadvantages.
It's up to you really.
> I added the daily update routine to the crontab file.
I was wondering if you had stopped because the load of the server
seems to have drastically declined. I don't notice it any more.
> The loading time at app startup is annoying
It seems much faster now. I think it reaches ok state. I mean
a lot of sites are slow these day, maybe we need to keep up
with the times.
> and I looked into its
> causes and ways to circumvent it. Its source is the way ShinyProxy
> makes the app available. Whenever a user accesses the app, ShinyProxy
> spins up a new Docker container with the app in it. Once the user
> becomes inactive, ShinyProxy removes the container. And the initial
> startup time is essentially the time it takes to spin up that
> container. If users were first directed to an index page, on which
> they select the app, I could pre-initialize the container once they
> enter that index page. Unfortunately, ShinyProxy does not support
> pre-initializing containers when users access the app directly, like
> in our case. In short, the loading time at startup remains for now.
Is it normal that it is all grey?
Would it not be possible to set up static pages, and have the app only
be active if there is a need to work on user input?
I think that the start page explains what the service does. Then there should be
a video, and then background and whosdone it.
CollEc is a RePEc service that evaluates the economic literature's co-authorship network. It allows you to assess bilateral distances and centrality measures like closeness and betweenness for more than
47,000 authors. As in GraphEc, you interact with the results through graphical representations.
Feel free to watch the following
tutorial for a brief introduction to CollEc's functionalities. Note that the video player depends on your browser. In some browsers you may need to right-click on the video to select the full screen option.
like closeness and betweenness --> called closeness and betweenness
Then I suggest the video and then
It is maintained by Christian Düben. Our data comes from the RePEc Author Service, a RePEc service maintained by Christian Zimmermann . Further details are available in the documentation .
CollEc was founded by Thomas Krichel in 2011.
I am not sure we need you and me in the end here because we
have it in the footer.
> Could you tell me how you linked test.collec.repec.org to the app?
> As I mentioned in an earlier e-mail, it does not work. I would need
> some specifics to find the bug.
It was a five-minute job.
root at darni ~ # cat /etc/apache2/sites-available/collec.repec.org
<VirtualHost *:80>
ServerName test.collec.repec.org
ServerAlias test.collec.openlib.org
ErrorLog /var/log/apache2/collec.proxy-error.log
CustomLog /var/log/apache2/collec-access.log combined
UseCanonicalName Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/ </VirtualHost>
> I can barely talk without coughing these days. But I am going to produce the video as soon as possible.
>
> Apart from the video and the URL connection issue, I think that the app is ready to become publicly available.
>
> I have the impression that you upset or unsatisfied with this project. Did I do something that upset you? Did the app development take too long? Do you not like the layout or the content? I could have developed the app faster, but I wanted to try various optimizations before releasing it. And familiarizing myself with Docker, MariaDB, ShinyProxy, Shiny etc. took a while. I am sorry, if I upset you. Please feel free to provide any feedback or suggestions.
>
I'm very sorry for appearing to be grumpy!
I don't know how to use the selection screen.
The select by is confusing. I don't seem to be able to get anything from
it. I type "Krichel" or pkr1 in there and just nothing happens.
I think we need the ranked lists there and finally we will need exports.
--
Cheers,
Thomas Krichel http://openlib.org/home/krichel
skype:thomaskrichel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Temp.PNG
Type: image/png
Size: 38455 bytes
Desc: Temp.PNG
URL: <http://lists.openlib.org/pipermail/collec-run/attachments/20200717/371c1ab8/attachment-0001.png>
More information about the CollEc-run
mailing list