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

Creating install disk of shadowed database

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

    Creating install disk of shadowed database

    Let's see if I can make this clear. As a developer, I want to be able to create a custom network optimized database for a client, give them two disks (one to install on the server, the other on the clients), have them run the install files, and then be immediately able to run the program. This is easy to do if my drives match theirs exactly. But if they don't I need to be able to change the drive letter in the reference of the shadow .dbf files.

    For example, say I have a client who has a server F: drive. If I can map an F: drive, I can simply install the runtime on my F: drive and create the shadow in the F: drive under the A5V5Runtime\shadow folder. Then I can create an install file for the client machine by copying these files into an install routine and placing them in identical directories on the client machine.

    Now what do I do if I cannot create an F: drive? I would like to be able to create a different letter drive (say Z:), create the shadow as in the previous paragraph, and then simply change the reference in the shadow .dbf file. I tried doing this manually by opening the shadow .dbf file with notepad and changing the drive letter. However, this corrupts the file and it displays blank records.

    Is there a way to change the drive letter without corrupting the shadow table? Or is there a better way to achieve what I want to (assuming I was clear on that)?

    Howard
    Howard G. Cornett, Independent Consultant

    #2
    RE: Creating install disk of shadowed database

    I'd recommend that you search this and the version 6 forum for threads on custom installations, professional installers, etc. Installers like Astrum and Wise Installer will be of good help to you.

    - Steve
    -Steve
    sigpic

    Comment


      #3
      RE: Creating install disk of shadowed database

      Steve,

      I've talked with Howard and he has, and is comfortable using, the Astrum Install Wizard. Now he's trying to build an installation that is extremely easy for one client to install.

      Since the drive mappings are known, it would be very easy to build all the necessary files, including shadow files, on your local computer and create a finished workstation install routine so the workstation will run correctly the first time the icon is clicked. The one problem is the creation of shadow files that point to the correct drive and folder .... and while typing this I think I recall something that may help - let me check the Help files....

      Yep. I think this may do it.

      From the help file: The TABLE.CREATE_SHADOW() method creates a shadow table or set that points to a physical table or set.

      It appears that this command will allow you to define the shadow path even if that drive/folder doesn't exist on your system.

      Howard, let us know if this works.

      Cal Locklin
      www.aimsdc.net

      Comment


        #4
        RE: Creating install disk of shadowed database

        Steve,

        Thanks for the suggestions. None of my searches yielded an answer to my question. I already use Astrum, but the problem is not with the install file but with the "pointers" in my shadow.

        I would like to distribute a shadow database with the runtime so that my customers don't have to do anything to create the shadow -- the installer does it for them. So I want to create the shadow on my local system and include it with the runtime install file that I create. The only problem is that if my master path is different on my network than on the customer's, the shadow won't work. So how do I, after creating the shadow database on my development machine, tell the shadow that the master path has moved and then point it to the new location? Then I would point the shadow to the master path that will exist on the customer's server. Now my customer can install the server install file on his server, the client install file on each client, double click on the desktop shortcut that the client install file creates, and get to work.

        Is this any clearer?

        Howard
        Howard G. Cornett, Independent Consultant

        Comment


          #5
          RE: Creating install disk of shadowed database

          Cal,

          Great idea! I just don't think it will work because the physical filename won't actually exist when I want to use the command. I suspect I will get an error (I haven't actually tried it).

          However, I think he "bootstrap" application idea will work if I hard code the location of the master data (since I know ahead of time). I will give it a try and let you all know.

          Howard
          Howard G. Cornett, Independent Consultant

          Comment


            #6
            RE: Creating install disk of shadowed database

            You're right. I should have read it more carefully.

            Comment


              #7
              RE: Creating install disk of shadowed database

              I hard coded the "bootstrap" application idea detailed in the help file and it worked! Thanks for all your help, everyone.

              Howard
              Howard G. Cornett, Independent Consultant

              Comment


                #8
                RE: Creating install disk of shadowed database

                Hi Howard,
                Why don't you design an automated routine that will allow your users to create an on site shadow whithout giving them access to the control panel. This could be a work arround since the master path drive letters will vary from server to server as you noted. All the tools & functions are in A5 to help you accomplish my suggested idea. Put it into consideration. Good luck.

                RAWLINGS

                Comment


                  #9
                  RE: Creating install disk of shadowed database

                  Howard and Cal -

                  I am interested in this thread because I've got a similar situation with a twist. The same part is that I'd like a simple installation for the customer. Actually, the customer is a customer of my customer.

                  The different part is that my customer will be making frequent FTP updates to one of their customer's tables. I'd like to be able to specify 2 different locations to be shadowed, one of which being the FTP folder. I'm trying to avoid any ongoing MIS interventions to move the FTP'd
                  files to the traditional master file location. In my case there would be 3 FTP'd files: fname.dbf, fname.fpt and fname.cdx.

                  I'm especially interested why table.create_shadow() was abandoned when (1) you know the paths ahead of time and (2) you can specify installation of the server master BEFORE installation of the workstations. Therefore physical file locations are known and available. And hard coding of the physical file location appears to work in table.create_shadow().

                  I've tested on my development machine the following senario with success.

                  Installed master files excluding fname.dbf, fpt and cdx in G:\data
                  Installed fname.dbf, fpt and cdx in G:\FTP
                  Installed all app files except for dbf, cdx and fpt in d:\a5v5runtime\shadow\app

                  I hard coded the paths in a table.create_shadow() snippet in the runtime autoexec pointing to the two dbf locations. The runtime app initially had no tables in the control panel when installed. When the app was first opened the shadow dbfs were created successfully and the app opened and functioned as it should. I then checked the shadow files and they were pointing to the correct two separate master file locations.

                  At this point what I've left out are at least two aspects: (1) the table.create_shadow() snippet needs to be run conditionally (say, if one or more dbfs are missing locally); and (2) I need to roll my own "refresh shadow" script.

                  Is there something you guys see I'm missing here that would cause such an installation senario to fail?

                  - John O
                  John Oesterle
                  ToolBytes, LLC

                  Comment


                    #10
                    RE: Creating install disk of shadowed database

                    Howard:
                    I put a button on a filemaintenance screen to Network Optimize.

                    Check to see if it is a runtime version then show the button

                    the code for the button is

                    'Date Created: 08-Sep-2003 10:15:51 AM
                    'Last Updated: 17-Jan-2004 08:33:18 AM
                    'Created By :
                    'Updated By :
                    ''XBasic
                    message.text = " "
                    message.text = "Network Optimize-This will Update your Local Computer. "
                    parentform.resynch()
                    Opt_net_v5()

                    message.text = " "
                    parentform.resynch()

                    Comment

                    Working...
                    X