Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

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

Session Timeout (Again)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    Re: Session Timeout (Again)

    So I thought I had this thing figured out with the help from everyones comments. I guess not!!

    I put a static text on a UX, added a clientside onTimer set to fire every 60 seconds that does a callback to increment a session variable by 1 and then update the value of the static text to display the number of times the callback has occurred. The ux is then set as the homepage URL for a tabbedUI.

    Once the static text rolled to 14 (meaning 14 minutes had elapsed and my session variable was not set to a value of 14) I got the popup warning that my session was expiring in 60 seconds???? I was hoping that by doing a callback and incrementing a session variable that my inactivity would be reset.

    Did I miss something obvious? Screenshot with server side xBasic is attached...

    Thanks
    Jeremy

    SessionTimout.png

    Comment


      #17
      Re: Session Timeout (Again)

      Some additional information. If I let the session expire, I get the Your Session has expired notification. I click ok and the form resets (I haven't added security to this application yet). When the form resets, the display label goes invisible and after 60 seconds when the callback occurs it reappears picking up where it left off + 1. Since my session expired I assumed it would restart the counter to 1. However it went from 15 to 16.. and at 30 when it timed out again it goes to 31, 32, 33..

      Comment


        #18
        Re: Session Timeout (Again)

        Rich, my Main Menu is a UX Component, OnInitializeComplete I run this function: idleLogout();

        function idleLogout() {
        var t;
        window.onload = resetTimer;
        window.onmousemove = resetTimer;
        window.onmousedown = resetTimer; // catches touchscreen presses
        window.onclick = resetTimer; // catches touchpad clicks
        window.onscroll = resetTimer; // catches scrolling with arrow keys
        window.onkeypress = resetTimer;

        function logout() {
        {dialog.object}.buttonClick('BUTTON_LOGOUT'); /// I have a button on the main menu to logout. So in this case I click on the button here.
        }

        function resetTimer() {
        clearTimeout(t);
        t = setTimeout(logout, 720000); // 720000 = 12 minutes. 1000 milisec = 1 sec. time is in milliseconds
        }
        }

        Comment


          #19
          Re: Session Timeout (Again)

          Both the tabbed_ui and the UX have a session timeout feature under properties. It gives the user a chance to refresh the session before it expires. If the user is not there, presumably it times out the session, which I think would be desirable. I say 'presumably' as i have not used this myself. It's also shown in a video - search on 'session' and look at tabbed_ui (5 videos).
          Peter
          AlphaBase Solutions, LLC

          [email protected]
          https://www.alphabasesolutions.com


          Comment


            #20
            Re: Session Timeout (Again)

            Originally posted by RichCPT View Post
            Peter, this is a bit off the original topic, but since you brought it up in post # 10....

            See what happens if you leave the test app open, after clicking the "set var" button, and then open another instance of the browser to that page. The other instance of the browser will probably have access to that same session variable and it will already have been set without clicking the "set var" button! This can be very troublesome if a user opens two instances of an application and the two instances need different values in their "session" variables.
            Hi Rich,

            Understood. But that is standard browser behavior. The same thing happens if I, say, open up my Bank of America account in one browser instance and then open another and copy the url to the 2nd instance. I don't have to log in again, I'm right in the account page.
            Peter
            AlphaBase Solutions, LLC

            [email protected]
            https://www.alphabasesolutions.com


            Comment


              #21
              Re: Session Timeout (Again)

              Thanks lee, that is most helpful - attaching functions to the window events. Although, after looking into it, I'm wondering if it would be safer to use addEventListener()? https://www.w3schools.com/js/js_html...ntlistener.asp

              Comment


                #22
                Re: Session Timeout (Again)

                Peter,
                There is a nuance here from the Alpha way. Rich is making sure that the session never gets timed out. So if it never gets timed out, how can we override that if the user leaves his screen open? So if the keyboard or the mouse is not touched for a period of time then it will log off.

                Comment


                  #23
                  Re: Session Timeout (Again)

                  So the issue is not timing out, but explicitly logging out while unattended?
                  Peter
                  AlphaBase Solutions, LLC

                  [email protected]
                  https://www.alphabasesolutions.com


                  Comment


                    #24
                    Re: Session Timeout (Again)

                    Jeremy,
                    If you automatically keep the session alive using the method I suggested then you omit Alpha's method of trying to warn the user that they will be timed out. However, Lee has a good suggestion of adding more code to mine that detects inactivity.

                    My application is one that a user will use throughout their 10 or 12 hour work-shift. It must function like an application that you would normally leave open all day, like email.

                    Comment


                      #25
                      Re: Session Timeout (Again)

                      Thanks Lee, I don't go down that path - they need to logout if they are not continuing as session, just like email.
                      Insanity: doing the same thing over and over again and expecting different results.
                      Albert Einstein, (attributed)
                      US (German-born) physicist (1879 - 1955)

                      Comment


                        #26
                        Re: Session Timeout (Again)

                        Peter, that's exactly what my users want too. They want it to work like a desktop application. So I'm actually not going to implement the idleLogout() function. Do you ever have problems with this? Do users stay on for days?

                        Comment


                          #27
                          Re: Session Timeout (Again)

                          Thanks again Rich, that did the trick.

                          For others using this thread to trick session timeout, here's where I went wrong.
                          I implemented everything Rich stated, except I missed/overlooked/didn't understand the piece about unchecking the property on my TabbedUI that tells your application to "Display warning before session timeout"

                          My first attempt I left this checked, making the assumption that my xbasic callback was resetting the Alpha Timer the same way it would on any other callback that extended my session timeout.
                          However, no matter what I tried, after 14 minutes of no activity I always got the Alpha warning telling me my session was about to expire in 1 minute.
                          Somehow there must be a way to force a reset on that timer so my callback behaves exactly like any other activity that resets that timer. For now, that's not as important as getting this functionality in place.

                          Once the light bulb came on, I cleared the property and have been able to keep my session alive longer than the 15 minute default.

                          Thanks for everyones help and comments!!

                          Comment


                            #28
                            Re: Session Timeout (Again)

                            Never has any issues Lee. Users just prefer it. An Example may be a doctors clinic, and patients may show up over say over 10 to 20 minutes period or longer, they don't want to have to login then check them in.. Just easier.
                            Insanity: doing the same thing over and over again and expecting different results.
                            Albert Einstein, (attributed)
                            US (German-born) physicist (1879 - 1955)

                            Comment


                              #29
                              Re: Session Timeout (Again)

                              Hi Peter,

                              Boy, you are a life saver. That is exactly what I needed.
                              Gary S. Traub, Ph.D.

                              Comment


                                #30
                                Re: Session Timeout (Again)

                                For this resurrected thread: Something Pete mentioned in post # 10 reminds me of what a user did last month: He configured his Chrome browser to "Continue where you left off" under the "On Startup" options in on the "Settings" page!

                                That absolutely messes everything up that we are trying to do here with Alpha and session variables and authenticated logins.

                                I told him he'd have to turn that option off. Surely that is not what other web sites tell their users, right?

                                Comment

                                Working...
                                X