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

Need code or process to ensure users are out of the app when re-booting web server for maintenance

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

    Need code or process to ensure users are out of the app when re-booting web server for maintenance

    To - Alpha Experts


    My client asked me: Is there a way to ensure all users are out of the app when re-booting the web server for maintenance once a month? They are experiencing this problem: When a user is accessing the app during the web server re-boot, an index is typically deleted and must be re-entered manually. At my suggestion, they do include a message on their web site that the app is down for maintenance at certain times, but access to the web app open at all times. Naturally, users access the app at all times.

    The client does not want to add a login feature to the app as we proposed. They also do not want to migrate the app to use a SQL Server database as we proposed.


    The client has asked me how Alpha Experts handle performing routine maintenance without corruption to their DBF tables. They are looking for a "simple program" to recognize that a user is still in the app and force them out after so many minutes. Can an Alpha web app do this with a simple program, utility or third party web monitoring software?


    I can envision adding code to my app which does this but this code is not what I would call simple. Lots of JavaScript!


    I can also envision developing a very simple app which checks table indexes and fixes them if broken. This special app would be run by the person doing server or app maintenance after re-booting the web server. Then the web app can be opened up again for use.


    Alternatively, I can also envision add a login that assigns guest names and capture IP address but does not require setting up real user names and passwords.


    How are Alpha Experts handling server maintenance?
    Garth Groft
    Director & Software Architect
    MicroComputer Task Group

    #2
    Re: Need code or process to ensure users are out of the app when re-booting web server for maintenance

    I cannot answer properly because I abandoned DBF years ago. I know for SQL users if you reboot the server right in the middle of everyone's work, some users might lose some work that was in progress, but there is no issue with indexes or other corruption. I don't know how your app works but if they refresh their screen often, you could toggle a session variable or database value that caused every refresh to redirect them to a Sorry, down for Mainteneance screen and not let them back in. Do that 15 minutes ahead of your reboot and you might catch a good percent of them.
    Steve Wood
    See my profile on IADN

    Comment


      #3
      Re: Need code or process to ensure users are out of the app when re-booting web server for maintenance

      The client has asked me how Alpha Experts handle performing routine maintenance without corruption to their DBF tables.
      Alpha "Experts" don't use dbf tables in their web apps - except in rare case where their client is a !#$%^&*!

      Sarcasm aside, if you were using a UX as your main menu, for example, you could run an AJAX callback every few minutes automatically - per what Steve said.
      Peter
      AlphaBase Solutions, LLC

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


      Comment


        #4
        Re: Need code or process to ensure users are out of the app when re-booting web server for maintenance

        Wouldn't call myself an expert ...Alpha "Veteran" maybe? ....and I don't use DBF's. SQL Server is my DB of choice.

        Regardless, for the apps I maintain I simply make it known when the planned server maintenance is. I but a notice up that planned maintenance is schedule at some date time. This method has always been adequate for my needs. It's never really been a problem. For my apps Sunday early morning 2am-3am (US CST) is the best time to reboot.
        Mike Brown - Contact Me
        Programmatic Technologies, LLC
        Programmatic-Technologies.com
        Independent Developer & Consultant​​

        Comment


          #5
          Re: Need code or process to ensure users are out of the app when re-booting web server for maintenance

          To Peter and others who replied -
          Your sarcasm is appropriate. Choosing to use dbf tables in a web app does have consequences, but I are stuck with this design for now.

          The app does open to a UX as a main menu and proceed through three more panels having input controls and submit, cancel, back, report and email buttons.

          What would make the AJAX callback run every few minutes? I do not know where in the app the AJAX callback would go. As for refreshes, can we expect the user to be clicking their browser's refresh? I may be missing this point.

          I envision that some code with a message about the app being down for maintenance might be run as the user navigates from panel to panel. This would handle getting active users out of the app. There would need to be a way the app can tell that app is scheduled for maintenance. This could be simply the existence of a text file or not.

          There are also users who walk away from the app, inactive users who forget about the app and go home. Also, some users simply camp out in an app all day or longer. I envision using an Alpha timeout function to detect inactive users and force them out. When the user moves from panel to panel the timer is reset to zero. When the time exceeds a large number the user is assumed to be inactive and forced out. I do not yet know how to end a user session and "force" a user out of the app?
          Attached Files
          Last edited by Garth Groft; 07-10-2018, 09:08 AM. Reason: Additional information added.
          Garth Groft
          Director & Software Architect
          MicroComputer Task Group

          Comment


            #6
            Re: Need code or process to ensure users are out of the app when re-booting web server for maintenance

            Garth,

            The UX has an onTimer setting under properties. You can set the # of seconds interval. There are a couple of onTimer events under client side properties. You would have a simple JS function that would do an AJAX callback (xbasic function) which in turn would check the status of the app to shutdown or not. If the flag was set to shutdown, the code would execute the shutdown. But if this is all strange territory for you, it would be a bit of an uphill climb, I'm afraid.
            Peter
            AlphaBase Solutions, LLC

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


            Comment


              #7
              Re: Need code or process to ensure users are out of the app when re-booting web server for maintenance

              Peter

              This makes a lot of sense It would get all users out, active or inactive.

              Two questions:
              1. I would like to force users out only when the scheduled server maintenance begins. I was thinking of creating another small web app that sets a table field called maintenance to true when maintenance begins. The person doing the maintenance would run this app prior to doing the maintenance. The value could be captured by the registration app and saved in a session variable. The registration web app would check this value to know when to check for users in the app. When server maintenance is done, the small web app would be run to restore maintenance to false. Does this make any sense?

              2. What code is required to "executer the shutdown"?
              Garth Groft
              Director & Software Architect
              MicroComputer Task Group

              Comment


                #8
                Re: Need code or process to ensure users are out of the app when re-booting web server for maintenance

                Garth,

                Remember that the "session", belongs to the user only. So if users A & B are logged in they might have 2 different values in the "same" session variable.

                Let me answer it like this:

                #1 - Admin has a UX linked to a table with a "shutdown" field. Admin sets the value to true or shutdown or whatever.

                #2 - The onTimer checks the value of the table->field on some interval like every 5 minutes.

                Your logout code might look like this:
                Code:
                a5ws_logoutuser(session,request,response)
                session.clear()
                response.redirect("index.a5w")
                You also need code when the user logs in to check the field value. The above code would boot them out if the field is set accordingly.
                Peter
                AlphaBase Solutions, LLC

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


                Comment


                  #9
                  Re: Need code or process to ensure users are out of the app when re-booting web server for maintenance

                  Peter,

                  Very nice! This is essentially what is needed to circumvent dbf table corruption. And it's relatively simple to code and add to a maintenance procedure.

                  I very much appreciate the code snippet.

                  Thanks a lot for your assistance and others who contributed.

                  Garth
                  Garth Groft
                  Director & Software Architect
                  MicroComputer Task Group

                  Comment

                  Working...
                  X