Jump to content
Server Maintenance This Week. ×

lasso help


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

Recommended Posts

Hello Everyone,

This might sound really basic but I've been staring at the screen for too long now and need some help. I've got Server 7 Advanced all up and running ok and using sitemaker I've managed to produce a basic xslt site. What I now want to do is start talking to the database using LDML. Sound silly but do you need Lasso installed to be able to do this. And where do you place the html pages on the server that talk to the database? In Filemaker 6 it was in the"web" folder of the application. Where now, in 7?

I am just having no joy in connecting to any of my published databases using ldml.

Any help on how to go about this would be great

thanks.

Link to comment
Share on other sites

Hello, Simon! The Blueworld / OmniPilot website has Lasso Professional 7 for U.S. $649 and Lasso Studio 7 (for GoLive/Dreamweaver) for U.S. $199 so I believe you'd have to get and install Lasso on your server before using any LDML. FM6's CDML has been completely dropped so my understanding of FMS7A for web publishing is that you can use Instant Web Publishing or XML/XSLT (or possibly ODBC/JDBC). A trip to the Lasso site seems to tell me that it relies upon Apache or IIS to be your web server, and since you're using a Mac, you should know that Apache comes pre-bundled in every Mac OS X installation.

FM6 was able to be a web server, middleware, and database all rolled into one, but it did not have to be. Many folks just used FM as the database and used Apache (or IIS) to serve and used middleware like PHP to process web form data for FM and send info to FM's Web Companion (I think via XML). Apparently Lasso users fall into the latter option, so in your case you would probably have an Apache/Lasso/FileMaker combination. Of course, there are other alternatives as well.

I know this isn't everything you wanted, but I hope this helps get you a little further...

--ST

Link to comment
Share on other sites

Simon,

I am also going the Lasso route. I have some 100 or so CDML pages. I dont want to have to re-do them in XML. They have a very specific design layout, and style sheets for XML just is not going to cut it.

And I am not a programmer, so I don't have the time to learn PHP just to get things up and running.

Since CDML is so close to LDML, I chose to go with Lasso. A few bunps along the way, but I have managed to get my solution up and running with FMSA and Lasso.

Lasso offers a full working 30-day trial on their web site. Give it a try.

Larry

Link to comment
Share on other sites

Larry, we are all amazed that you were able to get your CDML solution up and running with Lasso. But you seem like the lone person on this site that was actually able to do it. Since in other posts you mentioned that you had to use [iNLINE's] to get lasso to respond to a database query and that you also had to rename your files to the .lasso suffix, I have one nagging question that I know you can answer. And I hope you will. The question is, My CDML solution (like many others) has many URL HREF tags and buttons that when clicked execute a FMP? database call with all the search tags and layout tags, etc... How do you rewrite lasso code to put the [iNLINES] on the reply page with the data? I can see having a search page specify the paramters, clicking a POST form with a sumit button, and then you have to pass the request to the reply page with the [iNLINES]. How are the parms passed from the search page to the reply page? Am I explaining this correctly? PS: I also like how no one has even slightly hinted how the CDML converter works with Server 7 Advanced. Didn't you even try it? I am hesitant to try since the lack of documention from Filemaker on this portends disaster and I DON"T WANT TO BLOW A GASKET!

Link to comment
Share on other sites

Xas

Its actually fairly easy, if I'm understainding you correctly.

[inline: (Action_Params),

-Add, (or whatever action you want)

-Username='username',

-Password='password',

-Database='database',

-Table='Table', (It is imporant to note, that lasso considers any layout a table)

-Keyfield='']

Now, if you were doing a search, then you would want this page to also display your records.

You can do two things with this. 1 is Display one record at a time, or display a whole list of them. I chose the list route, and put them in a table. This is easy. Make your table, with your headers. The second Row of the table will actually contain your results, so surround the second row with these tags.

[Records]

[/Records]

(Around the whole second row.) This causes the second row to repeat the second row for all of your records (or defined with the -MaxRecords='100' command.)

Link to comment
Share on other sites

You kind of got my drift. But I am more advanced than that with FMP6. Running the Lasso CDML converter produces completely unusable code. I sent the tech support people at Lasso the pre and post conversions and all they could reply with was a test file to read my data using INLINE statements. They had no idea what their converter was doing. I was in a training mode with tech support explaining my CDML. (pathetic) In your example INLINE segment you have the 'username' and the 'password'. Why? Is this 'username' a token that is passed to the INLINE or do I have to specify a LASSO embedded username and password to allow Lasso to talk to fmxslt, fmxml? Is that the admin LASSO username and password, or is that the END-USER's ID and PASSWORD?

I assume the Action_Parms were picked up from the previous search html page where the user specified the search criteria. Just like ibiubu (a forum poster), mentioned in a previous post: This kind of call doesn't really work "http://localhost/web/default.lasso?-Database=Respondents&-Table=Web&-Response=results.lasso&-ResponseAnyError=error.lasso&-KeyValue=34873&-Show"

Lasso wants us to use INLINES to fetch the data. Plus I have a security question. Ibiubu mentioned in an earlier post that ID's and passwords have to be similar in the Lasso Admin Setup as in the FMPro database. Does that mean for each user, I have to enter them into Lasso. Stop the FMP Server. Load the database file in FMPro then add the user in the database too? Then restart the Servers. With CDML web security, all I had to do was add the user in the web security database (for all databases) and I was done - and didn't have to kill the Server either. Of course I heard that this method was not that secure, but I am not in the midst of hackmania. Plus - one caveat, prior to FMP7, if you had 15 databases, all users had to be entered into each database, or you could use the ALL DATABASES configuration to grant access. Is that why FMP7 wants you to combine all the databases into many tables in one file? So you only have to enter the user ID and password once in one place? I have read the Lasso docs and the FMP7 docs and fear that there is not a central user logon facility.

Link to comment
Share on other sites

Ok, I never did anything with CDML, so I can't help you much with the conversions. However, I think I can help you with most of the rest of this. In my previous post, the -Username and -Password tags are used to define the connection to LASSO. I use the administrator UN and PW myself, because frankly, it doesn't matter to me how they log in. I control what they can do, not their password. If I do not give them a Delete button, they can't delete anything. You could, however, in your lasso admin console set up different users and groups with ceartian privledges.

Inside of the lasso Admin console, you specify a username and a password that has XML enabled to connect to the FM Server and open the DB with. (Usually FMSAdmin). These are the passwords that the database is actually opened up with. To control your users options with a UN and PW, you would set up more groups in lasso. As I said, this is entirely up to you, I dont do it, because I don't need to.

Yes the Action_Params were picked up from the form that submitted to the lasso page. The url call you have would work fine assuming that you have your form set up as a GET form rather than a POST form. I would not recommend doing it that way, because URL's have a maximum length. If you try to send to much information, it could be cut off.

As far as your final security question, I can only reitterate my previous point. You specify how to connect to the databases from within the Lasso Admin Console, but in your pages, you use UN and PW to connect to lasso, then lasso uses the un and pw to connect to the databases. So, as long as you have both of these set up correctly, they should NOT have to be anything alike.

Here is my set up.

3 Databases with XML enabled for a user named 'FMSAdmin' with the password 'protest' (of course these are examples) This user has XML enabled on each of the databases.

I connect to lasso with 'Zero' as a Username and 'Password' as a password.

In my page, I use these tags: -Username='Zero' -Password='Password'. Now lets say I wanted to restrict access to parts of the DB through lasso. I would go into the security part, and start allowing and dissallowing tables.

Or you could do it this way (Much easier)

Make 3 or 4 pages. Like this

[inline: (Action_Params),

-Search ---(This would be different on each of the pages (Search, Add, UPdate ext.))

-Username='Zero',

-Password='Password',

Save those like that, and start Including them into headers when your doing a DB Function.

I can't say how secure either of these methods are. Thankfully, I'm an internal programmer and I don't have to worry about prying eyes from outside. But I have never had any problems with people doing Admin actions to my DB simply because, even with that UN and PW on the page, (Which they can't see, even in view source) you still ultimatley control what they can and cannot do. If there is no search button to direct them to the search page, they can't search.

I hope this helped, sorry its so long winded.

Link to comment
Share on other sites

OK, sorry I have not been aroung. Back in town.

From my experience so far, you don't have to use Inlines. In fact, I have some Lasso pages that use inlines, and some pages that do not. Lasso recommends it for security, but it is not necessary.

http://localhost/web/default.lasso?-Database=Respondents&-Table=Web

&-Response=results.lasso&-ResponseAnyError=error.lasso&-KeyValue=34873&-Search

This type of URL call will work fine with Lasso. The resulting page can be just a regular .lasso page with standard lasso tags to show data, all without having inlines on the page.

I found that the LARGEST problem to overcome is all the access permissions. Setting them right in the FM files first with FMPro. Setting the right configuration username and password in FMServer for the Advanced Web functions. Then in Lasso setting up everything to match. In Lasso you want to set the FMSA interface permissions to match the ones setup in FMSA. You want set the permissions for the data sources in Lasso to match the permissions set in your individual FM databases using FMPro.

One thing that I found to be helpful was this PDF file from Lasso. It is called "FileMaker Server Advanced Quick Start." It can be found at:

http://support.blueworld.com/article_files/FMSA%20Quick%20Start.pdf

I did a complete uninstall of everything, and then followed this document step by step, to the letter, to get FMSA and Lasso running together.

Larry

Link to comment
Share on other sites

OK, here is a couple of things I learned from my LDML conversion. The CDML to LDML tool just does not work correctly most of the time. Here are a few examples. The first is my old CDML, the second is from the conversion, the third is what I had to clean up to make it actually work.

[FMP-If: If1A .eq. Yes]

[if: 'If1A' == 'Yes']

[if:(Field: 'If1A') == 'Yes']

<img src="[FMP-Image:Questions::Image1A]

<img src="[image_URL: 'Questions::Image1A']

<img src="[Field: 'Questions::Image1A']

[FMP-IncludeField:If1redirect]

[FMP-IncludeField:If1redirect]

[include:(Field: 'If1redirect')]

<FORM ACTION="FMPro" METHOD="post" name="Find">

<FORM ACTION="Action.Lasso" METHOD="post" name="Find">

<FORM ACTION="surveyintro.lasso" METHOD="post" name="Find">

Larry

Link to comment
Share on other sites

Here is an example of a form converted from CDML to LDML. This one uses Inline. First is the old CDML, second is the new LDML.

<FORM ACTION="FMPro" METHOD="post" name="Find">

<INPUT TYPE="hidden" NAME="-db" VALUE="Research.fp5">

<INPUT TYPE="hidden" NAME="-lay" VALUE="Main">

<INPUT TYPE="hidden" NAME="-format" VALUE="surveyintro.html">

<INPUT TYPE="hidden" NAME="-error" VALUE="surveyerror.htm">

<INPUT class="class" TYPE="text" NAME="Login">

<input type="submit" name="-Find" value="Continue">

</form>

Now the new form looks like this:

<FORM ACTION="surveyintro.lasso" METHOD="post" name="Find">

<INPUT class="class" TYPE="text" NAME="Login">

<input type="submit" name="submit" value="Submit">

</form>

And the surveyintro.lasso page that follows has this:

[inline: -Database='Research', -Table='Main',-ResponseAnyError='surveyerror.lasso',

'Login'=(Action_Param:'Login'), -Search]

A bunch of other tags and page contents here

[/inline]

Larry

Link to comment
Share on other sites

And just for the sake of getting existing CDML pages converted over and running in LDML, here is a form example I used that did not use Inline:

!!

<form action=FMPro method=post name=Edit>

[FMP-IncludeField:If3redirect]

<!-- This loads a .html page with all the fields that get filled in on the form-->

<input type="hidden" name="-RecID" value="[FMP-field:CurrentRec]">

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

<input type="hidden" name="-error" value="loginerror.html">

<input type="hidden" name="-format" value="surveyredirect3.html">

<input type="hidden" name="-db" value="Answers.fp5">

<input type="submit" name="-Edit" value="Continue">

<input type="reset">

</form>

To the new LDML form:

<form action="surveyredirect3.lasso" method=post name=Edit>

[include:(Field: 'If3redirect')]

<!-- This loads a .lasso page with all the fields that get filled in on the form-->

<input type="hidden" name="-KeyValue" value="[Field: 'CurrentRec']">

<input type="hidden" name="-Table" value="Web">

<input type="hidden" name="-ResponseAnyError" value="loginerror.lasso">

<input type="hidden" name="-Database" value="Answers">

<input type="submit" name="-Update" value="Continue">

<input type="reset">

</form>

The page this form resides on does not include any Inline. The resulting page that loads also does not include any inline. Again, not the ideal solution. But for purposes of just getting existing solutions up and running, it works. After that point, I will go back in and start converting all the pages over to inline. But it works without. It also works with a combination of both. So you can get up and running, start converting pages over one at a time to inline, yet still keep everything running.

Larry

Link to comment
Share on other sites

Again, this might be backsliding, and uses some classic Lasso coding, but again for purposes of just getting old CDML pages up and running. Here is what I did as a basic initial test of my setup. You may have already gone past this simple point, but here it is anyway...

Try using a URL to test and see if a page will add to your database using Lasso.

Something like:

http://xxx.xxx.xxx/web/PageNameHere.lasso?-Database=YourDatabaseName&-Table=

DatabaseLayoutName&-Add

On your .lasso page that loads (PageNameHere.lasso) make it a completely blank page. No tags or anything. Just add some text to the page so that you can confirm the page is loading.

Then when you go to your test URL, the blank page will load. You should then look at your FM database and see if a record was entered.

If that does not work, then I would guess it is a configuration setup problem in Lasso or the wrong permissions setup in FileMaker.

If the test does work, try adding a Field to your test URL. Something like:

http://xxx.xxx.xxx/web/PageNameHere.lasso?-Database=YourDatabaseName&-Table=

DatabaseLayoutName&MyFieldName=1234&-Add

If a new record gets created, and the field in question contains 1234, then next try adding a tag to your blank test .lasso page. Maybe something like:

[Field:'MyFieldName']

And then try it again. See if 1234 shows up on the .lasso page after the record is added.

This should at least get you started on the trouble shooting to see if your Lasso and FMSA configuration is correct.

Larry

Link to comment
Share on other sites

Fantastic response. I am completely indebted to you. You really outdid yourself. I am sure others with the same problems are also thankful. I am going to eliminate the security permission issue and just make all the ID's & PW's the same to get it up and running.

Then I will try your steps next. Thanks.

Did you ever try Lasso's Database Browser? It's pretty cool and is one way to test with out writing any code at all.

Link to comment
Share on other sites

It comes with Lasso - in your browser just type: http://localhost/Lasso/DatabaseBrowser.LassoApp

And it pops up. I have discovered a new problem I have Ramone working on at Lasso (omnipilot). On perfectly good working databases - when I add a relation to another simple 2 variable file, my XML browsing breaks and I get zero records. I update everything in Lasso,, security - you name it and the file just breaks. I don't know where to turn at this point and the Lasso Console output (in OSX), says that XML ended 'prematurely'. How's that for a cool way to confuse you? HAHA.. So I am waitng for Ramone at Lasso to explain this. Have you ever had this problem?

Link to comment
Share on other sites

Here is Ramone's answer. Apparently all relations (tables) have to be placed in portals or they 'break' the XLM coming out of FMP7 and Lasso can not parse it properly. This answer DOES seem to work on most of my databases. With some of them - even doing that (above) DOES NOT fix the problem. What do I do now? Lasso people insist they can not reproduce my problem (eh, eh), Even after I send them my files. Go figure. But they said they have had many calls from users on this - so I am not the first one.

Link to comment
Share on other sites

  • 2 weeks later...

Sorry Xas, I should have mentioned the portal thing. I also discovered this in my travels. You can not have ANY related fields in a layout that is accessed by the web unless they are contained in a portal. One single related field outside a portal will break your web solution, resulting in empty pages being served.

Larry

Link to comment
Share on other sites

  • 2 weeks later...

Hello all,

Need help. After dealing with a complicated setup of FMSA and Lasso. It's working. I have a big problem converting all my cdml working projects to LDML.

when I used the converted tool. NO WORK at all. I am including a url of a zip project that works on cdml with FM unlimited 6. I would pay if someone would convert this project to LDML or come out with a better solution. I do not have a lot of money and I am not making money from this project, is for a school project. Thank you you will need user id and password or pin for the web to get in.

user pin

001983021 8804

001982735 1034

000681682 7108

111111111 1111

here is the url for the zip project. project Thank you in advance.

Link to comment
Share on other sites

This topic is 7084 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.