FYI
This page was written prior to DevCon 08 and I have not had time to go through and change it after the fact. Thanks! jstark
DevCon 2008
Get the most bang for your buck at DevCon 2008.
I am pleased to announce that I will be presenting two sessions at the 13th annual FileMaker Developer Conference: "Securing Your FileMaker Web Applications" and "Building iPhone Applications with FileMaker and PHP". If you are considering attending either session, please refer back to this page frequently. I will be updating it periodically with pre-conference materials, links to related resources, and suggestions on how to get the most out of the conference.
Don't Waste Your Time
Before you read through all the materials on this page, you might like to know if you can relate to my point of view. If you would like to know me quickly, you can follow me on Twitter, check out my picture feed, my favorite quotes, my personal blog, my work experience, and this interview done by Tim Dietrich over at FileMaker Addict. Most of my client work is private, but there are a few public examples that you can play with here, here, here, and here. I have also posted a bunch of nice testimonials.
Overview
Both of my sessions touch on a number of exciting web technologies that web developers weave together to create compelling Web 2.0 applications. The more familiar you are with each technology, the better off you'll be:
- HTML
- CSS
- JavaScript
- PHP
- FileMaker.php
Session Slides
They will most likely go through more revisions, but here are the current versions of my DevCon slides:
Example Files
Here are the current versions of my sample files - peruse at your own risk:
- 7/16/2008 - Building iPhone Applications with FileMaker and PHP
- 7/14/2008 - Securing Your FileMaker Web Applications
Useful Links
These are links mentioned in one of my sessions, or that I used extensively in advance:
- Prototype JavaScript framework: API.Prototype API Documentation
- script.aculo.us - Official Site
- script.aculo.us - 3rd party Examples
- PHP Security Consortium: PHP Security Guide: Overview
- PHP and the OWASP Top Ten Security Vulnerabilities
- Top 7 PHP Security Blunders [PHP & MySQL Tutorials]
- Top 7 PHP Security Blunders [PHP & MySQL Tutorials]
- CSS Text-Overflow - Quirksmode
- CSS Text-Overflow - CSS3.com
HackFM – Web-Based Filemaker Issue Tracking
Rather than bore attendees of my security talk with the usual list of dos and donts, I decided to create a site and dare people to hack it. Even thought it was a demo site, I figured that I might as well make it something useful. So, I decided to build something I feel more FileMaker devs should be using - an issue tracking system.
HackFM is by no means feature complete, but it's a huge head start. Please feel free to download and repurpose as you see fit, as long as you keep in mind that the code is offered as is. If you do decide to use it, please let me know so I can brag about it to my friends.
Glossary of Terms
- HTML
-
HTML is the standard for content structure on the web. Its original intention of the designers was to provide the structure required for web browsers to parse its content into a meaningful format. This structure could define entire documents, complete with headings, text, lists, data tables, images, and more. As the web flourished, it also began to incorporate style and multimedia aspects as well. Arguably the most important feature of HTML is the ability to "hyperlink" text. This gives content providers the ability to assign the URI of other content on the web to a block of text, allowing it to be clicked and followed by the user of the content.
The most recent revisions of the HTML standard are returning to the "old days" of separating the structure of web content (HTML) from the presentation of the content (using a technology called Cascading Style Sheets, or CSS).
- CSS
-
CSS is an extension to standard HTML content that allows you to fine-tune the presentation of web content. With CSS you can change a variety of style attributes of the content you are designing, such as the font for a block of text, the background color of a table, or the leading (line spacing) between lines of text.
CSS allows you to cater to different clients and preferences, because you can change the style of a webpage on the fly without ever editing the HTML structure. Instead of embedding style within the HTML structure, such as using the bgcolor attribute for the webpage body, you should place CSS style definitions in a separate block outside of it. In fact, your webpages are more maintainable if you separate your HTML and CSS code into different files. This way, you can use one style sheet (which holds your style definitions) across multiple webpages, dramatically simplifying your code.
- Guest
- An anonymous user who is browsing public pages on your Web site.
- Member
- A user who has successfully logged into your Web site.
- Credentials
- A user's username and password.
- Authenticate
- To verify a user's identity.
- Session
- A mechanism for storing user-specific data on the Web server. You use sessions to preserve information across multiple Web page requests.
- Cookies
- A mechanism for storing data on the user's machine. Many Web sites use cookies to preserve information across multiple page requests, or even multiple visits to a site. You store cookies on the user's machine. Therefore, the user can manually edit the cookies at any time. Cookies are transmitted back and forth between a user's browser and a Web server in "headers."
- Headers
- Hidden data sent back and forth between a Web server and a browser that contains information about the transmission.
Recommended Reading
All of these books are relatively short and cheap. Each is my bible on the topic.
- Essential PHP Security by Chris Shiflett
- Shiflett is a leading PHP security expert. This book is short, sweet, and should be required reading for any web developer who uses PHP. If you are coming to my security talk, you should read this ahead of time. Actually, you should read it whether or not you are coming to my talk.
- CSS Pocket Reference by Eric Meyer
- Meyer is the CSS guru. He has written several books, but I find myself gravitating to this pocket reference the most. If you are not familiar with CSS and are planning to attend my iPhone session, read this book.
- JavaScript Pocket Reference by David Flanagan
- The time to learn JavaScript is now. This little gem will give you a crash course in the history and usage of this powerful, client-side technology. If you are not familiar with the basics of JavaScript are planning to attend my the iPhone session, read this book.
- Web Publishing with PHP and FileMaker 9 by Jonathan Stark
- Yes, this is shameless self-promotion, but believe it or not, I do refer to my own book regularly. Both of my sessions will touch on FileMaker.php so reading this in advance will get you up to speed with the API (and my coding style and philosophy).
Free Resources
- FileMaker to PHP Translation Table
- This chart will ease your transition into PHP by leveraging your existing FileMaker knowledge. There are currently more than 40 common FileMaker calculations listed with their PHP counterparts and notes where applicable.
- PHP Manual
- In my opinion, the enormous popularity of PHP has a lot to do with it's excellent online documentation. This particular link is to the english version of the online manual (more than 20 other langauges are supported).
- PHP Function Index
- You can always search the main page of the php.net site to find the function that you are looking for, but this page gives you an idea of the huge range of options that are available.
- How to read a PHP function definition (prototype)
- Learning to read function prototypes will serve you extremely well in your web publishing career. Might as well do it sooner rather than later.
- FileMaker API for PHP Documentation
- Documentation for the FileMaker API for PHP comes installed with FileMaker Server, but it is broken into little chunks that requires a lot of clicking around. I prefer to see everything listed out as one big chart and created this page. I find that it is a nice quick reference cheatsheet.
- Web Publishing with FileMaker and PHP
- This is a whitepaper the Chris Hansen and I wrote when we were both at The Moyer Group. If you are currently using FX.php and are considering FileMaker.php, I would encourage you to take a look.
- FileMaker for PHP Developers Part 1
- Part one of an article introducing PHP developers to web publishing with FileMaker. Originally published in PHP Architect magazine, and now available as a PDF from filemaker.com.
- FileMaker for PHP Developers Part 2
- Part two of an article introducing PHP developers to web publishing with FileMaker. Originally published in PHP Architect magazine, and now available as a PDF from filemaker.com.
- FileMaker.php TextMate Bundle
- If you are typing code - or anything else, for that matter - you should be using TextMate. This link is a TextMate bundle that contains FileMaker.php code snippets that can be inserted into the current document with keyboard shortcuts and tab triggers. It will make your life ten times better.
Questions
If you have reviewed the materials on this page and still have questions about either session, please feel free to post them here and I will get them answered as soon as possible. Be sure to include your email address so I can ask you follow up questions if necessary.