Find out about the topics being presented at 4D Summit Europe 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.

4D Summit Europe 2012 is your chance to sharpen your skills, learn new technologies, or simply discover new ideas and techniques to use as you see fit in your own development projects.

This year, in addition to sessions focused on 4D, one day will include sessions about Wakanda, allowing you to discover and learn in-dept the development opportunities afforded by 4D's new 100% JavaScript platform for Web and mobile applications.

4D Summit Europe 2012 attendees will discover a multitude of concrete examples and uses, as well as hundreds of new features throughout the 4D product line.

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.

Tags: Best Practices, Deployment
Level: Intermediate

Creating Custom WidgetsKeisuke Miyako, 4D Japan

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.

Tags: Deployment
Level: Beginner

Optimization: The Next Level

Thibaud Arguillère, 4D SAS

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.

Tags: Best Practices
Level: Intermediate

4D v13 Upgrade Training Highlights Part I

Achim Peschke, 4D Germany

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

Tags: Best Practices, Development, Upgrade
Level: Intermediate

4D v13 Upgrade Training Highlights - Part II

Achim Peschke, 4D Germany

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

Tags: Best Practices, Development, Upgrade
Level: Intermediate

Going from 4D to Web? Nothing to fear!

Roland Lannuzel, 4D SAS

Client-Server applications developed in 4D aren't generally planned from the start to be deployed on the Web. However, clients are asking to move in this direction more and more often. Seen from the outside (which is to say from the client's point of view) it doesn't seem very complicated: "We just need to use a browser, right?"

On the other hand, from your point of view as a 4D developer who doesn't necessarily employ more than a theoretical knowledge of the Web, the idea of having to use HTML, CSS (C-S-what?) or worse, JavaScript (!?) can be like navigating a tangled jungle, figuring out how these technologies seem to be (and are) intimately linked.

That's what I want to explain to you in this session, using a concretee (and personal) example to give you the clearest ideas and that you're ready for your turn to start the adventure!

Bonus: Time allowing, I'll show you the possible use of Web Area, which uses all of these technologies, right inside of 4D!

Tags: Development, Web
Level: Beginner

Synchronization from the MasterSergiy Temnikov, 4D SAS

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.

Tags: Best practices
Level: Intermediate

Taking Revision Control to the Next LevelMilan Adamov, 4D

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!

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.

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!

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.

Tags: Deployment
Level: Advanced

Google Apps IntegrationKeisuke Miyako, 4D Japan

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.

Tags: Modernization
Level: Intermediate

UsingSets and SelectionsOlivier Deschanels, 4D SAS

Set or selection? Which do you choose?

Should it all be local, process, or interprocess?

What happens on the network? In memory?

What's the current saved set?

These are the many questions that we'll answer so that you can choose how to best handle your specific situations. We'll also use this session to use analysis tools that are widely available but rarely used.

Tags: Development
Level: Intermediate

Obfuscating your Web FormsOlivier Deschanels, 4D SAS

Obfuscation allows you to hide information that would normally allow a potential hacker to simply read your HTML code to make unauthorized requests on your database During this session we'll tak about Web form security and techniques to cover your trails from undesirables and avoid exposing 4D methodes via the Web server using the 4DACTION tag... among others!

The session starts off with a classic web page that will be modified step by stop in order to provide different levels of protection as explanations.

Productivity and quality in 4D development can be improved thanks to, among other methodes, code recyclin. Components provide a highly adapted and elegant solution to respond to this need. In this session, you'll see how components are implementd. We will approach component structure, as well as advantages and inconveniences compared with other currently viable options.

Limits, obstacles, challenges and their solutions will also be covered.

Tags: Development
Level: Intermediate

For a Few Dollars MoreVincent de Lachaux, 4D SAS

Whether you have a luxury yacht or not, every 4D developer puts in hard work every day to gain their dollars and diamonds. But did you know that $$ and Cmd-$ are a veritable gold mine?

In fact, using the actions called by components and macros, you can increase your productivity and customize your development environment in spectacular ways. By pushing toward the presentation of components in the 4D Pop family (distributed with 4D), we can offer you the chance to explore multiple automation techniques: Resource managment, code formatting, online help, etc.
4D Pop was created to be discrete but always ready when you need it. An open source component, it's also a good way to discover new possibilities with 4D.

WARNING: There is a risk that once you get dollar signs in your eyes, you may be susceptible to running home from this session before it's over to try out your new ideas!

Tags: Macros, Components, Automation
Level: All

One Picture's Worth a Thousand WordsBérengère Lagrange, Power

In the majority of our 4D applications, we have to manage a certain number of images. 4D v13 allows us to take advantage of a maximum amount of information in these images.

This session covers:

The presentation of metadata;

How to use a photo's GPS coordinates, notably with the help of the Google Maps API;

Handling and converting images and its effect on metadata;

How to perform a query on images stored in our database.

To conclude, we will review various methods of storing these images in 4D.

Tags: Development, Interface
Level: Intermediate

PayPal Payment IntegrationMickaël Rottiers, 4D SAS

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.

Tags: Development, Modernization
Level: Intermediate

Web Area MashupsAdd Komoncharoensiri, 4D Inc

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.

You and your team have just been hired by TopTop, the major toy manufacturer, in order to build the company’s next big hit, codenamed Birdie-Birdie. But beware: you have fierce competition. Other firms have been hired and only the one who delivers the greatest business value gets the check! Using only LEGO pieces, prepare to build, integrate and test, while you struggle to appease an increasingly demanding CEO. Revel in self-organization, optimizing your process while building a complex product.

Put concepts into practice: Agile is about delivering the highest business value possible faster by focusing on people and Continuous Improvement. Serious games are about learning by experimenting with fun. Emotion drives learning. In this session, while playing an agile game, you'll experiment a Scrum process: Scrum is the most well-known Agile method. Only one pre-requisite: to be open-minded.

Come and see how agile can improve the efficiency of your development team.

Warning: Seats are limited for this workshop. Please secure your participation by posting a message to info-fr4d [dot] com

Tags: Agile Development
Level: Beginner

The new programming interface for 4D plug-insPhilippe Ganter, e-node

Plug-ins provide powerful display, print and custom processing functions, as a complement to the standard possibilities of 4D.

Versions 12 and 13, as well as the upcoming version 14, have permitted a complete reworking of plug-in architecture along with their API (programming interface).

This session covers the different processes and tools to use based on the type of problem encountered. This approach will help you save time identifying your problems in production and to correct them as quickly as possible. Demonstrations given during the session will help you better use the troubleshooting tools in the future. All of these processes will subsequently be available via the TAOW (Technical Assistance on the Web) Web app.

Components, ConcretelyPaul Kühn, Blue Company

During this session dedicated to organizing your work in developing components, we will cover the following points:

Heubach Media would like you to discover their hmCal and hmReports plug-ins. All the advantages and new features of these two products will be reviewed.

Keywords: Plug-ins, reporting, calendar
Level: Beginner

4D v13 – Wakanda Communication

Thibaud Arguillere, 4D SAS

As soon as a 4D developer sees Wakanda or attends a Wakanda presentation, one of the first questions asked is "How can I exchange data between 4D and Wakanda?"

This session explores the different ways that exist to communicate as of today (November 2012) between the current version of 4D (4D v13) and Wakanda (production version 3.0). After having explored the main principles (REST, JSON, etc.) we will study this communication, which – good news! – will have to be coded. 4D code on the 4D side, and JavaScript code on the Wakanda side. It's good news because we are developpers! We want, we need, and we love to code, right?

Tags: Web, Development
Level: Intermediate

Wakanda Workshops

Create your first business application

David Robbins, 4D

With Wakanda, you can quickly build a reliable and secure business application on the Web. In this workshop, you will be shown all the pieces you need to write your first business application with Wakanda.

After creating data classes in Wakanda’s Datastore Model Designer, you will learn how to set up permission groups that you then apply to your data classes and server-side methods, which contain all of your application’s business logic.

We will then show you how to build the Web interface with a custom login scheme thus allowing users to securely access data on the server.

jQuery: Wakanda's Swiss Army knife

David Robbins, 4D

Used by the majority of the most visited websites on the Internet, jQuery is the most popular JavaScript library in use today. It’s so powerful that Wakanda uses it internally. jQuery, which is loaded with the WAF (Wakanda Application Framework), is available for you to use in all your client-side coding.

In this session, you’ll learn the fundamentals of the jQuery library and the best way to implement it in your web applications. With jQuery, you can easily navigate the DOM, add event handling, and even create animation for your interface. Learn how to get the most out of jQuery by using it in your Wakanda applications.

Building a multi-platform application

Greg McCarvell, CommissionFocus

Mobile is becoming a required deployment target now that users demand ubiquitous access to their data. However, it does not generally fulfill the same requirements as a desktop browser.
In this session, you will learn how to build an application that utilizes the best aspects of the desktop and fulfills the mobile requirement.

Demo of a live application

Greg McCarvell, CommissionFocus

Take a look at a live Wakanda application deployed on the Internet. Understand the resources, skills, and time involved in launching your Wakanda application. Hear all about client feedback regarding a Web application developed using Wakanda’s responsive UI and data binding. Find out more about the backup/server procedures for maintaining a high rate of uptime.

Beyond the basics: Some of Wakanda’s lesser-known features

Greg McCarvell, CommissionFocus & David Robbins, 4D

Having a well-rounded toolchest is the best way to tackle some of the more advanced problems that you come up against when developing a web application. Learn all about Wakanda’s lesser-known features, like Storage Objects, Mutex, HttpRequestHandlers, and Workers.

All about widgets

Melinda Gallo, 4D

Learn how to get the most out of Wakanda’s widgets by using the Widgets API and jQuery to customize how widgets function in your web application. Discover how you can write your own code to add functions to Wakanda’s built-in widgets.

We will also show you how to create your own widgets using JavaScript as well as how to integrate them and even third-party widgets into Wakanda.

Enhancing your Web application's interface

Melinda Gallo & Gilles Danjou, 4D

Find out how to quickly and easily adapt a graphical mockup for your web application to Wakanda interface pages.

Use the standard styles provided for interface pages and widgets, include Web components, implement widget skins, and create your own custom CSS classes.

Discover just how easy it is to create a Web application that has the look and feel that you want.

JavaScript 101 & 201: Inside Wakanda

Juergen Fesslmeier & David Robbins, 4D

JavaScript is at the heart of every modern website from the personal blog to the mighty Google App. Though it is simple for beginners to pick up and play with, JavaScript is not a toy — it’s a flexible and complex language, capable of much more than the showy tricks most programmers use it for.

In this session, we show how you get started learning JavaScript inside Wakanda Studio. You will learn basic programming techniques and many best practices. Harness the power of functional and object-oriented programming: Syntax, objects, functions, inheritance, arrays, regular expressions, methods, style, and many more features.

GIT heaven with Wakanda

Juergen Fesslmeier, 4D

Git is the new gold standard when it comes to versioning in the Internet age. Git is an open source and distributed version control system, designed to handle everything from small to large projects with speed and efficiency. In this session, we will introduce you to Git and explain how to use it with Wakanda so that you can create and clone repositories, work with branches in a distributed team environment, and merge source code with your team members.

Security for your Wakanda application

Gilles Danjou, 4D

Learn all about Wakanda’s security tools and how to use them.

You can integrate a combination of the techniques provided to best secure your Web application.

Data models - data modeling examples

Thibaud Arguillère, 4D

In this session, we will illustrate Wakanda’s data modeling abilities through several examples.

Learn the many techniques possible to filter data using extended classes and permissions strategies. We will also provide you with the information necessary to better evaluate your own needs for your Web applications.

Wakanda and the top 5 Web application security risks

Alexandre Morgaut, 4D

Discover how Wakanda solves the top five application security risks.

Debugging your Wakanda application

Alexandre Morgaut, 4D

Learn all about how you can debug your Web applications in Wakanda either locally, remotely, or even via mobile.

Datasources from the Master

Laurent Ribardière, 4D

Datasource are among the most powerful objects in the Wakanda platform. once they're created, they allow you to manipulate and expose data in widgets in an intuitive manner. They can also be manipulated in your client-side code: Filter data to display, make intermediary calculations... Throughout this session, Laurent Ribardière, the creator of Wakanda, will explain and demonstrate all the best practices to best take advantage of dtasources in your applications.

Distant data: Wakanda & Wakanda, Wakanda & 4D

Laurent Ribardière, 4D

From the start, Wakanda has been an open platform. This openness is widening with each version. Laurent Ribardière, creator of the platform, will show you the implementations happening in Wakanda that allow simple and simultaneous access to different databases, Wakanda or 4D. The main principles, architecture and best practices of this connection will be explained: Manipulating remote data with local JavaScript objects, creating interfaces that mix data from various external sources via simple drag-and-drop, and more. This session is a must for all Wakanda developers who'd like to make multiple applications communicate with each other, as well as for 4D developers who'd like to quickly webify their solutions without modifying their existing deployment.

Wakanda &MySQL

MIlan Adamov, Developer

With minimal effort, your MySQL data will work with Wakanda. This session will show you the steps required to use Wakanda's MySQL module to import schemas and data from MYSQL into Wakanda's data store, or even into JavaScript arrays and variables.

Agile development with Wakanda and JavaScript

Christophe Keromen, CKTI

Due to efficient DataClass Modeling and full dynamicity brought by Server-Side JavaScript, Wakanda appears as a platform of choice for Web Agile Development. This session will illustrate an example of agile process with Wakanda.

You can find all of the Wakanda sessions and further information at: Wakanday

Saturday 17 November

NEW!If you are new to Web development, or want to improve your Web 2.0 skills (HTML5, CSS3, JavaScript) don't miss the hands-on workshops by Supinfo during JS.Everywhere(). Four sessions held in French and English, and totally free!

All sessions above are subject to modification. A full agenda with times and locations will be provided at the event.