RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    YARMan Web (BETA)

    Scheduled Pinned Locked Moved Ideas and Development
    metadataeditorweb
    84 Posts 15 Posters 34.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • daeksD
      daeks
      last edited by daeks

      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

      mattrixkM meleuM 2 Replies Last reply Reply Quote 8
      • mattrixkM
        mattrixk @daeks
        last edited by

        @daeks Nice. Bootstrap?

        My ES themes: MetaPixel | Spare | Io | Indent

        daeksD 1 Reply Last reply Reply Quote 0
        • daeksD
          daeks @mattrixk
          last edited by

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

          1 Reply Last reply Reply Quote 0
          • SutterKaneS
            SutterKane
            last edited by

            Looks very promising!

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

            rgds,

            SK

            mattrixkM 1 Reply Last reply Reply Quote 1
            • mattrixkM
              mattrixk @SutterKane
              last edited by

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

              My ES themes: MetaPixel | Spare | Io | Indent

              1 Reply Last reply Reply Quote 0
              • daeksD
                daeks
                last edited by

                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

                herb_fargusH BuZzB 2 Replies Last reply Reply Quote 0
                • herb_fargusH
                  herb_fargus administrators @daeks
                  last edited by

                  @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

                  If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                  Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                  daeksD 1 Reply Last reply Reply Quote 0
                  • daeksD
                    daeks @herb_fargus
                    last edited by daeks

                    @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

                    1 Reply Last reply Reply Quote 0
                    • daeksD
                      daeks
                      last edited by

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

                      0_1487624158488_dashboard.png

                      herb_fargusH 1 Reply Last reply Reply Quote 0
                      • herb_fargusH
                        herb_fargus administrators @daeks
                        last edited by herb_fargus

                        @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

                        If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                        Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                        1 Reply Last reply Reply Quote 0
                        • herb_fargusH
                          herb_fargus administrators
                          last edited by herb_fargus

                          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.

                          If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                          Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                          daeksD 1 Reply Last reply Reply Quote 0
                          • daeksD
                            daeks @herb_fargus
                            last edited by daeks

                            @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.

                            1 Reply Last reply Reply Quote 0
                            • herb_fargusH
                              herb_fargus administrators
                              last edited by

                              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

                              If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                              Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                              daeksD 1 Reply Last reply Reply Quote 0
                              • daeksD
                                daeks @herb_fargus
                                last edited by daeks

                                @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.

                                1 Reply Last reply Reply Quote 0
                                • daeksD
                                  daeks
                                  last edited by daeks

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

                                  1 Reply Last reply Reply Quote 0
                                  • BuZzB
                                    BuZz administrators @daeks
                                    last edited by BuZz

                                    @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.

                                    To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                    daeksD 2 Replies Last reply Reply Quote 0
                                    • daeksD
                                      daeks
                                      last edited by

                                      first commit of some kind of a dashboard functionallity:

                                      0_1487708121719_dashboard.png

                                      1 Reply Last reply Reply Quote 3
                                      • daeksD
                                        daeks @BuZz
                                        last edited by daeks

                                        @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.

                                        meleuM 1 Reply Last reply Reply Quote 1
                                        • daeksD
                                          daeks
                                          last edited by

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

                                          herb_fargusH BuZzB 2 Replies Last reply Reply Quote 0
                                          • herb_fargusH
                                            herb_fargus administrators @daeks
                                            last edited by

                                            @daeks should be able to with RSS no?

                                            If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                                            Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                                            daeksD 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.