![]()
Getting the most from Visual DataFlex Studio
A
Data Access Worldwide White Paper
by Dennis Piccioni
February 7, 2007
Last edited: February 7, 2007
Visual DataFlex Studio is a modern development platform designed to create Windows and web software with maximum efficiency. As software developers, time and productivity are our most important commodities. Compared to other modern development environments, Visual DataFlex Studio runs well even with limited resources, has a very fast load time and requires only limited disk space. The recommendations below will help you understand how Visual DataFlex Studio works and how to configure it for maximum performance and productivity.
General Development Environment
During the typical development cycle, the Visual DataFlex Studio performs the following actions:
- When opening a workspace, the Studio parses all of the source code in the workspace and creates a metadata file from this information. It also reopens all windows that were previously opened in their previous location and state, opens all files that were previously opened in their previous state (if so configured) and re-enables all breakpoints and bookmarks.
- During compilation, the Studio reads many files from the current workspace, any included libraries, and the standard Visual DataFlex libraries. It also needs to write the compiled program to disk, as well as other files that may be created during the build process.
- Developers often load the program being developed many times for testing and debugging purposes.
All of the above processes are affected by hardware performance, such as hard disc access, processor speed and RAM. Consider whether the location of the workspaces you work on will affect your development productivity. Generally speaking, installing Visual DataFlex Studio and project workspaces on a local hard drive is optimal for maximum speed and efficiency.
- In multi developer environments, working on a local copy of a workspace ensures that each developer can work without the risk of interfering with other developers, accidentally overwrite other developers' changes, etc. Read more about this in the Multi Developer Environment section below.
- The Studio should be installed locally (on a local hard drive) and is only tested and supported in that manner. Read more about this in the Network Installations of the Studio are Not Recommended section.
A 'single developer environment' is an environment where one developer is the only developer working on any single workspace. Our recommendations for single developers using Visual DataFlex are as follows:Multi Developer Environment
- For maximum speed and efficiency, work on a local workstation hard drive.
- Back up your source code frequently.
- Ideally, use source code management (SCM) software and back up the data store frequently. See Using Source Code Management software (SCM) for more details.
A 'multi developer environment' is an environment where several developers work on any single workspace, meaning that these developers open files in the same workspace concurrently. Our recommendations for multiple developers working on joint Visual DataFlex projects are as follows:These recommendations are consistent with the expected development strategies utilized by most modern development systems. Modern source code management systems are designed to work optimally with this type of environment.
- For maximum speed and efficiency, work on a local workstation hard drive.
- Work on a local copy of the workspace's source code.
- Use source code management (SCM) software. See Using Source Code Management software (SCM) for more details.
- Back up the SCM data store frequently.
Sharing a Visual DataFlex workspace over a network
Using Source Code Management software (SCM)Attempting to work with multiple developers on a shared network workspace at the same time is risky and error-prone.
There are many problems with sharing workspaces over a network:
- Developers risk overwriting each others changes and worse, there is no way to know if or when this has happened. The result can be a situation where source code is lost without anyone realizing it or the ability to properly recover or reconstruct the lost code.
- ClassList.xml and DDClassList.xml are shared and could be compromised.
- Multiple developers cannot compile at the same time.
For integrity reasons, the Studio will not normally allow you to share workspaces over a network. If you are currently doing this, we strongly encourage you to reevaluate this strategy. As an interim workaround, there is a way you share a workspace. The one directory in a workspace that cannot be shared is the IdeSrc directory. If an environment is configured where each developer has their own IdeSrc directory for a workspace, the workspace can be shared. This could be accomplished through the use of multiple .sws and .ws files or through alternate drive mappings. Although this allows multiple user access to the same workspace, it solves none of the problems listed above. This strategy is not recommended.
SCM, also known as revision control, source control or version control, has many advantages for all programmers, ranging from solo developers to huge development teams:Managing Visual DataFlex Projects using SCM
- It allows developers to store multiple copies of the same source file and revert to an earlier version at any time.
- It allows developers to compare any stored copy of a source file to the current version of the file or to any other stored version.
- It allows multiple developers to work on the same project at the same time by providing methods for "handling conflicts". Conflicts are changes made to the same file by multiple developers. SCM software has various methods of handling such conflicts. See the links below or the documentation for your SCM software for details.
- It allows developers to add comments to source code checked into the data store, thus creating a was to document changes to a project.
- It allows labeling of an entire project as a particular "revision", thus allowing developers to revert back to a particular revision of an entire project.
Typically, an entire workspace structure would be checked into an SCM system as a project. Special consideration may be given to the following:
Reliable SCM software is available from many sources, including free versions; some vendors (e.g. SourceGear) even allow free use of retail products for single developers.
SCM software typically has comparison tools built into it, but many allow developers to configure external tools to use instead of the built-in one. There are many comparison tools, some free, some not, on the market today. One we mostly use at DAW is Beyond Compare, available from Scooter Software.Network Installations of the Studio are Not RecommendedWhen installing the Visual DataFlex Studio, numerous components are installed, created and registered on the operating system, including folders, files, ActiveX controls and dynamic link libraries (DLLs). If installing on a Windows operating system with Internet Information Server (IIS) running, the Web Application Server service is also installed and registered, and multiple virtual directories created and configured. Due to the nature of the various components installed and their requirements, it is not possible for all of these pieces to be installed over a network.The Studio should be installed locally (on a local hard drive) and is only tested and supported in that manner. There are numerous known issues when attempting to install and run the Studio over a network:
- When the operating system and/or the local system account start, the network is not accessible, therefore WebAppServer.exe cannot be located and the service cannot start.
- Visual DataFlex requires Windows registry settings to be present, and ActiveX controls to be registered on each workstation in order to run. These normally are put in place during product installation. Without installing from each workstation and/or intimate knowledge of all required actions on each workstation, the Studio will not run from any other workstation than the one where installation was initiated.
- Unless the installation program is initiated on each workstation or Windows Start menu entries are manually added, Start menu groups and icons are not available on each workstation.
- Due to a Microsoft HtmlHelp security feature which disables help files from being loaded across a network, VDF documentation may be rendered inaccessible over a network.
- The debugger cannot be used on any other workstation than where the install was initiated, as the WebApp service is not running on the local machine.
- WebApp Administrator cannot be used on any other workstation than where the install was initiated, as the WebApp service is not running on the local machine.
- The Create New WebApp wizard in the Studio cannot be used to create a web share on any other workstation than where the install was initiated, as the WebApp service is not running on the local machine.
More on Source Code Management (SCM):
Data Access Worldwide
14000 SW 119 Ave
Miami, FL 33186
305-238-0012
Domestic Sales: 800-451-3539
Fax: 305-238-0017
email: sales@dataaccess.com
Newsgroup Server: news.dataaccess.com
Internet: http://www.dataaccess.comData Access Worldwide - Asia Pacific
Suite 5, 333 Wantirna Road, Wantirna VIC 3152 Australia
Phone: +61 3 9800 4233 f: +61 3 9800 4255
Sales: asiapacific@DataAccess.com
Support: support.asiapacific@DataAccess.com
Internet: http://www.DataAccess.com/AsiaPacificData Access Worldwide - Brasil
Av.Paulista, 1776 - 21st.Floor
São Paulo -SP - Brazil
CEP 01310-921
Phone: 5511-3262-2000
Fax 5511-3284-1579
Sales: info@dataaccess.com.br
Support: suporte@dataaccess.com.br
Internet: http://www.dataaccess.com.brData Access Worldwide - Europe
Lansinkesweg 4
7553 AE Hengelo
The Netherlands
Telephone: +31 (0)74 - 255 56 09
Fax: +31 (0)74 - 250 34 66
Sales: info@dataaccess.nl
Support: support@dataaccess.nl
Internet: http://www.dataaccess.nlData Access Technical Support
800-451-3539 / 305-232-3142
email: support@dataaccess.com
Visit our Support Home page to see all of our Support options: http://www.dataaccess.com/supportData Access Technical Knowledge Base http://www.dataaccess.com/kbase
Many answers to technical problems can be found online in the Data Access Technical Knowledge Base. Here, you can access the same live data that Data Access Worldwide technical support and development staff use to enter and track technical articles.Copyright Notice
This document is property of Data Access Corporation. With credit to Data Access Corporation for its authorship, you are encouraged to reproduce this information in any format either on paper or electronically, in whole or in part. You may publish this paper as a stand alone document within your own publications conditional on the maintenance of the intent, context, and integrity of the material as it is presented here.DataFlex is a registered trademark of Data Access Corporation.
NO LIABILITY FOR CONSEQUENTIAL DAMAGES
To the maximum extent permitted by applicable law, in no event shall Data Access Corporation be liable for any special, incidental, indirect, or consequential damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use any information provided in this document, even if Data Access Corporation has been advised of the possibility of such damages. Because some states and jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.