Re: I need feedback in web app
Hi Mario,
I am very new to all this "HTML" and alpha 5. What you mentioning above about not using web components, are you referring to generating the UI with HTML text commands? and using xbasic to provide the necessary client/server interactions? for instance, instead of using the the alpha 5 genie to gather using input data on your form, you are using xbasic command to individually capturing each input field and using alphaDAO to update, store the user input into the database?.. and what is the ratio of speed difference here? thank you in advance for your prompt reply.
Sept 27th 2013.
Announcement
Collapse
The Alpha Software Forum Participation Guidelines
The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
Moderators may also rename posts and threads if they are too generic or do not property reflect the content.
Moderators may move threads if they have been posted in the incorrect forum.
Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.
The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.
Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.
Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.
Bonus TIPS for Successful Posting
Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.
When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.
The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.
When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.
A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.
If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.
When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.
Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
- Be professional in your conduct
- Be kind to others
- Be constructive when giving feedback
- Be open to new ideas and suggestions
- Stay on topic
Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
- Spam.
- Vulgar language.
- Quotes from private conversations without permission, including pricing and other sales related discussions.
- Personal attacks, insults, or subtle put-downs.
- Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
- Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
- Sexually explicit or violent material, links, or language.
- Pirated, hacked, or copyright-infringing material.
- Encouraging of others to engage in the above behaviors.
If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
- Remove the Post or Thread - the content is removed from the forum.
- Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
- Temporarily Ban the User - user is banned from forum for a period of time.
- Permanently Ban the User - user is permanently banned from the forum.
Moderators may also rename posts and threads if they are too generic or do not property reflect the content.
Moderators may move threads if they have been posted in the incorrect forum.
Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.
The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.
Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.
Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.
Bonus TIPS for Successful Posting
Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.
When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.
The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.
When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.
A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.
If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.
When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.
Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less
I need feedback in web app
Collapse
X
-
Re: I need feedback in web app
Thanks bunches. I can follow that. It will be a few days before I can write something up. What will be more difficult is to mimic other grid features like summary values, calculated fields, etc. Earlier Gary asked 'where's the xbasic' (the stuff under the xbasic tab for a grid), to which I suppose the answer is that you don't need it since you define exactly what you want in the html. That must partly account for the great time savings.
Leave a comment:
-
Re: I need feedback in web app
Ok here is the web page named hoh.a5w for you all too look at. I don't claim to be an expert or anything like that so do not pick up bad coding habits from this.
Code:<html> <head> <meta name="generator" content="Alpha Five HTML Editor Version 9 Build 1457-3177"> <title>Head of Household</title> <style type="text/css"> #column{color:#000080;font-family:times;font-size:15px} #records{color:#ff0000;font-size:15px} #values{font-size:15px} table{background-color:#b9c3ce} </style> <%a5 '********** Security **************** if eval_valid("session.__protected__logged")then if session.__protected__logged<>"yes" then response.redirect("login.a5w") end end if else response.redirect("login.a5w") end end if '********** Security ****************** %> </head> <body bgColor=#c8c8c8> <%a5 dim nrecs as N dim i as N dim row1 as C dim row2 as C dim link as C dim filter as C dim sort as C dim orderby as c dim path as C dim numrecs as C path="c:\datafiles\ewap"+chr(92) 'Search by Last if eval_valid("s_last")then if s_last<>"" then filter="'"+s_last+"' $ last" end if end if 'Search by SSN if eval_valid("s_ssn")then if s_ssn<>"" then filter="'"+s_ssn+"' $ ssn" end if end if 'If both variables have nothing then filter is set to '.t.' if filter="" then filter=".t." end if 'Get number of records nrecs=tablecount(path+"hoh.dbf",filter) numrecs="Number of records:"+str(nrecs) %> <p align=center><font color="#000080" size="4">WEATHERIZATION ASSISTANT PROGRAM</font></p><!---------------------- Start search form ---------------------> <form method="post" action="<%a5 ?Request.script_name %>"> <table align="center" border="1"> <tr> <td>Find by Last Name:</td> <td><input name="s_last" input<></td> <tr> <td>Find by SSN:</td> <td><input name="s_ssn" input<></td> <tr> <td></td> <td> <input type="submit" value="Search"><input type="reset" value="Clear"><input type="submit" value="Show All"></input></td> </tr> </table> </form><!----------------- End Search form ----------------------------><!--------------- Start table of records --------------------------------------------------------------> <table border="1" cellpadding="1" cellspacing="1" align="center" > <tr> <td colspan="3" id="records"><%a5 ?numrecs %></td> <td></td><td>Click here to <a href="login.a5w"><font size="4" color="#0000ff">Logout</font></a></td> </tr> <tr><td colspan="3" align="middle"><a title="Creates a new e-wap application" href="hoh_addnew.a5w" > <font size="3" color="#000080">New HoH</font></a></td></tr> <tr align="middle" bgcolor="#82b1d7"> <td></td><td id="column"><a href="hoh.a5w?orderby=ssn" >Ssn</a></td> <td id="column"><a href="hoh.a5w?orderby=rank">Rank</a></td> <td id="column"><a href="hoh.a5w?orderby=first" >First</a></td> <td id="column"><a href="hoh.a5w?orderby=last" >Last</a></td> <td id="column"><a href="hoh.a5w?orderby=phone" >Phone</a></td> <td id="column">Gender</td> <td id="column"><a href="hoh.a5w?orderby=age" >Age</a></td> <td id="column"><a href="hoh.a5w?orderby=nationality" >Nationality</a></td> <td id="column"><a href="hoh.a5w?orderby=gross" >Gross</a></td> <td id="column">Related</td> <td id="column">Employee</td><td id="column">Disabled?</td><td id="column">Disability</td> <td id="column"><a href="hoh.a5w?orderby=app_date" >Applied</a></td> </tr> <%a5 dim arrRecs[nrecs] as P arrRecs.initialize_from_table(path+"hoh.dbf",filter) arrRecs.sort("A",orderby) 'Create fields for i=1 to nrecs ?"<tr align='center'>" ?"<td id='values'><a href='members.a5w?hoh="+arrRecs[i].ssn+"'>Members </a></td>" ?"<td id='values' title='Edit Head of Household'><a href='hoh_edit.a5w?social="+arrRecs[i].ssn+"'>"+mask(arrRecs[i].ssn," - - ")+"</a></td>" ?"<td id='values'>"+arrRecs[i].rank+"</td>" ?"<td id='values'>"+arrRecs[i].first+"</td>" ?"<td id='values'>"+arrRecs[i].last+"</td>" ?"<td id='values'>"+mask(arrRecs[i].phone,"( ) - ")+"</td>" ?"<td id='values'>"+arrRecs[i].gender+"</td>" ?"<td id='values'>"+arrRecs[i].age+"</td>" ?"<td id='values'>"+arrRecs[i].nationality+"</td>" ?"<td id='values'>$"+arrRecs[i].gross+"</td>" ?"<td id='values'>"+arrRecs[i].related+"</td>" ?"<td id='values'>"+arrRecs[i].employee+"</td>" ?"<td id='values'>"+arrRecs[i].disabled+"</td>" ?"<td id='values'>"+arrRecs[i].disability+"</td>" ?"<td id='values'>"+arrRecs[i].app_date+"</td>" ?"</tr>" next i %> </table><!-- End Table that shows records --> </body></html>
Leave a comment:
-
Re: I need feedback in web app
Mario,
Please, please, please ... I wouild love to see the behind thge scenes of how to do what you did...
Gary
Leave a comment:
-
Re: I need feedback in web app
Mario,
Thanks for demoing this. Yes, I believe a lot of people (including me) will be interested.
Taking nothing away from your work, which is excellent, since you asked for feedback, I noticed one error and have one suggestion.
I entered Fred Flintstone, and put him as "Other", but the field defaulted back to "American Indian". Also, it's not clear to a new person like me how the data is to be formatted in the entry form, so maybe you could add a column for examples. For example, for the date, I entered 01/01/08 and got an error. Also, for ssn, do you put in the - ? 11-222-3333, or 11223333?...that sort of thing.
If you are going to hand code the pages, is there an advantage to using Alpha over, say php? Or is it just that you already know Xbasic and have Alpha?
Pat
Leave a comment:
-
Re: I need feedback in web app
I am a firm believer of Open source Alpha. I like the idea of the paper so others can understand it. Maybe I'll send it to you privately and then posted with a better explanation.
Leave a comment:
-
Re: I need feedback in web app
Well I don't know. I can't publicly ask for them privately! I know others are interested and would like the process demystified. I'd offer to render the information in to a paper that others could work from more effectively. On the other hand, it's the product of your work effort.
Leave a comment:
-
Re: I need feedback in web app
Do you want it privately send or posted??
Have in mind that I use .aex files loaded to the page. So I can send you those as well.
I am not sure if there are anymore interested people but if there are I can post a page here on the message board.
Leave a comment:
-
Re: I need feedback in web app
Would you be willing to share one of your A5W pages with a hand-coded "grid" or "dialog"?
Leave a comment:
-
Re: I need feedback in web app
Pat the application already enter and updates data, go ahead and try it. There are no components. A web component is nothing more than xbasic and Javascript that produces html. What I do is I create the dialogs using HTML and CSS and use XBasic for data manipulation and validation. It takes a little bit longer to create the screens in a web app by hand but the speed increase is great.
achung: There are no web components in my application.
Steve: Thanks for your great input I will follow your advise and start using UUID's. The client wants to be able to see ssn in the main screen because that is how they id a client. I will use UUID for urls as ids within the app.
Leave a comment:
-
Re: I need feedback in web app
Mario,
In your estimation, how much overhead would using web components have added to this example?
Andrew
Leave a comment:
-
Re: I need feedback in web app
Mario,
How do you plan to enter and edit data without components? Are you going to hand code the fields, or is this application search and display only?
Pat
Leave a comment:
-
Re: I need feedback in web app
If you are trying to use encrypt functions in calculated grid fields, I always had trouble with do that, often produced an error. Same problem using rand and rand_sring functions. Not happy running as a calculated field.
I ended up only highly 'obscuring' important information using string manipulation. But by important I mean an Order No. or a sequential number. I would never put a ssn in a URL encrypted or not; and there is no reason to. Alpha has a new UUID function (haven't used it yet) that creates a unique and highly non-guessable value. Create one of those when you first create a given record, then put that in the URL to bring up child records. I don't do that now and in fact use a sequential value. But I know I will be shifting to it at some time (sequential values have the problem of what if you delete a record and then reuse that person's old "unique id" for someone else). UUID's are nice because you don't have to encrypt them as you pass them around.
Using SSN as a 'unique id' for individuals was popular 10 years ago, used often by colleges and the like. But no respected institution would get caught dead exposing them now.
I've even done tricks where the URL contained the date and time, and was only valid for the next X minutes. That keeps the URL from being used later on. I do that in my emailed 'registration confirmation links' for double opt-in - they have to confirm their registration within a week or so, else the link becomes invalid (I mean what if someone 'confirmed' a year or so later and your whole database changed in the mean time, who knows what would happen when they click the link).
Leave a comment:
-
Re: I need feedback in web app
Hi Steve thanks for your feedback: I am planning in encrypting the social security number using encrypt_string() and decrypt_string() in the url. I tried a little this morning but I got some weird errors like social with a letter in the middle 34589K821 after decrypting it. I think it has to do with urlencode or something. Will take a look this weekend.
I am not sure if I will be encrypting the database for two reasons:
1) dbf files are in a folder outside the webroot
2)If somebody can hack and get access to the dbf files in the server then that person should have no problem decrypting the tables.
Thanks to MikeC for your feedback I will take a look at the mentioned issues.
Leave a comment:
-
Re: I need feedback in web app
It certainly is fast compared to what I believe it would be using components.
Are you sure you have to include ssn for viewing and as a search criteria? You can at least hide or obscure it (show only the last four digit) where not absolutely required.
I think you are not using security framework, are you encrypting the database and planning to use ssl to protect this information?
Leave a comment:
Leave a comment: