B4XHelp: WebApp for the documentation of the libraries (B4A/B4i/B4J)

Discussion in 'Teaching Programming with B4X' started by alwaysbusy, Sep 6, 2017.

  1. alwaysbusy

    alwaysbusy Expert Licensed User

    I've created an ABMaterial WebApp to show the documentation for the libraries. Everyone who created a library for B4A, B4i or B4J can upload their .xml file to the WebApp and everyone can consult it. One can re-upload a new version for a library if needed.

    NOTE: not online anymore. You have the source code of the app in the download zip file of ABMaterial and can setup one yourself.

    [​IMG]

    Notes:
    • Try to keep the WebApp clean please. Thank you!
    • This WebApp is running on my personal Raspberry Pi with not a super-duper internet connection, so it also may give some indication how it handles a lot of users.
    • The libraries itself are NOT uploaded to the WebApp! Only the .xml files to parse them.
    • The source code will be available in the ABMaterial 3.75+ releases, so you can run your personal B4XHelp WebApp. (For ABMaterial users, this is a great example of a single-page WebApp).
    • This WebApp runs on a Http2 server, but I do not have a verified certificate, so you will get a warning that it may not be safe. You normally only need to accept this once.
    [​IMG]

    Alwaysbusy
     
    Last edited: Nov 15, 2017
  2. inakigarm

    inakigarm Well-Known Member Licensed User

    Thanks !! I'm trying to port B4Xgoodies app (info on libraries, tutorials, etc ) to ABMaterial (now I'm fighting with tables looking at Feedback app)
    Hope it will be soon !
     
  3. Toley

    Toley Active Member Licensed User

    Wow what a fantastic look. Will need to learn ABMaterial soon and try to make WebApps that look like this!
     
    alwaysbusy likes this.
  4. alwaysbusy

    alwaysbusy Expert Licensed User

    @inakigarm I can provide you with the source code of the app. May be useful for yours for the parsing (although it will not run as it is using ABMaterial 3.75 and that version is not ready yet). I avoid tables as much as possible. This type of html tags are not the best friends with responsive design.
     
  5. alwaysbusy

    alwaysbusy Expert Licensed User

    @Toley ABMaterial may be overwhelming at first (I was surprised myself how big it was once I loaded the .xml file into this WebApp), but once you get the hang of it, creating such WebApps can go very fast. This WebApp for example was created in a big day.
     
  6. Toley

    Toley Active Member Licensed User

    @alwaysbusy Yes I know, I already give it a try before but did not catch too much. Will have yo put more time on it to really get it to work. What interest me is that you said it runs on your Raspberry Pi, can it interact with it too? Also do you think these WebApps can run (and interact with) an ESP8266 or an ESP32?
     
  7. alwaysbusy

    alwaysbusy Expert Licensed User

    With Raspberry Pi, yes. In our compay we use it to read about 40 usb scanners and then send it over to our central server. ABMaterial is used for the interface to check the status of the scanners. ESP8266 or an ESP32 use B4R, no? If there is a way to communicate between B4R and B4J, then I guess something should be possible. e.g. you could use a Raspberry Pi to run your WebApp, and let that app communicate with B4R. But there are probably others out here who can give you a better answer to that.

    In short, ABMaterial is just a UI for B4J, so it still needs java to be able to run the B4J app. It just happens you can use any webbrowser to interact with the B4J app.
     
    Toley likes this.
  8. Erel

    Erel Administrator Staff Member Licensed User

    Looks great. I've sent you an email with the latest B4i (I don't think that the interface allows to upload multiple files).

    I think that it is better to provide a non-https link.
    Yes, but you should start a new thread for further discussion.
     
  9. alwaysbusy

    alwaysbusy Expert Licensed User

    Thank you very much!

    I think you are right. Actually wanted to use this opportunity to test out http2 and find out if it is faster than http 1.1. I've opened up the normal http port too on my firewall and updated the first post.
     
    Erel likes this.
  10. Toley

    Toley Active Member Licensed User

    Thank you Erel it's noted. I will but it can take some time. I need to familiarize with ABMaterial first.
     
  11. alwaysbusy

    alwaysbusy Expert Licensed User

    It looks like there is a problem with the upload handler op the WebApp. If I start the WebApp as HTTP/2, but in my browser go to the non secure version (http://), the ServletRequest in the handler seems to have lost the session (and req.getSession creates a new one). However there is info saved in the session needed to correctly retrieve the uploaded file. The https:// doesn't seem to loose this info. I'll have a look at it tonight.

    [SOLVED] see here: https://www.b4x.com/android/forum/t...p-on-a-ssl-started-jserver.83623/#post-529866
     
    Last edited: Sep 7, 2017
  12. inakigarm

    inakigarm Well-Known Member Licensed User

    Thanks but the B4Xgoodies app queries a sqlite database so the parsing it's different
     
    alwaysbusy likes this.
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice