Sessions and Schedule

warning: file_get_contents(http://www.telize.com/geoip/54.80.236.48) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/www.4d.com/docs/includes/common.inc(1762) : eval()'d code on line 4.
Find out about the topics being presented at 4D Summit 2012. Hone your skills, learn all new technologies, or simply learn about new ideas and techniques for implementation and taking advantage of the latest trends.

This is the preliminary agenda for 4D Summit 2012, subject to modification. You will find all finalized session descriptions that are currently available below the agenda.

 

Tuesday, October 23, 2012

7:00 AM

9:00 AM

Continental Breakfast - Market Street Foyer

8:30 AM

12:30 PM

Pre-Class - Crystal Room

12:30 PM

1:30 PM

Pre-Class Lunch - Market Street Foyer

1:30 PM

4:30 PM

Pre-Class continues - Crystal Room

5:00 PM

7:00 PM

Show and Tell Reception - Club Regent

Wednesday, October 24, 2012

7:30 AM

8:30 AM

Continental Breakfast- Market Street Foyer

7:00 AM

5:00 PM

Registration Opens - Regency Foyer

8:00 AM

10:00 AM

 Welcome Keynote

with Tom Miller

 

Product Keynote

 

Regency Ballroom

 

Regency Ballroom

Crystal

Gold

10:00 AM

11:00 AM

Wakanda & 4D v13

Thibaud Arguillere

TBA

Impact Marketing for Small Business

Michel Gerin, Bill McKay 

11:15 AM

12:15 PM

Monitoring 4D Server with Enterprise Tools

Thomas Maul

 Macros for Developer Productivity

Charlie Vass

Web Basics

Angelo Caroprese

12:15 PM

1:30 PM

Lunch - Market Street Foyer

 

Regency Ballroom

Crystal

Gold

1:30 PM

2:30 PM

4D v13 Upgrade Training Highlights - Part I

Achim Peschke 

 Synchronization from the Master

Sergiy Temnikov
Supporting an Enterprise Level 4D Application

Tom Benedict 

2:45 PM

3:45 PM

Revealing 4D - Commands You Never Knew Existed

Christophe Flament

hmplugins.com: Calendars, Reports & Graphics in 4D with hmCal & hmReports

A Tale of Scale

Justin Leavens

4:00 PM

5:00 PM

Creating Custom Widgets

Keisuke Miyako

Essential Web Security for 4D

Darrell Draper 

Leveraging 4D's Partner Program

Erin Moeller

Thursday, October 25, 2012

7:00 AM

8:30 AM

Continental Breakfast  - Market Street Foyer

8:00 AM

9:00 AM

4D SAS Keynote
(Customer Presentations/Cases)


Regency Ballroom

 

Regency Ballroom

Crystal

 

Gold

9:15 AM

10:15 AM

Optimization Part Deux: The Next Level

Thibaud Arguillere

 Master Web Data with 4D v13 and JSON

Rick Hazey

 Get Configuration - 70 Commands Explained

Christophe Flament

10:30 AM

11:30 AM

 Benchmark your Storage System's Performance

Thomas Maul

Web Area Mashups

Sonya Rackwitz

Consistent UI for Cross-Platform Development

Add Komoncharoensiri 

11:30 AM

12:45 PM

Lunch - Market Street Foyer

12:45 PM

1:45 PM

iOS, Android and 4D

Philip Keth

Taking Revision Control to the Playoffs

Josh Fletcher

4D v13 Upgrade Training Highlights - Part II

Achim Peschke

2:00 PM

3:00 PM

 Google Apps Integration

Keisuke Miyako

Paypal Payment Integration

Mickaël Rottiers
& Jonathan LeBlanc

Why 4D over Filemaker

Mark Lemm

3:15 PM

4:15 PM

Time Machine for 4D

Peter Lerch

 Key-Value Pair Dictionary

Wayne Stewart

Mastering Listbox

Charlie Vass

4:30 PM

5:30 PM

Wrap Up/Award Ceremony/Q&A

7:00 PM

11:00 PM

An Evening with 4D

The Tech Museum of Innovation

Friday & Saturday, October 26-27


JS.everywhere(2012) + Wakanday

» Get the full schedule here! «

 

 

 

Below are the sessions that have so far been definitively scheduled for 4D Summit 2012. Many more are on the way, so please check back on this page for new additions.

 

Sessions

Consistent UIs for Cross-Platform Deployment

One of the best things about the 4D database is that a single codebase can be deployed on both Mac and Windows. However, the most challenging task is creating a consistent user interface for both platforms in which the application appears and behaves as expected. This session will cover some of the basic fundamentals of cross-platform user interfaces. It will also focus on the Dos and Don’ts and other considerations to make sure that the final result is acceptable for both platforms.


Add Komoncharoensiri – Technical Services Director, 4D Inc.

Tags: Best Practices, Deployment
Level: Intermediate

Mastering the List Box

Over the last three versions of 4D, the List Box object has matured into one of the most powerful and versatile form objects available to developers. The 4D v13 List Box provides the developer with a grid tool so dynamic that one generic project form can be created and used to replace every table list/output form in the database.

This session will show advanced List Box techniques to build dynamic table list forms, and how a limited number of project forms can be used to replace traditional table forms in a database. The session will move fast and provide lots of code examples, so be ready to learn!


Charlie Vass – Technical Services Team Member, 4D Inc.

Tags: Productivity, Development
Level: Intermediate

Web Area Mashups: Image Editor

Did you know that you can use 4D Web Areas to create an image editor within a 4D database? It’s true! You can do it using HTML5’s canvas tag along with JavaScript. The canvas element makes it easy to draw graphics and even manipulate images using JavaScript. This session will demonstrate how Web Areas can be used to draw and edit images, making your 4D applications more beautiful and functional.


Sonya Rackwitz – Technical Services Team Member, 4D Inc.

Tags: Development, Web
Level: Intermediate

Essential Web security for 4D


It’s no secret that the once humble Web browser can enable new avenues of access to your application. However, it opens up a new set of security concerns. This session will explore the various threats to a Web-enabled application and provide a series of best practices to mitigate these threats.


Darrell Draper – Technical Services Team Member, 4D Inc.


Tags: Best Practices, Development, Web
Level: Intermediate

Optimization Part II: The Next Level

 

We all know that 4D is the fastest database engine. In the whole universe. And we all know the application engine that runs the 4D language is incredibly fast.

 

That said, there's still room for improvement. We can optimize code execution, of course, but also optimize database access and speed in client/server mode. There are some big points, as well as smaller ones.

In this session, after a quick reminder of last year's "Optimization" session – very quick, just a summary for those who missed it – we will focus once again on common sense, and on client/server database access. We'll also go over some pure language tricks.

 

We'll try to optimize the session itself with different presentation techniques and, at the end, you will know everything in less than 4.2 minutes. Maybe.

 

Thibaud Arguillere – Senior Software Evangelist, 4D SAS


Tags: Best Practices
Level: Intermediate

Creating Custom Widgets

 

The introduction of custom widgets in 4D v12 marks a significant paradigm shift in the way we design the user interface in 4D.

 

This session will explain how to create custom widgets and use them in your application.

Known limits, behavioral exceptions, and coding style recommendations will be thoroughly addressed, saving you time from learning them the hard way.

 

Keisuke Miyako – Sales Engineer, 4D Japan


Tags: Deployment
Level: Beginner

4D v13 Upgrade Training Highlights

 

There are so many new features in 4D v13 that a whole day isn't nearly enough to demonstrate them all..

 

This session presents you some of the highlights in detail. You'll learn underlying upgrade techniques, how they work, and how you can implement them in your applications.

Ready-to-use samples are provided.

Topics include

  • Storing "big data" outside the data file
  • MSC improvements
  • Indexing and managing pictures
  • Print preview with XPS under Windows

 

Achim Peschke – Director of Technical Support, 4D Germany


Tags: Best Practices, Development, Upgrade
Level: Intermediate

4D v13 Upgrade Training Highlights- Part II

 

There are so many new features in 4D v13 that a whole day isn't nearly enough to demonstrate them all...

 

...so, we have added this session to present you some of the highlights that we could not fit into Part I. You'll learn underlying upgrade techniques, how they work, and how you can implement them in your applications.

Ready-to-use samples are provided.

Topics include

  • Progress bar component
  • Hierarchical lists
  • Split text
  • New events and database methods
  • List boxes and footers
  • Accessing the database structure
  • New spell checker
  • Getters and setters
  • HTTP client

 

Achim Peschke – Director of Technical Support, 4D Germany


Tags: Best Practices, Development, Upgrade
Level: Intermediate

Key-Value Pair Dictionary

 

This session will introduce a new component (which is in itself a revision of older ones.)

 

The component implements an abstract data structure know as key-value pairs. This component can be used as an Object Tools, XML Bags, or Variables-on-Demand alternative. A novel syntax has been developed for the component allowing the retrieval of values by a totally text-based mechanism. This component combined with Dynamic Variables (introduced in v12) can dramatically decrease the memory footprint of your 4D app. Other techniques will also be demonstrated such as anonymous process dictionaries with automatic garbage collection, preferences and xml export.

We will spend some time going over the simple syntax for getting data into and out of the component.

 

Wayne Stewart – Technical Support, 4D Australasia


Tags: Best Practices, Development, Optimization
Level: Intermediate

Synchronization from the Master

 

Synchronization is a powerful tool, but it demands that you understand how it functions – you simply must learn the Do’s and Don’t’s of synchronization in 4D. This session will help you understand when to use the synchronization mechanism, how it affects your application, and what your users can gain from it.

 

Sergiy Temnikov – Software Architect, 4D SAS


Tags: Best Practices
Level: Intermediate

Taking Revision Control to the Playoffs

 

By now you’ve likely heard of or tried the CodeExport component. Guess what? It merely scratches the surface of Revision Control (RC) and 4D. Sure, it exports all the methods, but what happens if a method is deleted or renamed? What happens if your RC software requires direct action to create a new file? It’s time to take RC integration with 4D to the next level!

 

The solution comes via a one-two punch: First, a generic RC component framework provides hooks for common RC tasks (create, update, rename, delete). Second, by extending this framework, tightly integrated RC components elevate 4D’s game in a big way. Don’t miss all the hits!

 

Josh Fletcher – Technical Acount Manager, 4D Inc.


Tags: Best Practices, Development
Level: Intermediate

Web Basics (static, semi-dynamic, dynamic)

 

With the introduction of the new Web server in 4D v13, the Web is more important to 4D applications than ever. That’s why we’d like to remind 4D developers how they can deploy their data using the powerful new Web server.

 

This session covers the basics of developing and deploying static content and dynamic data on the Web using a simple approach. It will also cover subjects like HTML, JavaScript, CSS, 4D tags, 4D commands for the Web, as well as XML and JSON and other topics that will give developers the foundation to implement such technologies in their applications. 

 

Angelo Caroprese – Regional Technical Manager, 4D Hispano


Tags: Development, Deployment
Level: Intermediate

Monitoring 4D Server with enterprise tools 

Large IT departments use monitoring software such as Nagios or Icinga to monitor IT infrastructure and alert administrators about issues. There are automated alerts (email/SMS/pager) for server breakdowns, switch/router disconnection, printer ink or database server problems. But how can we integrate these with 4D?

This session will give you the basic background you need to install and use such a system – and integrate 4D Server to monitor their status, including availability, backup and memory.

For the IT administrator, this can be fully integrated into existing systems, allowing enterprise IT departments to monitor your application without learning new tools or techniques. 4D Server’s status can be embedded into administrators’ normal monitoring screen (and further made available in the browser, iPhone, Android, etc.), and the system can furthermore display historical data, such as 4D Server’s cache usage. If you have any large deployments, you cannot miss this session!


Thomas Maul – Managing Director, 4D Northern Europe

Tags: Deployment
Level: Advanced

Benchmark your storage system’s performance 

As the number of users and data size grow, disk speed is becoming increasingly important, as it is the main performance bottleneck for database systems. In virtualized environments, for example, a poorly configured storage system could slow down a database server drastically. In many cases, it’s difficult or even impossible to convince the storage system administrator that their system is not up to speed.

 

This session will give you the tools you need to benchmark and verify disk access requirements, and hopefully convince the IT department to upgrade their hard drives or SSDs! To increase acceptance from enterprise IT departments, this session will focus on a (free) tool from Microsoft – SQLIO – which is used to test storage systems on MS SQL Server and MS Exchange. We’ll explain how to use SQLIO and analyze the reports it produces, allowing IT admins to verify and optimize the storage system using Microsoft tools and Microsoft best practice documents.

 

Furthermore, we’ll provide a 4D component to make usage even easier with a graphical interface that creates human readable reports, including charts. This component can be integrated into your system, letting you run benchmarks regularly, i.e. on weekends, or run separately. It also helps prepare DOS batch files to run on customer machines that often only have Microsoft tools installed.


Thomas Maul – Managing Director, 4D Northern Europe

Tags: Deployment
Level: Advanced

Google Apps Integration

The Google Apps API allows developers to write applications that access Google applications such as Gmail, Google Calendar and Google Docs. Libraries written and supported by Google exist for languages such as Java, JavaScript, .NET, PHP, Python...but what about 4D? In this session, we explore ways to access Google Apps from the 4D language. First, we go through the various requirements for desktop applications (as opposed to web applications) to register as a Google App client. Next, we visit key concepts such as oAuth, REST, JSON and how to implement them in 4D. Finally, we'll look at ways to design a modular component with generic deployment in mind.


Keisuke Miyako – Sales Engineer, 4D Japan

Tags: Modernization
Level: Intermediate

Revealing 4D – Commands you never knew existed

This session will showcase several commands in 4D v13 that you never knew existed. It will show how to make the best use of them and suggest some awesome code techniques and interfaces for your applications.

 

Using a fully functional – command-rich and feature-rich – demo application, we will demonstrate the best way to code 4D and its hidden treasures. We will show you:

  • The 'Never Closing' process!!!
  • How to grab a copy of your screen in one line of code
  • The advantage and ease of programing with dynamic variables in your forms
  • How to quickly create your own component and use it
  • How easy is to create menus by code and use them
  • How to mix output and input interfaces in one project form to display any table
  • All the events that occur and how to trap them


As long time 4D programmers, we tend to stick to what we know. However, several new commands are at our disposal. It’s time to learn about them and how to use them.


Christophe Flament – Computer Consultant, Ponga Consulting Inc.

Tags: Development, Modernization
Level: Intermediate

Get Configuration – More than 70 commands explained

This session will showcase several commands in 4D v13 that you never knew existed. It will show how to make the best use of them and suggest some awesome code techniques and interfaces for your applications.

 

4D v13 comes with several commands that return information about the configuration, information about the database itself, the 4D environment or the computer settings. The purpose of this session is to showcase these commands. Learn how one method – almost 2000 lines of code – generates a document with the information returned by those commands.

 


Christophe Flament – Computer Consultant, Ponga Consulting Inc.

Tags: Development
Level: Beginner

Time Machine for 4D

The design object access in 4D v13 makes it easy to use standard revision control software for 4D projects. But why not write the whole thing in 4D? A custom-built system allows for better integration with the 4D IDE, is not restricted to code only, and it can be adapted to different development processes and organizational structures. This session discusses revision control for 4D in general and introduces a flexible version control component.

 


Peter Lerch – CTO, Softworks AG

Tags: Modernization
Level: Intermediate

Macros for Developer Productivity

Macros are handy development tools that enable a developer to generate blocks of code that would normally have to be typed repeatedly. The benefit of macros goes beyond time savings. Macros also reduce mistakes since they are done correctly once and create mistake-free code repeatedly.

There are many features to 4D macros, but one of the most powerful features that will be covered in detail is the Method Editor macros and the tagging language – the tag. The tag supports the calling of any 4D Project Method contained in the database. It makes possible features that few can imagine can be accomplished from a macro.

Put simply, a macro in 4D v13 is a time and money savings efficiency multiplier that does a lot more than just spit out code. If time is money, macros are a gold mine in savings. This session will contain many examples that will demonstrate techniques of reducing time-consuming, repetitive tasks down to a simple menu choice or keyboard shortcut.

 


Charlie Vass – Technical Services Team Member, 4D Inc.

Tags: Best practices, Development
Level: Intermediate

Paypal Payment Integration

Paypal is the most popular payment solution for online business. Different integration methods are available, depending on your specific needs. This session will help you choose the most adapted process, as well as give you some reusable 4D source code that will be the keys to starting your integration.

 


Mickaël Rottiers – CRM Manager, 4D SAS & Jonathan LeBlanc, Developer Evangelist – PayPal

Tags: Modernization, Development
Level: Intermediate

Master Web Data with 4D v13 and JSON

Since 4D v13 introduced native HTTP calls, it's now easier than ever to pull data from the Internet or an internal Web server to use in your 4D application. The JSON (JavaScript Object Notation) data format is extremely popular for Web data, but how do you use it?

This session will show you how to retrieve data in JSON format and, by using a 4D component, translate it to 4D. You'll see real world examples that demonstrate the power and ease of the process, quickly integrating the latest Web technology into your 4D application.

 


Rick Hazey – Owner, Octet Industries LLC

Tags: Modernization, Development, Web
Level: Intermediate

A Tale of Scale

When your system faces unexpected growth, you discover bottlenecks – some you might have expected, and some you might have not. How do you cope when when the pipes start to burst and you're asked to simply handle "more"?

In this session, we'll use the example of a simple task processing system and work our way through the kind of 4D design evolution you might see from a system processing hundreds or even thousands of requests to one that needs to handle MILLIONS.

 


Justin Leavens – President, Just In Time Consulting

Tags: Best practices, Development, Optimization
Level: Intermediate

iOS, Android and 4D

The world is going mobile. Are you ready?

This session will show you how to get your 4D application ready for a user base that demands more solutions to be available on iOS and Android.

You'll learn about communicating with 4D from an Android or iOS device, as well as the similarities and differences between them. We'll go over your options for the communication layer. We'll do a brief code review of what all this involves. And we'll look at how push notifications work on both Android and iOS – and more importantly – how we send push potifications from a 4D application.

 


Philip Keth – Vice President & CTO, Footprints Inc

Tags: Development, Modernization
Level: Advanced

Supporting a 4D Enterprise Application: The 24x7 Challenge

What do you do when your 9-to-5, Monday-through-Friday 4D application becomes a mission critical, 24 hours-a-day, 7 days-a-week, core component of a full-fledged enterprise architecture? Alere Wellbeing will share what they've learned over 20 years of supporting their 4D Quit for Life application. A self-contained tool built to support a small user group has evolved into the heart of a complex network of applications supporting a multi-million dollar program.

 


Tom Benedict, Terry Lee, Ruben Baumann – Alere Wellbeing

Tags: Best Practices, Deployment
Level: Intermediat