Southwest Fox Sessions
There are 7 conference tracks at Southwest Fox. "Level" shows the expected level for attendees for a session.
Click a track's icon to jump to the sessions for that track.
Pre-Conference: These half-day sessions are offered on Thursday, October 18, and are available for an additional cost; see the
Register page for details.
Extending VFP: The sessions in this track look at ways to extend VFP's reach, by using it together with other products or by taking advantage of native extension capabilities.
Solidifying VFP Development: This track appeals to all VFP developers. Sessions cover either VFP fundamentals, aimed at those newer to VFP, whether moving up from FP2.x or coming to VFP from other languages; VFP best practices, aimed at helping all VFP developers improve; or in-depth looks at aspects of VFP that some developers may not have mastered yet.
Taking Advantage of VFPX: The sessions in this track showcase the projects in VFPX, providing attendees with enough information to put those projects to work for them. These sessions are deep dives into specific VFPX projects.
Technology for VFP Developers: This track looks at tools, technologies and techniques to make life as a developer easier and more productive.
Moving VFP Applications Forward: This track covers topics related to taking VFP applications beyond the desktop, such as with web applications or mobile technology, as well as alternatives for new platforms and future application development.
Post-Conference: These sessions are offered on the afternoon of Sunday, October 21.
Presenter: Jennifer Marsman
Level: All levels
The computing industry continues to evolve. Mobility. Form factors. Cloud. App Stores. Design. Natural User Interface. In this talk, we'll examine these current trends and how Windows 8 reflects where we are as an industry.
Presenter: Doug Hennig
Level: Intermediate
When: Thursday, October 18, 1:00 - 4:00, Gilbert
Even if you're planning to continue development in VFP, learning another language like C# can be very useful. There are some things that are a lot easier and faster to do in .Net than in VFP (the reverse is also true). This session introduces the C# language, comparing it to constructs and syntax in VFP to shorten the learning curve.
You will learn:
- How to create a project in Visual Studio
- What strong typing means and what are the advantages and disadvantages over weak typing
- The basics of C# syntax
- How C# classes differ from VFP classes
- How to create C# classes
- Inheritance in C#
- The uses of abstract classes and interfaces
- What static classes and members are
Prerequisites: General knowledge of programming
Presenter: Kevin McNeish
Level: Beginner
When: Thursday, October 18, 9:00 - 12:00, Flagstaff
This workshop takes you from the initial inception of an idea for an App through the design, implementation, testing, and release of an iOS App. In this workshop you get a real taste for the entire App development process from beginning to end with emphasis on best practices throughout. This session is the first of two parts.
You will learn:
- The Cocoa Touch Framework
- Objective-C
- The Xcode App Development Tool
- How to lay out the User Interface
- How to work with Data
- How to create Prototype Apps
- Application Architecture
- How to enhance your App with Maps, Web views, Email, Text Messaging, and more!
Prerequisites: Basic programming skills
Presenter: Kevin McNeish
Level: Beginner
When: Thursday, October 18, 1:00 - 4:00, Flagstaff
This session continues from Part 1.
Presenter: Menachem Bazian
Level: Intermediate, Advanced
When: Thursday, October 18, 9:00 - 12:00, Gilbert
Often a Visual FoxPro application will have to share data with a web application. You may be asked to write web reports or simple routines to interact with your data.
When it comes to web technologies, Linux is far more prevalent than Windows. In fact, 66.1% of all internet web servers are running Apache whereas only 18.4% are using IIS. When it comes to server side languages, PHP commands 77.3% of the market.
PHP and Apache also have the benefit of being cross platform. Apache runs on Linux and Windows, PHP runs on Apache or IIS.
Although PHP can look very strange at first, there are strong correlations between Visual FoxPro and PHP. Learning to work with PHP is not that difficult, even if you have never seen it before.
This session will give a primer on PHP and discuss how you can work with your client-server data in both Visual FoxPro and on your web application.
You will learn:
- An overview of Web technologies
- About Web based development and how it differs from traditional desktop development
- PHP basics
- How to access and update data in PHP
Prerequisites: Client-Server basics, SQL, basic understanding of HTML, CSS and Javascript
Presenter: Rick Borup
Level: All levels
When: Saturday, October 20, 10:00 - 11:15, Gilbert (R1)
Sunday, October 21, 8:30 - 9:45, Flagstaff (R2)
This session begins where Rick's Southwest Fox 2011 presentation on VFP Version Control with Mercurial left off. After a quick review of Mercurial's basic concepts and commands, this session explores more advanced topics drawn from the author's real-world, everyday experiences as a full-time VFP developer using Mercurial. This session is designed for VFP developers who want to improve their working knowledge of Mercurial as well as for those who have not yet started but want to begin using Mercurial in their everyday development work. In addition to the topics listed below, this session may also explore Mercurial extensions, hooks (the Mercurial API), and the new Mercurial actions in FinalBuilder 7.0 if time and interest allow.
You don't need any previous experience with Mercurial to benefit from this session. For those who didn't get a chance to see it yet, the white paper from the 2011 introductory session is available on Rick's website.
You will learn:
- About the many different configuration options for Mercurial and TortoiseHg
- How to use the TortoiseHg shell extension for Windows for maximum advantage
- How to work with remote repositories
- Ways to facilitate experimentation and parallel track development work
- How to serve Mercurial repositories, both locally and over http
- How to use the Bitbucket hosting service for Mercurial
- How to get out of trouble, and how to stay out of trouble in the first place
- Other ways to more fully explore the power of Mercurial
Prerequisites: A working knowledge of Visual FoxPro development. Some knowledge of distributed version control systems (DVCS) in general, and of Mercurial in particular, would be helpful but are not required.
Presenter: Rick Strahl
Level: Intermediate
When: Friday, October 19, 11:30 - 12:45, Gilbert (R1)
Saturday, October 20, 8:30 - 9:45, Gilbert (R2)
Accessing FoxPro COM objects from ASP.NET is one way to create Web applications that take advantage of Visual FoxPro code and data on the Web. In this session we'll discuss how to create COM objects for use in .NET, how to pass data between FoxPro and .NET, how to manage the development workflow for using FoxPro COM objects in .NET and how FoxPro integration affects ASP.NET performance and scalability. This session also discusses the many improvements .NET 4.0 brings to COM interop that simplify working with FoxPro objects inside of .NET code.
You will learn:
- How to use FoxPro COM Objects
- How to pass data between FoxPro and .NET
- How to handle the interop workflow when creating ASP.NET applications
- Details of how ASP.NET works with Interop code
Prerequisites: Basic understanding of FoxPro COM. Basic familiarity with IIS and Web Development.
Presenter: Rick Strahl
Level:
When: Friday, October 19, 5:15 - 6:30, Gilbert (R1)
Sunday, October 21, 10:00 - 11:15, Gilbert (R2)
.NET offers a lot of useful system functionality and more and more system and third party components are created in .NET. Take advantage of all this functionality by using .NET Interop from within FoxPro. This session describes how COM Interop with .NET works and introduces wwDotNetBridge which allows access to most .NET components and advanced features that are not accessible using plain .NET COM Interop.
You will learn:
- Why Interop with .NET is useful
- How .NET Interop from FoxPro works
- What limitations exist in standard .NET Interop
- How to pass data between FoxPro and .NET
- How to access more advanced features with wwDotnetBridge
- How to use no-registration loading for .NET components with wwDotnetBridge
Prerequisites: Basic understanding of FoxPro COM objects. Basic .NET concepts are useful but not required.
Presenter: Tuvia Vinitsky
Level: All levels
When: Friday, October 19, 10:00 - 11:15, Elliott (R1)
Sunday, October 21, 8:30 - 9:45, Elliott (R2)
Desktop apps are here for a while at least, but VFP produced apps look like they are 10 years out of date. Can a developer use VFP's extensive feature set and still deliver exciting looking apps?
Yes, you can. VFP forms, reports, menus and applications can look like the newest and slickest apps around. Using skins and some GDI+ can turn an old fashioned looking app into the state of the art looking app.
Watch as an app goes from boring to beautiful before your eyes!
You will learn:
- How to skin forms and classes
- How to deal with controls on a form
- How to use GDI+ to give forms/classes a customized look
- How to make menus look modern
- How to decide on UI options: should the forms have the Microsoft Ribbon look? Or some other look?
Prerequisites: Basic VFP knowledge.
Presenter: Rick Schummer
Level: Intermediate, Advanced
When: Friday, October 19, 5:15 - 6:30, Elliott (R1)
Saturday, October 20, 5:15 - 6:30, Elliott (R2)
Craig Boyd is one of the most generous developers in the Fox Community. Over the years his blog has included many posts where he delivers a cool FLL file that extends the functionality of a VFP application, or straight VFP code with numerous benefits, which make me look like a hero to my customers. This session picks up from last year's presentation on this topic, demonstrating more code and more features Craig makes available to the community.
Do you want your installs to have the professional manifest file for Vista and Windows 7 installs so your customers do not get the "untrusted" application message? Have you ever wanted your applications to go look for a more recent version and automatically have it updated? Have third-party applications requested data or provided data to you in JSON format and you need some code to work with it? Wouldn't it be great if you could use Windows Search in your custom application to be able to search for something on a computer? Have trouble coming up with a licensing scheme to protect the intellectual property you worked so hard on?
This session is going to go through some more of Craig's best FLLs and other tools, show you what they do and how you implement them, and how simple it is for you to look like a hero too.
You will learn:
- Application Manifest
- AppUpdater
- JSON Class Library
- Windows Desktop Search (Foxy Search)
- Visual FoxPro Random License/Serial Generator
- Backups for VFP Databases
- Vista/Win7 Progress Bar
- Skinning a VFP Form
- BindEvents on Steroids
Prerequisites: None
Presenter: Rod Paddock
Level: Beginner
When: Friday, October 19, 3:30 - 4:45, Flagstaff (R1)
Saturday, October 20, 11:30 - 12:45, Flagstaff (R2)
One of the premier web development platforms is Ruby on Rails. Along with being a fantastic tool for building web applications, Ruby on Rails has a thriving software development community. By attending this session you will walk away with a better understanding of what Ruby on Rails is and how you can take advantage of it today for building applications that scale from simple to complex. If you have never used Rails and are curious this session is for you.
You will learn:
- How to create new applications with Ruby on Rails
- How Ruby on Rails Applications are structures
- How Ruby on Rails uses the MVC pattern for constructing web applications
- How to create web pages with Ruby on Rails
- How to access and validate data with built in Ruby on Rails features
- How to deploy your application to the cloud using Heroku
Prerequisites: Knowledge of fundamental programming.
Presenter: Rod Paddock
Level: Beginner
When: Friday, October 19, 8:30 - 9:45, Flagstaff (R1)
Saturday, October 20, 10:00 - 11:15, Flagstaff (R2)
Web 2.0 is here to stay. jQuery is a JavaScript library that abstracts away all of the gory details of working with JavaScript for web applications. This session demonstrates how to add jQuery to your web applications today. This session focuses on proper uses of jQuery, how to use selectors in jQuery, and how to manipulate your web content dynamically. Along with uses of the standard jQuery library, time will also be spent exploring some of the most useful jQuery plugs ins.
You will learn:
- How to bootstrap jQuery into your web applications
- How to select elements for manipulation
- How to manipulate element properties and look and feel
- How to attach events to object
- How plug-ins can be used to add complex features to your web applications simply
Prerequisites: An understanding of HTML and knowledge of fundamental programming.
Presenter: Eric J. Selje
Level: Intermediate
When: Friday, October 19, 8:30 - 9:45, Gilbert (R1)
Saturday, October 20, 11:30 - 12:45, Gilbert (R2)
Last year we took a look at how to make your FoxPro data available on Android and iOS devices by using HTML5, web services, and PhoneGap. This year we'll dig a little deeper by extending our application so that we can save data in our application, even if we're offline. We'll then look at different ways to synchronize that data back to our main database once our application detects that we're back online.
You will learn:
- Different methods to save data when you're not online, including data libraries to standardize across different browsers.
- Strategies for synchronizing the local data with your server
- Other practical tips for your mobile application
Prerequisites: You don't have to have attended last year's session. We will quickly review the application and then extend that application with new features.
Presenter: Christof Wollenhaupt
Level: Intermediate
When: Saturday, October 20, 8:30 - 9:45, Flagstaff (R1)
Sunday, October 21, 11:30 - 12:45, Flagstaff (R2)
Mail merge letters, reports, evaluations... There are tons of documents that a business application is supposed to produce. Automating Microsoft Office is still a popular approach to produce MS Office compatible documents that users may modify according to their needs. Unfortunately, automating Office has a number of drawbacks. Every computer needs an installed and licensed version of Office. Configuration and the version of Office have a severe impact on the code. And automation on a server, well, even Microsoft published a KB article on why that's not a good idea.
Google Docs is an inexpensive alternative to create office documents without the hassle of various configuration. The only requirements are basically an internet connection and a Google account. In this session, we will create text documents, spreadsheets and presentations. An extensive set of classes makes creating those documents easier than automating Office.
You will learn:
- How to access Google Docs
- How to create various documents
- What's not possible in Google Docs
Presenter: Cathy Knight
Level: Intermediate, Advanced
When: Saturday, October 20, 10:00 - 11:15, Elliott (R1)
Sunday, October 21, 11:30 - 12:45, Gilbert (R2)
The Visual FoxPro Report Writer has great power, but sometimes you need to print reports slightly different than the native behavior. In this session I'll show you how to use the VFP ReportListener object, combined with API calls, to extend the way you print reports. You'll learn how to print from the previewer WITHOUT closing the preview window. You'll also learn many more techniques such as printing two pages per sheet so you can bind the report as a booklet.
You will learn:
- How to print selected pages without closing the previewer
- How to print multiple copies, collated and non-collated
- How to print multiple pages on one sheet
- How to print booklets
- How to offer a "shrink to fit" feature
Prerequisites: Familiarity with the VFP Report Writer
Presenter: Menachem Bazian
Level: Intermediate
When: Friday, October 19, 2:00 - 3:15, Flagstaff (R1)
Sunday, October 21, 10:00 - 11:15, Flagstaff (R2)
Learn what's new in SQL Server 2012 and what features it brings to your Visual FoxPro applications.
Presenter: Kevin J. Cully
Level: Intermediate
When: Friday, October 19, 11:30 - 12:45, Flagstaff (R1)
Saturday, October 20, 5:15 - 6:30, Flagstaff (R2)
In the 'What is old, is new again' department, Microsoft has announced that the future and preferred data access methodology is ODBC. As FoxPro programmers, we've been accessing SQL data via ODBC for years. But there have been stumbling blocks and some showstoppers over the years. We'll take a look at them and develop an approach to find them before they find us. We'll answer questions such as:
- Do you know whether all of your users are using the same version of the ODBC driver for your database?
- Does VFP behave the way you think it is supposed to when querying against a field type such as TEXT? What about MIDTEXT or LONGTEXT?
- ODBC drivers are famous for fixing an existing bug, and then having the next version it break again, only to have the next version fix it again. Repeat. Should you go with the next version and will your program work?
- What about upgrading to the new version of Microsoft SQL Server? or PostgreSQL? or Firebird? Will your existing SELECTs, INSERTs, UPDATEs and DELETEs behave the way you intend? Was there a deprecated feature that breaks your code?
- What about performance? From one version of ODBC driver to another, we hope that performance improves. What if it gets slower? Much slower? Best to find that out sooner in the development cycle.
You will learn:
- How to control your VFP to SQL Server ODBC driver versions
- How to determine if it is safe to upgrade to the next version of the ODBC driver
- How to determine if it is safe to upgrade to the next version of your SQL Server of choice
Prerequisites: A good working knowledge of Visual FoxPro. At least some understanding of SQL Server operations.
Presenter: Christof Wollenhaupt
Level: Intermediate
When: Friday, October 19, 3:30 - 4:45, Elliott (R1)
Saturday, October 20, 2:00 - 3:15, Elliott (R2)
The idea behind unit tests is to test units as small as possible at the earliest time. With small sample classes, this works beautifully. When applying unit tests to a real project, especially existing ones, we quickly discover how many complex interdependencies there are in our code. Most VFP applications use global application objects, and most objects rely on others to perform their duty.
FoxMock is a mockup framework mainly for unit tests. With FoxMock you can dynamically create objects with methods, properties, subobjects and - most importantly - behavior and validation. By replacing all dependencies of the tested object with mock objects, you can restrict the test to a single object without going through a heavy redesign of the entire app.
You will learn:
- What FoxMock is
- How to create unit tests with it
- How to minimize dependencies
Presenter: Tamar E. Granor
Level: Intermediate
When: Saturday, October 20, 8:30 - 9:45, Elliott (R1)
Sunday, October 21, 10:00 - 11:15, Elliott (R2)
We've had developer tools written in the FoxPro language since the days of FoxPro 2.0. Quite a few come with VFP, and the community has built lots more.
In this session, we'll explore the Visual FoxPro language features that make building developer tools possible. We'll look at how the VFP language allows you to dig into projects, classes, data and code. Examples will be drawn from a variety of VFP tools, including those in VFPX.
You will learn:
- About commands and functions that let you explore class libraries and code
- About commands and functions that let you explore databases
- About commands and functions that let you explore and manipulate projects
Presenter: Doug Hennig
Level: Beginner, Intermediate
When: Friday, October 19, 10:00 - 11:15, Gilbert (R1)
Saturday, October 20, 3:30 - 4:45, Flagstaff (R2)
The Windows API (Win32API) contains thousands of useful functions. However, finding which function to use when, and how to call it from a VFP application, can be challenging. This session discusses how API functions are called in VFP, where to find information on the API, and presents lots of useful API functions you can call in your VFP applications today.
You will learn:
- How to use the Win32API
- What useful file and folder functions you'll use every day
- How to detect a 64-bit operating system
- How to determine whether the application is running as administrator
- How to determine whether the application is already running
- How to lock ActiveX controls
Presenter: Tuvia Vinitsky
Level: All levels
When: Friday, October 19, 10:00 - 11:15, Elliott (R1)
Sunday, October 21, 8:30 - 9:45, Elliott (R2)
Desktop apps are here for a while at least, but VFP produced apps look like they are 10 years out of date. Can a developer use VFP's extensive feature set and still deliver exciting looking apps?
Yes, you can. VFP forms, reports, menus and applications can look like the newest and slickest apps around. Using skins and some GDI+ can turn an old fashioned looking app into the state of the art looking app.
Watch as an app goes from boring to beautiful before your eyes!
You will learn:
- How to skin forms and classes
- How to deal with controls on a form
- How to use GDI+ to give forms/classes a customized look
- How to make menus look modern
- How to decide on UI options: should the forms have the Microsoft Ribbon look? Or some other look?
Prerequisites: Basic VFP knowledge.
Presenter: Rick Schummer
Level: Intermediate, Advanced
When: Friday, October 19, 5:15 - 6:30, Elliott (R1)
Saturday, October 20, 5:15 - 6:30, Elliott (R2)
Craig Boyd is one of the most generous developers in the Fox Community. Over the years his blog has included many posts where he delivers a cool FLL file that extends the functionality of a VFP application, or straight VFP code with numerous benefits, which make me look like a hero to my customers. This session picks up from last year's presentation on this topic, demonstrating more code and more features Craig makes available to the community.
Do you want your installs to have the professional manifest file for Vista and Windows 7 installs so your customers do not get the "untrusted" application message? Have you ever wanted your applications to go look for a more recent version and automatically have it updated? Have third-party applications requested data or provided data to you in JSON format and you need some code to work with it? Wouldn't it be great if you could use Windows Search in your custom application to be able to search for something on a computer? Have trouble coming up with a licensing scheme to protect the intellectual property you worked so hard on?
This session is going to go through some more of Craig's best FLLs and other tools, show you what they do and how you implement them, and how simple it is for you to look like a hero too.
You will learn:
- Application Manifest
- AppUpdater
- JSON Class Library
- Windows Desktop Search (Foxy Search)
- Visual FoxPro Random License/Serial Generator
- Backups for VFP Databases
- Vista/Win7 Progress Bar
- Skinning a VFP Form
- BindEvents on Steroids
Prerequisites: None
Presenter: Cathy Knight
Level: Intermediate, Advanced
When: Saturday, October 20, 10:00 - 11:15, Elliott (R1)
Sunday, October 21, 11:30 - 12:45, Gilbert (R2)
The Visual FoxPro Report Writer has great power, but sometimes you need to print reports slightly different than the native behavior. In this session I'll show you how to use the VFP ReportListener object, combined with API calls, to extend the way you print reports. You'll learn how to print from the previewer WITHOUT closing the preview window. You'll also learn many more techniques such as printing two pages per sheet so you can bind the report as a booklet.
You will learn:
- How to print selected pages without closing the previewer
- How to print multiple copies, collated and non-collated
- How to print multiple pages on one sheet
- How to print booklets
- How to offer a "shrink to fit" feature
Prerequisites: Familiarity with the VFP Report Writer
Presenter: Tuvia Vinitsky
Level: Beginner, Intermediate
When: Friday, October 19, 2:00 - 3:15, Elliott (R1)
Sunday, October 21, 11:30 - 12:45, Elliott (R2)
Deploying updates to your applications has always been a thorn in the side of VFP development. The users want easy update access, but what is the best way to provide that? Should you use a loader? Local executables? FTP updates?
What happens when data structure changes are needed? What about using a loader and needing to update the loader? How do you manage exclusive access?
Licensing is a need that is closely related to updating. Are the users exceeding the maximum number of licenses? What is the best way to manage logons and concurrent licenses?
This session will review the major methods of updating a live application as well as demonstrate how we do it with our larger scale applications. We will also review the best techniques for license management.
You will learn:
- Five different update methods
- Licensing sweet and simple - easy ways to ensure that maximum licenses are not exceeded
- Pros and cons of third party licensing add-ons
- How to update data structures in live applications
- What update options should you give your user
- Maintaining different versions for different clients
Prerequisites: Basic VFP skills.
Presenter: Kevin J. Cully
Level: Intermediate
When: Friday, October 19, 11:30 - 12:45, Flagstaff (R1)
Saturday, October 20, 5:15 - 6:30, Flagstaff (R2)
In the 'What is old, is new again' department, Microsoft has announced that the future and preferred data access methodology is ODBC. As FoxPro programmers, we've been accessing SQL data via ODBC for years. But there have been stumbling blocks and some showstoppers over the years. We'll take a look at them and develop an approach to find them before they find us. We'll answer questions such as:
- Do you know whether all of your users are using the same version of the ODBC driver for your database?
- Does VFP behave the way you think it is supposed to when querying against a field type such as TEXT? What about MIDTEXT or LONGTEXT?
- ODBC drivers are famous for fixing an existing bug, and then having the next version it break again, only to have the next version fix it again. Repeat. Should you go with the next version and will your program work?
- What about upgrading to the new version of Microsoft SQL Server? or PostgreSQL? or Firebird? Will your existing SELECTs, INSERTs, UPDATEs and DELETEs behave the way you intend? Was there a deprecated feature that breaks your code?
- What about performance? From one version of ODBC driver to another, we hope that performance improves. What if it gets slower? Much slower? Best to find that out sooner in the development cycle.
You will learn:
- How to control your VFP to SQL Server ODBC driver versions
- How to determine if it is safe to upgrade to the next version of the ODBC driver
- How to determine if it is safe to upgrade to the next version of your SQL Server of choice
Prerequisites: A good working knowledge of Visual FoxPro. At least some understanding of SQL Server operations.
Presenter: Christof Wollenhaupt
Level: Intermediate
When: Friday, October 19, 3:30 - 4:45, Elliott (R1)
Saturday, October 20, 2:00 - 3:15, Elliott (R2)
The idea behind unit tests is to test units as small as possible at the earliest time. With small sample classes, this works beautifully. When applying unit tests to a real project, especially existing ones, we quickly discover how many complex interdependencies there are in our code. Most VFP applications use global application objects, and most objects rely on others to perform their duty.
FoxMock is a mockup framework mainly for unit tests. With FoxMock you can dynamically create objects with methods, properties, subobjects and - most importantly - behavior and validation. By replacing all dependencies of the tested object with mock objects, you can restrict the test to a single object without going through a heavy redesign of the entire app.
You will learn:
- What FoxMock is
- How to create unit tests with it
- How to minimize dependencies
Presenter: Cathy Knight
Level: All levels
When: Friday, October 19, 8:30 - 9:45, Elliott (R1)
Saturday, October 20, 3:30 - 4:45, Elliott (R2)
The VFP Report Writer is more powerful than most developers realize. In this session you'll learn all kinds of cool tips and tricks to help you create reports that WOW your clients. Things you thought were impossible in the Report Writer suddenly become clear after learning this medley of tips and tricks. This is a MUST SEE session for anyone creating VFP Reports.
You will learn:
- How to force Absolute Positioning on reports
- How to conditionally generate a Page Break anywhere in a report
- How to conditionally format objects on a report
- How to create multiple summary bands
- Much, much, more!!
Prerequisites: Familiarity with the VFP Report Writer
Presenter: Tamar E. Granor
Level: Intermediate
When: Saturday, October 20, 8:30 - 9:45, Elliott (R1)
Sunday, October 21, 10:00 - 11:15, Elliott (R2)
We've had developer tools written in the FoxPro language since the days of FoxPro 2.0. Quite a few come with VFP, and the community has built lots more.
In this session, we'll explore the Visual FoxPro language features that make building developer tools possible. We'll look at how the VFP language allows you to dig into projects, classes, data and code. Examples will be drawn from a variety of VFP tools, including those in VFPX.
You will learn:
- About commands and functions that let you explore class libraries and code
- About commands and functions that let you explore databases
- About commands and functions that let you explore and manipulate projects
Presenter: Rick Schummer
Level: All levels
When: Friday, October 19, 2:00 - 3:15, Gilbert (R1)
Sunday, October 21, 8:30 - 9:45, Gilbert (R2)
VFPX, one of the most active open source projects hosted on CodePlex, has some terrific tools to enhance the Visual FoxPro Interactive Development Environment (IDE) and components to impress your customers in the applications you write for them. This session covers some of the recent updates and additions to VFPX in 2012.
We are going to cover as much of these tools as time allows and might customize the session to the whim of the attendees' needs:
- Exploring the Data Explorer enhancements
- Using the new VFP 9 SP2 Help File
- Leveraging FoxTabs productivity
- Polishing apps with Vista (and Windows 7) Dialogs via COM
- Doing more than one thing at a time with ParallelFox
- Playing GoFish with your text searches
- Printing QR Codes from your apps
- Messaging users with Desktop Alerts
- Boosting productivity with PEMEditor
- Installing tweaks to the Microsoft XSource
- Hooking into the Project Manager with ProjectHookX
- Beating the Windows API with VFP2C32
- Displaying the hierarchy with the Organizational Chart
- Charting data with FoxCharts
- Keeping up to date with changes in VFPX with the power of Thor
You will learn:
- What is new in VFPX in 2012
- How VFPX is going to make a developer's life easier
- Where to get all the new goodness
- Why it is important to get involved in VFPX
Prerequisites: None
Presenter: Tamar E. Granor
Level: Intermediate
When: Friday, October 19, 11:30 - 12:45, Elliott (R1)
Saturday, October 20, 11:30 - 12:45, Elliott (R2)
The VFPX project, Thor, includes dozens of tools to aid in development. In this session, we'll look at some of what Thor has to offer. The session will explore a number of Thor tools, including Document View, Create Locals, Compare Objects, and much more. We'll also see how to make any Thor tool available with a keyboard shortcut. We'll also look at how to add your own tools to Thor and, if time permits, how to set up user preferences for a tool.
You will learn:
- How Document TreeView is an improvement over the native Document View
- How Thor can ensure that every variable you use is declared local
- How Thor lets you compare the PEMs of a pair of objects
- How to give any Thor tool a keyboard shortcut
Presenter: Rick Borup
Level: All levels
When: Saturday, October 20, 10:00 - 11:15, Gilbert (R1)
Sunday, October 21, 8:30 - 9:45, Flagstaff (R2)
This session begins where Rick's Southwest Fox 2011 presentation on VFP Version Control with Mercurial left off. After a quick review of Mercurial's basic concepts and commands, this session explores more advanced topics drawn from the author's real-world, everyday experiences as a full-time VFP developer using Mercurial. This session is designed for VFP developers who want to improve their working knowledge of Mercurial as well as for those who have not yet started but want to begin using Mercurial in their everyday development work. In addition to the topics listed below, this session may also explore Mercurial extensions, hooks (the Mercurial API), and the new Mercurial actions in FinalBuilder 7.0 if time and interest allow.
You don't need any previous experience with Mercurial to benefit from this session. For those who didn't get a chance to see it yet, the white paper from the 2011 introductory session is available on Rick's website.
You will learn:
- About the many different configuration options for Mercurial and TortoiseHg
- How to use the TortoiseHg shell extension for Windows for maximum advantage
- How to work with remote repositories
- Ways to facilitate experimentation and parallel track development work
- How to serve Mercurial repositories, both locally and over http
- How to use the Bitbucket hosting service for Mercurial
- How to get out of trouble, and how to stay out of trouble in the first place
- Other ways to more fully explore the power of Mercurial
Prerequisites: A working knowledge of Visual FoxPro development. Some knowledge of distributed version control systems (DVCS) in general, and of Mercurial in particular, would be helpful but are not required.
Presenter: Rick Borup
Level: All levels
When: Friday, October 19, 10:00 - 11:15, Flagstaff (R1)
Saturday, October 20, 2:00 - 3:15, Gilbert (R2)
Gone are the days where banks of dedicated physical servers lined the floor, shelves, or racks in your hardware closet. If you're deploying Web-based solutions these days, you're most likely going to use a cloud-based virtual private server from one of the big names in the business, and they don't get much bigger than Amazon Elastic Cloud Computing (EC2) from Amazon Web Services (AWS). Getting started with EC2 can be a little intimidating, but once you learn the lingo and get used to the interface, you'll be amazed at the power and flexibility EC2 solutions provide. Come to this session and learn how to make EC2 work for you!
You will learn:
- How to create an AWS account
- The different EC2 instance types and their pricing
- How to work with the AWS management console
- How to create and configure an instance of a Windows server
- How to configure your server, communicate with it, and make it accessible to the outside world
- Other things to help you become comfortable working with EC2
Prerequisites: The ability to breathe and stay awake for 75 minutes.
Presenter: Stephen J. Bodnar
Level: Intermediate
When: Sunday, October 21, 2:00 - 5:00, Elliott
This session is designed to expose a "typical" web developer to the latest tools and techniques for developing modern, responsive, interactive websites that will run across multiple browsers and multiple devices.
We'll spend the afternoon using the latest technologies to deliver a robust website that will incorporate great usability and design across a variety of devices.
We'll hit all the buzz words along the way: HTML5, CSS3, LESS, Knockout.JS, Responsive Web Design, Media Queries, Viewports, Mobile Websites (we'll also talk about Mobile Applications), JavaScript, jQuery, Minimizing and Packaging, Persistent Connections, Debugging Tools, Widgets and more.
If time permits, we'll also look at Single Page Applications and building an API for your site.
This session will use Microsoft's Free Visual Web Developer Express, but at least 75% of the content will be just as meaningful outside the Microsoft stack.
You will learn:
- How to use important new aspects of HTML5 in conjunction with CSS and JavaScript
- Key concepts of Responsive Web Design and how they're used to make a single web page that works effectively across different browsers and devices
- The difference between mobile applications and mobile websites
- How to incorporate 3rd party controls to enhance the look and feel of your sites
Prerequisites: Decent comfort level with HTML and web site development in general.
Presenter: Stephen J. Bodnar
Level: Intermediate
When: Friday, October 19, 5:15 - 6:30, Flagstaff (R1)
Saturday, October 20, 2:00 - 3:15, Flagstaff (R2)
There is a lot of confusion and hype surrounding HTML5. The confusion is because the HTML5 standard isn't scheduled to reach "full recommendation status" until 2022! Yet we're seeing it in all the latest browsers for both desktops and mobile devices. (Of course, they don't all implement HTML5 exactly the same as the others!) The hype comes with all the new features available to us today.
In this session, we'll take a look at the timeline and discuss what it means to us - specifically why we shouldn't wait until 2022 to start using HTML5.
We'll dive into several of the new HTML5 features and look at examples of how these things are to be implemented into our websites. We'll look at the new semantic HTML (new tags such as <header> and <footer>); video and audio; Canvas; geolocation; inline elements (<mark>, <time>, <progress>); form input types (<datetime>, <range>, <email>�); interactive elements (<details>, <datagrid>, etc.); offline capabilities; mobile implications and more.
You will learn:
- Why it is okay to use HTML5 today, even though the standard isn't scheduled to be finalized until 2022
- How and why to use the new semantic HTML
- Benefits of other new features such as Canvas, Geolocation and offline capabilities
- How older browsers react to HTML5
Prerequisites: Experience with HTML
Presenter: Eric J. Selje
Level: Intermediate
When: Friday, October 19, 8:30 - 9:45, Gilbert (R1)
Saturday, October 20, 11:30 - 12:45, Gilbert (R2)
Last year we took a look at how to make your FoxPro data available on Android and iOS devices by using HTML5, web services, and PhoneGap. This year we'll dig a little deeper by extending our application so that we can save data in our application, even if we're offline. We'll then look at different ways to synchronize that data back to our main database once our application detects that we're back online.
You will learn:
- Different methods to save data when you're not online, including data libraries to standardize across different browsers.
- Strategies for synchronizing the local data with your server
- Other practical tips for your mobile application
Prerequisites: You don't have to have attended last year's session. We will quickly review the application and then extend that application with new features.
Presenter: Christof Wollenhaupt
Level: Intermediate
When: Saturday, October 20, 8:30 - 9:45, Flagstaff (R1)
Sunday, October 21, 11:30 - 12:45, Flagstaff (R2)
Mail merge letters, reports, evaluations... There are tons of documents that a business application is supposed to produce. Automating Microsoft Office is still a popular approach to produce MS Office compatible documents that users may modify according to their needs. Unfortunately, automating Office has a number of drawbacks. Every computer needs an installed and licensed version of Office. Configuration and the version of Office have a severe impact on the code. And automation on a server, well, even Microsoft published a KB article on why that's not a good idea.
Google Docs is an inexpensive alternative to create office documents without the hassle of various configuration. The only requirements are basically an internet connection and a Google account. In this session, we will create text documents, spreadsheets and presentations. An extensive set of classes makes creating those documents easier than automating Office.
You will learn:
- How to access Google Docs
- How to create various documents
- What's not possible in Google Docs
Presenter: Menachem Bazian
Level: Intermediate, Advanced
When: Thursday, October 18, 9:00 - 12:00, Gilbert
Often a Visual FoxPro application will have to share data with a web application. You may be asked to write web reports or simple routines to interact with your data.
When it comes to web technologies, Linux is far more prevalent than Windows. In fact, 66.1% of all internet web servers are running Apache whereas only 18.4% are using IIS. When it comes to server side languages, PHP commands 77.3% of the market.
PHP and Apache also have the benefit of being cross platform. Apache runs on Linux and Windows, PHP runs on Apache or IIS.
Although PHP can look very strange at first, there are strong correlations between Visual FoxPro and PHP. Learning to work with PHP is not that difficult, even if you have never seen it before.
This session will give a primer on PHP and discuss how you can work with your client-server data in both Visual FoxPro and on your web application.
You will learn:
- An overview of Web technologies
- About Web based development and how it differs from traditional desktop development
- PHP basics
- How to access and update data in PHP
Prerequisites: Client-Server basics, SQL, basic understanding of HTML, CSS and Javascript
Presenter: Tuvia Vinitsky
Level: Beginner, Intermediate
When: Friday, October 19, 2:00 - 3:15, Elliott (R1)
Sunday, October 21, 11:30 - 12:45, Elliott (R2)
Deploying updates to your applications has always been a thorn in the side of VFP development. The users want easy update access, but what is the best way to provide that? Should you use a loader? Local executables? FTP updates?
What happens when data structure changes are needed? What about using a loader and needing to update the loader? How do you manage exclusive access?
Licensing is a need that is closely related to updating. Are the users exceeding the maximum number of licenses? What is the best way to manage logons and concurrent licenses?
This session will review the major methods of updating a live application as well as demonstrate how we do it with our larger scale applications. We will also review the best techniques for license management.
You will learn:
- Five different update methods
- Licensing sweet and simple - easy ways to ensure that maximum licenses are not exceeded
- Pros and cons of third party licensing add-ons
- How to update data structures in live applications
- What update options should you give your user
- Maintaining different versions for different clients
Prerequisites: Basic VFP skills.
Presenter: Menachem Bazian
Level: Intermediate
When: Friday, October 19, 2:00 - 3:15, Flagstaff (R1)
Sunday, October 21, 10:00 - 11:15, Flagstaff (R2)
Learn what's new in SQL Server 2012 and what features it brings to your Visual FoxPro applications.
Presenter: Eric J. Selje
Level: Beginner, Intermediate
When: Friday, October 19, 3:30 - 4:45, Gilbert (R1)
Saturday, October 20, 3:30 - 4:45, Gilbert (R2)
We are developers, but a lot of us become de facto SQL Server administrators without getting any formal training. We may get by with only a shallow knowledge of the main tool we have for managing SQL Server, but it's time to dig deeper into what SQL Server Management Studio a little.
Do you really know what this seemingly simple tool can do? There's a lot more there than meets the eye.
You will learn:
- Tips and Tricks to make your development life easier
- What SSMS "Projects" are and why you should use them
- How can you debug scripts as effectively as you debug your FoxPro code
- How can you track changes to your stored procedures and functions
- How to use the keyboard effectively
- What the built-in variables and functions are in SQL Server
- About some 3rd party tools to help you along the way
Prerequisites: Basic understanding of SQL Server. This is not a "Beginning in SQL Server" session, but rather a "How can I use SSMS more effectively."
Presenter: Rick Borup
Level: All levels
When: Friday, October 19, 10:00 - 11:15, Flagstaff (R1)
Saturday, October 20, 2:00 - 3:15, Gilbert (R2)
Gone are the days where banks of dedicated physical servers lined the floor, shelves, or racks in your hardware closet. If you're deploying Web-based solutions these days, you're most likely going to use a cloud-based virtual private server from one of the big names in the business, and they don't get much bigger than Amazon Elastic Cloud Computing (EC2) from Amazon Web Services (AWS). Getting started with EC2 can be a little intimidating, but once you learn the lingo and get used to the interface, you'll be amazed at the power and flexibility EC2 solutions provide. Come to this session and learn how to make EC2 work for you!
You will learn:
- How to create an AWS account
- The different EC2 instance types and their pricing
- How to work with the AWS management console
- How to create and configure an instance of a Windows server
- How to configure your server, communicate with it, and make it accessible to the outside world
- Other things to help you become comfortable working with EC2
Prerequisites: The ability to breathe and stay awake for 75 minutes.
Presenter: Doug Hennig
Level: Intermediate
When: Thursday, October 18, 1:00 - 4:00, Gilbert
Even if you're planning to continue development in VFP, learning another language like C# can be very useful. There are some things that are a lot easier and faster to do in .Net than in VFP (the reverse is also true). This session introduces the C# language, comparing it to constructs and syntax in VFP to shorten the learning curve.
You will learn:
- How to create a project in Visual Studio
- What strong typing means and what are the advantages and disadvantages over weak typing
- The basics of C# syntax
- How C# classes differ from VFP classes
- How to create C# classes
- Inheritance in C#
- The uses of abstract classes and interfaces
- What static classes and members are
Prerequisites: General knowledge of programming
Presenter: Kevin J. Cully
Level: Beginner
When: Sunday, October 21, 2:00 - 5:00, Flagstaff
No development tool surpasses VFP in the ease of creating rich database applications on Windows. Real Studio comes close for ease of development compared with VFP. It does so for Windows, Mac, Linux desktop applications, plus has the ability to write Web 3.0 applications. The programming language of REAL Studio fits very well into the skill set of Visual Foxpro programmers and we'll show you how to get productive in a short period of time.
You will learn:
- How to get started with Real Studio application development
- How to compile your desktop applications for Windows, Mac and Linux
- How to handle the different platform exceptions
- How to access and consume data from a variety of sources
- How to create and consume threads within your applications
- How to implement the VFP class that brings many of your favorite commands into Real Studio
- How to convert your VFP forms to Real Studio using the VFPToRS project
- How to develop Web 3.0 applications in Real Studio
- What it takes to deploy your Real Studio web applications
Prerequisites: A general knowledge of Foxpro programming and application building techniques.
Presenter: Rod Paddock
Level: Beginner
When: Friday, October 19, 3:30 - 4:45, Flagstaff (R1)
Saturday, October 20, 11:30 - 12:45, Flagstaff (R2)
One of the premier web development platforms is Ruby on Rails. Along with being a fantastic tool for building web applications, Ruby on Rails has a thriving software development community. By attending this session you will walk away with a better understanding of what Ruby on Rails is and how you can take advantage of it today for building applications that scale from simple to complex. If you have never used Rails and are curious this session is for you.
You will learn:
- How to create new applications with Ruby on Rails
- How Ruby on Rails Applications are structures
- How Ruby on Rails uses the MVC pattern for constructing web applications
- How to create web pages with Ruby on Rails
- How to access and validate data with built in Ruby on Rails features
- How to deploy your application to the cloud using Heroku
Prerequisites: Knowledge of fundamental programming.
Presenter: Eric J. Selje
Level: Beginner, Intermediate
When: Friday, October 19, 3:30 - 4:45, Gilbert (R1)
Saturday, October 20, 3:30 - 4:45, Gilbert (R2)
We are developers, but a lot of us become de facto SQL Server administrators without getting any formal training. We may get by with only a shallow knowledge of the main tool we have for managing SQL Server, but it's time to dig deeper into what SQL Server Management Studio a little.
Do you really know what this seemingly simple tool can do? There's a lot more there than meets the eye.
You will learn:
- Tips and Tricks to make your development life easier
- What SSMS "Projects" are and why you should use them
- How can you debug scripts as effectively as you debug your FoxPro code
- How can you track changes to your stored procedures and functions
- How to use the keyboard effectively
- What the built-in variables and functions are in SQL Server
- About some 3rd party tools to help you along the way
Prerequisites: Basic understanding of SQL Server. This is not a "Beginning in SQL Server" session, but rather a "How can I use SSMS more effectively."
Presenter: Stephen J. Bodnar
Level: Intermediate
When: Sunday, October 21, 2:00 - 5:00, Elliott
This session is designed to expose a "typical" web developer to the latest tools and techniques for developing modern, responsive, interactive websites that will run across multiple browsers and multiple devices.
We'll spend the afternoon using the latest technologies to deliver a robust website that will incorporate great usability and design across a variety of devices.
We'll hit all the buzz words along the way: HTML5, CSS3, LESS, Knockout.JS, Responsive Web Design, Media Queries, Viewports, Mobile Websites (we'll also talk about Mobile Applications), JavaScript, jQuery, Minimizing and Packaging, Persistent Connections, Debugging Tools, Widgets and more.
If time permits, we'll also look at Single Page Applications and building an API for your site.
This session will use Microsoft's Free Visual Web Developer Express, but at least 75% of the content will be just as meaningful outside the Microsoft stack.
You will learn:
- How to use important new aspects of HTML5 in conjunction with CSS and JavaScript
- Key concepts of Responsive Web Design and how they're used to make a single web page that works effectively across different browsers and devices
- The difference between mobile applications and mobile websites
- How to incorporate 3rd party controls to enhance the look and feel of your sites
Prerequisites: Decent comfort level with HTML and web site development in general.
Presenter: Kevin J. Cully
Level: Beginner
When: Sunday, October 21, 2:00 - 5:00, Flagstaff
No development tool surpasses VFP in the ease of creating rich database applications on Windows. Real Studio comes close for ease of development compared with VFP. It does so for Windows, Mac, Linux desktop applications, plus has the ability to write Web 3.0 applications. The programming language of REAL Studio fits very well into the skill set of Visual Foxpro programmers and we'll show you how to get productive in a short period of time.
You will learn:
- How to get started with Real Studio application development
- How to compile your desktop applications for Windows, Mac and Linux
- How to handle the different platform exceptions
- How to access and consume data from a variety of sources
- How to create and consume threads within your applications
- How to implement the VFP class that brings many of your favorite commands into Real Studio
- How to convert your VFP forms to Real Studio using the VFPToRS project
- How to develop Web 3.0 applications in Real Studio
- What it takes to deploy your Real Studio web applications
Prerequisites: A general knowledge of Foxpro programming and application building techniques.
Presenter: White Light Computing Staff
Level: Intermediate
When: Sunday, October 21, 2:00 - 5:00, Gilbert
You can read about techniques and best practices for different development languages, databases, platforms, and technical solutions, but the best teacher is real life experience. In this session, the staff of White Light Computing is going to share with you some real developer life lessons they have learned over the years while battling in the software development trenches. Each story comes with a solution that works.
Visual FoxPro developers have been spoiled over the last 15+ years by the Stonefield Database Toolkit when it comes to updating table structures and indexes. You are now working with SQL Server and have searched long and hard for a decent solution to match this functionality, but there are very few solutions available. Scripting all the changes works fine, but what happens if you have more than one server to update, or the DBA is not your friend? What if a migration goes bad and you need to revert to a prior version, but the users have already entered important data they don't want to throw away when you restore a backup?
Your ASP.NET site is in the hands of the testers and you are exasperated by all the "yellow screens of death" reported. What is a good alternative available to record errors and simplify the debugging process? We will show you how we have used one particular tool to help solve this issue with the MVC sites we have developed including the conference registration and evaluations site you used for this conference.
Your customer is thrilled with the Web site you have developed for them and now this has spawned all kinds of terrific enhancement requests. One of the problems you have is informing users when data changes because other users make purchases and the purchasing department resupplies stock. Your customer is requesting the Web site to auto-refresh when changes were made. You are wondering how much code you are going to have to write to accomplish this. It turns out there is an open source utility which simplifies this process in a big way.
Other topics for this session:
- Performance improvements for your Web site by packaging/minifying JavaScript and CSS
- SQL differences between Visual Fox Pro and SQL Server
- SQL Server T-SQL tricks and tips
- VFP Developer tools tricks and tips
The team at White Light has a broad set of skills and will leave time towards the end of the session for a bit of "stump the band" general questions from the audience as well.