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

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.



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.


Alwaysbusy
 
Last edited:

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 !
 

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

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.
 

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.
 

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?
 

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.
 

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.
Also do you think these WebApps can run (and interact with) an ESP8266 or an ESP32?
Yes, but you should start a new thread for further discussion.
 

alwaysbusy

Expert
Licensed User
Looks great. I've sent you an email with the latest B4i
Thank you very much!

I think that it is better to provide a non-https link.
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.
 

Toley

Active Member
Licensed User
Erel said:
Yes, but you should start a new thread for further discussion.
Thank you Erel it's noted. I will but it can take some time. I need to familiarize with ABMaterial first.
 

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/threads/solved-uploading-a-file-with-http-on-a-ssl-started-jserver.83623/#post-529866
 
Last edited:

inakigarm

Well-Known Member
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.
Thanks but the B4Xgoodies app queries a sqlite database so the parsing it's different
 
Top