4D SUMMIT 2010

AGENDA

4D Summit 2010 Agenda

warning: file_get_contents(http://www.telize.com/geoip/54.163.210.170) [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.
Take a look at all the sessions going on at 4D Summit 2010. This is an opportunity to hone your skills, learn all new technologies, or simply learn about new ideas and techniques for implementation and taking advantage of the latest trends.

All sessions this year will focus on 4D v12 and 4D v11 SQL, meaning you can use everything that you learn from the Summit right away.  Rest assured that this year's sessions will contain the variety and depth that you have come to expect with a few new surprises as well.  Take a look at some of our sessions here:

 

See the Keynotes

See the standard sessions

See the Lightning Sessions

See the Q&A session

 

Keynotes

Standard Sessions

 

Keynotes

4D State of the Nation
Luc Hollande, CEO, 4D SAS, Jean-Michel Biraghi, Director of Corporate Marketing, and Brendan Coveney, CEO, 4D, Inc. open the welcoming keynote to this year's 4D Summit. In it's 26th year of operation, see the state of 4D's business including the company's corporate strategy and financial standing.
Technology Today in 4D
Thibaud Arguillere, Senior Software Evangelist, will then join Brendan and dive into the technology that drives 4D applications today. A review of 4D v12 and the Web 2.0 pack will be presented. As consummate showmen, the duo will also have a few surprises in store for this keynote!
Magic of Miyako
Over the past 3 years, Miyako-san has contributed over 60 4D plugins and components to the 4D developer community. His keynote will showcase the value in extending 4D functionality and demonstrate some of his favorite components and plugins including development with Google, iTunes and Twitter APIs.
Wakanda
Thibaud and Brendan retake the stage to give an in-depth overview of Wakanda, 4D's upcoming end-to-end JavaScript platform. How can you expand your business with Wakanda? What features should you get excited about? These questions and more will be answered.
The Future of 4D
Wakanda isn't the only centerpiece of 4D's future. With a quarter century of proven maturity, 4D will continue to build upon its flagship platform past 4D v12. This keynote will discuss 4D v13 and tease attendees with what lies further in the future for the company and its developers.

Standard Sessions

 

Managing Printing with 4D v12
4D v12 introduces a whole new way to manage printing. Developers now have greater control at a more granular level with new commands like OPEN PRINTING FORM and Print object.

This session will describe how to leverage this new power to make printing easier and spice up your print jobs.
Rich Text in 4D v12
The new Rich Text feature allows a text object to have different styles applied within an object. You can now control the style of each individual character within a text object. The feature has been designed to allow a developer or the end user to be able to control the styles, which opens up new possibilities for displaying and printing data, and for creating forms in general.

This session discusses how to utilize this feature into an application and how 4D differentiates the actual rich text data stored in the data file and the same data being displayed on a form. 
Replication and Synchronization
The process of ensuring data that is created, modified, and deleted in one database is done the same way on one or more associated databases will be the focus of this session. In real life, it is quite an involved issue with many consequential choices to be considered, weighed, and decided upon.

This session explores data replication and synchronization in 4D v12 that enables the exchange of data between database applications on separate devices in a number of ways. The primary focus will be on the new functionality in 4D v12, “REPLICATE” and “SYNCHRONIZE”. Beyond the commands of “REPLICATE” and “SYNCHRONIZE” this session will cover replication using the techniques of "SQL Dumps" and "External Databases".
Hash Examples in 4D v12
Hash functions are widely used throughout the internet as well as in various computer applications for business critical tasks.

This session discusses hash functions and some of their common uses. We will demonstrate using hash functions for encrypting passwords, file integrity, file fingerprinting, and finding duplicate files on a hard drive. We will be benchmarking some of the different ways of obtaining hash digests and discussing each of their strengths and weaknesses. 





 
SVG in 4D: An Introduction for 4D Developers
Visual design is one of the most vital components of an application. SVG is a powerful tool that's new to 4D developers and can greatly enhance visual design and user interaction. It was introduced in 4D v11 SQL and 4D v12 gives developers even more tools to leverage SVG in their applications.

This session acts as an introduction for 4D developers to the world of SVG and vector graphics. In this session you will learn how SVG works and how to use the different tools that 4D offers to manipulate SVG images. 
Asterisk Integration with 4D v12
Asterisk is a leading Open Source PBX project that is widely available in many different deployment packages. This Summit session covers a brief overview of what Asterisk is as well as an introduction to using PHP from within 4D v12.

An explanation of how to use the Asterisk-PHP-API library to communicate with an Asterisk-based PBX server will be discussed. A demonstration of installing and connecting from 4D to an Asterisk based PBX will be shown.

 

Running 4D Server as a Pseudo-Service Application on Mac OS X
This session discusses running 4D Server as a “pseudo-service” – that is, a 4D database application that runs like a service but is not – on the Mac OS X operating system. Due to current limitations within Mac OS X, 4D Server cannot be “Registered as a Service” as it can be under Windows operating systems.

This session will explain the advantages and limitations of establishing 4D Server as a pseudo-service on Mac OS X and the steps necessary to accomplish the task. The technique uses a “paired” AppleScript application to do a controlled launch and shutdown of the server whenever the machine is launched or is shutting down.
Mastering 4D Timeouts and Connectivity Options
Due to the varying complexities and differences in topology and configuration of networks at large, the concept of mastering 4D timeouts and connectivity options has never been more important.

This session will cover the different timeout and connectivity options that are available in 4D v12 and 4D v11 SQL and explore the different scenarios of when to use them, what not to use, and how to find the optimal settings for your applications.



 
SVG in 4D: Advanced Techniques for 4D Developers
This session will focus on advanced techniques that 4D developers who are comfortable with SVG can use to vastly improve their applications' visual appeal and user interface.

You will learn how to better manage interactive SVG images and 4D v12's new SVG paradigm will be explored. Other cool techniques which can be applied to existing images (SVG or non-SVG) such as reflection, fading, and resizing will be shown as well.
SQL in 4D v12
4D v11 SQL introduced a popular database querying language, SQL, into the platform. Now that 4D v12 has arrived, the foundation of SQL functionality in 4D has expanded to be even more robust, giving you a wider arc of what you can accomplish with the language.

A look at SQL for those that are new to the language as well as examples of how the newer features, like the more powerful joins and use of external databases, will be discussed in this session.
Adapting for Deprecation
Technologies, paradigms, and system APIs change, evolve, and some become deprecated from time to time. Consequently, some parts of 4D also become deprecated.

This session will look at the parts of 4D that are already deprecated, and also the parts that will be deprecated in the future, beyond 4D v12. The reasons for their deprecation and appropriate replacement solutions will also be discussed. This will give developers plenty of time to adapt existing code and change their habits for new developments.
Be more ASSERTive in your 4D v12 code
Assertions are checks for things that should NEVER happen in your code. In past versions of 4D, developers have had to write their own assertion-type functions. This is no longer the case with 4D v12.

This session will focus on the new ASSERT command, when you should use assertions, and differences compared to general error handling. Use of these techniques will improve your code.
Compacting Address Tables
For a large application that runs 24-7, the data file may be in constant update mode. Maintaining and keeping the data file clean is very important which can guarantee that your database performs at optimal speed.

This session will discuss special circumstances that cause performance to drop over time and a technique to detect and deal with this situation automatically during the runtime.
Be Unique with UUID
The ability to create and identify the uniqueness of a record is very important in the database. This type of uniqueness is often done in the form of a unique ID. Many database designs either have their own implementation or use the sequence number feature to generate unique IDs. Starting in 4D v12, the unique ID can be generated by UUID.
This session discusses many aspects of the UUID and how it is a better choice than other unique identifier implementations. It also covers the approach on how to apply the UUID feature into your current system.
4D Server Architecture: Paradigms
4D Server's architecture has been totally rebuilt in 4D v11 SQL. New algorithms and paradigms have been implemented to make 4D Server powerful and scalable, taking benefit of multi core machines. In this session, we will explain those paradigms and highlight what it means for your applications: What happens with memory depending on the count of processes? What happens to the "database context" on the server when using triggers or the "Execute on server" method property? How do language commands impact the server's memory? What happens with the network? How does 4D handle the cache?
 
The aim of this session is to help you being prepared to upgrade your applications, especially if - because of the power of the server - you are thinking about seriously increasing the count of connected users, because handling 40 users is not the same work as handling 400.
Don't be a White Rabbit Anymore
"Oh dear I shall bee too late!"

If this is your favorite refrain regarding software delivery, it's time to change habits so you don't be a white rabbit! In this session, we first discuss the required evolution of developer skills to software craftsmanship (Pete McBreen).

Then we introduce the Agile concept of technical debt (Ward Cunningham) and its consequences on your ability to guarantee the evolution of existing applications. In the second part, we will focus on new 4D v12 features which will help you change your coding habits.

And thus by improving the quality of your coding process, you will be able to reduce your technical debt. You won't be late anymore and you'll have a great application.
Building your First Shared Component from Scratch
Among the new features of 4D v12, subforms and shared forms are not the easiest ones to master. Especially if you attempt to replicate iCal in a 4D component.

In this 4D v12 centric session we will smoothly introduce subforms, dynamic variables, new events, complex communication between subforms and parent forms and how to transform a working subform into a shared form component. You will learn more than enough to start designing subforms of your own.
Analyzing Problems, Crashes and Strange Behavior
Request Log, Journal File, Debug Log and Web Log - this session explains which debugging tools 4D and the operating system provides for helping to track down problems such as memory issues, crashes and strange behavior of a system, even in compiled mode. Additionally, it covers a report component for logging and analyzing memory and cache usage.

You will learn how to understand and analyze these logs, based on real life examples.

Lightning Sessions

If you prefer your tech learning in bite-sized 15 minute chunks, be sure to stop by the lightning session room at the 4D Summit.  This year boasts 60 lightning sessions for you to choose from.  Session topics include:

  • Structure: Global find and replace, What is the .Match file, Export SQL DB, Subforms, What is UUID, Replacing sequence number with UUID
  • Method Editor/Coding: Smart auto-complete, caller/callee, navigation, Copying structures, Nested On Err Call
  • UI: Rich Text, Style Control, Group and collapsible rows, Progress bar, SearchPicker, DatePicker, TimePicker, Play QuickTime media in 4D, Touch up on menus, Object library vs component form, Dynamic forms
  • PHP: Executing a PHP script in 4D, Troubleshooting techniques for PHP in 4D v12, LDAP, Image manipulation with PHP
  • Picture: Metadata, Capturing signatures in picture variables, Mixing text and images in a list box cell, Finding variable text height and width, Tips and tricks
  • Indexes: Keyword indexes, composite indexes, CRUD
  • SQL: Joins, Null values, SQL pass through, Schema, External DB, Accessing DB from client or server, 4D and SQL datatype matching
  • Web: Minifying JavaScript, Optimizing CSS, Firefox web dev tools, Dealing with cached files, Safari 5 web dev tools
     

Q&A Session

Wrap-up Q&A with the 4D Team
4D Summit 2010 will wrap-up with the eagerly anticipated Q&A session with the executive tech and business team:

  • Laurent Ribardière - Founder, Chairman & CTO, President of 4D SAS
  • Luc Hollande - CEO of the 4D group
  • Brendan Coveney - Managing Director of North America, President & CEO of 4D Inc
  • Laurent Esnault - Vice President of Research and Development

 

This will be your opportunity to ask your burning questions about 4D, and get answers straight from the source.

 

More sessions will be listed soon!