Github

Comments about LibriVox? Suggestions to improve things? News?
Post Reply
adv1023
Posts: 2
Joined: September 5th, 2018, 3:50 pm

Post by adv1023 »

I have spoken with a member of the admin team and we should put the code on github and update the website.
It is a beautiful site and needs a beautiful website.
This is my idea: (not approved yet)
We should discuss a strategy for the website.
It is currently in php. I think we should update it with a Node.js framework.
Any suggestions, advice, and help would be greatly appreciated!
philchenevert
LibriVox Admin Team
Posts: 24589
Joined: October 17th, 2010, 9:23 pm
Location: Basking by the Bayou
Contact:

Post by philchenevert »

What is a node.js framework? I know it is hard to explain to non experts like me, but how would it be better than php?
"I lost my trousers," said Tom expansively.
89 Decibels? Easy Peasy ! https://youtu.be/aSKR55RDVpk
tovarisch
Posts: 2936
Joined: February 24th, 2013, 7:14 am
Location: New Hampshire, USA

Post by tovarisch »

adv1023 wrote: September 5th, 2018, 6:53 pm Any suggestions, advice, and help would be greatly appreciated!
Here is a suggestion (a bit worn out by use, but still): don't fix what isn't broken. I'm talking of the forum site (which I know uses PHP, just look at the ".php" in the URL).

The catalog OTOH could use an improvement or a few. What it is written in, I am not sure. But there is little sense in changing the language just for the sake of changing the language. Most of what I see on the 'net talks of the performance of Javascript compared to PHP. Are we concerned with performance of our catalog? Is Archive going to host our site if it's using Node.js (vs what it is now)? Server-side scripting like this needs to be supported by the back end...
tovarisch
  • reality prompts me to scale down my reading, sorry to say
    to PLers: do correct my pronunciation please
annise
LibriVox Admin Team
Posts: 38643
Joined: April 3rd, 2008, 3:55 am
Location: Melbourne,Australia

Post by annise »

I'm not privy to what you have been told by an admin , but it's my understanding that the forum uses free bulletin board software that we customise and that's what uses php ? So that side of our website is maintained for free by someone else .
The backroom stuff and the visual catalogue stuff is not and is I assume what you mean by our website ?

Anne
knotyouraveragejo
LibriVox Admin Team
Posts: 22118
Joined: November 18th, 2006, 4:37 pm

Post by knotyouraveragejo »

For starters, It would be helpful to know which member of the admin team you have spoken to about this. :)
Jo
adv1023
Posts: 2
Joined: September 5th, 2018, 3:50 pm

Post by adv1023 »

Most websites are developed with STACKS.
PHP is usually part of a LAMP stack. This means that L = Linux A = Apache M = MySQL and P = PHP. I believe this is what you are using now.
These components are free and provide all necessary requirements for the website. However, they are older, do not scale well and most people would prefer to learn JavaScript languages because that is what the world has switched to.
Node is part of a MEAN.js stack where M = mongoDB, E = Express, A = angular and N = node. All of these frameworks sit on top of the NODE.js. All of these components are free.
The LAMP stack uses Linux which manages all the languages in the Lamp stack. Node sits on top of a Linux OS and the JavaScript frameworks, Angular, express, and mongoDB sit on top of NODE.
All of these components for Both the LAMP and MEAN.js stack are free.

PHP works.
I was just throwing ideas out there.
philchenevert
LibriVox Admin Team
Posts: 24589
Joined: October 17th, 2010, 9:23 pm
Location: Basking by the Bayou
Contact:

Post by philchenevert »

PHP works.
I was just throwing ideas out there.
Hey, thanks for taking the time to explain about node and php. I know that technology moves along and sometimes it is good to look at different ways to get the job done. As you may realize by now, most of us here know litte about the infrastructure of what makes the site tick and work. I have heard of Linux, MySQL and PHP but not how they interrelate. I am just glad the darned thing works so smoothly right now. :thumbs:
"I lost my trousers," said Tom expansively.
89 Decibels? Easy Peasy ! https://youtu.be/aSKR55RDVpk
kayray
Posts: 11828
Joined: September 26th, 2005, 9:10 am
Location: Union City, California
Contact:

Post by kayray »

I am the admin she spoke to. In her intro email she mentioned that she would like to have our code on github. My reply was this:
kayray wrote:Great! Yeah, there has been discussion in the admin forum about putting the code on github. I don't know what became of that plan -- not my area of expertise! If you post somewhere -- maybe in News, Comments, and Suggestions -- someone will let you know what's up.
Sorry if this was interpreted as a green light to change things! Not my intention. Just being my usual friendly, welcoming self :)
Kara
http://kayray.org/
--------
"Mary wished to say something very sensible into her Zoom H2 Handy Recorder, but knew not how." -- Jane Austen (& Kara)
tovarisch
Posts: 2936
Joined: February 24th, 2013, 7:14 am
Location: New Hampshire, USA

Post by tovarisch »

... which prompts me to ask, is our code (whatever it does) also in the Public Domain? Was the idea to put it on github for the purpose of soliciting suggestions to improve it? Or was it to provide a [common-practice] version control? If the former (and the code is PD), we can make the repository on github public, but then who's managing it? If the latter (version control, strict limited access), github is just as good a place as some other, and it's a tracking tool besides, where you can add issues, resolve them, etc.
tovarisch
  • reality prompts me to scale down my reading, sorry to say
    to PLers: do correct my pronunciation please
TriciaG
LibriVox Admin Team
Posts: 60737
Joined: June 15th, 2008, 10:30 pm
Location: Toronto, ON (but Minnesotan to age 32)

Post by TriciaG »

As far as I can recall and process in my own brain, the (sanitized) workflow code was submitted to Github as a requirement of our grant back in 2013. The purpose wasn't necessarily for people to dig in and modify LibriVox, but to provide a framework for anyone else who wanted to start a project for which the workflow would be useful. We do not give carte blanche for people to modify our current, working code. Any folks that have access to our current code are known to us and are considered reliable. Any suggested changes that are made get vetted before being accepted.

Hope this answers your question. It may not be 100% accurate, but it's true to the best of my knowledge. :)
School fiction: David Blaize
America Exploration: The First Four Voyages of Amerigo Vespucci
Serial novel: The Wandering Jew
Medieval England meets Civil War Americans: Centuries Apart
notartom
Posts: 385
Joined: September 14th, 2012, 4:34 pm

Post by notartom »

tovarisch wrote: September 7th, 2018, 9:32 am ... which prompts me to ask, is our code (whatever it does) also in the Public Domain?
I believe the requirement of the Melon project was that the code be open source, not necessarily public domain.
tovarisch wrote: September 7th, 2018, 9:32 amWas the idea to put it on github for the purpose of soliciting suggestions to improve it? Or was it to provide a [common-practice] version control? If the former (and the code is PD), we can make the repository on github public, but then who's managing it? If the latter (version control, strict limited access), github is just as good a place as some other, and it's a tracking tool besides, where you can add issues, resolve them, etc.
The Melon project hired, among others, Jeff, a PHP developer responsible for the new catalogue and workflow code, and Sonia, a designer responsible for the WordPress theme. Both worked with private GitHub repositories, using them purely for version control. At the end of the Melon project, Jeff was required to dump a sanitised version of the catalogue and workflow code in a public GitHub repository. He removed things like passwords and other credentials, and those modifications made it impossible to use the code from the public GitHub repository directly - what Jeff had removed would have to be re-added. A working copy continues to exist in the original private GitHub repository.

At some point after the completion of the Melon project, I started writing Ansible playbooks to deploy a fully working LibriVox server, complete with home page, catalogue, workflow, forum and wiki. Originally this was just to be able to deploy dev/staging environments in an easy, consistent and reproducible way. Today, those playbooks deploy and upgrade the production environment as well, and serve as a poor man's documentation of what LibriVox needs to run. To deploy code from GitHub with Ansible, it's just way easier to have that code live in a public repository. So I spent some time creating usable public repositories of Jeff and Sonia's code. The only thing missing from them are credentials, which are stored as secrets in an Ansible vault, and are deployed by Ansible as templates instead of being cloned from GitHub.

Throughout all of this, I'd always kept the "build a community of developers around LibriVox" idea in mind, but everything was primarily done to make my life as sysadmin easier, and to ensure timely upgrades and easy, consistent, reproducible, and disposable dev/staging environments. Recently, our very own rillig found LibriVox's GitHub page, and managed to use the Ansible playbooks to set up his own development version of LibriVox in a virtual machine. He then submitted a bunch of patches to the catalogue code, but it's been a while since I've heard from him.

Besides the patches, my exchanges with rillig also yielded improvements to the Ansible playbooks to make them more helpful when setting up private dev environments, but also a sanitised version of the entire LibriVox catalogue database! All of the book information has been kept, but users have been stripped of all personal information, with usernames and passwords replaced with generic user_1234/reallysimplepassword combinations. I need to put this database up on GitHub and integrate it with the Ansible playbooks, to make it even easier for anyone interested to set up their own private LibriVox dev environment.

Throughout all of this, I was the only one able to actually approve code changes for either the catalogue or Ansible playbooks, though of course rillig did most of the actual work of producing said code changes

In case anyone's interested, feel free to browse https://github.com/LibriVox, everything tech-related is there. We even have our own patches on top of phpBB (the forum).

PS: Please don't rewrite anything in node.js, that's a waste of time and work :) The more pressing issue is updating the catalogue to CodeIgniter 3.1, so that we can finally move away from PHP 5.6. I'm a Python developer and sysadmin, not a web developer.
kayray
Posts: 11828
Joined: September 26th, 2005, 9:10 am
Location: Union City, California
Contact:

Post by kayray »

thank you, Artom!
Kara
http://kayray.org/
--------
"Mary wished to say something very sensible into her Zoom H2 Handy Recorder, but knew not how." -- Jane Austen (& Kara)
Post Reply