Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add about page, generated with a python script and a html template #79

Open
wants to merge 1 commit into
base: v1.0
Choose a base branch
from

Conversation

okraits
Copy link
Contributor

@okraits okraits commented Jul 14, 2017

As proposed in #69, I implemented an about page with version and licenses information. The page is generated with a python script and a html template file:

  • find out genieacs/genieacs-gui dependencies and their licenses
  • fetch license texts from the spdx project
  • generate the about page from a html template file and the collected information

For the python script to work, the genieacs-gui rails gems need to be installed because it seems that it's not possible to get the license of a gem remotely.

The about page should then be added to the master branch, too (adapted to the master branch code, of course).

@okraits
Copy link
Contributor Author

okraits commented Jan 10, 2018

@zaidka Any opinion about this?

@zaidka
Copy link
Member

zaidka commented Jan 13, 2018

Thanks for coding this. However, that's a lot of code for what can essentially be a simple txt file with a link to it somewhere. Software licenses don't change often and dependencies aren't introduced very often either, so using a script to compile the license text seems like overkill to me.

I suggest a version/build number instead of the "about" hyperlink. Clicking the build number would take you to a page with details about version number of GenieACS core and GUI as well as the database and any other relevant dependencies. That page would be a perfect place to link to the software licenses text. What are your thoughts on that?

@okraits
Copy link
Contributor Author

okraits commented Jan 25, 2018

Well, my intention for writing this script was to enable autogeneration of the about page which reduces the needed effort and human faults.

The script not only compiles the license text, it also looks up the dependencies of both genieacs core and gui and the license info of all dependencies. If you want to also provide the version number of all dependencies then that would be another thing you would have to look up manually.

I agree that those things do not change very often. Nevertheless I thought that a script would be neat to automate the process which has to be done at least every time a new release is made.

Talking about the appearance, I read your comment like you would change 2 things:

  • display a build number instead of "About" as the caption for the link to the about page
  • move the licenses text to an external file instead of displaying it inline in the about page

Is that correct?

@zaidka
Copy link
Member

zaidka commented Jan 25, 2018

If you want to also provide the version number of all dependencies then that would be another thing you would have to look up manually.

I don't know if that's a standard practise. Not saying it isn't, I just don't konw. Looking at my node_modules directory I see over 100 packages. Do you include license text for all that? It's worth noting that these packages are not technically distributed with genieacs or genieacs-gui but the user installs themselves through npm. The only 3rd party code that's distributed with genieacs-gui is what's under "vendor" directory in genieacs-gui, namely:

I agree that those things do not change very often. Nevertheless I thought that a script would be neat to automate the process which has to be done at least every time a new release is made.

It certainly is nice, however, every line of code is an added liability especially given that we don't yet have automated tests. And this particular piece of code is especially fragile because it relies on external factors like the directory structure of 3rd party libraries.

display a build number instead of "About" as the caption for the link to the about page

Right. But I'm suggesting more than just a change of text but an actual page to show build related details and version number of both genieacs-gui and the genieacs core it's connected to.

move the licenses text to an external file instead of displaying it inline in the about page

I admit I have a thing for plain text :) Inline is okay too though as long as formatting is consistent (or not formatted at all) and the page doesn't get too tall (e.g. textarea with a scrollbar?).

@okraits
Copy link
Contributor Author

okraits commented Feb 2, 2018

I don't know if that's a standard practise. Not saying it isn't, I just don't konw. Looking at my node_modules directory I see over 100 packages. Do you include license text for all that? It's worth noting that these packages are not technically distributed with genieacs or genieacs-gui but the user installs themselves through npm.

At the moment I include only the license texts of all explicit dependencies (the packages listed in package.json and Gemfile). I just noticed that this is incomplete because I also have to provide the licenses of implicit dependencies.

When talking about providing the GenieACS source code on the net, you're right that you only have to provide the license(s) of the code directly distributed with GenieACS. But if I set up an install of GenieACS for a customer, I have to provide the licenses of all dependencies (explicit and implicit) because they will be delivered to the customer as well.
I'm providing each type of License (MIT, BSD-3-Clause, etc) only once, of course.

It certainly is nice, however, every line of code is an added liability especially given that we don't yet have automated tests. And this particular piece of code is especially fragile because it relies on external factors like the directory structure of 3rd party libraries.

You're right, but I haven't found a better way to gather all the needed information.

Right. But I'm suggesting more than just a change of text but an actual page to show build related details and version number of both genieacs-gui and the genieacs core it's connected to.

Well, that's kind of what I already have. For reference I'm attaching 2 screenshots to show how it looks like.

about-1
about-2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants