-
Notifications
You must be signed in to change notification settings - Fork 80
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
base: v1.0
Are you sure you want to change the base?
Conversation
@zaidka Any opinion about this? |
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? |
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:
Is that correct? |
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:
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.
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.
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?). |
At the moment I include only the license texts of all explicit dependencies (the packages listed in 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.
You're right, but I haven't found a better way to gather all the needed information.
Well, that's kind of what I already have. For reference I'm attaching 2 screenshots to show how it looks like. |
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:
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).