FMStudio Complete Guide Chapter 1

From FMWebschool Reference

Jump to: navigation, search

Contents

Chapter 1. The FMStudio Philosophy

Thank you for picking up this book, and deciding to learn web publishing with FileMaker – the FMStudio way. Quite likely you already have significant experience working with FileMaker databases using the FileMaker Pro series of software. The design paradigm within a FileMaker database allows you to use step-by-step wizards, drag and drop tools, as well as easily modifiable layouts to build powerful interfaces for your data. This method of designing applications works extremely well for desktop environments making FileMaker a very popular database platform. Extending FileMaker design principles into the realm of the web is a very different process. With the right tools and a bit of learning, it can be done. FMStudio allows you to simplify database interface and logic design with FileMaker into the realm of the web.


Differences Between FileMaker Pro and the Web

Unlike traditional desktop applications that have a single interface, usually a window, a web application is composed of multiple interfaces that are served to a web browser. In a desktop application each action is handled by the application within a single session, and that application is constantly aware of where you are and what record you are working with. On the web each action is its own different process. It is worthwhile to get a glimpse at the history of the web to understand the reasoning behind this design difference. This will also be vital to understanding why FMStudio works the way it does.


A Little Bit About the History of the Web

The Internet, World Wide Web network and more precisely the HTTP protocol that all modern websites use has its beginnings in serving static content. Early web servers responded to specific requests. These requests simply named a resource such as "GET about.htm", which would return the contents of the about page to whoever requested it. This worked great for static websites that always served the same about page; however as people started working with this protocol of requesting data, the system had to be improved to support dynamic content. Content that is generated on the fly based on a request and a number of messaging methods were developed. Today the two predominant methods are GET and POST; however the underlying structure of the web did not change. We still have distinct resources or pages that are called by a browser. At times with a custom message, such as a search keywords is sent and that single page has to decide how to process the message that was sent to it. This brings us back to the comparison with desktop software. On the web each page has its own set of tasks to do. It expects specific types of messages from which to respond, and it knows relatively little about where you are coming from or what you were viewing at the time you decided to arrive at that page. All this context data has to be passed between pages and maintained as you build complex multi-layout applications on the web.


FMStudio, It Is There to Help not Obfuscate

Most tools that allow you to build web applications use a step-by-step wizard that builds cookie cutter websites for you in one of the few standard patterns that it offers. In most cases you want to go beyond a single record find->edit->save pattern, or the search->results->detail page pattern. You want a way to interconnect different records in relationships and provide smooth flow from task to task within your application. Unlike those wizards, FMStudio does not hide the nature of the web for you within a wizard. It forces you to build distinct pages for each action: you will need to build a page with a search form, a page that properly responds to a search request from that form, and then specify where the link will be to take the user to the detail page. That is how the web works, and FMStudio will help you understand that flow without forcing you to learn yet another programming language. The initial learning curve of FMStudio might seem steeper than a 3 minute wizard, but the rewards will be hours of saved time that will be spent on application design instead of code tweaking. FMStudio is a front end to all the basic building blocks within an application. Building blocks that were designed to communicate with FileMaker. Building blocks that will allow you to share your application with the world.


The Journey Ahead

As you start reading this book and working through the chapters, things will seem overly simple. You will start by building pages that simply load and display search result tables based on a predefined search. With little or no way for the user to affect what results they see. At that point that data is already coming live from the database, and you are getting real dynamic pages working on the web. That will be a great achievement in itself; however as you go further you will start to learn how pages can send messages to each other, affecting what they display. An example is a keyword being sent from a search form, and affecting the results that are displayed to the user. Then your applications will start becoming truly dynamic. The book will progress into more advanced interaction with full modification of database records, as well as extending functionality into other fields such as charting and emailing. You are simply learning to use visual interfaces to define the functionality and not having to access or learn the PHP code behind those web pages. Learning web publishing with FMStudio and building web enabled FileMaker applications is a continuous process, which will allow you to discover new opportunities and learn the fundamentals of the web. Embrace this opportunity to learn something new, understand your web interactions more thoroughly, and improve your professional skills. Most importantly, have fun and experiment. Web publishing should be a fun journey that is constrained only by your own imagination!

See Also

Personal tools