YARMan Web (BETA)



  • Dear all,

    based on the brilliant metadata editor from @amadeus, I started to convert that into some webfrontend for retropie based on php.

    The intention is to write it modular so it could be used as official webfrontend for retropie and include other modules written by other people.

    edit:

    Although it is still under development, it has reached a state to start beta testing the first module. All basic functionalites are given for the metadata editor, but anyhow make sure to backup your gamelist / downloaded_images folder as it does not really have exception handling yet.

    Installation

    For the time being follow the instructions on https://github.com/daeks/yarman

    Screenshot from BETA with dummy data:

    0_1489056354577_1489055506212-metadata_editr.png



  • @daeks Nice. Bootstrap?



  • @mattrixk yes it's based on bootstrap and jquery.



  • Looks very promising!

    Keep on going and one day I can stop using Notepad++. ;-)

    rgds,

    SK



  • @SutterKane You could try using Sublime. The only time notepad++ opens now is when I click it by accident.



  • I am not very familiar with retropie module scripting. Can someone check if that is correct?

    https://github.com/daeks/RetroPie-WebGui/blob/master/scriptmodules/supplementary/webgui.sh


  • administrators

    @daeks There are API docs here:

    https://retropie.org.uk/api/

    eg if run from the script I don't believe sudo is necessary for chmod/chown as the setup script is run under root.

    I'm a bit rusty on my module making @BuZz is the bash master but I wouldn't mind giving it a look once I get some free time. I like the idea/implementation, looks nice



  • @herb_fargus Thanks :) I think I should have a running module script now. At least enough for beta testing later on.
    Is there a way to fetch the latest release instead of cloning the master branch? See https://github.com/daeks/RetroPie-WebGui/releases



  • @herb_fargus Thinking on the start page, what would be an interesting content for that?

    0_1487624158488_dashboard.png


  • administrators

    @daeks perhaps a quick how to guide or layout of what it is?

    As far as pulling releases look at other module examples. Just depends on if you want to pull from a specific commit or download and unzip or untar a binary if you upload one for each release

    The other idea is to generate a diagnostic dash like this one:

    https://retropie.org.uk/forum/topic/4627/retropie-web-gui

    or like this one:

    https://retropie.org.uk/forum/topic/2303/retropie-manager-web-app-recalbox-manager-fork-mod


  • administrators

    Also: is there a reason you need to set permisions/add to user group here?

    https://github.com/daeks/RetroPie-WebGui/blob/master/scriptmodules/supplementary/webgui.sh#L31-L35

    might be more viable to use the $user variable in case someone has a diff username or uses the pc version

    a few other thoughts:

    what are your thoughts of modifying the conf to have the root folder be in /opt/retropie/supplementary/webgui and host it from there?

    also the image button doesnt work for me. is that something that is still in development?

    Also I'm more familiar with the node.js implementations rather than apache so I'm not sure how many other people are already using apache in some form on their pi or system, so I think there may need to be some failsafe in case someone is already using apache but I would hope they already know that before installing another potentially conflicting apache service.



  • @herb_fargus said in RetroPie WebGUI + Metadata Editor (Work in Progress):

    Also: is there a reason you need to set permisions/add to user group here?

    apache2 runs with the user/group www-data by default. Therefore I have changed permission for pi to be able to read/write in /var/www/html but I am also fine with another approach. I am really no expert in retropie module scripting :)

    what are your thoughts of modifying the conf to have the root folder be in /opt/retropie/supplementary/webgui and host it from there?

    I am open for that as well, but I would need a bash expert to setup this. Currently I also need to add something to save the data directory on update as one point of my agenda is to implement sqllite for better performance later on.

    also the image button doesnt work for me. is that something that is still in development?

    Yes, Image button as well as save/delete is currently under development. Currently I am focusing on the framework itself and the correct parsing of the xml / displaying it in the gui. As soon as the metadata module is fully working, I would like to update the first post for beta testing.

    Also I'm more familiar with the node.js implementations rather than apache so I'm not sure how many other people are already using apache in some form on their pi or system, so I think there may need to be some failsafe in case someone is already using apache but I would hope they already know that before installing another potentially conflicting apache service.

    Good point, yes absolutly, but same answer as to the previous point. I would like to need some bash experts to handle that :)

    @herb_fargus said in RetroPie WebGUI + Metadata Editor (Work in Progress):

    As far as pulling releases look at other module examples. Just depends on if you want to pull from a specific commit or download and unzip or untar a binary if you upload one for each release

    Currently it is just fetching from master. I can live with that as it is also done like that on other projects but it would be nice to pull only releases.

    The other idea is to generate a diagnostic dash like this one:

    Currently I have started with a mix of diagnostic dashboard + system overview + links to help articles, but i will see later on what others are thinking what should be displayed on the initial startpage. I am very open in the whole development.


  • administrators

    The permissions/configs/install locations are all very minor and fairly easily sorted with bash in the retropie module, so I'm not going to worry too much about those for now.

    I presume with the SQLite that will be for the editor or are you talking emulationstation? I know there has been talk of using SQLite with ES but it's still very much under development with no deadline.

    I like the implementation so far, it's looking good



  • @herb_fargus said in RetroPie WebGUI + Metadata Editor (Work in Progress):

    The permissions/configs/install locations are all very minor and fairly easily sorted with bash in the retropie module, so I'm not going to worry too much about those for now.

    For the time being I have changed it to:

    function install_webgui() {
        if [ -d "/var/www/html/data" ]; then
          cp -r "/var/www/html/data/." "$md_build/data"
        fi
        rm -rf "/var/www/html/*"
        cp -r "$md_build/." "/var/www/html"
    }
    
    function configure_webgui() {
        chown -R $user:$user "/var/www"
        chmod -R 775 "/var/www/html"
        sed -i 's/export APACHE_RUN_USER=www-data/export APACHE_RUN_USER=$user/g' /etc/apache2/envvars
        sed -i 's/export APACHE_RUN_GROUP=www-data/export APACHE_RUN_GROUP=$user/g' /etc/apache2/envvars
        service apache2 restart
    }
    

    I presume with the SQLite that will be for the editor or are you talking emulationstation? I know there has been talk of using SQLite with ES but it's still very much under development with no deadline.

    I am talking about the editor/webgui. I tested a bit with hugh gamelist.xml files and the reponse time is dropping a bit :). Therefore I am thinking on parsing/saving to internal SQLite db with some kind of "export to gamelist" functionallity. Anyhow, I would be ready for changing from xml to SQLite if it is shipped to ES in general.

    I like the implementation so far, it's looking good

    Thanks :) - xml writeback is also finished, just need to implement the delete function + image/video upload then it is ready for beta testing.



  • Updated first post to beta test the first module. Currenlty I am testing with Chrome and IE11.


  • administrators

    @daeks said in RetroPie WebGUI + Metadata Editor (BETA):

    I am not very familiar with retropie module scripting. Can someone check if that is correct?

    https://github.com/daeks/RetroPie-WebGui/blob/master/scriptmodules/supplementary/webgui.sh

    Thanks for this.

    Few comments - Apache seems a bit overkill, but if using that you should create a custom configuration and keep the files in $md_inst etc, rather than changing stuff in /var/www - this could easily break existing set-ups. Your remove function could also remove stuff someone had installed already.

    How about just using something like the built in php webserver? - primarily for development and shouldn't be used for any public site - but it should be enough for this, and you can avoid messing around with installing a full webserver etc. eg

    php -S localhost:8001
    

    and people who wanted to use nginx or apache could easily add it to their existing config if they wanted.



  • first commit of some kind of a dashboard functionallity:

    0_1487708121719_dashboard.png



  • @BuZz said in RetroPie WebGUI + Metadata Editor (BETA):

    How about just using something like the built in php webserver?

    I am not very familiar with the integrated webserver. If it supports all the stuff like apache does, we can also implement that. Currently I am more focusing on the application itself instead of the setup in retropie. I will try to figure out how the integrated one could be used but would really appreciate any help on that.



  • @herb_fargus @BuZz is it possible to pull https://retropie.org.uk/news/ with some kind of newsfeed / xml?


  • administrators

    @daeks should be able to with RSS no?


Log in to reply
 

Looks like your connection to RetroPie Forum was lost, please wait while we try to reconnect.