Die Vorträge

 

TRACK VISUAL FOXPRO

D-FOX   Der Fuchs und Sie
Christof Wollenhaupt

Visual FoxPro ist vieles: Schnell, produktiv, stabil, überraschend... aber eines ist ganz sicher nicht: Logisch und konsistent. Drei Jahrzehnte mit drei völlig unterschiedlichen Programmierkonzepten, vier Betriebssysteme und zwei Compiler hinterließen Spuren in unserem bevorzugten Tool. FoxPro als high-level Entwicklungswerkzeug erfordert es nicht, intime Kenntnisse über die interne Funktionsweise zu haben, viel weniger als in .NET oder JavaScript.
Aber wenn Sie auf Probleme treffen, kann es hilfreich sein, darüber Bescheid zu wissen, was hinter der Bühne geschieht. Dieses Session behandelt die interne Speicherverwaltung, den Aufbau von Variablen, Verwaltung von Klassen, Objekten und Containern (and warum das alles das gleiche ist, aber nur fast), die System Datasession, die Auswirkungen von Cache, Puffern und Transaktionen, Tabellenzugriff, Rushmore Optimierung, und so weiter.

 

E-TEST   FoxUnit in Depth
Eric Selje

You've got years and years of legacy code to maintain. How can you be sure you're making changes without breaking everything and putting your company and your reputation at risk?
In this session we'll review what Unit Testing is, why you should be doing it, and how to use the VFPX tool FoxUnit to perform unit tests on your code. If it's been a while since you've looked at FoxUnit, you may be pleasantly surprised at how many new features have been added in the last few years, thanks to multiple contributors in the Fox family. Refactor that code with confidence with FoxUnit!
You will learn:

 

E-CONT   Continuous Integration
Eric Selje

This session will focus on improving the Software Development Lifecycle for Visual FoxPro developers. We'll begin by reviewing the typical development cycle, and show ways to improve and automate our current process using a Continuous Integration server and open source tools from VFPX such as Automated Build, FoxBin2Prg, FoxUnit, and SubFox. By the end of this session, you should have a better idea of what Continuous Integration is and how you can implement it in your workflow regardless of whether you're an independent developer or work on a large team.
You will learn:

Prerequisites: Knowledge of how to build applications in Visual FoxPro.

 

D-REPA   Reparatur von VFP Datenbanken
Uwe Habermann

VFP Datenbanken sind stabil und zuverlässig. Trotzdem kommt es in seltenen Fällen doch einmal vor, dass Datenbanken beschädigt werden. In diesem Vortrag werden mögliche Ursachen erläutert und Lösungen zur Reparatur gezeigt. Dabei kann es um beschädigte Tabelleninhalte. Tabellenköpfe, Indexdateien, Memodateien oder auch Datenbank-Container gehen. Es wird ein Weg zur automatisierten Reparatur beim Kunden vorgestellt. Es wird auch erörtert wie defekte Datenbanken, wie sie zum Beispiel durch SMB 2 und neuer entstehen können, vermieden werden können.

 

E-VFPX   VFPX.Edition("2016")
Rick Schummer

VFPX, one of many 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 updates and additions to VFPX in 2016.
We are going to cover as many of these tools as time allows. We'll:

You will learn:

The session will vary between deeper dives and overviews depending on conference attendee needs and the work by the VFPX project managers as the changes are introduced. Note: this list is subject to changes based on the releases by VFPX project managers and what other presenters want to talk about at the conference.....

Prerequisites: None

 

L-INFO   Update zu allen wichtigen Entwicklerthemen (VFP64bit, TSPlus, Performance, Refox usw)
Rainer Becker-Hinrichs

In vielen Bereichen gibt es interessante Neuigkeiten – aber jeweils nicht genug für eine eigene Session. Deshalb werden in dieser Late Night Session alle Bereiche nacheinander abgehandelt. Zuerst kommen die Themen, die für ALLE Entwickler (egal ob Visual FoxPro, Xbase++ oder auch .NET Core) von Interesse sind. Erst im zweiten Teil der Session werden nach einer kurzen Getränkeservierpause die rein Visual FoxPro bezogenen Themen behandelt, so dass sich die Teilnahme in der ersten Hälfte auch für Nicht-VFP-Entwickler lohnen wird.
Zu jedem Thema gibt es eine kurze Zusammenfassung des bisherigen Standes. Jeweils weiterführende Informationen gibt es in der Begleitdatei zu dieser Session – dort finden Sie die Slides aus den Vorjahren, sofern Ihnen das jeweilige Thema noch nicht bekannt gewesen sein sollte. Danach kommt dann die Darstellung der jeweils neuesten Entwicklungen und in wie weit diese für Softwareentwickler von Interesse sind. Nach der Session können natürlich Fragen zu weiteren Details gestellt werden.
Unter anderem werden folgende Probleme behandelt:

 

L-GEOC   VFP: GeoCodierung von Adressen mit OSM (Open StreetMap) und MapFactor
Rolf Riethmüller

Der Vortrag zeigt einen Weg für die Geocodierung (Georeferenzierung) von Adressen und mit diversen Tools. Unter anderem wird ein Einblick in die Arbeit mit den Daten von OpenStreetMap gezeigt. OpenStreetMap ist ein Open-Data Projekt das grundsätzlich allen Personen kostenlos zur Verfügung steht - ähnlich wie Open Source. Nähere Informationen gibt es unter http://www.openstreetmap.org.
Gezeigt wird auch die Vorgehensweise für die Vor-/Aufbereitung von Adressen zur Geocodierung sowie einen kleinen Überblick zu diversen Tools die zur Validierung der Geocodierung verwendet werden können.

 

E-REPO   Visual FoxPro Reporting: XFRX vs. FoxyPreviewer
Rick Schummer

XFRX has been around as a third party report preview replacement since 2001 and is considered one of the top-tier commercial add-on tools for improving the user experience with reporting in a Visual FoxPro application (version 5.0 to 9.0). A lot of developers I know purchased XFRX to incorporate PDF generation in their applications. The Report Preview capability however is awesome. It extends the previewer with a text search and the ability to export to various output formats. Eqeus most recently added the ability to preview reports in a Web browser with their new Web-based extension.
FoxyPreviewer is an open source project on CodePlex that also replaces the Visual FoxPro report preview. It extends the previewer with a search capability by previewing miniature pages, a text search, a printer selection dropdown, the number of copies you want printed, the ability to export to various output formats, and emailing a report to someone. Overall it is an impressive replacement, but like XFRX, it is more than just a previewer.
This session could go down as the battle of the report previewers, but the truth is, there is so much more to both of these Visual FoxPro report add-ons. During the 75 minutes, you will learn from someone who likes both products and has used both tools in production applications. There are differences in approaches, outputs, Visual FoxPro versions supported, toolbar features, implementation, licensing, and deployment strategies. The general idea of this session is to give you a good perspective on both tools, to show you how they are similar and different so you can understand which one is good for your existing and future products.
You will learn:

Prerequisites: An understanding of Visual FoxPro's reporting is beneficial.

 

D-SECU   Das Security Kochbuch
Christof Wollenhaupt

In dieser Power-Point freien Session reden wir über praktische Implementierung in einem weiten Bereich der Sicherheit. Zahlreiche Codebeispiele behandeln ganz unterschiedliche Aspekte wie die Implementierung eines sicheren Anmeldedialogs, die Verwendung der CryptoAPI, das signieren und verschlüsseln von Daten, die Prüfung von Dateien auf Manipulationen, das Abfangen von Eingabefehlern in der Anwendung, die sichere Benutzung des Berichtsgenerators, der sicheren Übertragung von Daten und den Zugriff auf den SQL Server. Alle Beispiele stehen Ihnen zur Verfügung, um Ihre Anwendungen noch sicherer zu machen.

 

E-NOTE   OneNote to Rule Them All
Eric Selje

You may know OneNote is a pretty convenient place to keep information. But with its ability to store text, graphics, audio, video, hyperlinks, along with its sharing and replication features, OneNote can be used in ways you may not have thought of! For example, you could deliver a complete portfolio of reports to all of your managers in OneNote, which they can then collaboratively markup. Putting together a meeting and want to create a dynamic attendee guide? Forget about static PDFs; OneNote can do that for you! And the best part is that you can control it all from within Visual FoxPro using OneNote's REST API, so you can move your data from VFP to OneNote.
You will learn:

 

D-SQL   Vom Datenbank-Container zur SQL Server-Datenbank
Uwe Habermann

Mit dem Blick auf neue Technologien werden immer mehr VFP Anwendungen von der Verwendung einer VFP Datenbank auf eine SQL Server-Datenbank umgestellt. Welche Vorteile und ggf. Nachteile bringt die Umstellung mit sich? In dieser Session wird die Vorgehensweise zur Umstellung beschrieben und es werden Werkzeuge gezeigt, die den Umstieg erleichtern.

 

E-VERS   Lessons Learned in Version Control
Doug Hennig

Rick Borup's sessions at the German DevCon in 2014 really helped me get started using version control for my application development. Since then, I've made a ton of mistakes and learned a lot of lessons the hard way. This session discusses what has evolved into my team's best practices for version control. It's intended for those who are familiar with version control but are looking for ideas about how to improve their processes.
You will learn:

Prerequisites: Some experience working with version control (the examples use Mercurial)

 

D-VFX   Moderne Benutzeroberflächen und weitere Features am Beispiel von VFX
Uwe Habermann

Warum der Einsatz von Visual Extend immer lohnenswerter wird! Der Einsatz einer RAD Entwicklungsumgebung lohnt sich immer mehr. Lassen sich hierdurch doch einfach neue Technologien nutzen und auf ganz einfache und schnelle Weise neue Funktionen an den Kunden verkaufen. In dieser Session werden die vielen Neuheiten von VFX 17 vorgestellt. Dazu gehören insbesondere die zahlreichen Verbesserungen in der Benutzeroberfläche, wie zum Beispiel: Themed Titelzeile von Formularen, Excel-Tabs ohne Farbverlauf, neues Design für den Öffnen-Dialog, gerundete Textboxen, Import von XLSX-Dateien, neue Statusbar für Formulare sowie ein neues Layout für Schaltflächen.

 

L-INIT   Professioneller Start einer VFP-Anwendung, alles was man wissen muss!
Rainer Becker-Hinrichs

Viele Dutzend Schritte müssen ausgeführt werden, bevor überhaupt auch nur eine Login-Maske (oder ein Auto-Login) für den aktuellen Anwender in einer Desktop- oder einer Terminal Services/Web Hosting-Anwendung erscheint/erfolgt. Und auch nach dem Login ist eine Vielzahl von weiteren Schritten notwendig, um den Anwendungsstart ordnungsgemäß zu gestalten. Einige Themen wurden bereits im Rahmen von früheren Tipps+Tricks-Sessions behandelt, aber dieses Mal gibt es pro Tipp eine Slide mit Beispielcode in den Notizen. Darüberhinaus eine Lösung für die generische Verwaltung von Lookup-Listen zur Vereinfachung des Datenmodells sowie Refaktoring-Beispiele aus der Praxis, wie man bestehende Anwendungen von prozedural auf objektorientiert umgestalten kann.

 

L-VFXL   Spaß mit VFX zu später Stunde
Uwe Habermann

Viele interessante Features von VFX werden nur selten genutzt. In dieser Session wird ein Überblick gegeben, der Entwicklern und Endkunden die tägliche Arbeit erleichtert.

 

D-OOP1   Mit Abkürzungen zum Erfolg, Teil 1
Christof Wollenhaupt

D-OOP2   Mit Abkürzungen zum Erfolg, Teil 2
Christof Wollenhaupt

TDD, OCP, LSP, ISP, DIP, DRY, IoC, LOC, SRP, DbC, CDD, DDD: In unserer Branche gibt es so viele Abkürzungen, die uns sicherlich alle hilfreich sein würden... könnten wir uns nur daran erinnern, was sie bedeuten. In dieser Doppelsession erweitern wir eine echte Anwendung um einige neue Features. Echte Anwendung, das bedeutet eine auf herkömmliche Weise historisch gewachsene Anwendung mit all ihren Besonderheiten. Wir beginnen mit Test-Driven Development, was bedeutet, wir schreiben Unit Tests. Testgetriebene Entwicklung ist mehr als nur das Schreiben von Tests. Indem wir Codeänderungen auf das Notwendigste reduzieren, um einen Test zu bestehen, vermeiden wir unnötig komplexen Code. Während wir Testen entdecken wir automatisch einige andere objektorientierte Prinzipien und wenden diese in der VFP Entwicklung an, darunter: Single-Responsibility Principle, Open Closed Principle, LiskovSubstitution Principle, Inversion of Control, Don't Repeat Yourself Diese Konzepte stellen eine möglich Art da, wie ein stabiles Design und eine saubere Implementierung erreicht werden kann. Manchmal muss man jedoch auch gegen diese Prinzipien verstossen. Wir behandeln einige Bereiche, bei denen entweder VFP diese Prinzipien nicht sauber unterstützt, oder aber Grenzen in der Wirklichkeit uns daran hindern, sie einzusetzen. Wir werden mit Hinblick auf diese Prinzipien auch einige in VFP bekannte und beliebige Techniken analysieren, wie etwa das globale Applikationsobjekt, Meta-Daten basierte Anwendungen und andere VFP spezifische Lösungen. Nach 15 Jahren kann man sicherlich einige durch bessere Lösungen ersetzen.

 

D-TIP1   API in Aktion Rs232 - des Programmierers liebste Schnittstelle
Ulf Neugebauer

 

D-TIP2   Multilingual, Grafik in Echtzeit – oder wie sich mit VFP ein Servicetool konstruieren lässt
Ulf Neugebauer

 

E-CONS   Challenges of the Independent Consultant
Rick Schummer

Every session I've seen at conferences about making the move from corporate developer working for "the man/woman" to being an independent consultant and being "the man/woman" has been delivered through rose-colored glasses. Everything is unicorns and green grass on the other side of the fence. You'll be rich, work fewer hours, and instantly build a company someone will want to buy from you for an over-inflated amount of cash. Listening to these sessions, who would not want to make the move? I've listened to the sessions and learned a few things from them. I've seen developers make the jump. I've seen some of them succeed and others fail.
It turns out I had to do this twice to get it right myself, and even today I know for sure I am not getting it all right. I still have things to learn from others and from experience. The lessons from the school of black and blue are hard-fought wins. The generally accepted idea that it's best to learn from your mistakes is an educational path I try to avoid, but I have proven that you can make it work, even if you are not perfect.
This session is about lessons learned, things to consider if you are an independent consultant or running a consulting firm, and things to consider if you are thinking about becoming an independent consultant. You may even learn that it is not right for you.
Because the session is limited to 75 minutes, it won't be possible to cover everything I've learned about this topic; the exact content of the session will, in part, be driven by the audience. Core topics include balancing billable vs. non-billable time, how to find more work, why cash flow is king, and marketing yourself and the business. It is also important to understand why setting up the business's legal infrastructure is not something you want to do casually. The financials are everything, right? What, no? We'll discuss partnership vs. making a go of it yourself. I'll also share one of the keys to success for me: strategic outsourcing of administrivia.
We'll also look at networking, partnering with others, and making sure you get paid for the risks you take and the hard work you put into the business. That of course leads to discussions about the risks involved and how much work it takes to run the business. Finally, we'll consider what you do when you become so successful that you need others to help you accomplish even more goodness for your growing customer base. So many lessons to share, and so many lessons still to learn.
I'll ask others attending the session to share their ideas too. An interactive session on this topic is sure to benefit everyone in attendance.
You will learn:

Prerequisites: None

 

 

TRACK .NET

E-C#1   Introduction to C# for VFP Developers, part 1
Doug Hennig

E-C#2   Introduction to C# for VFP Developers, part 2
Doug Hennig

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 two-part session introduces the C# language, comparing it to constructs and syntax in VFP to shorten the learning curve.
You will learn:

Prerequisites: General knowledge of programming

 

E-SDEF   Learn to use SQL: Introduction, Data Definition and Basic Data Manipulation
Tamar E. Granor

SQL (Structured Query Language) offers a powerful, set-oriented approach to working with data that is quite different from the traditional record-oriented Xbase techniques. In this session, we’ll look at what SQL is, see how to create and modify data structures using SQL’s Data Definition Language, and look at how you can use SQL for basic CRUD operations. We'll look at differences between the dialects supported by Visual FoxPro, SQL Server and PostgreSQL.

 

E-SMAN   Learn to use SQL: Querying data
Tamar E. Granor

SQL (Structured Query Language) offers a powerful, set-oriented approach to working with data that is quite different from the traditional record-oriented Xbase techniques. In this session, we’ll dig into the SQL Select command that allows you to retrieve data without setting relations or managing record pointers. We'll look at differences between the dialects supported by Visual FoxPro, SQL Server and PostgreSQL.

 

E-SADV   Learn to use SQL: Advanced queries and data manipulation
Tamar E. Granor

SQL (Structured Query Language) offers a powerful, set-oriented approach to working with data that is quite different from the traditional record-oriented Xbase techniques. In this session, we’ll look at more complicated approaches to manipulating data with SQL, including combining query results, and working with subqueries and common table expressions. We'll look at differences between the dialects supported by Visual FoxPro, SQL Server and PostgreSQL.

 

Track ASP.NET Core Anwendungen entwickeln mit Visual Studio

Ziel des Tracks ist eine Übersicht über die Möglichkeiten ASP.NET Core-(Datenbank-) Anwendungen mit Visual-Studio zu entwickeln. Vorrangig werden die Bordmittel von Visual-Studio verwendet aber es werden auch Tipps und Hinweise zu Tools und Bibliotheken gegeben, um den Entwickler schnell und produktiv zu machen.
Im Laufe der Sessions werden wir eine kleine Datenbankanwendung realisieren und die entscheidenden Haken und Ösen betrachten, die für die Entwicklung wichtig sind. Dabei werden wir uns die technischen Möglichkeiten und die Architektur der Lösung genau ansehen. Die Sessions bauen dabei aufeinander auf.
Der komplette Quellcode der gezeigten Beispielanwendungen wird den Teilnehmern nach der Konferenz zur Verfügung gestellt. Dazu gibt es zahlreiche Hinweise auf weiterführendes Material.
Am Ende des Tracks wird auf optionale Hilfsmittel und Bibliotheken eingegangen, die das Entwicklerleben erleichtern können.

D-COR1    .NET Core von Anfang an – Unsere erste Datenbankanwendung, Teil 1
Michael Niethammer

D-COR2    .NET Core von Anfang an – Unsere erste Datenbankanwendung, Teil 2
Michael Niethammer

D-COR3    .NET Core von Anfang an – Unsere erste Datenbankanwendung, Teil 3
Michael Niethammer

Der Trackinhalt im Überblick
Session 1-3: NET Core von Anfang an – Unsere erste Datenbankanwendung

  1. Bestandteile .NET Core - Architekturüberblick

  2. Unterstützte OS und Geräte, Einsatzmöglichkeiten, Abgrenzung zu nativen Anwendungen, Xamarin/Phonegapp alias Cordova o.ä.

Die erste .NET Core Anwendung

  1. .NET Core Projekte, Templates, Komponenten, Struktur, Architektur

  2. Controller

  3. Views

  4. Models

  5. Konfiguration

  1. Dependency Injection

Client-Programmierung mit .NET Core

  1. Controller, Models und Views im Einsatz

 

D-COR4    Datenzugriffe mit Entity-Framework .NET-Core (!), Teil 4
Michael Niethammer

Session 4: Datenzugriffe mit Entity-Framework .Net-Core (!)

 

D-COR5    Was sonst noch wichtig ist, Teil 5
Michael Niethammer

Session 5: Was sonst noch wichtig ist

  1. Lokalisierung in ASP.Net Core

  2. Security in .Net Core Anwendungen

  1. Logging und Debugging

  2. Verteilung und Installation auf dem Server

  3. Toolset – Addons, externe Tools, …

  4. Javascript und Ajax – da kommt man nicht so ganz drumrum

  5. Einblick in ein „echtes“ Projekt

 

D-WAPI   Mit Excel Daten von und zu einer Web API transportieren
Norbert Abb

Daten werden von Endanwendern gerne in Excel bearbeitet und aufbereitet. Um Daten wieder an eine Web Applikation zu übermitteln benötigt man aber meist eine Prüfung über die Integrität dieser Daten. Oft sind diese Regeln bereits in einer Web Applikation vorhanden. Warum also nicht die Daten über eine Web API an den Web Server übermitteln, und das direkt aus Excel? Es wird gezeigt wie man Daten aus einer Web Applikation nach Excel importieren kann und diese verändert (oder ergänzt) anschließend aus Excel über ein Web Interface wieder in eine Web Applikation transportiert. Als Datenformat für die Übertragung wird JSon verwendet.

 

D-SEC1    .NET Security im Detail, Teil 1
Kirsten Hinrichs

D-SEC2    .NET Security im Detail, Teil 2
Kirsten Hinrichs

Security als allumfassende Überschrift für das Wissen, das wir brauchen, um unseren Kunden endlich mit gutem Gewissen sagen zu können: "Ja - die Anwendung ist sicher !".
Insbesondere bei Web-Anwendungen, die den Anwendern ermöglichen, auf beliebigen Endgeräten einfach über den Browser an die Firmendatenbank zu gelangen. Begriffe wie HTTPS, also SSL oder eigentlich TSL werden näher gebracht, wie erstelle ich Zertifikate, und was tun diese?
Wie weiß ich, ob der Request, der an meine Anwendung gesendet wurde, auch wirklich von dem Anwender kommt. Wie weiß der Anwender, dass er wirklich auf meiner Anwendungsseite ist und nicht ge"phish"t wurde?
Was ist eigentlich der Unterschied zwischen Authentifizierung und Authentisierung und Authentifikation :-) und noch wichtiger, wie führe ich das durch, was meinen Anwender identifiziert. Wie bestätige ich meine "guten" Absichten.
Und schließlich, wenn ich sicher bin, wer mein Anwender ist, wie beschränke ich seinen Zugriff auf die Programmteile oder Daten, die er auch benutzen bzw. sehen darf?

 

E-BOOT   Creating Beautiful Web Sites Easily using Bootstrap
Doug Hennig

Laying out a web page using HTML and CSS can be challenging. Do you use the older table mechanism or CSS floats to place objects side-by-side? How do you deal with differences in browsers? And what about handling different devices: phones, tablets, laptops, and desktops?
Bootstrap is a free, open source framework for developing responsive, mobile-first web sites. It solves many problems web developers typically face and makes it easy to create beautiful web sites in record time, even for inexperienced developers.
This session shows how to get started with Bootstrap, examines using its grid system to easily layout your page elements, and discusses how Bootstrap components add attractive and functional elements to your web site. We'll do a "makeover" of a real web site to show how easy is it to make it more attractive, functional, and mobile-friendly.
Prerequisites: Basic knowledge of HTML and CSS
You will learn:

 

E-OVER   Going OVER and Above with SQL
Tamar E. Granor

The SQL 2003 standard introduced the OVER keyword that lets you apply a function to a set of records. Introduced in SQL Server 2005, this capability was extended in SQL Server 2012. The functions allow you to rank records, aggregate them in a variety of ways, put data from multiple records into a single result record, and compute and use percentiles. The set of problems they solve range from removing exact duplicates to computing running totals and moving averages to comparing data from different periods to removing outliers.
In this session, we'll look at the OVER operator and the many functions you can use with it. We'll look at a variety of problems that can be solved using OVER.

 

D-DEPI   Dependency Injection
Kirsten Hinrichs

Seit langem in aller Munde ist der Begriff Dependency Injection. Diese Entwurfs-Muster zieht sich durch alle Sprachen und Technologien. Viele Frameworks sind hierfür eingesetzt worden (Spring, Symfony, Autofac oder Ninject).
Mit ASP.NET Core 1.0 hat sich Microsoft des Themas angenommen und die Handhabung deutlich vereinfacht. In diesem Vortrag lernen wir die Pattern Dependency Injection und Inversion of Control näher kennen.
Nach der theoretischen Einführung sehen wir, wie in ASP.NET Core diese Pattern umgesetzt werden. Ein bereits eingebauter DI-Container (ServiceProvider) lässt sich zentral einfach verwalten und beliefert unsere Komponenten per Constructor Injection mit den benötigten Dienst-Komponenten.
Die Wartbarkeit und das Testen unserer Anwendungen wird dadurch deutlich vereinfacht und beim Programmieren hilft die Dependency Injection, uns auf den Kern der Module zu konzentrieren, da die Logistik einfach per Injektion erledigt wird.

 

 

TRACK XBASE++

X-COMP   Compiled Xbase++ Pages
Roger Donnay

Compiled Xbase++ Pages (CXP) is a build and execution infrastructure that allows programmers to create powerful dynamic web sites. CXP is a server-based language similar to ASP and PHP except that it supports all the features of the Xbase++ language and therefore makes it possible to adapt existing Xbase++ applications to the web.
Attendees will receive source code for a CXP web server, written in Xbase++, that does not require IIS or Apache. There will be a full discussion of the advantages of using this technique including how to use your custom CXP server to send messages to a remote Trace client program for monitoring your application activities. Discussion will include many tips, techniques, and sample programs that make getting started with CXP much easier. Attendees will also receive source code for a Trace Client program that remotely communicates with the CXP server.
You will learn:

Prerequisites: Some experience with HTML and CSS

 

X-VFPM   Modernisierung von Visual FoxPro Anwendungen mit dem "Xbase++ Modernizer"
Steffen F. Pirsig

Dieser Vortrag richtet sich an Visual FoxPro Entwickler, die Ihre bestehenden Lösungen in eine neue Zukunft führen wollen, ohne ihre Anwendungen zeitaufwändig und kostenintensiv neu zu schreiben.
Zunächst möchten wir mit Ihnen ein Grundverständnis entwickeln, was der Modernisierungsprozess ist: wie migriere ich eine Lösung von Visual FoxPro nach Xbase++ mit Hilfe des Transpilers? Diesen Prozess zeigen wir Ihnen anhand einer Visual FoxPro Beispielanwendung. So sehen Sie wie der Original VFP Quelltext zu Xbase++ Quelltext transpiliert wird. Sie werden auf diesem Weg nicht nur die Unterschiede, sondern auch die Gemeinsamkeiten der Sprache sehen. Und glücklicherweise dominieren die Gemeinsamkeiten.
Quelltext ist oft sehr komplex und manchmal wenden Entwickler beim Schreiben von Code besondere Tricks an oder verwenden spezielle Sprachmerkmale. Folglich gibt es Situationen, in denen der automatisierte Transpilations-Prozess fehlschlägt . Wir werden uns gemeinsam problematische Visual FoxPro Quelltexte anschauen und aufzeigen, welche Lösungen der Transpiler für den Visual FoxPro Entwickler bereithält diese zu umgehen.
Wir werden den Vortrag mit ein paar Szenarien abschließen, die aufzeigen, wie Sie Ihren Visual FoxPro Anwendungen einen Mehrwert hinzufügen können, nachdem Sie sie auf die Xbase++ Plattform migriert haben.
Sie erfahren:

Voraussetzungen:

 

X-APP1   Creating an App: My First Xbase++ Desktop Application (1/3)
Spyros Bobby Drakos

X-APP2   Creating an App: My First Xbase++ Desktop Application (2/3)
Spyros Bobby Drakos

X-APP3   Creating an App: My First Xbase++ Desktop Application (3/3)
Spyros Bobby Drakos

Coding concepts are important as any beginning programmer can attest to, but good programmers evolve from the real world journey of trial and error as they try to bring the ideas in their head to the screen.
This half-day session will take us from a simple browser to a full-featured and functional piece of software. We will begin using an existing piece of code and accompanying executable that does nothing more than display database records on the screen. Attendees will be given a USB stick that contains all the code examples along with a copy of all the necessary files needed to create and run the application. After installing the software, we will quickly examine the existing browser and how it works. Attendees will then be shown how to import the existing code into the workbench where we will continue to develop the software using a combination of SGL and Xbase++ commands and functions.
Once we have successfully put together a robust browsing application, we will stretch the application's functionality and interface. Using more coding examples contained on the accompanying USB stick, we will use the workbench to create a browser from scratch that will browse a different database. In order to reduce resources and leverage code, we will use the workbench to combine common functions from the two applications into a single .DLL. We will then combine the apps into a single full-featured and functional piece of software. All code examples will feature Xbase++ and SGL code. This approach is taken to show how quickly applications can be created. (How this code can be leveraged into a web application will be covered in greater detail in the Compiled Xbase++ Pages (CXP) session.)
The final part of the 3 sessions focuses on yet another important part of the development cycle: debugging your application. Debugging is the process of finding the reason your code behaves differently than you expect. As a practical example, a number of issues which were intentionally added to the sample application will be found and corrected in the course of this session. Attendees will learn how to use the various debugger features and see why the integration of the debugger with the source code editor makes them more productive.
You will learn:

Prerequisites: None

 

X-SHRK   The "Xbase++ Code Shrink" Code Review im Team (community interactive Event)
Steffen Pirsig / Bobby Drakos

In dieser Late Night session geht es um das Lernen aus Fehlern. Auf der Grundlage von existierendem Code werden wir versuchen diesen Schritt für Schritt zu verbessern. Verbessern bedeutet hier, bessere Lesbarkeit, besser Wartbarkeit, schneller, kompakten oder strukturierter.
Es dreht sich hier nicht darum alles perfekt zu machen auch Fehler sind willkommen den schliesslich lernen wir aus ihnen.

 

X-LIST   Reportgenerator List& Label Integration in Xbase++ mit Echtdatenvorschau
Marcus Herz

Hier wird in einem praktischen Workshop die Einbindung von List& Label in einer Xbase++ Anwendung gezeigt. Mit dem neuen Release List& Label Vers. 22 wird die Klasse dsListLabel von DS-Datasoft für Xbase++ mit ausgeliefert. Diese Klasse vereinfacht die Kommunikation mit L& L, es muss nicht mehr auf die API zugegriffen werden, sondern es wird mit vertrauter Xbase Syntax und Logik programmiert.
Im 1. Teil wird der Einsatz im Code an Beispielen gezeigt. Beginnend mit einfachsten Listen bis hin zu Berichtscontainern.
Ein echtes Highlight ist dabei die Echtdatenvorschau im Designer.
Im 2. Teil erfolgt eine Kurzeinführung zum Arbeiten mit dem Designer, um Reports zu erstellen.

 

X-CRYP   In Xbase++ Datenaustausch mit SSL/TLSv3 verschlüsseln
Andreas Herdt

Heutzutage muss Netzwerk-Kommunikation gesichert werden. SSL/TLSv3 ist der defakto Standard zur Verschlüsselung von Kommunikation über TCP/IP und wird nun von Xbase++ auf Client- und Serverseite unterstützt. Während die Nutzung dieser Technologie auf der Client-Seite nicht sehr komplex ist und sich auf die Verbindungsoperation (connect) beschränkt, erfordert die Nutzung von SSL-Zertifikaten bei WebHandlern und WebSocketHandlern auf der Server-Seite ein grundlegendes Verständnis für die Windows spezifische Zertifikats-Infrastruktur. Zum Beispiel muss ein SSL Zertifikat zunächst zugeteilt werden, bevor es auf dem Server Betriebssystem installiert werden kann. In diesem Vortrag bekommet der Zuhörer die notwendigen Hintergrundinformationen um einen SSL-gesichterten Datenaustauch einzurichten und dann zwischen Client und Server zu verwenden.
Sie erfahren:

Voraussetzungen:

 

X-CTRL   Neue Steuerelemente für Desktopanwendungen mit HTML/CSS
Till Warweg

In den letzten Jahren haben HTML und CSS als Technologie für die Erstellung ansprechender Benutzeroberflächen zunehmend an Bedeutung gewonnen. Mit Xbase++ 2.0 können Xbase++ Entwickler für die Entwicklung eigener Windows-Steuerelemente auch HTML und CSS einsetzen. Von speziellen Pushbutton-Klassen über Listboxen zum Anzeigen von Bildern und textuellen Informationen bis hin zu zusammenklappbaren Bildschirmbereichen für das Gruppieren von Oberflächenelementen, Alaska wird in den kommenden Jahren eine Reihe auf HTML und CSS basierender Steuerelemente veröffentlichen. Dieser Vortrag gibt einen Überblick über die zum Zeitpunkt der Konferenz zur Verfügung stehenden Steuerelemente. Weiterhin wird anhand von praktischen Fallbeispielen gezeigt, wie diese in eigenen Desktopanwendungen verwendet werden können.
Sie erfahren:

Voraussetzungen:

 

X-WEBP   Web Projekte mit Xbase++. Möglichkeiten und besten Vorgehensweisen
Steffen Pirsig

 

X-XML   Working with XML in Xbase++
Roger Donnay

More and more Xbase++ developers need to deal with XML in their applications. As systems go paperless, the electronic transfer of information becomes more and more relevant. This transfer of information is most often in the form of XML.
This session discusses concepts for dealing with XML both from the need to parse XML data into existing applications to the need to generate XML to send to other applications. Attendees will receive source code for an XmlNode class that has methods for reading, writing, managing and creating XML streams.
You will learn:

Prerequisites: None

 

X-TABL   Beispielhafte Benutzerführung einer Xbase++ Tablet-App
Marcus Herz

Eine Beispiel App verdeutlicht die nötigen Umstellungen und Änderungen gegenüber einer klassischen Windows Desktop Anwendung.
Die Rahmenbedingungen einer App erfordern einen neuen Wege für:

 

X-ROAD   Xbase++ Roadmap - was kommt als nächstes!
Steffen Pirsig

In diesem Vortrag sprechen wir über unsere Vision für die kommenden Jahre. Welche Merkmale und welche Technologien planen wir für die zukünftigen Updates und Versionen. Dabei wollen wir auch auf die Industrie-Trends und Entwicklungen schauen, wie sie Ihr Geschäftsmodell eventuell beeinflussen könnten oder Ihnen sogar neue Märkte öffnen. Selbstverständlich werden Sie auch hören, wo Alaska Software noch Nachholbedarf sieht und Mängel beseitigt werden sollten. Egal, ob Sie schon Xbase++ Entwickler sind oder darüber nachdenken von einer anderen Sprache zu Xbase++ zu wechseln, dieser Vortrag soll Ihnen Anstoß und Orientierung geben für die nächsten 12 Monate und darüber hinaus.
Sie erfahren:

Voraussetzungen:

 

X-STYL    Programmierstil. Sinn oder Unsinn? (community discussion)
Steffen Pirsig

In dieser Late Night session geht es um das Lernen aus Fehlern. Auf der Grundlage von existierendem Code werden wir versuchen diesen Schritt für Schritt zu verbessern. Verbessern bedeutet hier, bessere Lesbarkeit, besser Wartbarkeit, schneller, kompakten oder strukturierter.
Es dreht sich hier nicht darum alles perfekt zu machen auch Fehler sind willkommen den schliesslich lernen wir aus ihnen.

 

X-PGRS   PostgreSQL-Anbindung: Tabellen und SQL Abfragen als Objekte integrieren, Erfahrungen einer Portierung
Marcus Herz

Ein Anwendung zeigt sowohl die Verwendung der Xbase PGDBE Database Engine als auch von PQclass.
PQclass ist eine Addon Library von DS-Datasoft, welche auf der PostgreSQL API basiert und unabhängig von der verwendeten PostgreSQL Version einsetzbar ist.
PQclass kapselt Tabellenabfragen in Klassenobjekten. Die nötigen syntaktischen Änderungen werden besprochen und gezeigt.
Es werden Probleme und Lösungen einer Echt-Umstellung gezeigt.

 

X-CONV   VFP to Xbase++ Conversion - A case study
Roger Donnay

This session is a discussion of how Xbase++ and an SGL language extension simplified the conversion of a Visual FoxPro application to Xbase++. This is a case study of how an actual conversion, completed this year, was accomplished in a very short period of time. The company who hired me to help with the conversion had been in business for many years and chose one of their many VFP applications as a feasibility test. They were happy enough with the results to deploy the new Xbase++ application to their customers.
Attendees will receive a free copy of the SGL system that was used for the conversion. The source of the finished application will be available for review with a comparison of the finished VFP application to the finished Xbase++ application. There will be additional commentary from the VFP developer about their experiences during the process.
You will learn:

Prerequisites: Experience in VFP development

 

X-DBUG   Eine Xbase++ Anwendung debuggen
Andreas Herdt

Diese Sitzung knüpft an Bobby Drakos' Vortrag "Creating an App" an, kann aber auch problemlos von jedem Teilnehmer gehört und verstanden werden. Der Vortrag beleuchtet einen wichtigen Teil des Entwicklung Zyklus: Das Debuggen einer Anwendung.
Debuggen ist der Prozess der Suche nach Ursachen, warum der compilierte Quellcode sich anders verhält als erwartet. In praktischen Beispielen werden eine Reihe von absichtlich hinzugefügten Problemen einer Anwendung aufgespürt und im Verlauf dieser Sitzung behoben. Die Teilnehmer werden lernen, wie die verschiedenen Debugger-Funktionen zu nutzen sind und warum die Integration des Debuggers mit dem Quellcode Editor die Produktivität enorm steigert.
Sie erfahren:

Prerequisites:

 

X-TEST   Automatisiertes Testen von Xbase++ Web-Anwendungen
Till Warweg

Das Testen von Software zur Qualitätssicherung in Softwareprojekten - sowohl während als auch nach dem Entwicklungsprozeß - ist seit Jahren ein wichtiges Thema. Während zum Beispiel mit Unit-Tests bewährte Konzepte zum Verifizieren der Korrektheit von Quellcode zur Verfügung stehen, ist das Testen der Anwendungsoberfläche hingegen oft problematisch. In diesem Vortrag wird Selenium vorgestellt, ein Open Source-System für das automatische Testen von Webanwendungen. Dabei werden verschiedene Themen von der Installation bis hin zur Erstellung eines ersten Test Cases für die Automatisierung einer CXP-Anwendung behandelt.
Sie erfahren:

 

X-XCLA   Einsatz von XClass++ in der Praxis (Vendorsession)
Marcus Herz

Abhängig von dem Hintergrundwissen der Teilnehmer wird XClass++ und AdsClass++ vorgestellt.
XClass++:

AdsClass++: