Jump to content
Server Maintenance This Week. ×

please explain


rivet

This topic is 7341 days old. Please don't post here. Open a new topic instead.

Recommended Posts

I am trying to wrap my head around the lose of CDML. Below is a write-up about 'FMP7 Server Advanced'. I am not sure of the potential of XML/XSLT. I understand that one is the data and one is the style sheet for the data. I sense that XML is a static data file (exported) for someone to grab and manipulate, But can it dynamically serve web pages like CDML. Can it find, edit, add, and delete records the way I could with CDML?

In short what are the required pieces to create a dynamic HTML front end to a FMP7 back-end.

------------------------------------------

Why isn't CDML being supported by FileMaker Server 7 Advanced?

FileMaker Server 7 Advanced uses XML and XSLT for web publishing. XML and XSLT are industry standards and provide a more efficient, robust, and flexible methodology for creating dynamic data-backed web solutions than CDML. FileMaker Server 7 Advanced includes easy-to-use tools for converting existing CDML solutions to the new XSLT-based web publishing format.

Link to comment
Share on other sites

just have a look at filemaker 5.x.

It does not have the ability to export XML files directly, though it is possible to manipulate the Filemaker records via XML. CDML is a relic from FileMaker 4, and further development ceased with the disappearance of Claris Homepage 3.0.

>In short what are the required pieces to create a dynamic HTML front end to a FMP7 back-end.

What do you think direct web publishing does? Web companion uses XML.

Link to comment
Share on other sites

XML is a data format. The data can be represented as a stream of data, or as a file on your file system. When you export data from FileMaker as XML, you create an XML file on your file system. When you ask FileMaker's Web Companion for XML data, it responds with a stream of XML data. This stream of data is transmitted via HTTP from the Web Companion to the person (or program) that requested it. This idea of transmitting XML data in a stream, using the HTTP protocol, is frequently called "XML over HTTP", "XML/HTTP", or "HTTP/XML".

XML cannot be used to manipulate FileMaker data - either within the database or within the XML result. XSL is used to manipulate the XML.

Neither XML or XSL can manipulate or retrieve data that is stored inside FileMaker. You can, however, send HTTP requests to FileMaker's Web Companion which tell the Web Companion to perform certain operations within FileMaker. The operations can involve retrieving data, inserting new records, updating existing records, deleting records, etc. The HTTP requests are commonly sent to FileMaker by typing the HTTP request as a URL in the address bar of an internet browser, such as Internet Explorer. The request must be formatted in a way that the FileMaker Web Companion can understand. This format is referred to as FileMaker's CGI spec. The URL you send must match the CGI spec. An example could look like:

[color:"white"]___http://www.your-server.com/FMPro?-db=yourDB&-lay=yourLayout&-format=fmp_xml&-findAll

This same HTTP request could be sent by clicking on a hyperlink whose HREF is that same address. This request could also be sent through an HTML form, such as:


<form action="http://www.your-server.com/FMPro" method="get">

<input type="hidden" name="-db" value="yourDB">

<input type="hidden" name="-lay" value="yourLayout">

<input type="hidden" name="-format" value="fmp_xml">

<input type="hidden" name="" value="-findAll">

<input type="submit">

</form>

This request can also be sent to FileMaker programmatically from various different languages (PHP, ASP, Perl, C++, Visual Basic, etc). This is how the FX class (PHP) communicates with FileMaker - it programmatically sends an HTTP request to the web companion in a format that the Web Companion can understand. The specific request the FX class sends to FileMaker is based on simple commands you give the FX class. The web companion responds with an XML data stream, which the FX class translates into an array. At this point, you can work with the resulting data as an array, which is fairly straight forward with PHP. Notice that FX does all the translating for you -- to use PHP to interact with FileMaker, you (the programmer using the FX tool) don't have to anything at all about XML, XSL, or even the FileMaker CGI spec.

I'm sure that as soon as FileMaker Server Advanced 7 is released, the FX class for PHP will be quickly adjusted to address changes in the FileMaker CGI spec. So, to create an HTML front end for a FileMaker 7 back end, you could use a tool such as the FX class (PHP) or the FMP class (ASP). These tools use FileMaker's support for HTTP requests and XML responses to allow other developers to build PHP or ASP web applications that interact with FileMaker - and the tools users don't have to know anything about how the HTTP and XML interaction work. Both tools are totally free.

By this point you should understand two things:

1) You manipulate FileMaker data from the web using HTTP requests that conform to FileMaker's CGI spec. These requests can be sent from a browser address bar, by clicking on a hyperlink, by submitting a form, or programmatically.

2) You receive FileMaker data from Web Companion in XML format (as a data stream).

You can also write web pages that work with FileMaker without using PHP, ASP, etc. You'd start off by writing a static HTML page with a form that submits a request to Web Companion (or the FM7 equivalent CGI). This form could tell FileMaker to add, delete, or find records in the database (see the examle above). This form would be structured so it also sent parameters specifying which XSL page to use to process the resuling XML from FileMaker's response.

The XSL page would have XSL code that converts the XML from FileMaker into HTML. FileMaker would use the specified XSL page to convert the XML, and return the resulting HTML to the requesting party (commonly referred to as the user agent, in this example a web browser). Naturally, you'd need to become familiar with XSL and XML to do this. There are many drawbacks to this method. I've written a summary about the drawbacks, which you can read at http://www.fmforums.com/threads/showflat.php?Cat=&Number=93508#93577

Hope this helps.

Link to comment
Share on other sites

This topic is 7341 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.