<div dir="ltr">Hi all,<br><br><div>As I comment in an previous email, the idea is make a pagekite administration</div><div>page, and I assumed that Gambas webform is a good candidate. So, I started</div><div>writing an example to internalize with him, and I am very happy. =)<br></div><br>I share a complete example of CRUD handling users.<br><div> * <a href="https://github.com/matiasdelellis/gambas3-crud-example">https://github.com/matiasdelellis/gambas3-crud-example</a></div><div> * <a href="https://github.com/matiasdelellis/gambas3-crud-example/releases/download/v0.1.1/WebformCrudExample-0.1.1.tar.gz">https://github.com/matiasdelellis/gambas3-crud-example/releases/download/v0.1.1/WebformCrudExample-0.1.1.tar.gz</a></div><br><div>The intial class is WebformLogin -Everything starts from there-, but there is a<br>WebFormInstall that must be called once to build the database.<br><br>Based on this experience I ask some questions:<br><br>1. The type of database, name, etc, is fixed/hardcoded, but I would like it to<br>be configurable in WebFormInstall. Do you have any suggestions? It must be<br>written by WebformIntall and taked automatically by WebDatabase.<br><div><br></div><div>1.1. This is annoying, but I ask you to do a quick look at the WebDatabase.module</div><div>to see if you believe it is well done, in particular if they it is transparent to interact</div><div>with the rest of the classes, and if security consideration -AdminOrOwnRequired() <br></div><div>and AdminRequired subrutines- to admin task is sufficient.</div><div><br></div><div>2. The values of inputs, positions, active WebForm, are all saved in Session,</div>which is interesting, but these are accessible with the inspector, and a GET is<br>emited with that data every time the focus changes between the inputs. This is a<br>local security problem that would be good to improve.<br><br>3. Related, upon requesting the page again, (Pressing F5), I would expect this data<br>to be cleaned, but I always get the previous data. I can't abandon the session,<br>due the active WebForm is saved there too.<br><br>4. How to reuse js components?. In this example I use toastify to show a simple<br>notification.<br><br>> Webform.AddJavascriptFile("toastify.js")<br><br>It add the script from 'data' folder. Shouldn't it be in public?<br><br>There is no equivalent for css?. The only way I found is to add style.css file<br>in public foloder to extend the default styles.<br><br>> WebForm._AddJavascript("Toastify({text: \'" & ("Done") & "\', gravity: \'bottom\', close: true }).showToast();")<br><br>This is correct to execute JS code?<br><br>5. How to publish the project?<br><br>> GB_HTTPD_PORT=8080 gbx3 -H<br><br>...and an Apache reverse proxy form url to 8080 port?<br><br>I have many more doubts, but I guess this is enough for a first consultation..<br>:sweet_smiley:<br><br>Of course, thank you very much for all the development, and any response..<br><br>Ragards,<br>Matias.</div></div>