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

New Tables and Forms to enhance existing system

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

    New Tables and Forms to enhance existing system

    Hi everyone,

    I am quite new to Alpha Five software.

    If I develop a system with A5 and deploy it onsite, how can I update the system with new tables and screens
    at a later stage ?

    I am thinking of an automated update method but has no idea on how to go about doing it.

    Can anyone make a suggestion ?

    Thank you.

    Regards,

    Limme99

    #2
    Re: New Tables and Forms to enhance existing system

    If it is on your own site and you are there, you would just add the new tables and overwite all else except your dbf, fpt and cdx files(after a complete backup is saved). I use astrum installer for my installs and updates. With astrum, I copy(backup) the app to a save folder, install the update, append the data from the save folder to the new app. For this I use a bootstrap adb that just makes the appends and then copies the real adb files over itself.

    Hope this at least gets you going in the right direction.
    Dave Mason
    [email protected]
    Skype is dave.mason46

    Comment


      #3
      Re: New Tables and Forms to enhance existing system

      Hi Dave,

      Thanks very much for the advice.

      Most certainly very helpful !

      Thanks again.

      Kind regards,

      Limme99

      Comment


        #4
        Re: New Tables and Forms to enhance existing system

        Lim
        I've never had a hitch keeping it simple, I've sent dozens of updates to clients this way.
        1. Close all windows except for control panel, Select TOOLS | ZIP DATABASE
        2. The Zip database dialog opens, at the bottom select "Unmark files" and check "Data Files only"
        ...All those files Dave mentioned will be unchecked.
        3. Give a name to the zip (relevant to the update for your future reference to be able to revert for testing) and click "Zip Files" button

        Take (or email) that zip to the user to unzip into the application overwriting all.

        Comment


          #5
          Re: New Tables and Forms to enhance existing system

          Hi Ray,

          Thanks very much for your feedback.

          Your solution sounds simple and effective !

          I have another query. If the existing system requires the addition of new columns to an existing table, what do I need to do to automate the deployment of the changes ?

          Very much appreciate any ideas from you or Dave.

          Thanks again.

          Regards,

          Lim

          Comment


            #6
            Re: New Tables and Forms to enhance existing system

            In my opinion, Alpha has always lacked a well thought-out updating system for applications made with it.
            What is available is a zip-function where you can easily select the user-related-data on the one side and the tables and forms etc on the other side.
            Normally, when you did not make any changes to the tables itself, but only to let's say forms, reports etc, you would update your users application by simply selecting all files and deselecting the user-related-data files. In that way, the user gets your new application but saves the old data.

            It gets trickier if you changed the underlying table(s). Alpha has no built in solution for that.
            So, what I always did was built in a data-export-function in the old version (or first make an update that makes that possible for the customer) and then before running the update let the customer execute the data export function. The data will then be in some directory in ascii format. You can make this function as neat and luxury as you want, and as time progresses you will change it to work perfectly at minimum effort of the customer.

            After you did the export, run the update. You can easily create a script that does that all for your customer so he can hardly make any mistakes. The update may be a full one, since you have exported the data. After the update has ran, import the data again and you are good to go.

            Make sure you bench-test EVERY part of this operation many times before you deploy it with your customer. It must operate bomb-fool-proof, and that takes some engineering and testing.

            Once you are done, you need never worry anymore about how and what to update. Just see to it that the export routine is maintained well, and keeps on track with the application of which it should protect the data.

            In the end: updating always provides an extra risk for your customer, no matter how you do it. Make sure your client understands the risks involved. Make sure your client makes a full blown backup of his system that he can fall back on might something go wrong.

            The export option is labor-intensive, and overkill if you only need to add let's say 1 field. You may be able to do that with an xbasic script adding a field to the table.

            Tailor the solution to your specific needs, as you should always do when working for any customer.

            Success with it!

            Comment


              #7
              Re: New Tables and Forms to enhance existing system

              Quite correct - that is a little more advanced.
              When I prepare a new release I have documented all changes , where these include table fields added, I place the release ref no and some code in the autoexec prog
              Example added four fields to two tables since the last update, one table stockitems and one field being named "gone"
              Code:
              tbl=table.open("stockitems")
              fnames=tbl.field_name_get()
              tbl.close()
              if "gone"$fnames = .F.	 'if this has been run previously then stockitems->gone will exist and return .T.
              	A5_ADD_FIELDS_TO_TABLE("stockitems","gone,L")
              	A5_ADD_FIELDS_TO_TABLE("stockitems","lot,N,5")
              	A5_ADD_FIELDS_TO_TABLE("stockdeleted","gone,L")
              	A5_ADD_FIELDS_TO_TABLE("stockdeleted","lot,N,5")
              end if
              Last edited by Ray in Capetown; 11-25-2012, 07:30 AM.

              Comment


                #8
                Re: New Tables and Forms to enhance existing system

                Much simpler and nicer with astrum and no user intervention.

                I did the add fields as laid out above before I found I could save time for myself and the end user with such a small investment.

                Before astrum: Thinking all the changes through and implementing it many times to make sure I had it right took me a minimum of 1 10 hour day. Then I had to trust the end user to do the right thing or sequence.

                after astrum: when I first did it, it was about 2 hours and to reset it all for the next time, it I about 30 minutes and it is ready to install. Makes an exe that the client executes, then client starts the app and the app does the rest.

                Your choice.
                Dave Mason
                [email protected]
                Skype is dave.mason46

                Comment


                  #9
                  Re: New Tables and Forms to enhance existing system

                  Can you elaborate a bit more... what exactly DOES the app do? Fields will still need to be added, I don't grasp how Astrum works just now? I for now fail to see how the way of delivering affects the chosen solution for upgrading an Alpha app? I have always used Qsetup for my installation programs.

                  Comment


                    #10
                    Re: New Tables and Forms to enhance existing system

                    Hi guys,

                    Really appreciate all you guys' contributions to this thread. I think you guys
                    have given me enough info. to work something out.

                    Thanks again.

                    Best regards,

                    Lim

                    Comment


                      #11
                      Re: New Tables and Forms to enhance existing system

                      Marcel,

                      I have never used or heard of Qsetup.

                      Astrum is just an installer that does what you tell it to. It does have the facility to copy files and/or folders as well as place same. It can write to the registry, write files on an as needed basis. in other words like: if exist x, do not, else overwrite. It makes an exe that when executed, does all that you instructed.

                      The way I use it is to have it copy a folder or files to a save folder. The bootstrap I use for that is the same name as the production adb that I sent with a different name. when the user starts the adb(boot), it does the append(s) from the saved folder and any other I may have needed, then the boot adb copies the production adb over the one running. The one running boot adb shuts itself down and when the user starts again like instructed, he is using the real adb.

                      Basically the new fields are empty when sent as all of the table fields are in those selected. The append from the boot adb fills them from the saved folder's files. a littler reindexing and/or whatever else you need.
                      Dave Mason
                      [email protected]
                      Skype is dave.mason46

                      Comment

                      Working...
                      X