Github

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

Post by adv1023 » September 5th, 2018, 6:53 pm

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: 15792
Joined: October 17th, 2010, 9:23 pm
Location: By De Bayou
Contact:

Post by philchenevert » September 5th, 2018, 7:01 pm

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?
Phil Chenevert, The LibriVox Video Guy
Adultery is a sin. You can't have your Kate and Edith too. .

Need Help? Lots of Helpful Videos Here

tovarisch
Posts: 2548
Joined: February 24th, 2013, 7:14 am
Location: New Hampshire, USA

Post by tovarisch » September 5th, 2018, 7:23 pm

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: 29882
Joined: April 3rd, 2008, 3:55 am
Location: Melbourne,Australia

Post by annise » September 5th, 2018, 8:05 pm

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: 14970
Joined: November 18th, 2006, 4:37 pm
Location: Pennsylvania

Post by knotyouraveragejo » September 5th, 2018, 8:55 pm

For starters, It would be helpful to know which member of the admin team you have spoken to about this. :)
Jo
My Librivox Solos
Books are the carriers of civilization. Without books, history is silent, literature dumb, science crippled, thought and speculation at a standstill. - Barbara Tuchman

adv1023
Posts: 2
Joined: September 5th, 2018, 3:50 pm

Post by adv1023 » September 5th, 2018, 9:02 pm

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: 15792
Joined: October 17th, 2010, 9:23 pm
Location: By De Bayou
Contact:

Post by philchenevert » September 5th, 2018, 9:21 pm

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:
Phil Chenevert, The LibriVox Video Guy
Adultery is a sin. You can't have your Kate and Edith too. .

Need Help? Lots of Helpful Videos Here

kayray
LibriVox Admin Team
Posts: 11888
Joined: September 26th, 2005, 9:10 am
Location: Union City, California
Contact:

Post by kayray » September 7th, 2018, 8:00 am

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: 2548
Joined: February 24th, 2013, 7:14 am
Location: New Hampshire, USA

Post by tovarisch » September 7th, 2018, 9:32 am

... 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: 39491
Joined: June 15th, 2008, 10:30 pm
Location: Toronto, ON (but Minnesotan to age 32)

Post by TriciaG » September 7th, 2018, 9:50 am

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. :)
Fiction: It Is Never too Late to Mend
Irish Home Rule Arguments: Handbook on Home Rule
Sci-Fi removing memories: Dr. Heidenhoff's Process
The Curious Lore of Precious Stones
Community Podcast re: PL'ing - Call for Submissions

notartom
Posts: 342
Joined: September 14th, 2012, 4:34 pm

Post by notartom » September 7th, 2018, 11:42 pm

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 am
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.
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
LibriVox Admin Team
Posts: 11888
Joined: September 26th, 2005, 9:10 am
Location: Union City, California
Contact:

Post by kayray » September 8th, 2018, 7:23 am

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