From jschwartz at exit445.com Sat Jan 2 09:56:03 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Sat Jan 2 09:55:02 2010 Subject: [FX.php List] Design for Locked Records? Message-ID: Happy New Year Folks, Does anyone design for the instance where an fx.php transaction tries to update a record that is being used by a native FileMaker user, and thus is locked? If so, how do you handle? Thanks J -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 From jschwartz at exit445.com Tue Jan 5 16:55:59 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Tue Jan 5 16:56:09 2010 Subject: [FX.php List] Design for Locked Records? Message-ID: Any takers? I'm developing a solution where the client employees are interacting with the same db that the online system uses. It is possible that an office worker might be "in" a record while the online customer is trying to update. What to do? Error out? Try again? Send a message to the office worker? (possible?) Save the data to another file? Just looking for ideas. J Happy New Year Folks, Does anyone design for the instance where an fx.php transaction tries to update a record that is being used by a native FileMaker user, and thus is locked? If so, how do you handle? Thanks J -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 _______________________________________________ FX.php_List mailing list FX.php_List@mail.iviking.org http://www.iviking.org/mailman/listinfo/fx.php_list -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 From dbengston at tds.net Tue Jan 5 17:22:32 2010 From: dbengston at tds.net (Dale Bengston) Date: Tue Jan 5 17:21:18 2010 Subject: [FX.php List] Design for Locked Records? In-Reply-To: References: Message-ID: Jonathan, Happy new year! What type of response do you get from FX if you try to modify a locked record? Do you get error 301 "Record is in use by another user"? Maybe you could trap for that and manage the expectations of your web users that they may need to try again later. Dale On Jan 5, 2010, at 5:55 PM, Jonathan Schwartz wrote: > Any takers? > > I'm developing a solution where the client employees are interacting with the same db that the online system uses. It is possible that an office worker might be "in" a record while the online customer is trying to update. > > What to do? > > Error out? > Try again? > Send a message to the office worker? (possible?) > Save the data to another file? > > Just looking for ideas. > > J > > > Happy New Year Folks, > > Does anyone design for the instance where an fx.php transaction tries to update a record that is being used by a native FileMaker user, and thus is locked? > > If so, how do you handle? > > Thanks > > J > -- > Jonathan Schwartz > Exit 445 Group > jonathan@exit445.com > http://www.exit445.com > 415-370-5011 > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list > -- > Jonathan Schwartz > Exit 445 Group > jonathan@exit445.com > http://www.exit445.com > 415-370-5011 > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list From headhoncho at customikesolutions.com Tue Jan 5 17:30:57 2010 From: headhoncho at customikesolutions.com (Head Honcho) Date: Tue Jan 5 17:29:38 2010 Subject: [FX.php List] Design for Locked Records? In-Reply-To: References: Message-ID: <3BA4FC77-3BC8-45F8-B233-DA0FED713CA8@customikesolutions.com> Hi Jonathan, I haven't bothered with this (yet), as the case of it happening is remote, however, "remote" isn't a very reliable variable! So, it is a good point. I'd trap for error 301 (Record is in use by another user) and maybe 302 (Table is in use by another user) and if you're paranoid 303 (Database schema is in use by another user). If this is the case, the decision has to be made to programatically "try again", eg in a timed loop; store the data in a session variable to try again later (either manually or programatically), or manually try again. In each case, a message to the user would be useful. "Database being used... trying again" or some such. Minor issues can be taken care of, but the major one of someone leaving their cursor in a field, and then going out to lunch/home, could be a real issue, if that field/record is likely to be hit from elsewhere. Food for thought! Regards Michael Ward -- Head Honcho CustoMike Solutions Member, FileMaker Business Alliance Member, FileMaker Technical Network FileMaker 7 Certified Developer FileMaker 8 Certified Developer FileMaker 9 Certified Developer FileMaker 10 Certified Developer 10 Wandoo Crt Wheelers Hill, 3150 ph 0414 562 501 headhoncho@customikesolutions.com On 06/01/2010, at 10:55 AM, Jonathan Schwartz wrote: > Any takers? > > I'm developing a solution where the client employees are interacting > with the same db that the online system uses. It is possible that > an office worker might be "in" a record while the online customer is > trying to update. > > What to do? > > Error out? > Try again? > Send a message to the office worker? (possible?) > Save the data to another file? > > Just looking for ideas. > > J > > > Happy New Year Folks, > > Does anyone design for the instance where an fx.php transaction > tries to update a record that is being used by a native FileMaker > user, and thus is locked? > > If so, how do you handle? > > Thanks > > J > -- > Jonathan Schwartz > Exit 445 Group > jonathan@exit445.com > http://www.exit445.com > 415-370-5011 > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list > -- > Jonathan Schwartz > Exit 445 Group > jonathan@exit445.com > http://www.exit445.com > 415-370-5011 > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list From tcmeyers at troymeyers.com Tue Jan 5 17:31:01 2010 From: tcmeyers at troymeyers.com (Troy Meyers) Date: Tue Jan 5 17:29:40 2010 Subject: [FX.php List] Design for Locked Records? Message-ID: Jonathan, Another thing to check for might be the modid, in case the other user has changed values after the web user has loaded values... which might prevent the web user from putting "old" values back in a record that have been changed... even if the record isn't currently "in use". -Tory From derrick at fogles.net Tue Jan 5 17:38:45 2010 From: derrick at fogles.net (Derrick Fogle) Date: Tue Jan 5 17:37:35 2010 Subject: [FX.php List] Design for Locked Records? In-Reply-To: References: Message-ID: The way I handle this is by trapping for any error (lots more could go wrong than just a locked record). If there is an error, I just shoot all the transaction data off in an email to administrators. The web interface displays a message saying that something went wrong with the "automated" transaction, but staff has been alerted to the problem, given the transaction data, and will take care of it manually. Also a phone number to call to follow up on it if they so desire. At that point, a human being is the best one to arbitrate the transaction data vs current database record data, and email the client back and let them know what's up. It does happen, but it's not very common, and the burden on staff to manually handle the transaction very small, and the customer service reward is big. Derrick From jschwartz at exit445.com Tue Jan 5 17:40:01 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Tue Jan 5 17:39:27 2010 Subject: [FX.php List] Design for Locked Records? In-Reply-To: References: Message-ID: Hi Dale, Thanks for the response. I assume that 301 would be the error. If the FMP user left the cursor in the field and went to lunch or even went home for the day, it would be a long wait. Wondering if anyone is dealing with this, or, just ignoring it. J At 6:22 PM -0600 1/5/10, Dale Bengston wrote: >Jonathan, > >Happy new year! > >What type of response do you get from FX if you try to modify a >locked record? Do you get error 301 "Record is in use by another >user"? Maybe you could trap for that and manage the expectations of >your web users that they may need to try again later. > >Dale > >On Jan 5, 2010, at 5:55 PM, Jonathan Schwartz wrote: > >> Any takers? >> >> I'm developing a solution where the client employees are >>interacting with the same db that the online system uses. It is >>possible that an office worker might be "in" a record while the >>online customer is trying to update. >> >> What to do? >> >> Error out? >> Try again? >> Send a message to the office worker? (possible?) >> Save the data to another file? >> >> Just looking for ideas. >> >> J >> >> >> Happy New Year Folks, >> >> Does anyone design for the instance where an fx.php transaction >>tries to update a record that is being used by a native FileMaker >>user, and thus is locked? >> >> If so, how do you handle? >> >> Thanks >> >> J >> -- >> Jonathan Schwartz >> Exit 445 Group >> jonathan@exit445.com >> http://www.exit445.com >> 415-370-5011 >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list >> -- >> Jonathan Schwartz >> Exit 445 Group >> jonathan@exit445.com >> http://www.exit445.com >> 415-370-5011 >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > >_______________________________________________ >FX.php_List mailing list >FX.php_List@mail.iviking.org >http://www.iviking.org/mailman/listinfo/fx.php_list -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 From tcmeyers at troymeyers.com Tue Jan 5 17:45:26 2010 From: tcmeyers at troymeyers.com (Troy Meyers) Date: Tue Jan 5 17:44:04 2010 Subject: [FX.php List] Design for Locked Records? Message-ID: <05570544.A619.4235.A229.BCCA5E51FCBF@102.1072303> Jonathan, Here, sometimes an in-house user here will genie a window into the dock on a Mac with the cursor in a field. That's a really long wait because even if the user is still there, they aren't aware they've created a problem. I keep trying to get them to use the FileMaker "hide" because that commits the data. -Troy > Hi Dale, > > Thanks for the response. I assume that 301 would be the error. > > If the FMP user left the cursor in the field and went to lunch or even > went home for the day, it would be a long wait. > > Wondering if anyone is dealing with this, or, just ignoring it. > > J From jsfmp at earthlink.net Tue Jan 5 17:50:23 2010 From: jsfmp at earthlink.net (Joel Shapiro) Date: Tue Jan 5 17:49:02 2010 Subject: [FX.php List] Design for Locked Records? In-Reply-To: References: Message-ID: On Jan 5, 2010, at 4:40 PM, Jonathan Schwartz wrote: > If the FMP user left the cursor in the field and went to lunch or > even went home for the day, it would be a long wait. Don't forget that in FMP7(?) and later, the record needs to be *opened* via some editing in a field in order to be locked; just placing a cursor into a field no longer locks a record. -Joel From steve at bluecrocodile.co.nz Wed Jan 6 01:07:20 2010 From: steve at bluecrocodile.co.nz (Steve Winter) Date: Wed Jan 6 01:06:10 2010 Subject: [FX.php List] Design for Locked Records? In-Reply-To: References: Message-ID: Hi Jonathan, In many of my solutions I'm just ignoring it, as there are seldom (if ever) FM client users of most of the systems I've developed. In one solution I've done recently I did have to track it, and I also needed to report on every change that a web user was making in a 'logging' table, so here's what I did; When the web form is loaded it put all of the current values into a session variable, so I know the state of the database at the moment when the web user loaded the page. When the form is submitted, I trap for a 301. If I receive a 301 I then stick the current values which the web user has submitted into a second session variable. Next I retrieve the current values from the database. So I now have three sets of data; - original - web users desired content - db current I then do a comparison, field by field, of each of the fields. First I compare what the web user is submitting, with what's currently in the db. If they are the same, then there's no problem, can just submit that value. If they are different, then I do a second comparison between what was originally in the database, and what is in the database now. By doing this I can tell if the FM Client user has changed things. If these values are the same, then I know that the FM client user has not changed the field, but the web user has, so it's fine to submit that data too. The final check if the original and the current are different, is I then need to compare what the web user was submitting, with what is in there now (i.e what the FM client user did). If they are the same, no problem, can just submit what the web user was doing, since both users have made the same change [this really only works with single select or radio buttons, rarely with text entry or checkboxes] Now I'm left with a (hopefully small) set of cases where both the FM client user, and the Web user have tried to make changes to the same field, but have set different values. If there were no collisions, I now also know which fields the web user was changing, from what, and to what, so can stick those changes into my logging table... At this point, I display the original form back to the web user. I put an error at the top of the page saying 'Another user has modified this record since you began editing it. Please review the errors below'. In the fields where there were no problems, I simply put the submitted data back into the field (so if they were unchanged, only changed by the web user, or changed by both, but to the same thing). Where the 'collisions' occurred, I put what is currently in the database into the field/select/checkbox/radiobutton, then display a text message with the values which the web user had posted beside it. In this way they can see what's in the db now, plus what they were putting in, and amend the new values as required. Because this system is all in a 'closed' solution I can't give you access to it, but if you get really stuck then I could probably rip some code out an knock up a demo quickly enough... Hope this helps... Cheers Steve On 6 Jan 2010, at 00:40, Jonathan Schwartz wrote: > Hi Dale, > > Thanks for the response. I assume that 301 would be the error. > > If the FMP user left the cursor in the field and went to lunch or even went home for the day, it would be a long wait. > > Wondering if anyone is dealing with this, or, just ignoring it. > > J > > At 6:22 PM -0600 1/5/10, Dale Bengston wrote: >> Jonathan, >> >> Happy new year! >> >> What type of response do you get from FX if you try to modify a locked record? Do you get error 301 "Record is in use by another user"? Maybe you could trap for that and manage the expectations of your web users that they may need to try again later. >> >> Dale >> >> On Jan 5, 2010, at 5:55 PM, Jonathan Schwartz wrote: >> >>> Any takers? >>> >>> I'm developing a solution where the client employees are interacting with the same db that the online system uses. It is possible that an office worker might be "in" a record while the online customer is trying to update. >>> >>> What to do? >>> >>> Error out? >>> Try again? >>> Send a message to the office worker? (possible?) >>> Save the data to another file? >>> >>> Just looking for ideas. >>> >>> J >>> >>> >>> Happy New Year Folks, >>> >>> Does anyone design for the instance where an fx.php transaction tries to update a record that is being used by a native FileMaker user, and thus is locked? >>> >>> If so, how do you handle? >>> >>> Thanks >>> >>> J >>> -- >>> Jonathan Schwartz >>> Exit 445 Group >>> jonathan@exit445.com >>> http://www.exit445.com >>> 415-370-5011 >>> _______________________________________________ >>> FX.php_List mailing list >>> FX.php_List@mail.iviking.org >>> http://www.iviking.org/mailman/listinfo/fx.php_list >>> -- >>> Jonathan Schwartz >>> Exit 445 Group >>> jonathan@exit445.com >>> http://www.exit445.com >>> 415-370-5011 >>> _______________________________________________ >>> FX.php_List mailing list >>> FX.php_List@mail.iviking.org >>> http://www.iviking.org/mailman/listinfo/fx.php_list >> >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > > -- > Jonathan Schwartz > Exit 445 Group > jonathan@exit445.com > http://www.exit445.com > 415-370-5011 > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list Steve Winter steve@bluecrocodile.co.nz m: +44 77 7852 4776 3 Calshot Court, Channel Way Ocean Village, Southampton SO14 3GR -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20100106/3a04c5e3/attachment.html From dbengston at tds.net Wed Jan 6 08:17:59 2010 From: dbengston at tds.net (Dale Bengston) Date: Wed Jan 6 08:16:43 2010 Subject: [FX.php List] Design for Locked Records? In-Reply-To: References: Message-ID: <4387E000-CB12-4FFB-B06A-A7440207BE3C@tds.net> Steve, More interesting than collisions with FMP client users, couldn't this also be adapted to avoid collisions with other web users? You'd have to re-query rather than trapping for a 301 error. Now that I think about it, trapping a 301 error doesn't defend against changes committed since a web user loaded a record into their browser; it just traps changes in process. Hmmm. I guess looking at the modID would cover that. Dale On Jan 6, 2010, at 2:07 AM, Steve Winter wrote: > Hi Jonathan, > > In many of my solutions I'm just ignoring it, as there are seldom (if ever) FM client users of most of the systems I've developed. > > In one solution I've done recently I did have to track it, and I also needed to report on every change that a web user was making in a 'logging' table, so here's what I did; > > When the web form is loaded it put all of the current values into a session variable, so I know the state of the database at the moment when the web user loaded the page. > > When the form is submitted, I trap for a 301. If I receive a 301 I then stick the current values which the web user has submitted into a second session variable. Next I retrieve the current values from the database. So I now have three sets of data; > > - original > - web users desired content > - db current > > I then do a comparison, field by field, of each of the fields. > > First I compare what the web user is submitting, with what's currently in the db. If they are the same, then there's no problem, can just submit that value. > > If they are different, then I do a second comparison between what was originally in the database, and what is in the database now. By doing this I can tell if the FM Client user has changed things. If these values are the same, then I know that the FM client user has not changed the field, but the web user has, so it's fine to submit that data too. > > The final check if the original and the current are different, is I then need to compare what the web user was submitting, with what is in there now (i.e what the FM client user did). If they are the same, no problem, can just submit what the web user was doing, since both users have made the same change [this really only works with single select or radio buttons, rarely with text entry or checkboxes] > > Now I'm left with a (hopefully small) set of cases where both the FM client user, and the Web user have tried to make changes to the same field, but have set different values. > > If there were no collisions, I now also know which fields the web user was changing, from what, and to what, so can stick those changes into my logging table... > > At this point, I display the original form back to the web user. I put an error at the top of the page saying 'Another user has modified this record since you began editing it. Please review the errors below'. In the fields where there were no problems, I simply put the submitted data back into the field (so if they were unchanged, only changed by the web user, or changed by both, but to the same thing). > > Where the 'collisions' occurred, I put what is currently in the database into the field/select/checkbox/radiobutton, then display a text message with the values which the web user had posted beside it. In this way they can see what's in the db now, plus what they were putting in, and amend the new values as required. > > Because this system is all in a 'closed' solution I can't give you access to it, but if you get really stuck then I could probably rip some code out an knock up a demo quickly enough... > > Hope this helps... > > Cheers > Steve > > On 6 Jan 2010, at 00:40, Jonathan Schwartz wrote: > >> Hi Dale, >> >> Thanks for the response. I assume that 301 would be the error. >> >> If the FMP user left the cursor in the field and went to lunch or even went home for the day, it would be a long wait. >> >> Wondering if anyone is dealing with this, or, just ignoring it. >> >> J >> >> At 6:22 PM -0600 1/5/10, Dale Bengston wrote: >>> Jonathan, >>> >>> Happy new year! >>> >>> What type of response do you get from FX if you try to modify a locked record? Do you get error 301 "Record is in use by another user"? Maybe you could trap for that and manage the expectations of your web users that they may need to try again later. >>> >>> Dale >>> >>> On Jan 5, 2010, at 5:55 PM, Jonathan Schwartz wrote: >>> >>>> Any takers? >>>> >>>> I'm developing a solution where the client employees are interacting with the same db that the online system uses. It is possible that an office worker might be "in" a record while the online customer is trying to update. >>>> >>>> What to do? >>>> >>>> Error out? >>>> Try again? >>>> Send a message to the office worker? (possible?) >>>> Save the data to another file? >>>> >>>> Just looking for ideas. >>>> >>>> J >>>> >>>> >>>> Happy New Year Folks, >>>> >>>> Does anyone design for the instance where an fx.php transaction tries to update a record that is being used by a native FileMaker user, and thus is locked? >>>> >>>> If so, how do you handle? >>>> >>>> Thanks >>>> >>>> J >>>> -- >>>> Jonathan Schwartz >>>> Exit 445 Group >>>> jonathan@exit445.com >>>> http://www.exit445.com >>>> 415-370-5011 >>>> _______________________________________________ >>>> FX.php_List mailing list >>>> FX.php_List@mail.iviking.org >>>> http://www.iviking.org/mailman/listinfo/fx.php_list >>>> -- >>>> Jonathan Schwartz >>>> Exit 445 Group >>>> jonathan@exit445.com >>>> http://www.exit445.com >>>> 415-370-5011 >>>> _______________________________________________ >>>> FX.php_List mailing list >>>> FX.php_List@mail.iviking.org >>>> http://www.iviking.org/mailman/listinfo/fx.php_list >>> >>> _______________________________________________ >>> FX.php_List mailing list >>> FX.php_List@mail.iviking.org >>> http://www.iviking.org/mailman/listinfo/fx.php_list >> >> >> -- >> Jonathan Schwartz >> Exit 445 Group >> jonathan@exit445.com >> http://www.exit445.com >> 415-370-5011 >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > Steve Winter > steve@bluecrocodile.co.nz > m: +44 77 7852 4776 > 3 Calshot Court, Channel Way > Ocean Village, Southampton SO14 3GR > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20100106/0f2b298d/attachment-0001.html From jschwartz at exit445.com Wed Jan 6 08:45:59 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Wed Jan 6 08:48:59 2010 Subject: [FX.php List] Design for Locked Records? In-Reply-To: References: Message-ID: Wow. That's pretty robust. Nothing technically challenging...just planning for potential conflict. Curious...what determines the level of error trapping and exception handling in your client projects? Do the clients explicitly or implicitly request this level of handling? Clients cover the gamut. Some of my own clients might not notice that the web server has been down for 1/2 day, so record locking isn't high on their list. ;-) In my current project, this is the first where FMP users might have the possibility to conflict. Ultimately, I guess the answer is to present the potential issue to the client and see if they want to pay for extra programming to handle the occasional conflict. Thanks for the perspective. Jonathan >Hi Jonathan, > >In many of my solutions I'm just ignoring it, as there are seldom >(if ever) FM client users of most of the systems I've developed. > >In one solution I've done recently I did have to track it, and I >also needed to report on every change that a web user was making in >a 'logging' table, so here's what I did; > >When the web form is loaded it put all of the current values into a >session variable, so I know the state of the database at the moment >when the web user loaded the page. > >When the form is submitted, I trap for a 301. If I receive a 301 I >then stick the current values which the web user has submitted into >a second session variable. Next I retrieve the current values from >the database. So I now have three sets of data; > > - original > - web users desired content > - db current > >I then do a comparison, field by field, of each of the fields. > >First I compare what the web user is submitting, with what's >currently in the db. If they are the same, then there's no problem, >can just submit that value. > >If they are different, then I do a second comparison between what >was originally in the database, and what is in the database now. By >doing this I can tell if the FM Client user has changed things. If >these values are the same, then I know that the FM client user has >not changed the field, but the web user has, so it's fine to submit >that data too. > >The final check if the original and the current are different, is I >then need to compare what the web user was submitting, with what is >in there now (i.e what the FM client user did). If they are the >same, no problem, can just submit what the web user was doing, since >both users have made the same change [this really only works with >single select or radio buttons, rarely with text entry or checkboxes] > >Now I'm left with a (hopefully small) set of cases where both the FM >client user, and the Web user have tried to make changes to the same >field, but have set different values. > >If there were no collisions, I now also know which fields the web >user was changing, from what, and to what, so can stick those >changes into my logging table... > >At this point, I display the original form back to the web user. I >put an error at the top of the page saying 'Another user has >modified this record since you began editing it. Please review the >errors below'. In the fields where there were no problems, I simply >put the submitted data back into the field (so if they were >unchanged, only changed by the web user, or changed by both, but to >the same thing). > >Where the 'collisions' occurred, I put what is currently in the >database into the field/select/checkbox/radiobutton, then display a >text message with the values which the web user had posted beside >it. In this way they can see what's in the db now, plus what they >were putting in, and amend the new values as required. > >Because this system is all in a 'closed' solution I can't give you >access to it, but if you get really stuck then I could probably rip >some code out an knock up a demo quickly enough... > >Hope this helps... > >Cheers >Steve > >On 6 Jan 2010, at 00:40, Jonathan Schwartz wrote: > >>Hi Dale, >> >>Thanks for the response. I assume that 301 would be the error. >> >>If the FMP user left the cursor in the field and went to lunch or >>even went home for the day, it would be a long wait. >> >>Wondering if anyone is dealing with this, or, just ignoring it. >> >>J >> >>At 6:22 PM -0600 1/5/10, Dale Bengston wrote: >> >>>Jonathan, >>> >>> >>>Happy new year! >>> >>> >>>What type of response do you get from FX if you try to modify a >>>locked record? Do you get error 301 "Record is in use by another >>>user"? Maybe you could trap for that and manage the expectations >>>of your web users that they may need to try again later. >>> >>> >>>Dale >>> >>> >>>On Jan 5, 2010, at 5:55 PM, Jonathan Schwartz wrote: >>> >>> >>>>Any takers? >>>> >>>> >>>>I'm developing a solution where the client employees are >>>>interacting with the same db that the online system uses. It is >>>>possible that an office worker might be "in" a record while the >>>>online customer is trying to update. >>>> >>>> >>>>What to do? >>>> >>>> >>>>Error out? >>>> >>>>Try again? >>>> >>>>Send a message to the office worker? (possible?) >>>> >>>>Save the data to another file? >>>> >>>> >>>>Just looking for ideas. >>>> >>>> >>>>J >>>> >>>> >>>> >>>>Happy New Year Folks, >>>> >>>> >>>>Does anyone design for the instance where an fx.php transaction >>>>tries to update a record that is being used by a native FileMaker >>>>user, and thus is locked? >>>> >>>> >>>>If so, how do you handle? >>>> >>>> >>>>Thanks >>>> >>>> >>>>J >>>> >>>>-- >>>> >>>>Jonathan Schwartz >>>> >>>>Exit 445 Group >>>> >>>>jonathan@exit445.com >>>> >>>>http://www.exit445.com >>>> >>>>415-370-5011 >>>> >>>>_______________________________________________ >>>> >>>>FX.php_List mailing list >>>> >>>>FX.php_List@mail.iviking.org >>>> >>>>http://www.iviking.org/mailman/listinfo/fx.php_list >>>> >>>>-- >>>> >>>>Jonathan Schwartz >>>> >>>>Exit 445 Group >>>> >>>>jonathan@exit445.com >>>> >>>>http://www.exit445.com >>>> >>>>415-370-5011 >>>> >>>>_______________________________________________ >>>> >>>>FX.php_List mailing list >>>> >>>>FX.php_List@mail.iviking.org >>>> >>>>http://www.iviking.org/mailman/listinfo/fx.php_list >>>> >>> >>>_______________________________________________ >>> >>>FX.php_List mailing list >>> >>>FX.php_List@mail.iviking.org >>> >>>http://www.iviking.org/mailman/listinfo/fx.php_list >>> >> >> >>-- >>Jonathan Schwartz >>Exit 445 Group >>jonathan@exit445.com >>http://www.exit445.com >>415-370-5011 >>_______________________________________________ >>FX.php_List mailing list >>FX.php_List@mail.iviking.org >>http://www.iviking.org/mailman/listinfo/fx.php_list >> > >Steve Winter >steve@bluecrocodile.co.nz >m: +44 77 7852 4776 >3 Calshot Court, Channel Way >Ocean Village, Southampton SO14 3GR > > >_______________________________________________ >FX.php_List mailing list >FX.php_List@mail.iviking.org >http://www.iviking.org/mailman/listinfo/fx.php_list -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20100106/223646e0/attachment.html From steve at bluecrocodile.co.nz Wed Jan 6 10:16:58 2010 From: steve at bluecrocodile.co.nz (Steve Winter) Date: Wed Jan 6 10:15:18 2010 Subject: [FX.php List] Design for Locked Records? In-Reply-To: <4387E000-CB12-4FFB-B06A-A7440207BE3C@tds.net> References: <4387E000-CB12-4FFB-B06A-A7440207BE3C@tds.net> Message-ID: Hi Dale, Well actually, I was kind of modifying what I actually do to make it more specific to Jonathan's request... Because I have to do the 'log every change' thing, I actually do all the checking on every submit, so that I know who does what, which as you say does account for other web-based or FM client changes as well as the record being currently locked... Your mentioning checking the modID is something which I hadn't considered and in 99% of cases would save me a 'round' of checks, since if I recorded the modID of my original data I could do a simple check of the current modID at submission time... if it's still the same, then I only have to do a compare of submitted with original... Something for next time ;) Cheers Steve Sent from my iPhone On 6 Jan 2010, at 15:17, Dale Bengston wrote: > Steve, > > More interesting than collisions with FMP client users, couldn't > this also be adapted to avoid collisions with other web users? You'd > have to re-query rather than trapping for a 301 error. Now that I > think about it, trapping a 301 error doesn't defend against changes > committed since a web user loaded a record into their browser; it > just traps changes in process. Hmmm. I guess looking at the modID > would cover that. > > Dale > > On Jan 6, 2010, at 2:07 AM, Steve Winter wrote: > >> Hi Jonathan, >> >> In many of my solutions I'm just ignoring it, as there are seldom >> (if ever) FM client users of most of the systems I've developed. >> >> In one solution I've done recently I did have to track it, and I >> also needed to report on every change that a web user was making in >> a 'logging' table, so here's what I did; >> >> When the web form is loaded it put all of the current values into a >> session variable, so I know the state of the database at the moment >> when the web user loaded the page. >> >> When the form is submitted, I trap for a 301. If I receive a 301 I >> then stick the current values which the web user has submitted into >> a second session variable. Next I retrieve the current values from >> the database. So I now have three sets of data; >> >> - original >> - web users desired content >> - db current >> >> I then do a comparison, field by field, of each of the fields. >> >> First I compare what the web user is submitting, with what's >> currently in the db. If they are the same, then there's no problem, >> can just submit that value. >> >> If they are different, then I do a second comparison between what >> was originally in the database, and what is in the database now. By >> doing this I can tell if the FM Client user has changed things. If >> these values are the same, then I know that the FM client user has >> not changed the field, but the web user has, so it's fine to submit >> that data too. >> >> The final check if the original and the current are different, is I >> then need to compare what the web user was submitting, with what is >> in there now (i.e what the FM client user did). If they are the >> same, no problem, can just submit what the web user was doing, >> since both users have made the same change [this really only works >> with single select or radio buttons, rarely with text entry or >> checkboxes] >> >> Now I'm left with a (hopefully small) set of cases where both the >> FM client user, and the Web user have tried to make changes to the >> same field, but have set different values. >> >> If there were no collisions, I now also know which fields the web >> user was changing, from what, and to what, so can stick those >> changes into my logging table... >> >> At this point, I display the original form back to the web user. I >> put an error at the top of the page saying 'Another user has >> modified this record since you began editing it. Please review the >> errors below'. In the fields where there were no problems, I simply >> put the submitted data back into the field (so if they were >> unchanged, only changed by the web user, or changed by both, but to >> the same thing). >> >> Where the 'collisions' occurred, I put what is currently in the >> database into the field/select/checkbox/radiobutton, then display a >> text message with the values which the web user had posted beside >> it. In this way they can see what's in the db now, plus what they >> were putting in, and amend the new values as required. >> >> Because this system is all in a 'closed' solution I can't give you >> access to it, but if you get really stuck then I could probably rip >> some code out an knock up a demo quickly enough... >> >> Hope this helps... >> >> Cheers >> Steve >> >> On 6 Jan 2010, at 00:40, Jonathan Schwartz wrote: >> >>> Hi Dale, >>> >>> Thanks for the response. I assume that 301 would be the error. >>> >>> If the FMP user left the cursor in the field and went to lunch or >>> even went home for the day, it would be a long wait. >>> >>> Wondering if anyone is dealing with this, or, just ignoring it. >>> >>> J >>> >>> At 6:22 PM -0600 1/5/10, Dale Bengston wrote: >>>> Jonathan, >>>> >>>> Happy new year! >>>> >>>> What type of response do you get from FX if you try to modify a >>>> locked record? Do you get error 301 "Record is in use by another >>>> user"? Maybe you could trap for that and manage the expectations >>>> of your web users that they may need to try again later. >>>> >>>> Dale >>>> >>>> On Jan 5, 2010, at 5:55 PM, Jonathan Schwartz wrote: >>>> >>>>> Any takers? >>>>> >>>>> I'm developing a solution where the client employees are >>>>> interacting with the same db that the online system uses. It is >>>>> possible that an office worker might be "in" a record while the >>>>> online customer is trying to update. >>>>> >>>>> What to do? >>>>> >>>>> Error out? >>>>> Try again? >>>>> Send a message to the office worker? (possible?) >>>>> Save the data to another file? >>>>> >>>>> Just looking for ideas. >>>>> >>>>> J >>>>> >>>>> >>>>> Happy New Year Folks, >>>>> >>>>> Does anyone design for the instance where an fx.php transaction >>>>> tries to update a record that is being used by a native >>>>> FileMaker user, and thus is locked? >>>>> >>>>> If so, how do you handle? >>>>> >>>>> Thanks >>>>> >>>>> J >>>>> -- >>>>> Jonathan Schwartz >>>>> Exit 445 Group >>>>> jonathan@exit445.com >>>>> http://www.exit445.com >>>>> 415-370-5011 >>>>> _______________________________________________ >>>>> FX.php_List mailing list >>>>> FX.php_List@mail.iviking.org >>>>> http://www.iviking.org/mailman/listinfo/fx.php_list >>>>> -- >>>>> Jonathan Schwartz >>>>> Exit 445 Group >>>>> jonathan@exit445.com >>>>> http://www.exit445.com >>>>> 415-370-5011 >>>>> _______________________________________________ >>>>> FX.php_List mailing list >>>>> FX.php_List@mail.iviking.org >>>>> http://www.iviking.org/mailman/listinfo/fx.php_list >>>> >>>> _______________________________________________ >>>> FX.php_List mailing list >>>> FX.php_List@mail.iviking.org >>>> http://www.iviking.org/mailman/listinfo/fx.php_list >>> >>> >>> -- >>> Jonathan Schwartz >>> Exit 445 Group >>> jonathan@exit445.com >>> http://www.exit445.com >>> 415-370-5011 >>> _______________________________________________ >>> FX.php_List mailing list >>> FX.php_List@mail.iviking.org >>> http://www.iviking.org/mailman/listinfo/fx.php_list >> >> Steve Winter >> steve@bluecrocodile.co.nz >> m: +44 77 7852 4776 >> 3 Calshot Court, Channel Way >> Ocean Village, Southampton SO14 3GR >> >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20100106/0a0b9c1d/attachment-0001.html From steve at bluecrocodile.co.nz Wed Jan 6 10:19:54 2010 From: steve at bluecrocodile.co.nz (Steve Winter) Date: Wed Jan 6 10:18:03 2010 Subject: [FX.php List] Design for Locked Records? In-Reply-To: References: Message-ID: Yip, as you say nothing too complex... In terms of how far I go, depends on the solution, the client and the security... If it's anything which invovlea taking money off people, then it's for to be bulletproof! I've got a pretty basic set of things that I do in every solution that I develop to trap for the key issues, then as you say, will enhance to suit the needs/budget of the individual client... Cheers Steve Sent from my iPhone On 6 Jan 2010, at 15:45, Jonathan Schwartz wrote: > Wow. That's pretty robust. Nothing technically challenging...just > planning for potential conflict. > > Curious...what determines the level of error trapping and exception > handling in your client projects? Do the clients explicitly or > implicitly request this level of handling? > > Clients cover the gamut. Some of my own clients might not notice > that the web server has been down for 1/2 day, so record locking > isn't high on their list. ;-) > > In my current project, this is the first where FMP users might have > the possibility to conflict. > > Ultimately, I guess the answer is to present the potential issue to > the client and see if they want to pay for extra programming to > handle the occasional conflict. > > Thanks for the perspective. > > Jonathan > > >> Hi Jonathan, > >> > >> In many of my solutions I'm just ignoring it, as there are seldom >> (if ever) FM client users of most of the systems I've developed. > >> > >> In one solution I've done recently I did have to track it, and I >> also needed to report on every change that a web user was making in >> a 'logging' table, so here's what I did; > >> > >> When the web form is loaded it put all of the current values into a >> session variable, so I know the state of the database at the moment >> when the web user loaded the page. > >> > >> When the form is submitted, I trap for a 301. If I receive a 301 I >> then stick the current values which the web user has submitted into >> a second session variable. Next I retrieve the current values from >> the database. So I now have three sets of data; > >> > >> - original > >> - web users desired content > >> - db current > >> > >> I then do a comparison, field by field, of each of the fields. > >> > >> First I compare what the web user is submitting, with what's >> currently in the db. If they are the same, then there's no problem, >> can just submit that value. > >> > >> If they are different, then I do a second comparison between what >> was originally in the database, and what is in the database now. By >> doing this I can tell if the FM Client user has changed things. If >> these values are the same, then I know that the FM client user has >> not changed the field, but the web user has, so it's fine to submit >> that data too. > >> > >> The final check if the original and the current are different, is I >> then need to compare what the web user was submitting, with what is >> in there now (i.e what the FM client user did). If they are the >> same, no problem, can just submit what the web user was doing, >> since both users have made the same change [this really only works >> with single select or radio buttons, rarely with text entry or >> checkboxes] > >> > >> Now I'm left with a (hopefully small) set of cases where both the >> FM client user, and the Web user have tried to make changes to the >> same field, but have set different values. > >> > >> If there were no collisions, I now also know which fields the web >> user was changing, from what, and to what, so can stick those >> changes into my logging table... > >> > >> At this point, I display the original form back to the web user. I >> put an error at the top of the page saying 'Another user has >> modified this record since you began editing it. Please review the >> errors below'. In the fields where there were no problems, I simply >> put the submitted data back into the field (so if they were >> unchanged, only changed by the web user, or changed by both, but to >> the same thing). > >> > >> Where the 'collisions' occurred, I put what is currently in the >> database into the field/select/checkbox/radiobutton, then display a >> text message with the values which the web user had posted beside >> it. In this way they can see what's in the db now, plus what they >> were putting in, and amend the new values as required. > >> > >> Because this system is all in a 'closed' solution I can't give you >> access to it, but if you get really stuck then I could probably rip >> some code out an knock up a demo quickly enough... > >> > >> Hope this helps... > >> > >> Cheers > >> Steve > >> > >> On 6 Jan 2010, at 00:40, Jonathan Schwartz wrote: > >> >>> Hi Dale, >>> >>> Thanks for the response. I assume that 301 would be the error. >> >>> >>> If the FMP user left the cursor in the field and went to lunch or >>> even went home for the day, it would be a long wait. >>> >>> Wondering if anyone is dealing with this, or, just ignoring it. >>> >>> J >>> >>> At 6:22 PM -0600 1/5/10, Dale Bengston wrote: >>>> Jonathan, >>> >>>> >>> >>>> Happy new year! >>> >>>> >>> >>>> What type of response do you get from FX if you try to modify a >>>> locked record? Do you get error 301 "Record is in use by another >>>> user"? Maybe you could trap for that and manage the expectations >>>> of your web users that they may need to try again later. >>> >>>> >>> >>>> Dale >>> >>>> >>> >>>> On Jan 5, 2010, at 5:55 PM, Jonathan Schwartz wrote: >>> >>>> >>>>> Any takers? >>>> >>>>> >>>> >>>>> I'm developing a solution where the client employees are >>>>> interacting with the same db that the online system uses. It is >>>>> possible that an office worker might be "in" a record while the >>>>> online customer is trying to update. >>>> >>>>> >>>> >>>>> What to do? >>>> >>>>> >>>> >>>>> Error out? >>>> >>>>> Try again? >>>> >>>>> Send a message to the office worker? (possible?) >>>> >>>>> Save the data to another file? >>>> >>>>> >>>> >>>>> Just looking for ideas. >>>> >>>>> >>>> >>>>> J >>>> >>>>> >>>> >>>>> >>>> >>>>> Happy New Year Folks, >>>> >>>>> >>>> >>>>> Does anyone design for the instance where an fx.php transaction >>>>> tries to update a record that is being used by a native >>>>> FileMaker user, and thus is locked? >>>> >>>>> >>>> >>>>> If so, how do you handle? >>>> >>>>> >>>> >>>>> Thanks >>>> >>>>> >>>> >>>>> J >>>> >>>>> -- >>>> >>>>> Jonathan Schwartz >>>> >>>>> Exit 445 Group >>>> >>>>> jonathan@exit445.com >>>> >>>>> http://www.exit445.com >>>> >>>>> 415-370-5011 >>>> >>>>> _______________________________________________ >>>> >>>>> FX.php_List mailing list >>>> >>>>> FX.php_List@mail.iviking.org >>>> >>>>> http://www.iviking.org/mailman/listinfo/fx.php_list >>>> >>>>> -- >>>> >>>>> Jonathan Schwartz >>>> >>>>> Exit 445 Group >>>> >>>>> jonathan@exit445.com >>>> >>>>> http://www.exit445.com >>>> >>>>> 415-370-5011 >>>> >>>>> _______________________________________________ >>>> >>>>> FX.php_List mailing list >>>> >>>>> FX.php_List@mail.iviking.org >>>> >>>>> http://www.iviking.org/mailman/listinfo/fx.php_list >>>> >>> >>>> >>> >>>> _______________________________________________ >>> >>>> FX.php_List mailing list >>> >>>> FX.php_List@mail.iviking.org >>> >>>> http://www.iviking.org/mailman/listinfo/fx.php_list >>> >> >>> >>> >>> -- >>> Jonathan Schwartz >>> Exit 445 Group >>> jonathan@exit445.com >>> http://www.exit445.com >>> 415-370-5011 >>> _______________________________________________ >>> FX.php_List mailing list >>> FX.php_List@mail.iviking.org >>> http://www.iviking.org/mailman/listinfo/fx.php_list >> > >> > >> Steve Winter >> steve@bluecrocodile.co.nz >> m: +44 77 7852 4776 > >> 3 Calshot Court, Channel Way >> Ocean Village, Southampton SO14 3GR > >> > >> >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > > -- > Jonathan Schwartz > Exit 445 Group > jonathan@exit445.com > http://www.exit445.com > 415-370-5011 > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20100106/598b9d4d/attachment.html From jschwartz at exit445.com Thu Jan 7 12:58:38 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Thu Jan 7 12:58:59 2010 Subject: [FX.php List] FMS Server Console gets whacky/ CWP fails under IIS Message-ID: Hi Folks, I have a client who has experienced long term, persistent failures of CWP on a regular basis. I'm looking for answers. The environment is Windows Server 2008 running on a single 64 bit machine with 8GB ram. The FileMaker solution is 5GB or so, and used by an office staff of 15-20 or so. In addition to the native FileMaker users, the system supports a busy web site that handles approximately 30,000 transactions per day. I know that FMI recommends a multiple machine deployment, but the problem may or may not be related to that. This deployment uses the API, but I'm not sure if that matters. Every so often, Custom Web Publishing stops communicating, generating error 22...an error that doesn't appear on any lists that I found so far. With the error, all web pages that require CWP stop responding, although IIS does display the html. When consulting the Server Console, we find that the Console is a bit confused. It displays green indicators for Server and Web Server in the middle of the page. However, the Start and Stop buttons on the upper left say otherwise. The Start Server button is active and can be clicked...although it doesn't do anything. The Web Server buttons suggest that the Web engine is working..but it isn't really. When the problem occurs, we need to perform some or all of the following steps: - Stop/Start IIS - Stop/Start the hardware - Redeploy FileMaker Web Publishing One clue that we have observed is what appears to be a memory leak. Memory usage steadily grows from under 2GB upon restart to 5GB and higher over a day's time. We don't know what is leaking. My involvement in this project is solely the Web Publishing portion. My area of concern is for PHP session data that might be contributing to the problem. I use sessions to store variables that are employed throughout the user session. I destroy sessions when a user reaches an end point in the system. However, some subsystems do not have end points, so I rely on PHP to end the session and do garbage collection. I can not confirm that that is actually happening. Windows is not my strong suit. I have the opportunity to completely eliminate sessions from the PHP programming, relying on POST and GET to pass key fields from page to page and perform queries to retrieve data that I currently use sessions to store. I would do this if I had any confidence that this was the cause of the problem...which I don't. So, my questions are: Does anyone else experience regular failures of Windows based CWP? Are there any special recommendations to keep sessions-related memory under control? Anything else? Thanks Jonathan -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 From jsfmp at earthlink.net Thu Jan 7 13:11:32 2010 From: jsfmp at earthlink.net (Joel Shapiro) Date: Thu Jan 7 13:10:04 2010 Subject: [FX.php List] FMS Server Console gets whacky/ CWP fails under IIS In-Reply-To: References: Message-ID: Hey Jonathan I've got no answers to your problem, but here's a list of FMServer error codes: http://thefmkb.com/7275 Also, according to: http://forum-en.filemaker.com/fm/board/message?board.id=us-fms&thread.id=2604 Error 22 gets produced when a server-side script ends. -Joel On Jan 7, 2010, at 11:58 AM, Jonathan Schwartz wrote: > Hi Folks, > > I have a client who has experienced long term, persistent failures > of CWP on a regular basis. I'm looking for answers. > > The environment is Windows Server 2008 running on a single 64 bit > machine with 8GB ram. The FileMaker solution is 5GB or so, and used > by an office staff of 15-20 or so. In addition to the native > FileMaker users, the system supports a busy web site that handles > approximately 30,000 transactions per day. I know that FMI > recommends a multiple machine deployment, but the problem may or may > not be related to that. > > This deployment uses the API, but I'm not sure if that matters. > > Every so often, Custom Web Publishing stops communicating, > generating error 22...an error that doesn't appear on any lists that > I found so far. With the error, all web pages that require CWP stop > responding, although IIS does display the html. > > When consulting the Server Console, we find that the Console is a > bit confused. It displays green indicators for Server and Web > Server in the middle of the page. However, the Start and Stop > buttons on the upper left say otherwise. The Start Server button is > active and can be clicked...although it doesn't do anything. The > Web Server buttons suggest that the Web engine is working..but it > isn't really. > > When the problem occurs, we need to perform some or all of the > following steps: > - Stop/Start IIS > - Stop/Start the hardware > - Redeploy FileMaker Web Publishing > > One clue that we have observed is what appears to be a memory leak. > Memory usage steadily grows from under 2GB upon restart to 5GB and > higher over a day's time. We don't know what is leaking. > > My involvement in this project is solely the Web Publishing portion. > > My area of concern is for PHP session data that might be > contributing to the problem. I use sessions to store variables that > are employed throughout the user session. I destroy sessions when a > user reaches an end point in the system. However, some subsystems do > not have end points, so I rely on PHP to end the session and do > garbage collection. I can not confirm that that is actually > happening. Windows is not my strong suit. > > I have the opportunity to completely eliminate sessions from the PHP > programming, relying on POST and GET to pass key fields from page > to page and perform queries to retrieve data that I currently use > sessions to store. > > I would do this if I had any confidence that this was the cause of > the problem...which I don't. > > So, my questions are: > > Does anyone else experience regular failures of Windows based CWP? > Are there any special recommendations to keep sessions-related > memory under control? > Anything else? > > Thanks > > Jonathan > > > > > > > -- > Jonathan Schwartz > Exit 445 Group > jonathan@exit445.com > http://www.exit445.com > 415-370-5011 > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list From jsfmp at earthlink.net Thu Jan 7 13:16:21 2010 From: jsfmp at earthlink.net (Joel Shapiro) Date: Thu Jan 7 13:14:53 2010 Subject: [FX.php List] FMS Server Console gets whacky/ CWP fails under IIS In-Reply-To: References: Message-ID: Ooops, Actually, they're "Event Log Messages", not error codes. #22 is an "Informational" "message". (I'll let you decide how "informational" it is ;-) -Joel On Jan 7, 2010, at 12:11 PM, Joel Shapiro wrote: > Hey Jonathan > > I've got no answers to your problem, but here's a list of FMServer > error codes: > http://thefmkb.com/7275 > > Also, according to: > http://forum-en.filemaker.com/fm/board/message?board.id=us-fms&thread.id=2604 > Error 22 gets produced when a server-side script ends. > > -Joel > > > On Jan 7, 2010, at 11:58 AM, Jonathan Schwartz wrote: > >> Hi Folks, >> >> I have a client who has experienced long term, persistent failures >> of CWP on a regular basis. I'm looking for answers. >> >> The environment is Windows Server 2008 running on a single 64 bit >> machine with 8GB ram. The FileMaker solution is 5GB or so, and used >> by an office staff of 15-20 or so. In addition to the native >> FileMaker users, the system supports a busy web site that handles >> approximately 30,000 transactions per day. I know that FMI >> recommends a multiple machine deployment, but the problem may or >> may not be related to that. >> >> This deployment uses the API, but I'm not sure if that matters. >> >> Every so often, Custom Web Publishing stops communicating, >> generating error 22...an error that doesn't appear on any lists >> that I found so far. With the error, all web pages that require >> CWP stop responding, although IIS does display the html. >> >> When consulting the Server Console, we find that the Console is a >> bit confused. It displays green indicators for Server and Web >> Server in the middle of the page. However, the Start and Stop >> buttons on the upper left say otherwise. The Start Server button >> is active and can be clicked...although it doesn't do anything. >> The Web Server buttons suggest that the Web engine is working..but >> it isn't really. >> >> When the problem occurs, we need to perform some or all of the >> following steps: >> - Stop/Start IIS >> - Stop/Start the hardware >> - Redeploy FileMaker Web Publishing >> >> One clue that we have observed is what appears to be a memory leak. >> Memory usage steadily grows from under 2GB upon restart to 5GB and >> higher over a day's time. We don't know what is leaking. >> >> My involvement in this project is solely the Web Publishing portion. >> >> My area of concern is for PHP session data that might be >> contributing to the problem. I use sessions to store variables that >> are employed throughout the user session. I destroy sessions when a >> user reaches an end point in the system. However, some subsystems >> do not have end points, so I rely on PHP to end the session and do >> garbage collection. I can not confirm that that is actually >> happening. Windows is not my strong suit. >> >> I have the opportunity to completely eliminate sessions from the >> PHP programming, relying on POST and GET to pass key fields from >> page to page and perform queries to retrieve data that I currently >> use sessions to store. >> >> I would do this if I had any confidence that this was the cause of >> the problem...which I don't. >> >> So, my questions are: >> >> Does anyone else experience regular failures of Windows based CWP? >> Are there any special recommendations to keep sessions-related >> memory under control? >> Anything else? >> >> Thanks >> >> Jonathan >> >> >> >> >> >> >> -- >> Jonathan Schwartz >> Exit 445 Group >> jonathan@exit445.com >> http://www.exit445.com >> 415-370-5011 >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list From dness at bondedbuilders.com Thu Jan 7 13:34:15 2010 From: dness at bondedbuilders.com (David Ness) Date: Thu Jan 7 13:32:45 2010 Subject: [FX.php List] FMS Server Console gets whacky/ CWP fails under IIS In-Reply-To: References: Message-ID: This may or may not help. It may or may not be in any way related to your issue, but I've been there where anything is worth a try. Our 64-bit Windows Server w/FMSA 10 has a problem whereby the FM Server Admin Console no longer is updated with current status information. This problem happens repeatedly, sometimes every day, sometimes it may go a week or two. The only solution that usually works to get the admin console functioning again without a semi/total restart of the server came to me from a FM engineer. Here is the information as it was provided to me: ---------------- The next time you experience this issue, try issuing this two command line commands: "C:/Program Files/FileMaker/FileMaker Server/Admin/admin-master-tomcat/bin/catalina.bat" stop "C:/Program Files/FileMaker/FileMaker Server/Admin/admin-master-tomcat" "C:/Program Files/FileMaker/FileMaker Server/Admin/admin-master-tomcat/bin/catalina.bat" start "C:/Program Files/FileMaker/FileMaker Server/Admin/admin-master-tomcat" ------------------ IMPORTANT: I have found that I need to wait for 2-4 hours between issuing the "Stop" and the subsequent "Start" commands. Yes, I know this sound implausible, but that's what it takes. Trying to issue the "Start" sooner always fails to produce positive results. HTH in any way. David Allen Ness Database Systems Administrator Web Applications Developer -----Original Message----- From: fx.php_list-bounces@mail.iviking.org [mailto:fx.php_list-bounces@mail.iviking.org] On Behalf Of Jonathan Schwartz Sent: Thursday, January 07, 2010 2:59 PM To: fx.php_list@mail.iviking.org Subject: [FX.php List] FMS Server Console gets whacky/ CWP fails under IIS Hi Folks, I have a client who has experienced long term, persistent failures of CWP on a regular basis. I'm looking for answers. The environment is Windows Server 2008 running on a single 64 bit machine with 8GB ram... From bob at patin.com Thu Jan 7 14:07:11 2010 From: bob at patin.com (Bob Patin) Date: Thu Jan 7 14:08:02 2010 Subject: [FX.php List] FMS Server Console gets whacky/ CWP fails under IIS In-Reply-To: References: Message-ID: Jonathan, When I've seen error 22, and I have only rarely (on Mac OS X Server), it was because the WPE quit working; a web server restart fixes it. With that many transactions I don't understand why they're all on a single machine. If it were my client, I'd RUN to a two-machine configuration first thing. Bob Patin Longterm Solutions bob@longtermsolutions.com 615-333-6858 http://www.longtermsolutions.com iChat: bobpatin FileMaker 10 Certified Developer Member of FileMaker Business Alliance and FileMaker TechNet -------------------------- FileMaker hosting and consulting for all versions of FileMaker PHP ? Full email services ? Free DNS hosting ? Colocation ? Consulting On Jan 7, 2010, at 1:58 PM, Jonathan Schwartz wrote: > Hi Folks, > > I have a client who has experienced long term, persistent failures of CWP on a regular basis. I'm looking for answers. > > The environment is Windows Server 2008 running on a single 64 bit machine with 8GB ram. The FileMaker solution is 5GB or so, and used by an office staff of 15-20 or so. In addition to the native FileMaker users, the system supports a busy web site that handles approximately 30,000 transactions per day. I know that FMI recommends a multiple machine deployment, but the problem may or may not be related to that. > > This deployment uses the API, but I'm not sure if that matters. > > Every so often, Custom Web Publishing stops communicating, generating error 22...an error that doesn't appear on any lists that I found so far. With the error, all web pages that require CWP stop responding, although IIS does display the html. > > When consulting the Server Console, we find that the Console is a bit confused. It displays green indicators for Server and Web Server in the middle of the page. However, the Start and Stop buttons on the upper left say otherwise. The Start Server button is active and can be clicked...although it doesn't do anything. The Web Server buttons suggest that the Web engine is working..but it isn't really. > > When the problem occurs, we need to perform some or all of the following steps: > - Stop/Start IIS > - Stop/Start the hardware > - Redeploy FileMaker Web Publishing > > One clue that we have observed is what appears to be a memory leak. Memory usage steadily grows from under 2GB upon restart to 5GB and higher over a day's time. We don't know what is leaking. > > My involvement in this project is solely the Web Publishing portion. > > My area of concern is for PHP session data that might be contributing to the problem. I use sessions to store variables that are employed throughout the user session. I destroy sessions when a user reaches an end point in the system. However, some subsystems do not have end points, so I rely on PHP to end the session and do garbage collection. I can not confirm that that is actually happening. Windows is not my strong suit. > > I have the opportunity to completely eliminate sessions from the PHP programming, relying on POST and GET to pass key fields from page to page and perform queries to retrieve data that I currently use sessions to store. > > I would do this if I had any confidence that this was the cause of the problem...which I don't. > > So, my questions are: > > Does anyone else experience regular failures of Windows based CWP? > Are there any special recommendations to keep sessions-related memory under control? > Anything else? > > Thanks > > Jonathan > > > > > > > -- > Jonathan Schwartz > Exit 445 Group > jonathan@exit445.com > http://www.exit445.com > 415-370-5011 > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -------------- next part -------------- Skipped content of type multipart/related From jschwartz at exit445.com Thu Jan 7 14:12:55 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Thu Jan 7 14:13:39 2010 Subject: [FX.php List] FMS Server Console gets whacky/ CWP fails under IIS In-Reply-To: References: Message-ID: David, Wow. That explains why a Windows-scripted STOP/RESTART has never worked properly. We did this to help clear the memory and it seemed to cause more problems, such as the Console not responding. Will investigate further. Jonathan At 3:34 PM -0500 1/7/10, David Ness wrote: > > >IMPORTANT: I have found that I need to wait for 2-4 hours between >issuing the "Stop" and the subsequent "Start" commands. Yes, I know this >sound implausible, but that's what it takes. Trying to issue the "Start" >sooner always fails to produce positive results. -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 From jschwartz at exit445.com Thu Jan 7 14:21:27 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Thu Jan 7 14:23:40 2010 Subject: [FX.php List] FMS Server Console gets whacky/ CWP fails under IIS In-Reply-To: References: Message-ID: Skipped content of type multipart/alternative-------------- next part -------------- A non-text attachment was scrubbed... Name: new_logo_idea3_120w 27.jpg Type: image/jpeg Size: 15729 bytes Desc: not available Url : http://mail.iviking.org/pipermail/fx.php_list/attachments/20100107/ca0dd21f/new_logo_idea3_120w27-0001.jpg From bob at patin.com Thu Jan 7 14:51:15 2010 From: bob at patin.com (Bob Patin) Date: Thu Jan 7 14:49:51 2010 Subject: [FX.php List] FMS Server Console gets whacky/ CWP fails under IIS In-Reply-To: References: Message-ID: <35C89BB4-563A-456C-8CFC-ADFD12F38269@patin.com> It happened on one of my machines for the first time last week, and it threw me at first because everything *appeared* to be working, yet a web app wasn't working. When I restarted, the problem went away; that's the first and only time that I can remember it happening to me; these are Mac servers though, so this doesn't help you much, although it does indicate that whatever the problem is, it exists on both platforms. I was under the impression that sessions were written to temp files on the web server, so I don't know how that would be related to session memory. If there's a memory leak in the WPE, then that's another issue. BP Bob Patin Longterm Solutions bob@longtermsolutions.com 615-333-6858 http://www.longtermsolutions.com iChat: bobpatin FileMaker 10 Certified Developer Member of FileMaker Business Alliance and FileMaker TechNet -------------------------- FileMaker hosting and consulting for all versions of FileMaker PHP ? Full email services ? Free DNS hosting ? Colocation ? Consulting On Jan 7, 2010, at 3:21 PM, Jonathan Schwartz wrote: > Yup. I agree. And they are heading that way right now. But that doesn't address what is actually happening, and if session memory handling is the root cause. > -------------- next part -------------- Skipped content of type multipart/related From msyk at msyk.net Mon Jan 11 08:25:21 2010 From: msyk at msyk.net (Masayuki Nii) Date: Mon Jan 11 08:23:39 2010 Subject: [FX.php List] New Style Web App Framework Message-ID: <2136389305.0.1263223522018.JavaMail.msyk@msyk.net> Hi Folks, I've developed the web application framework INTER-Mediator. You can make db- connecting web pages without modification of HTML, mostly. It requires FX.php and FileMaker Server so far, however I will support other database engines. http://msyk.net/im I'm sorry I'm not English native person, I will write documents as Japanese first. I hope you can enjoy it. I don't clearly mention about the licensing, I will take MIT License. Sources will submit to a repository soon. I think it's good to cooperate with a lot of people, developing, documentation and so on. Thanks, _______________________________________________________________ Masayuki Nii/Masayuki Nii :iChat Ready Web Site / OME :Emailer (For personal mail, please change the "msyk" before @ mark to "nii".) From pvanbuskirk at otc.fsu.edu Thu Jan 14 07:19:24 2010 From: pvanbuskirk at otc.fsu.edu (VanBuskirk, Patricia) Date: Thu Jan 14 07:17:35 2010 Subject: [FX.php List] PHP question Message-ID: <70129CA6F836494CA5FD774FEA14E1A3018FCE6D@fsu-exch-12.fsu.edu> This is probably an easy one, but I cannot think this morning! In PHP, if I wanted to see if the contents of a field end with something, how would I word it? Ie. If the Department Name ends in " Hall" (Landis Hall, Bryan Hall, etc), then do this... Here's what I'm trying and it is not working: if (isset($_POST['Department_Name']) && $_POST['Department_Name'] == "* HALL") { Thanks, Trish -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20100114/55188469/attachment.html From gareth.evans at schawk.com Thu Jan 14 07:22:46 2010 From: gareth.evans at schawk.com (Gareth Evans) Date: Thu Jan 14 07:20:51 2010 Subject: [FX.php List] PHP question In-Reply-To: <70129CA6F836494CA5FD774FEA14E1A3018FCE6D@fsu-exch-12.fsu.edu> Message-ID: A preg_match will work. if (isset($_POST['Department_Name']) && preg_match('/hall$/i?, $_POST['Department_Name']) { -- GARETH EVANS > From: "VanBuskirk, Patricia" > Reply-To: "FX.php Discussion List" > Date: Thu, 14 Jan 2010 09:19:24 -0500 > To: "FX.php Discussion List" > Subject: [FX.php List] PHP question > > This is probably an easy one, but I cannot think this morning! In PHP, > if I wanted to see if the contents of a field end with something, how > would I word it? > > > > Ie. If the Department Name ends in " Hall" (Landis Hall, Bryan Hall, > etc), then do this... > > > > Here's what I'm trying and it is not working: > > > > if (isset($_POST['Department_Name']) && $_POST['Department_Name'] == "* > HALL") { > > > > Thanks, > > Trish > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20100114/a47bf686/attachment.html From leo at finalresort.org Thu Jan 14 07:26:47 2010 From: leo at finalresort.org (Leo R. Lundgren) Date: Thu Jan 14 07:24:53 2010 Subject: [FX.php List] PHP question In-Reply-To: References: Message-ID: Add a space to the regex :) Also not that this checks for "hall" as well as "Hall" in the end. 14 jan 2010 kl. 15.22 skrev Gareth Evans: > A preg_match will work. > > if (isset($_POST['Department_Name']) && preg_match('/hall$/i?, > $_POST['Department_Name']) { > -- > GARETH EVANS > > > > From: "VanBuskirk, Patricia" > > Reply-To: "FX.php Discussion List" > > Date: Thu, 14 Jan 2010 09:19:24 -0500 > > To: "FX.php Discussion List" > > Subject: [FX.php List] PHP question > > > > This is probably an easy one, but I cannot think this morning! In > PHP, > > if I wanted to see if the contents of a field end with something, > how > > would I word it? > > > > > > > > Ie. If the Department Name ends in " Hall" (Landis Hall, Bryan Hall, > > etc), then do this... > > > > > > > > Here's what I'm trying and it is not working: > > > > > > > > if (isset($_POST['Department_Name']) && $_POST['Department_Name'] > == "* > > HALL") { > > > > > > > > Thanks, > > > > Trish > > > > _______________________________________________ > > FX.php_List mailing list > > FX.php_List@mail.iviking.org > > http://www.iviking.org/mailman/listinfo/fx.php_list > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -| -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20100114/16c6312b/attachment.html From pvanbuskirk at otc.fsu.edu Thu Jan 14 07:29:48 2010 From: pvanbuskirk at otc.fsu.edu (VanBuskirk, Patricia) Date: Thu Jan 14 07:28:43 2010 Subject: [FX.php List] PHP question In-Reply-To: References: Message-ID: <70129CA6F836494CA5FD774FEA14E1A3018FCE74@fsu-exch-12.fsu.edu> Thanks guys! Can it look for a space in front of it as well, so I wouldn't get anything that just contained the letters "hall" ... in other words, just find the WORD "Hall"? From: fx.php_list-bounces@mail.iviking.org [mailto:fx.php_list-bounces@mail.iviking.org] On Behalf Of Leo R. Lundgren Sent: Thursday, January 14, 2010 9:27 AM To: FX.php Discussion List Subject: Re: [FX.php List] PHP question Add a space to the regex :) Also not that this checks for "hall" as well as "Hall" in the end. 14 jan 2010 kl. 15.22 skrev Gareth Evans: A preg_match will work. if (isset($_POST['Department_Name']) && preg_match('/hall$/i', $_POST['Department_Name']) { -- GARETH EVANS > From: "VanBuskirk, Patricia" > Reply-To: "FX.php Discussion List" > Date: Thu, 14 Jan 2010 09:19:24 -0500 > To: "FX.php Discussion List" > Subject: [FX.php List] PHP question > > This is probably an easy one, but I cannot think this morning! In PHP, > if I wanted to see if the contents of a field end with something, how > would I word it? > > > > Ie. If the Department Name ends in " Hall" (Landis Hall, Bryan Hall, > etc), then do this... > > > > Here's what I'm trying and it is not working: > > > > if (isset($_POST['Department_Name']) && $_POST['Department_Name'] == "* > HALL") { > > > > Thanks, > > Trish > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list _______________________________________________ FX.php_List mailing list FX.php_List@mail.iviking.org http://www.iviking.org/mailman/listinfo/fx.php_list -| -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20100114/3ef85b97/attachment-0001.html From gareth.evans at schawk.com Thu Jan 14 07:40:30 2010 From: gareth.evans at schawk.com (Gareth Evans) Date: Thu Jan 14 07:38:38 2010 Subject: [FX.php List] PHP question In-Reply-To: <70129CA6F836494CA5FD774FEA14E1A3018FCE74@fsu-exch-12.fsu.edu> Message-ID: What I sent will match any string ending in ?hall? (case-insensitive). Leo is right that you should add a space to make it just ?hall? and if you want it to be case-sensitive remove the i. This is the revised one: preg_match('/ Hall$/?, $_POST['Department_Name']) It will match any string ending in ? Hall?. -- GARETH EVANS > From: "VanBuskirk, Patricia" > Reply-To: "FX.php Discussion List" > Date: Thu, 14 Jan 2010 09:29:48 -0500 > To: "FX.php Discussion List" > Subject: RE: [FX.php List] PHP question > > Thanks guys! Can it look for a space in front of it as well, so I > wouldn't get anything that just contained the letters "hall" ... in > other words, just find the WORD "Hall"? > > > > From: fx.php_list-bounces@mail.iviking.org > [mailto:fx.php_list-bounces@mail.iviking.org] On Behalf Of Leo R. > Lundgren > Sent: Thursday, January 14, 2010 9:27 AM > To: FX.php Discussion List > Subject: Re: [FX.php List] PHP question > > > > Add a space to the regex :) > > > > Also not that this checks for "hall" as well as "Hall" in the end. > > > > > > 14 jan 2010 kl. 15.22 skrev Gareth Evans: > > > > > > A preg_match will work. > > if (isset($_POST['Department_Name']) && preg_match('/hall$/i', > $_POST['Department_Name']) { > -- > GARETH EVANS > > >> From: "VanBuskirk, Patricia" >> Reply-To: "FX.php Discussion List" >> Date: Thu, 14 Jan 2010 09:19:24 -0500 >> To: "FX.php Discussion List" >> Subject: [FX.php List] PHP question >> >> This is probably an easy one, but I cannot think this morning! In > PHP, >> if I wanted to see if the contents of a field end with something, how >> would I word it? >> >> >> >> Ie. If the Department Name ends in " Hall" (Landis Hall, Bryan Hall, >> etc), then do this... >> >> >> >> Here's what I'm trying and it is not working: >> >> >> >> if (isset($_POST['Department_Name']) && $_POST['Department_Name'] == > "* >> HALL") { >> >> >> >> Thanks, >> >> Trish >> >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list > > > > > > -| > > > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20100114/be76b809/attachment.html From jschwartz at exit445.com Thu Jan 14 07:53:34 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Thu Jan 14 07:51:41 2010 Subject: [FX.php List] PHP question In-Reply-To: References: Message-ID: How about this... A strpos($haystack,$needle) would also work. The function is designed to return the position of the "needle" in the "haystack", but also returns "FALSE" if the needle does not exist. I understand that it is faster than PREG. if(strpos($_POST['Department_Name'],"Hall") !== FALSE) { Do this } To avoid problems resulting from upper/lower case, use stripos(). Hope there is no "Monte Hall Hall" ;-) HTH Jonathan >A preg_match will work. > >if (isset($_POST['Department_Name']) && preg_match('/hall$/i', >$_POST['Department_Name']) { >-- >GARETH EVANS > -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 From pvanbuskirk at otc.fsu.edu Thu Jan 14 08:26:04 2010 From: pvanbuskirk at otc.fsu.edu (VanBuskirk, Patricia) Date: Thu Jan 14 08:24:37 2010 Subject: [FX.php List] PHP question In-Reply-To: References: Message-ID: <70129CA6F836494CA5FD774FEA14E1A3018FCE98@fsu-exch-12.fsu.edu> Ok, I tried both: if (isset($_POST['Department_Name']) && ($_POST['Department_Name'] == "Student Request" || strpos($_POST['Department_Name'],"Hall") !== FALSE)) { $Student_Dept_Request_Flag = "Student"; } else { $Student_Dept_Request_Flag = "Department"; } if (isset($_POST['Department_Name']) && ($_POST['Department_Name'] == "Student Request" || preg_match('/ Hall$/', $_POST['Department_Name']) )) { $Student_Dept_Request_Flag = "Student"; } else { $Student_Dept_Request_Flag = "Department"; } It doesn't error out, but I checked "Department" in the Student_Dept_Request_Flag field and clicked on a ".. Hall" in the Department dropdown and it does not change "Department" to "Student". The other part of the equation does change it, however ... if I choose "Student Request" from the dropdown. -----Original Message----- From: fx.php_list-bounces@mail.iviking.org [mailto:fx.php_list-bounces@mail.iviking.org] On Behalf Of Jonathan Schwartz Sent: Thursday, January 14, 2010 9:54 AM To: FX.php Discussion List Subject: Re: [FX.php List] PHP question How about this... A strpos($haystack,$needle) would also work. The function is designed to return the position of the "needle" in the "haystack", but also returns "FALSE" if the needle does not exist. I understand that it is faster than PREG. if(strpos($_POST['Department_Name'],"Hall") !== FALSE) { Do this } To avoid problems resulting from upper/lower case, use stripos(). Hope there is no "Monte Hall Hall" ;-) HTH Jonathan >A preg_match will work. > >if (isset($_POST['Department_Name']) && preg_match('/hall$/i', >$_POST['Department_Name']) { >-- >GARETH EVANS > -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 _______________________________________________ FX.php_List mailing list FX.php_List@mail.iviking.org http://www.iviking.org/mailman/listinfo/fx.php_list From pvanbuskirk at otc.fsu.edu Thu Jan 14 08:41:44 2010 From: pvanbuskirk at otc.fsu.edu (VanBuskirk, Patricia) Date: Thu Jan 14 08:40:01 2010 Subject: FW: [FX.php List] PHP question Message-ID: <70129CA6F836494CA5FD774FEA14E1A3018FCEA1@fsu-exch-12.fsu.edu> Guys, they BOTH worked ... I'm just brain dead this morning! I realized that the selections in the drop-down (other than "Student Request" are upper case! As soon as I changed the code to upper-case HALL, all works perfectly! Thanks again for your invaluable assistance! Trish -----Original Message----- From: VanBuskirk, Patricia Sent: Thursday, January 14, 2010 10:26 AM To: 'FX.php Discussion List' Subject: RE: [FX.php List] PHP question Ok, I tried both: if (isset($_POST['Department_Name']) && ($_POST['Department_Name'] == "Student Request" || strpos($_POST['Department_Name'],"Hall") !== FALSE)) { $Student_Dept_Request_Flag = "Student"; } else { $Student_Dept_Request_Flag = "Department"; } if (isset($_POST['Department_Name']) && ($_POST['Department_Name'] == "Student Request" || preg_match('/ Hall$/', $_POST['Department_Name']) )) { $Student_Dept_Request_Flag = "Student"; } else { $Student_Dept_Request_Flag = "Department"; } It doesn't error out, but I checked "Department" in the Student_Dept_Request_Flag field and clicked on a ".. Hall" in the Department dropdown and it does not change "Department" to "Student". The other part of the equation does change it, however ... if I choose "Student Request" from the dropdown. -----Original Message----- From: fx.php_list-bounces@mail.iviking.org [mailto:fx.php_list-bounces@mail.iviking.org] On Behalf Of Jonathan Schwartz Sent: Thursday, January 14, 2010 9:54 AM To: FX.php Discussion List Subject: Re: [FX.php List] PHP question How about this... A strpos($haystack,$needle) would also work. The function is designed to return the position of the "needle" in the "haystack", but also returns "FALSE" if the needle does not exist. I understand that it is faster than PREG. if(strpos($_POST['Department_Name'],"Hall") !== FALSE) { Do this } To avoid problems resulting from upper/lower case, use stripos(). Hope there is no "Monte Hall Hall" ;-) HTH Jonathan >A preg_match will work. > >if (isset($_POST['Department_Name']) && preg_match('/hall$/i', >$_POST['Department_Name']) { >-- >GARETH EVANS > -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 _______________________________________________ FX.php_List mailing list FX.php_List@mail.iviking.org http://www.iviking.org/mailman/listinfo/fx.php_list From leo at finalresort.org Thu Jan 14 08:43:58 2010 From: leo at finalresort.org (Leo R. Lundgren) Date: Thu Jan 14 08:42:03 2010 Subject: [FX.php List] PHP question In-Reply-To: <70129CA6F836494CA5FD774FEA14E1A3018FCEA1@fsu-exch-12.fsu.edu> References: <70129CA6F836494CA5FD774FEA14E1A3018FCEA1@fsu-exch-12.fsu.edu> Message-ID: The strpos() solution doesn't make sure that the word occurs as the last thing in the string though. Just so you know. It would also match "anyHallCamel" just as just "Hall". 14 jan 2010 kl. 16.41 skrev VanBuskirk, Patricia: > Guys, they BOTH worked ... I'm just brain dead this morning! I > realized > that the selections in the drop-down (other than "Student Request" are > upper case! As soon as I changed the code to upper-case HALL, all > works > perfectly! > > Thanks again for your invaluable assistance! > > Trish > > > -----Original Message----- > From: VanBuskirk, Patricia > Sent: Thursday, January 14, 2010 10:26 AM > To: 'FX.php Discussion List' > Subject: RE: [FX.php List] PHP question > > Ok, I tried both: > > if (isset($_POST['Department_Name']) && ($_POST['Department_Name'] == > "Student Request" || strpos($_POST['Department_Name'],"Hall") !== > FALSE)) { > $Student_Dept_Request_Flag = "Student"; > } else { > $Student_Dept_Request_Flag = "Department"; > } > > if (isset($_POST['Department_Name']) && ($_POST['Department_Name'] == > "Student Request" || preg_match('/ Hall$/', $_POST['Department_Name']) > )) { > $Student_Dept_Request_Flag = "Student"; > } else { > $Student_Dept_Request_Flag = "Department"; > } > > It doesn't error out, but I checked "Department" in the > Student_Dept_Request_Flag field and clicked on a ".. Hall" in the > Department dropdown and it does not change "Department" to "Student". > The other part of the equation does change it, however ... if I choose > "Student Request" from the dropdown. > > > > -----Original Message----- > From: fx.php_list-bounces@mail.iviking.org > [mailto:fx.php_list-bounces@mail.iviking.org] On Behalf Of Jonathan > Schwartz > Sent: Thursday, January 14, 2010 9:54 AM > To: FX.php Discussion List > Subject: Re: [FX.php List] PHP question > > How about this... > > A strpos($haystack,$needle) would also work. The function is designed > to return the position of the "needle" in the "haystack", but also > returns "FALSE" if the needle does not exist. > > I understand that it is faster than PREG. > > if(strpos($_POST['Department_Name'],"Hall") !== FALSE) > { > Do this > } > > To avoid problems resulting from upper/lower case, use stripos(). > > Hope there is no "Monte Hall Hall" ;-) > > HTH > > Jonathan > >> A preg_match will work. >> >> if (isset($_POST['Department_Name']) && preg_match('/hall$/i', >> $_POST['Department_Name']) { >> -- >> GARETH EVANS >> > > > -- > Jonathan Schwartz > Exit 445 Group > jonathan@exit445.com > http://www.exit445.com > 415-370-5011 > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -| From dbengston at tds.net Thu Jan 14 09:18:16 2010 From: dbengston at tds.net (Dale Bengston) Date: Thu Jan 14 09:16:25 2010 Subject: [FX.php List] PHP question In-Reply-To: References: <70129CA6F836494CA5FD774FEA14E1A3018FCEA1@fsu-exch-12.fsu.edu> Message-ID: <08AF3EBA-4CEE-4260-BA27-41D8BBF4263F@tds.net> Hi Trish, I love preg_match, but for this specific challenge, have you considered using explode()? If you're always looking for Hall as the last word in a string, then: $wordArray = explode(' ', $_POST['Department_Name']); ... will split each word of your string into an array element, and then you just check the value of the last element. So, if your string is "Monty Hall", the resulting exploded array would be: 0 => Monty 1 => Hall $lastElement = count($wordArray) -1; $lastWord = $wordArray[$lastElement]; if $lastWord = 'Hall' then you have a match. Hope this helps, Dale On Jan 14, 2010, at 9:43 AM, Leo R. Lundgren wrote: > The strpos() solution doesn't make sure that the word occurs as the last thing in the string though. Just so you know. It would also match "anyHallCamel" just as just "Hall". > > > 14 jan 2010 kl. 16.41 skrev VanBuskirk, Patricia: > >> Guys, they BOTH worked ... I'm just brain dead this morning! I realized >> that the selections in the drop-down (other than "Student Request" are >> upper case! As soon as I changed the code to upper-case HALL, all works >> perfectly! >> >> Thanks again for your invaluable assistance! >> >> Trish >> >> >> -----Original Message----- >> From: VanBuskirk, Patricia >> Sent: Thursday, January 14, 2010 10:26 AM >> To: 'FX.php Discussion List' >> Subject: RE: [FX.php List] PHP question >> >> Ok, I tried both: >> >> if (isset($_POST['Department_Name']) && ($_POST['Department_Name'] == >> "Student Request" || strpos($_POST['Department_Name'],"Hall") !== >> FALSE)) { >> $Student_Dept_Request_Flag = "Student"; >> } else { >> $Student_Dept_Request_Flag = "Department"; >> } >> >> if (isset($_POST['Department_Name']) && ($_POST['Department_Name'] == >> "Student Request" || preg_match('/ Hall$/', $_POST['Department_Name']) >> )) { >> $Student_Dept_Request_Flag = "Student"; >> } else { >> $Student_Dept_Request_Flag = "Department"; >> } >> >> It doesn't error out, but I checked "Department" in the >> Student_Dept_Request_Flag field and clicked on a ".. Hall" in the >> Department dropdown and it does not change "Department" to "Student". >> The other part of the equation does change it, however ... if I choose >> "Student Request" from the dropdown. >> >> >> >> -----Original Message----- >> From: fx.php_list-bounces@mail.iviking.org >> [mailto:fx.php_list-bounces@mail.iviking.org] On Behalf Of Jonathan >> Schwartz >> Sent: Thursday, January 14, 2010 9:54 AM >> To: FX.php Discussion List >> Subject: Re: [FX.php List] PHP question >> >> How about this... >> >> A strpos($haystack,$needle) would also work. The function is designed >> to return the position of the "needle" in the "haystack", but also >> returns "FALSE" if the needle does not exist. >> >> I understand that it is faster than PREG. >> >> if(strpos($_POST['Department_Name'],"Hall") !== FALSE) >> { >> Do this >> } >> >> To avoid problems resulting from upper/lower case, use stripos(). >> >> Hope there is no "Monte Hall Hall" ;-) >> >> HTH >> >> Jonathan >> >>> A preg_match will work. >>> >>> if (isset($_POST['Department_Name']) && preg_match('/hall$/i', >>> $_POST['Department_Name']) { >>> -- >>> GARETH EVANS >>> >> >> >> -- >> Jonathan Schwartz >> Exit 445 Group >> jonathan@exit445.com >> http://www.exit445.com >> 415-370-5011 >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > > > -| > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list From pvanbuskirk at otc.fsu.edu Thu Jan 14 09:54:27 2010 From: pvanbuskirk at otc.fsu.edu (VanBuskirk, Patricia) Date: Thu Jan 14 09:53:28 2010 Subject: [FX.php List] PHP question In-Reply-To: <08AF3EBA-4CEE-4260-BA27-41D8BBF4263F@tds.net> References: <70129CA6F836494CA5FD774FEA14E1A3018FCEA1@fsu-exch-12.fsu.edu> <08AF3EBA-4CEE-4260-BA27-41D8BBF4263F@tds.net> Message-ID: <70129CA6F836494CA5FD774FEA14E1A3018FCEDC@fsu-exch-12.fsu.edu> That's very cool ... thanks Dale! -----Original Message----- From: fx.php_list-bounces@mail.iviking.org [mailto:fx.php_list-bounces@mail.iviking.org] On Behalf Of Dale Bengston Sent: Thursday, January 14, 2010 11:18 AM To: FX.php Discussion List Subject: Re: [FX.php List] PHP question Hi Trish, I love preg_match, but for this specific challenge, have you considered using explode()? If you're always looking for Hall as the last word in a string, then: $wordArray = explode(' ', $_POST['Department_Name']); ... will split each word of your string into an array element, and then you just check the value of the last element. So, if your string is "Monty Hall", the resulting exploded array would be: 0 => Monty 1 => Hall $lastElement = count($wordArray) -1; $lastWord = $wordArray[$lastElement]; if $lastWord = 'Hall' then you have a match. Hope this helps, Dale On Jan 14, 2010, at 9:43 AM, Leo R. Lundgren wrote: > The strpos() solution doesn't make sure that the word occurs as the last thing in the string though. Just so you know. It would also match "anyHallCamel" just as just "Hall". > > > 14 jan 2010 kl. 16.41 skrev VanBuskirk, Patricia: > >> Guys, they BOTH worked ... I'm just brain dead this morning! I realized >> that the selections in the drop-down (other than "Student Request" are >> upper case! As soon as I changed the code to upper-case HALL, all works >> perfectly! >> >> Thanks again for your invaluable assistance! >> >> Trish >> >> >> -----Original Message----- >> From: VanBuskirk, Patricia >> Sent: Thursday, January 14, 2010 10:26 AM >> To: 'FX.php Discussion List' >> Subject: RE: [FX.php List] PHP question >> >> Ok, I tried both: >> >> if (isset($_POST['Department_Name']) && ($_POST['Department_Name'] == >> "Student Request" || strpos($_POST['Department_Name'],"Hall") !== >> FALSE)) { >> $Student_Dept_Request_Flag = "Student"; >> } else { >> $Student_Dept_Request_Flag = "Department"; >> } >> >> if (isset($_POST['Department_Name']) && ($_POST['Department_Name'] == >> "Student Request" || preg_match('/ Hall$/', $_POST['Department_Name']) >> )) { >> $Student_Dept_Request_Flag = "Student"; >> } else { >> $Student_Dept_Request_Flag = "Department"; >> } >> >> It doesn't error out, but I checked "Department" in the >> Student_Dept_Request_Flag field and clicked on a ".. Hall" in the >> Department dropdown and it does not change "Department" to "Student". >> The other part of the equation does change it, however ... if I choose >> "Student Request" from the dropdown. >> >> >> >> -----Original Message----- >> From: fx.php_list-bounces@mail.iviking.org >> [mailto:fx.php_list-bounces@mail.iviking.org] On Behalf Of Jonathan >> Schwartz >> Sent: Thursday, January 14, 2010 9:54 AM >> To: FX.php Discussion List >> Subject: Re: [FX.php List] PHP question >> >> How about this... >> >> A strpos($haystack,$needle) would also work. The function is designed >> to return the position of the "needle" in the "haystack", but also >> returns "FALSE" if the needle does not exist. >> >> I understand that it is faster than PREG. >> >> if(strpos($_POST['Department_Name'],"Hall") !== FALSE) >> { >> Do this >> } >> >> To avoid problems resulting from upper/lower case, use stripos(). >> >> Hope there is no "Monte Hall Hall" ;-) >> >> HTH >> >> Jonathan >> >>> A preg_match will work. >>> >>> if (isset($_POST['Department_Name']) && preg_match('/hall$/i', >>> $_POST['Department_Name']) { >>> -- >>> GARETH EVANS >>> >> >> >> -- >> Jonathan Schwartz >> Exit 445 Group >> jonathan@exit445.com >> http://www.exit445.com >> 415-370-5011 >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > > > -| > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list _______________________________________________ FX.php_List mailing list FX.php_List@mail.iviking.org http://www.iviking.org/mailman/listinfo/fx.php_list From jschwartz at exit445.com Fri Jan 15 15:12:39 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Fri Jan 15 15:13:53 2010 Subject: [FX.php List] Wireless BarCode Scanners Message-ID: Anyone done anything with wireless hand-held bar code scanners to report deliveries, ala FedEx, UPS and the like? I know that I could make an iphone friendly CWP application without the bar code part, but that's not the target. J -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 From tcmeyers at troymeyers.com Fri Jan 15 15:51:18 2010 From: tcmeyers at troymeyers.com (Troy Meyers) Date: Fri Jan 15 15:49:16 2010 Subject: [FX.php List] Wireless BarCode Scanners Message-ID: <101A11B8.0686.4478.A797.E4673EF7B06A@102.1072965> Jonathan, I have no good answers, but we are looking at it. If you are excluding iPhone as a platform, then this isn't relevant to you. If iPhone is it, then prior to iPhone OS 3.0 we were approaching the problem using an FSK-input method to the iPhone (without jailbreaking) from a pen scanner with some adapter hardware, through the dock connector. It's physically cumbersome. Now, under 3.1 there are a couple of nicer possibilities, one is using the RedLaser SDK which actually uses the iPhone camera to look at the barcodes. The SDK allows you to collect scans for your own app. It won't work for us right now, though, because that SDK doesn't support Code39 which is what we must use. I don't recall the ones supported, but if you dig around surrounding this page: http://www.redlaser.com/SDK.aspx you might find it. I know UPC is one, and perhaps another (EAN?) Occipital will potentially add Code39 or others in the future (based on email conversions with them) but their plate is pretty full right now. Perhaps if you asked too, it'd add fuel to the fire. The other possibility is that supposedly Bluetooth is more accessible under 3.1. I don't know if it's accessible enough. I'm awaiting delivery of a Bluetooth pen scanner (Baracode Pencil2) which, if it can be made to cooperate with the iPhone would be idea for our application. For us, a pen (especially one without a cord) is best due to ambient light and physical accessibility of the barcode issues. If I can interface the Bluetooth then we'll build data collection from the pen into the app, which really is a CWP application but has to be inside a special "scanner Safari" that allows field to be filled with scan data when appropriate, instead of from the "keyboard". This is all thought-exercise at this point. I'll know more when the pen arrives and I start figuring out that portion of the iPhone development stuff. I have no idea if any will really work out. -Troy > Anyone done anything with wireless hand-held bar code scanners to > report deliveries, ala FedEx, UPS and the like? > > I know that I could make an iphone friendly CWP application without > the bar code part, but that's not the target. > > J From jschwartz at exit445.com Fri Jan 15 16:40:19 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Fri Jan 15 16:41:00 2010 Subject: [FX.php List] Wireless BarCode Scanners In-Reply-To: <101A11B8.0686.4478.A797.E4673EF7B06A@102.1072965> References: <101A11B8.0686.4478.A797.E4673EF7B06A@102.1072965> Message-ID: You know, it was the client who balked at handing out iPhones to delivery drivers. But I suspect that outfitting them with FedEx-like wireless bar code scanners along with wireless service would probably be alot higher. Coincidentally, I started using the RedLaser just last week. What a cool product. J At 2:51 PM -0800 1/15/10, Troy Meyers wrote: >Jonathan, > >I have no good answers, but we are looking at it. If you are >excluding iPhone as a platform, then this isn't relevant to you. If >iPhone is it, then prior to iPhone OS 3.0 we were approaching the >problem using an FSK-input method to the iPhone (without >jailbreaking) from a pen scanner with some adapter hardware, through >the dock connector. It's physically cumbersome. > >Now, under 3.1 there are a couple of nicer possibilities, one is >using the RedLaser SDK which actually uses the iPhone camera to look >at the barcodes. The SDK allows you to collect scans for your own >app. It won't work for us right now, though, because that SDK >doesn't support Code39 which is what we must use. I don't recall the >ones supported, but if you dig around surrounding this page: >http://www.redlaser.com/SDK.aspx >you might find it. I know UPC is one, and perhaps another (EAN?) >Occipital will potentially add Code39 or others in the future (based >on email conversions with them) but their plate is pretty full right >now. Perhaps if you asked too, it'd add fuel to the fire. > >The other possibility is that supposedly Bluetooth is more >accessible under 3.1. I don't know if it's accessible enough. I'm >awaiting delivery of a Bluetooth pen scanner (Baracode Pencil2) >which, if it can be made to cooperate with the iPhone would be idea >for our application. For us, a pen (especially one without a cord) >is best due to ambient light and physical accessibility of the >barcode issues. If I can interface the Bluetooth then we'll build >data collection from the pen into the app, which really is a CWP >application but has to be inside a special "scanner Safari" that >allows field to be filled with scan data when appropriate, instead >of from the "keyboard". > >This is all thought-exercise at this point. I'll know more when the >pen arrives and I start figuring out that portion of the iPhone >development stuff. I have no idea if any will really work out. > >-Troy > > >> Anyone done anything with wireless hand-held bar code scanners to >> report deliveries, ala FedEx, UPS and the like? >> >> I know that I could make an iphone friendly CWP application without >> the bar code part, but that's not the target. >> >> J > >_______________________________________________ >FX.php_List mailing list >FX.php_List@mail.iviking.org >http://www.iviking.org/mailman/listinfo/fx.php_list -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 From dbengston at tds.net Fri Jan 15 17:21:02 2010 From: dbengston at tds.net (Dale Bengston) Date: Fri Jan 15 17:19:32 2010 Subject: [FX.php List] Wireless BarCode Scanners In-Reply-To: References: <101A11B8.0686.4478.A797.E4673EF7B06A@102.1072965> Message-ID: <1311565F-2437-445D-86BB-FD4C31841D43@tds.net> Hey, let's start a rumor that bar-code scanning is yet another feature in the mythical Apple tablet! This has come up twice in my recent lifetime. Once was to scan items in a warehouse. The best idea we came up with was to bolt a laptop with a USB scanner to the forklift. The other one is doing inventory at a school library. It adds a lot of time to empty a shelf and haul books to where the computer with the scanner is located, and it would be easier to take the scanner to the books. Lacking funds, my hack solution is to put the computer (a Mac mini) on a rolling table, and get a long extension cord. I'd prefer an easier (and cheaper) solution than what's available. Keep the ideas flowin'! Dale On Jan 15, 2010, at 5:40 PM, Jonathan Schwartz wrote: > You know, it was the client who balked at handing out iPhones to delivery drivers. But I suspect that outfitting them with FedEx-like wireless bar code scanners along with wireless service would probably be alot higher. > > Coincidentally, I started using the RedLaser just last week. What a cool product. > > > J > > At 2:51 PM -0800 1/15/10, Troy Meyers wrote: >> Jonathan, >> >> I have no good answers, but we are looking at it. If you are excluding iPhone as a platform, then this isn't relevant to you. If iPhone is it, then prior to iPhone OS 3.0 we were approaching the problem using an FSK-input method to the iPhone (without jailbreaking) from a pen scanner with some adapter hardware, through the dock connector. It's physically cumbersome. >> >> Now, under 3.1 there are a couple of nicer possibilities, one is using the RedLaser SDK which actually uses the iPhone camera to look at the barcodes. The SDK allows you to collect scans for your own app. It won't work for us right now, though, because that SDK doesn't support Code39 which is what we must use. I don't recall the ones supported, but if you dig around surrounding this page: >> http://www.redlaser.com/SDK.aspx >> you might find it. I know UPC is one, and perhaps another (EAN?) >> Occipital will potentially add Code39 or others in the future (based on email conversions with them) but their plate is pretty full right now. Perhaps if you asked too, it'd add fuel to the fire. >> >> The other possibility is that supposedly Bluetooth is more accessible under 3.1. I don't know if it's accessible enough. I'm awaiting delivery of a Bluetooth pen scanner (Baracode Pencil2) which, if it can be made to cooperate with the iPhone would be idea for our application. For us, a pen (especially one without a cord) is best due to ambient light and physical accessibility of the barcode issues. If I can interface the Bluetooth then we'll build data collection from the pen into the app, which really is a CWP application but has to be inside a special "scanner Safari" that allows field to be filled with scan data when appropriate, instead of from the "keyboard". >> >> This is all thought-exercise at this point. I'll know more when the pen arrives and I start figuring out that portion of the iPhone development stuff. I have no idea if any will really work out. >> >> -Troy >> >> >>> Anyone done anything with wireless hand-held bar code scanners to >>> report deliveries, ala FedEx, UPS and the like? >>> >>> I know that I could make an iphone friendly CWP application without >>> the bar code part, but that's not the target. >>> >>> J >> >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > > -- > Jonathan Schwartz > Exit 445 Group > jonathan@exit445.com > http://www.exit445.com > 415-370-5011 > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list From bob at patin.com Fri Jan 15 17:43:05 2010 From: bob at patin.com (Bob Patin) Date: Fri Jan 15 17:41:12 2010 Subject: [FX.php List] Wireless BarCode Scanners In-Reply-To: References: <101A11B8.0686.4478.A797.E4673EF7B06A@102.1072965> Message-ID: <63F21D8F-8A80-49F7-A104-D7F5109BE6EA@patin.com> RedLaser? Isn't that some sort of energy drink? No wonder you're bouncing off the walls! BP On Jan 15, 2010, at 5:40 PM, Jonathan Schwartz wrote: > You know, it was the client who balked at handing out iPhones to delivery drivers. But I suspect that outfitting them with FedEx-like wireless bar code scanners along with wireless service would probably be alot higher. > > Coincidentally, I started using the RedLaser just last week. What a cool product. From bob at patin.com Fri Jan 15 17:46:26 2010 From: bob at patin.com (Bob Patin) Date: Fri Jan 15 17:44:27 2010 Subject: [FX.php List] Wireless BarCode Scanners In-Reply-To: <1311565F-2437-445D-86BB-FD4C31841D43@tds.net> References: <101A11B8.0686.4478.A797.E4673EF7B06A@102.1072965> <1311565F-2437-445D-86BB-FD4C31841D43@tds.net> Message-ID: <8643E044-E574-41CD-83B1-8ED8A4340A00@patin.com> I'm working on a project now that involves barcode scanners. We're dealing with it 2 different ways: This client has 2 tourist museums--one in Branson, MO, the 2nd soon to open in Pigeon Forge (Gatlinburg), TN; we're using barcode scanners to scan product in the giftshop, and also for scanning tickets at the entrance. In the giftshop, I believe they're going to install counter-mounted scanners; incidentally, these same desktop-mounted scanners were used as props on the bridge of USS Enterprise in the latest "Star Trek" movie. This is an all-Windows shop so I haven't tried out the scanner on the Mac, other than a cursory test, but it's been interesting writing code to scan products. I ended up using an on timer script trigger and it works extremely well. Bob Patin Longterm Solutions LLC P.O. Box 3408 Brentwood, TN 37024 bob@longtermsolutions.com 615-333-6858 http://www.longtermsolutions.com iChat: bobpatin Twitter: bobpatin FileMaker 10 Certified Developer Member of FileMaker Business Alliance and FileMaker TechNet -------------------------- FileMaker hosting and consulting for all versions of FileMaker PHP ? Full email services ? Free DNS hosting ? Colocation ? Consulting On Jan 15, 2010, at 6:21 PM, Dale Bengston wrote: > Hey, let's start a rumor that bar-code scanning is yet another feature in the mythical Apple tablet! > > This has come up twice in my recent lifetime. Once was to scan items in a warehouse. The best idea we came up with was to bolt a laptop with a USB scanner to the forklift. The other one is doing inventory at a school library. > > It adds a lot of time to empty a shelf and haul books to where the computer with the scanner is located, and it would be easier to take the scanner to the books. Lacking funds, my hack solution is to put the computer (a Mac mini) on a rolling table, and get a long extension cord. > > I'd prefer an easier (and cheaper) solution than what's available. Keep the ideas flowin'! > > Dale > > On Jan 15, 2010, at 5:40 PM, Jonathan Schwartz wrote: > >> You know, it was the client who balked at handing out iPhones to delivery drivers. But I suspect that outfitting them with FedEx-like wireless bar code scanners along with wireless service would probably be alot higher. >> >> Coincidentally, I started using the RedLaser just last week. What a cool product. >> >> >> J >> >> At 2:51 PM -0800 1/15/10, Troy Meyers wrote: >>> Jonathan, >>> >>> I have no good answers, but we are looking at it. If you are excluding iPhone as a platform, then this isn't relevant to you. If iPhone is it, then prior to iPhone OS 3.0 we were approaching the problem using an FSK-input method to the iPhone (without jailbreaking) from a pen scanner with some adapter hardware, through the dock connector. It's physically cumbersome. >>> >>> Now, under 3.1 there are a couple of nicer possibilities, one is using the RedLaser SDK which actually uses the iPhone camera to look at the barcodes. The SDK allows you to collect scans for your own app. It won't work for us right now, though, because that SDK doesn't support Code39 which is what we must use. I don't recall the ones supported, but if you dig around surrounding this page: >>> http://www.redlaser.com/SDK.aspx >>> you might find it. I know UPC is one, and perhaps another (EAN?) >>> Occipital will potentially add Code39 or others in the future (based on email conversions with them) but their plate is pretty full right now. Perhaps if you asked too, it'd add fuel to the fire. >>> >>> The other possibility is that supposedly Bluetooth is more accessible under 3.1. I don't know if it's accessible enough. I'm awaiting delivery of a Bluetooth pen scanner (Baracode Pencil2) which, if it can be made to cooperate with the iPhone would be idea for our application. For us, a pen (especially one without a cord) is best due to ambient light and physical accessibility of the barcode issues. If I can interface the Bluetooth then we'll build data collection from the pen into the app, which really is a CWP application but has to be inside a special "scanner Safari" that allows field to be filled with scan data when appropriate, instead of from the "keyboard". >>> >>> This is all thought-exercise at this point. I'll know more when the pen arrives and I start figuring out that portion of the iPhone development stuff. I have no idea if any will really work out. >>> >>> -Troy >>> >>> >>>> Anyone done anything with wireless hand-held bar code scanners to >>>> report deliveries, ala FedEx, UPS and the like? >>>> >>>> I know that I could make an iphone friendly CWP application without >>>> the bar code part, but that's not the target. >>>> >>>> J >>> >>> _______________________________________________ >>> FX.php_List mailing list >>> FX.php_List@mail.iviking.org >>> http://www.iviking.org/mailman/listinfo/fx.php_list >> >> >> -- >> Jonathan Schwartz >> Exit 445 Group >> jonathan@exit445.com >> http://www.exit445.com >> 415-370-5011 >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -------------- next part -------------- Skipped content of type multipart/related From jschwartz at exit445.com Fri Jan 15 19:25:57 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Fri Jan 15 19:25:25 2010 Subject: [FX.php List] Wireless BarCode Scanners In-Reply-To: <1311565F-2437-445D-86BB-FD4C31841D43@tds.net> References: <101A11B8.0686.4478.A797.E4673EF7B06A@102.1072965> <1311565F-2437-445D-86BB-FD4C31841D43@tds.net> Message-ID: <00185C22-DCC8-4002-9258-45799ED879CE@exit445.com> Well here's a reality... I was just at an Apple store buying a replacement ac adapter for my kids MacBook, an the rep hauled out an iPhone with integrated laser bar code reader to scan the UPC. Actually, the scanner was molded into a plastic case that also held the iPhone/iPod. The sales rep didn't have any info about the product. Obviously a special build for apple stores. Jonathan Schwartz Exit 445 Group 415-370-5011 On Jan 15, 2010, at 4:21 PM, Dale Bengston wrote: > Hey, let's start a rumor that bar-code scanning is yet another > feature in the mythical Apple tablet! > > This has come up twice in my recent lifetime. Once was to scan items > in a warehouse. The best idea we came up with was to bolt a laptop > with a USB scanner to the forklift. The other one is doing inventory > at a school library. > > It adds a lot of time to empty a shelf and haul books to where the > computer with the scanner is located, and it would be easier to take > the scanner to the books. Lacking funds, my hack solution is to put > the computer (a Mac mini) on a rolling table, and get a long > extension cord. > > I'd prefer an easier (and cheaper) solution than what's available. > Keep the ideas flowin'! > > Dale > > On Jan 15, 2010, at 5:40 PM, Jonathan Schwartz wrote: > >> You know, it was the client who balked at handing out iPhones to >> delivery drivers. But I suspect that outfitting them with FedEx- >> like wireless bar code scanners along with wireless service would >> probably be alot higher. >> >> Coincidentally, I started using the RedLaser just last week. What a >> cool product. >> >> >> J >> >> At 2:51 PM -0800 1/15/10, Troy Meyers wrote: >>> Jonathan, >>> >>> I have no good answers, but we are looking at it. If you are >>> excluding iPhone as a platform, then this isn't relevant to you. >>> If iPhone is it, then prior to iPhone OS 3.0 we were approaching >>> the problem using an FSK-input method to the iPhone (without >>> jailbreaking) from a pen scanner with some adapter hardware, >>> through the dock connector. It's physically cumbersome. >>> >>> Now, under 3.1 there are a couple of nicer possibilities, one is >>> using the RedLaser SDK which actually uses the iPhone camera to >>> look at the barcodes. The SDK allows you to collect scans for your >>> own app. It won't work for us right now, though, because that SDK >>> doesn't support Code39 which is what we must use. I don't recall >>> the ones supported, but if you dig around surrounding this page: >>> http://www.redlaser.com/SDK.aspx >>> you might find it. I know UPC is one, and perhaps another (EAN?) >>> Occipital will potentially add Code39 or others in the future >>> (based on email conversions with them) but their plate is pretty >>> full right now. Perhaps if you asked too, it'd add fuel to the fire. >>> >>> The other possibility is that supposedly Bluetooth is more >>> accessible under 3.1. I don't know if it's accessible enough. I'm >>> awaiting delivery of a Bluetooth pen scanner (Baracode Pencil2) >>> which, if it can be made to cooperate with the iPhone would be >>> idea for our application. For us, a pen (especially one without a >>> cord) is best due to ambient light and physical accessibility of >>> the barcode issues. If I can interface the Bluetooth then we'll >>> build data collection from the pen into the app, which really is a >>> CWP application but has to be inside a special "scanner Safari" >>> that allows field to be filled with scan data when appropriate, >>> instead of from the "keyboard". >>> >>> This is all thought-exercise at this point. I'll know more when >>> the pen arrives and I start figuring out that portion of the >>> iPhone development stuff. I have no idea if any will really work >>> out. >>> >>> -Troy >>> >>> >>>> Anyone done anything with wireless hand-held bar code scanners to >>>> report deliveries, ala FedEx, UPS and the like? >>>> >>>> I know that I could make an iphone friendly CWP application without >>>> the bar code part, but that's not the target. >>>> >>>> J >>> >>> _______________________________________________ >>> FX.php_List mailing list >>> FX.php_List@mail.iviking.org >>> http://www.iviking.org/mailman/listinfo/fx.php_list >> >> >> -- >> Jonathan Schwartz >> Exit 445 Group >> jonathan@exit445.com >> http://www.exit445.com >> 415-370-5011 >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list From headhoncho at customikesolutions.com Fri Jan 15 19:33:17 2010 From: headhoncho at customikesolutions.com (Head Honcho) Date: Fri Jan 15 19:31:21 2010 Subject: [FX.php List] Wireless BarCode Scanners In-Reply-To: <00185C22-DCC8-4002-9258-45799ED879CE@exit445.com> References: <101A11B8.0686.4478.A797.E4673EF7B06A@102.1072965> <1311565F-2437-445D-86BB-FD4C31841D43@tds.net> <00185C22-DCC8-4002-9258-45799ED879CE@exit445.com> Message-ID: Hi All, This was an iPod touch, and yes, it's an inhouse project. This case was built by apple, and runs their (newly developed) POS system. I'm yearning for this to be "released" as an iPhone attachment, although even iPod Touch would be great for inhouse systems Regards Michael Ward -- Head Honcho CustoMike Solutions Member, FileMaker Business Alliance Member, FileMaker Technical Network FileMaker 7 Certified Developer FileMaker 8 Certified Developer FileMaker 9 Certified Developer FileMaker 10 Certified Developer 10 Wandoo Crt Wheelers Hill, 3150 ph 0414 562 501 headhoncho@customikesolutions.com On 16/01/2010, at 1:25 PM, Jonathan Schwartz wrote: > Well here's a reality... I was just at an Apple store buying a replacement ac adapter for my kids MacBook, an the rep hauled out an iPhone with integrated laser bar code reader to scan the UPC. Actually, the scanner was molded into a plastic case that also held the iPhone/iPod. The sales rep didn't have any info about the product. Obviously a special build for apple stores. > > Jonathan Schwartz > Exit 445 Group > 415-370-5011 > > On Jan 15, 2010, at 4:21 PM, Dale Bengston wrote: > >> Hey, let's start a rumor that bar-code scanning is yet another feature in the mythical Apple tablet! >> >> This has come up twice in my recent lifetime. Once was to scan items in a warehouse. The best idea we came up with was to bolt a laptop with a USB scanner to the forklift. The other one is doing inventory at a school library. >> >> It adds a lot of time to empty a shelf and haul books to where the computer with the scanner is located, and it would be easier to take the scanner to the books. Lacking funds, my hack solution is to put the computer (a Mac mini) on a rolling table, and get a long extension cord. >> >> I'd prefer an easier (and cheaper) solution than what's available. Keep the ideas flowin'! >> >> Dale >> >> On Jan 15, 2010, at 5:40 PM, Jonathan Schwartz wrote: >> >>> You know, it was the client who balked at handing out iPhones to delivery drivers. But I suspect that outfitting them with FedEx-like wireless bar code scanners along with wireless service would probably be alot higher. >>> >>> Coincidentally, I started using the RedLaser just last week. What a cool product. >>> >>> >>> J >>> >>> At 2:51 PM -0800 1/15/10, Troy Meyers wrote: >>>> Jonathan, >>>> >>>> I have no good answers, but we are looking at it. If you are excluding iPhone as a platform, then this isn't relevant to you. If iPhone is it, then prior to iPhone OS 3.0 we were approaching the problem using an FSK-input method to the iPhone (without jailbreaking) from a pen scanner with some adapter hardware, through the dock connector. It's physically cumbersome. >>>> >>>> Now, under 3.1 there are a couple of nicer possibilities, one is using the RedLaser SDK which actually uses the iPhone camera to look at the barcodes. The SDK allows you to collect scans for your own app. It won't work for us right now, though, because that SDK doesn't support Code39 which is what we must use. I don't recall the ones supported, but if you dig around surrounding this page: >>>> http://www.redlaser.com/SDK.aspx >>>> you might find it. I know UPC is one, and perhaps another (EAN?) >>>> Occipital will potentially add Code39 or others in the future (based on email conversions with them) but their plate is pretty full right now. Perhaps if you asked too, it'd add fuel to the fire. >>>> >>>> The other possibility is that supposedly Bluetooth is more accessible under 3.1. I don't know if it's accessible enough. I'm awaiting delivery of a Bluetooth pen scanner (Baracode Pencil2) which, if it can be made to cooperate with the iPhone would be idea for our application. For us, a pen (especially one without a cord) is best due to ambient light and physical accessibility of the barcode issues. If I can interface the Bluetooth then we'll build data collection from the pen into the app, which really is a CWP application but has to be inside a special "scanner Safari" that allows field to be filled with scan data when appropriate, instead of from the "keyboard". >>>> >>>> This is all thought-exercise at this point. I'll know more when the pen arrives and I start figuring out that portion of the iPhone development stuff. I have no idea if any will really work out. >>>> >>>> -Troy >>>> >>>> >>>>> Anyone done anything with wireless hand-held bar code scanners to >>>>> report deliveries, ala FedEx, UPS and the like? >>>>> >>>>> I know that I could make an iphone friendly CWP application without >>>>> the bar code part, but that's not the target. >>>>> >>>>> J >>>> >>>> _______________________________________________ >>>> FX.php_List mailing list >>>> FX.php_List@mail.iviking.org >>>> http://www.iviking.org/mailman/listinfo/fx.php_list >>> >>> >>> -- >>> Jonathan Schwartz >>> Exit 445 Group >>> jonathan@exit445.com >>> http://www.exit445.com >>> 415-370-5011 >>> _______________________________________________ >>> FX.php_List mailing list >>> FX.php_List@mail.iviking.org >>> http://www.iviking.org/mailman/listinfo/fx.php_list >> >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list From bob at patin.com Fri Jan 15 20:03:22 2010 From: bob at patin.com (Bob Patin) Date: Fri Jan 15 20:23:54 2010 Subject: [FX.php List] Wireless BarCode Scanners In-Reply-To: <00185C22-DCC8-4002-9258-45799ED879CE@exit445.com> References: <101A11B8.0686.4478.A797.E4673EF7B06A@102.1072965> <1311565F-2437-445D-86BB-FD4C31841D43@tds.net> <00185C22-DCC8-4002-9258-45799ED879CE@exit445.com> Message-ID: <565317B9-B669-41E4-986B-D876A7132DE4@patin.com> They just came out with that; believe it or not, they *used* to use Windows Mobile. There have been a lot of requests for the company to make this device publicly available... Bob Patin Longterm Solutions LLC P.O. Box 3408 Brentwood, TN 37024 bob@longtermsolutions.com 615-333-6858 http://www.longtermsolutions.com iChat: bobpatin Twitter: bobpatin FileMaker 10 Certified Developer Member of FileMaker Business Alliance and FileMaker TechNet -------------------------- FileMaker hosting and consulting for all versions of FileMaker PHP ? Full email services ? Free DNS hosting ? Colocation ? Consulting On Jan 15, 2010, at 8:25 PM, Jonathan Schwartz wrote: > Well here's a reality... I was just at an Apple store buying a replacement ac adapter for my kids MacBook, an the rep hauled out an iPhone with integrated laser bar code reader to scan the UPC. Actually, the scanner was molded into a plastic case that also held the iPhone/iPod. The sales rep didn't have any info about the product. Obviously a special build for apple stores. > > Jonathan Schwartz > Exit 445 Group > 415-370-5011 > > On Jan 15, 2010, at 4:21 PM, Dale Bengston wrote: > >> Hey, let's start a rumor that bar-code scanning is yet another feature in the mythical Apple tablet! >> >> This has come up twice in my recent lifetime. Once was to scan items in a warehouse. The best idea we came up with was to bolt a laptop with a USB scanner to the forklift. The other one is doing inventory at a school library. >> >> It adds a lot of time to empty a shelf and haul books to where the computer with the scanner is located, and it would be easier to take the scanner to the books. Lacking funds, my hack solution is to put the computer (a Mac mini) on a rolling table, and get a long extension cord. >> >> I'd prefer an easier (and cheaper) solution than what's available. Keep the ideas flowin'! >> >> Dale >> >> On Jan 15, 2010, at 5:40 PM, Jonathan Schwartz wrote: >> >>> You know, it was the client who balked at handing out iPhones to delivery drivers. But I suspect that outfitting them with FedEx-like wireless bar code scanners along with wireless service would probably be alot higher. >>> >>> Coincidentally, I started using the RedLaser just last week. What a cool product. >>> >>> >>> J >>> >>> At 2:51 PM -0800 1/15/10, Troy Meyers wrote: >>>> Jonathan, >>>> >>>> I have no good answers, but we are looking at it. If you are excluding iPhone as a platform, then this isn't relevant to you. If iPhone is it, then prior to iPhone OS 3.0 we were approaching the problem using an FSK-input method to the iPhone (without jailbreaking) from a pen scanner with some adapter hardware, through the dock connector. It's physically cumbersome. >>>> >>>> Now, under 3.1 there are a couple of nicer possibilities, one is using the RedLaser SDK which actually uses the iPhone camera to look at the barcodes. The SDK allows you to collect scans for your own app. It won't work for us right now, though, because that SDK doesn't support Code39 which is what we must use. I don't recall the ones supported, but if you dig around surrounding this page: >>>> http://www.redlaser.com/SDK.aspx >>>> you might find it. I know UPC is one, and perhaps another (EAN?) >>>> Occipital will potentially add Code39 or others in the future (based on email conversions with them) but their plate is pretty full right now. Perhaps if you asked too, it'd add fuel to the fire. >>>> >>>> The other possibility is that supposedly Bluetooth is more accessible under 3.1. I don't know if it's accessible enough. I'm awaiting delivery of a Bluetooth pen scanner (Baracode Pencil2) which, if it can be made to cooperate with the iPhone would be idea for our application. For us, a pen (especially one without a cord) is best due to ambient light and physical accessibility of the barcode issues. If I can interface the Bluetooth then we'll build data collection from the pen into the app, which really is a CWP application but has to be inside a special "scanner Safari" that allows field to be filled with scan data when appropriate, instead of from the "keyboard". >>>> >>>> This is all thought-exercise at this point. I'll know more when the pen arrives and I start figuring out that portion of the iPhone development stuff. I have no idea if any will really work out. >>>> >>>> -Troy >>>> >>>> >>>>> Anyone done anything with wireless hand-held bar code scanners to >>>>> report deliveries, ala FedEx, UPS and the like? >>>>> >>>>> I know that I could make an iphone friendly CWP application without >>>>> the bar code part, but that's not the target. >>>>> >>>>> J >>>> >>>> _______________________________________________ >>>> FX.php_List mailing list >>>> FX.php_List@mail.iviking.org >>>> http://www.iviking.org/mailman/listinfo/fx.php_list >>> >>> >>> -- >>> Jonathan Schwartz >>> Exit 445 Group >>> jonathan@exit445.com >>> http://www.exit445.com >>> 415-370-5011 >>> _______________________________________________ >>> FX.php_List mailing list >>> FX.php_List@mail.iviking.org >>> http://www.iviking.org/mailman/listinfo/fx.php_list >> >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -------------- next part -------------- Skipped content of type multipart/related From jschwartz at exit445.com Fri Jan 22 12:17:37 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Fri Jan 22 12:15:31 2010 Subject: [FX.php List] Which time to use for international application? Message-ID: Hi Folks, Any words of wisdom on which time to use in a web application intended to be used worldwide and display time stamped information back on the web page.? Company is based in California. Server is too, but it may not always be.. Then, there's the users's local time. And then there's UTC. Advice? J -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 From leo at finalresort.org Fri Jan 22 12:23:13 2010 From: leo at finalresort.org (Leo R. Lundgren) Date: Fri Jan 22 12:20:44 2010 Subject: [FX.php List] Which time to use for international application? In-Reply-To: References: Message-ID: <40C9DD56-0CE5-47E1-8E4D-76DC5331EEA7@finalresort.org> I presume you want "raw"/neutral data in your database, so I guess you want to store it according to some standard time like GMT or something. Then in the application itself display the date adjusted to the current time. That's just how I think about it. 22 jan 2010 kl. 20.17 skrev Jonathan Schwartz: > Hi Folks, > > Any words of wisdom on which time to use in a web application > intended to be used worldwide and display time stamped information > back on the web page.? Company is based in California. Server is > too, but it may not always be.. Then, there's the users's local > time. And then there's UTC. > > Advice? > > J > -- > Jonathan Schwartz > Exit 445 Group > jonathan@exit445.com > http://www.exit445.com > 415-370-5011 > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -| From bob at patin.com Sat Jan 23 10:09:10 2010 From: bob at patin.com (Bob Patin) Date: Sat Jan 23 10:06:50 2010 Subject: [FX.php List] Which time to use for international application? In-Reply-To: <40C9DD56-0CE5-47E1-8E4D-76DC5331EEA7@finalresort.org> References: <40C9DD56-0CE5-47E1-8E4D-76DC5331EEA7@finalresort.org> Message-ID: <8F4237C2-1C71-4F9F-B6D9-5E771243CE98@patin.com> Jonathan, If your site's visitors are from multiple time zones, and they login to use the app, I would probably store the user's time zone in his record, and on the site adjust the stored timestamp (or date) based on their stored zone. What time zone is used to store timestamps on the server is irrelevant in that case, since you're adjusting it according to each user's location. If your site needs to always show one specific time zone, it's almost arbitrary, IMO; I would probably go with the zone where the bulk of the users reside, where possible. The PHP date() calcs are easy to use... I'm doing this from memory, but I think the formula for lowering the time by an hour is date("h:i:s" getastime($mytime)-3600) to reduce by an hour... Best, Bob Patin Longterm Solutions LLC P.O. Box 3408 Brentwood, TN 37024 bob@longtermsolutions.com 615-333-6858 http://www.longtermsolutions.com iChat: bobpatin Twitter: bobpatin FileMaker 10 Certified Developer Member of FileMaker Business Alliance and FileMaker TechNet -------------------------- FileMaker hosting and consulting for all versions of FileMaker PHP ? Full email services ? Free DNS hosting ? Colocation ? Consulting > I presume you want "raw"/neutral data in your database, so I guess you want to store it according to some standard time like GMT or something. Then in the application itself display the date adjusted to the current time. That's just how I think about it. > > 22 jan 2010 kl. 20.17 skrev Jonathan Schwartz: > >> Hi Folks, >> >> Any words of wisdom on which time to use in a web application intended to be used worldwide and display time stamped information back on the web page.? Company is based in California. Server is too, but it may not always be.. Then, there's the users's local time. And then there's UTC. >> >> Advice? >> >> J >> -- >> Jonathan Schwartz >> Exit 445 Group >> jonathan@exit445.com >> http://www.exit445.com >> 415-370-5011 >> _______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > > > -| > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -------------- next part -------------- Skipped content of type multipart/related From jschwartz at exit445.com Sun Jan 24 11:30:25 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Sun Jan 24 11:28:04 2010 Subject: [FX.php List] Server Migration - Theory vs Real Life Message-ID: Hi Folks, A question... What should the expectations be when a web/php solution (php files...not db files) moves to different web server at a different physical location? Should it be expected that the solution work without issue, or, are tweaks part of the expected process? (A client unexpectedly moved a solution last week, and there are issues that appear major but are probably minor...tied to PHP version, older short tags, error reporting settings, etc). Just curious what your experiences have been. Thanks Jonathan -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 From leo at finalresort.org Sun Jan 24 11:43:53 2010 From: leo at finalresort.org (Leo R. Lundgren) Date: Sun Jan 24 11:41:16 2010 Subject: [FX.php List] Server Migration - Theory vs Real Life In-Reply-To: References: Message-ID: 24 jan 2010 kl. 19.30 skrev Jonathan Schwartz: > Hi Folks, > > A question... > > What should the expectations be when a web/php solution (php > files...not db files) moves to different web server at a different > physical location? Should it be expected that the solution work > without issue, or, are tweaks part of the expected process? > > (A client unexpectedly moved a solution last week, and there are > issues that appear major but are probably minor...tied to PHP > version, older short tags, error reporting settings, etc). > > Just curious what your experiences have been. It shouldn't be that much of a problem presuming the PHP application itself is well coded. Usually most of the issues are warnings and errors popping up on the new host because of different PHP settings, and in cases where the new host have stricter settings bad coding tend to surface. Other things that might differ are which extensions are available all in all on the new host, maybe there's some extension missing that the old host has and the code uses. I've encountered a problem with some PHP code that used crypt() which when moved to a new platform and OS changed in the way it worked (because crypt() at that time used the system implementation -- Since PHP 5.3 it uses its own implementation so this shouldn't be a problem). I guess another problem could be if your application relies on being run under its own user instead of under mod_php/the web server's user, and that doesn't happen in the new host. But that's one of the things you check before migrating. But in general; If you make sure that: 1) The code in the application is well written, 2) All extensions used in the application are available on the new host, 3) The usual and any PHP settings that the application relies on are the same on the old and new host, .. then I think you'll be pretty well off and only minor tweaks should be needed :) Use phpinfo() to check the two environments! What problems occurred with that unexpectedly moved solution last week? -| From jschwartz at exit445.com Sun Jan 24 11:58:46 2010 From: jschwartz at exit445.com (Jonathan Schwartz) Date: Sun Jan 24 11:57:29 2010 Subject: [FX.php List] Server Migration - Theory vs Real Life In-Reply-To: References: Message-ID: At 7:43 PM +0100 1/24/10, Leo R. Lundgren wrote: > >It shouldn't be that much of a problem presuming the PHP application >itself is well coded. Usually most of the issues are warnings and >errors popping up on the new host because of different PHP settings, >and in cases where the new host have stricter settings bad coding >tend to surface. > >Other things that might differ are which extensions are available >all in all on the new host, maybe there's some extension missing >that the old host has and the code uses. > >I've encountered a problem with some PHP code that used crypt() >which when moved to a new platform and OS changed in the way it >worked (because crypt() at that time used the system implementation >-- Since PHP 5.3 it uses its own implementation so this shouldn't be >a problem). > >I guess another problem could be if your application relies on being >run under its own user instead of under mod_php/the web server's >user, and that doesn't happen in the new host. But that's one of the >things you check before migrating. > >But in general; If you make sure that: > > 1) The code in the application is well written, > 2) All extensions used in the application are available on >the new host, > 3) The usual and any PHP settings that the application relies >on are the same on the old and new host, > >.. then I think you'll be pretty well off and only minor tweaks >should be needed :) Use phpinfo() to check the two environments! > >What problems occurred with that unexpectedly moved solution last week? > >-| Just what I mentioned....the expected fallout from short tags, unwanted "Notice' messages that look far worse than they really are. My real question is regarding "expectations". Should one expect that a solution can be moved and NOT have to be tweaked at all (assuming that it was not specifically designed for portability)? I already know the reality (tweaks are needed). Thanks J -- Jonathan Schwartz Exit 445 Group jonathan@exit445.com http://www.exit445.com 415-370-5011 From leo at finalresort.org Sun Jan 24 12:08:00 2010 From: leo at finalresort.org (Leo R. Lundgren) Date: Sun Jan 24 12:05:24 2010 Subject: [FX.php List] Server Migration - Theory vs Real Life In-Reply-To: References: Message-ID: 24 jan 2010 kl. 19.58 skrev Jonathan Schwartz: > At 7:43 PM +0100 1/24/10, Leo R. Lundgren wrote: >> >> What problems occurred with that unexpectedly moved solution last >> week? > > Just what I mentioned....the expected fallout from short tags, > unwanted "Notice' messages that look far worse than they really are. > > My real question is regarding "expectations". Should one expect > that a solution can be moved and NOT have to be tweaked at all > (assuming that it was not specifically designed for portability)? I > already know the reality (tweaks are needed). Yeah.. Well I think you're right; One cannot expect 100% success without checking a few basic things. Simple because then one don't know even the most basic things about the target environment, and PHP isn't such a transparent language. Regarding those errors you were experiencing, if the code would've been written in a stricter manner, they wouldn't have been there. Short tags are ancient/not to be used in PHP, and those "harmless" notices shouldn't be there either; They mean that the code doesn't follow PHP syntax as it should. There's really no reasoning for that other than ignorance, at least in my opinion. -| From vicepresident at comcast.net Sun Jan 24 12:19:14 2010 From: vicepresident at comcast.net (Jon & Jane Montgomery) Date: Sun Jan 24 12:16:38 2010 Subject: [FX.php List] Server Migration - Theory vs Real Life In-Reply-To: Message-ID: I just this month moved PHP and FileMaker to a new host. PHP pages were on a major hosting company and FileMaker files were on a server in my office and moved them to a FileMaker specialist, Longterm Solutions, and it was quite painless. No problems at all and easy for me to make those changes. I do not think I write that good code, but it all worked fine with no tweaking. Bob Patin and his company are very good and very helpful to me. That has been my experience. And I was not trying to make this a commercial for Bob, as there are several very good hosting companies who add to the this list, but Bob is a musician and seems to understand how other musicians think, especially bass players :) (I am all ears when I read on this list, you are all so smart on this stuff, I all ways learn from reading your posts, even when I do not fully understand what you are saying. Thanks All!) Respectfully, Jon Montgomery On 1/24/10 12:30 PM, "Jonathan Schwartz" wrote: > Hi Folks, > > A question... > > What should the expectations be when a web/php solution (php > files...not db files) moves to different web server at a different > physical location? Should it be expected that the solution work > without issue, or, are tweaks part of the expected process? > > (A client unexpectedly moved a solution last week, and there are > issues that appear major but are probably minor...tied to PHP > version, older short tags, error reporting settings, etc). > > Just curious what your experiences have been. > > Thanks > > Jonathan From bob at patin.com Sun Jan 24 13:02:19 2010 From: bob at patin.com (Bob Patin) Date: Sun Jan 24 13:23:52 2010 Subject: [FX.php List] Server Migration - Theory vs Real Life In-Reply-To: References: Message-ID: <387E87AA-8AD3-409B-8FAF-FFB67317D3D7@patin.com> The only problem that I've experienced had to do with short open tags in PHP, but there are some other things I'd check before I moved a PHP site: 1. (a fundamental one) Does the Web Publ. Engine actually work? Has a test been run? 2. (coincidental with that) Are the necessary ports open on both machines? 3. Has the database server's schedules been set up? It's easy to forget to do that on a new install... 4. Has the PHP code been checked and all short open tags been replaced with full tags? 5. Does the site use anything that has been installed on the old server that is server-specific? Other than that, I can't think of any other elements to beware of; I've moved PHP sites quite a few times among my servers, but in my case, all of my web and database servers are configured the same except for IP addresses--same PHP versions, same FMS version, same OS X Server versions--so that makes it much easier. Best, Bob Patin Longterm Solutions LLC P.O. Box 3408 Brentwood, TN 37024 bob@longtermsolutions.com 615-333-6858 http://www.longtermsolutions.com iChat: bobpatin Twitter: bobpatin FileMaker 10 Certified Developer Member of FileMaker Business Alliance and FileMaker TechNet -------------------------- FileMaker hosting and consulting for all versions of FileMaker PHP ? Full email services ? Free DNS hosting ? Colocation ? Consulting On Jan 24, 2010, at 1:08 PM, Leo R. Lundgren wrote: > > 24 jan 2010 kl. 19.58 skrev Jonathan Schwartz: > >> At 7:43 PM +0100 1/24/10, Leo R. Lundgren wrote: >>> >>> What problems occurred with that unexpectedly moved solution last week? >> >> Just what I mentioned....the expected fallout from short tags, unwanted "Notice' messages that look far worse than they really are. >> >> My real question is regarding "expectations". Should one expect that a solution can be moved and NOT have to be tweaked at all (assuming that it was not specifically designed for portability)? I already know the reality (tweaks are needed). > > Yeah.. Well I think you're right; One cannot expect 100% success without checking a few basic things. Simple because then one don't know even the most basic things about the target environment, and PHP isn't such a transparent language. > > Regarding those errors you were experiencing, if the code would've been written in a stricter manner, they wouldn't have been there. Short tags are ancient/not to be used in PHP, and those "harmless" notices shouldn't be there either; They mean that the code doesn't follow PHP syntax as it should. There's really no reasoning for that other than ignorance, at least in my opinion. > > -| > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -------------- next part -------------- Skipped content of type multipart/related From dominique at macsol.ca Wed Jan 27 07:01:43 2010 From: dominique at macsol.ca (Dominique Uris) Date: Wed Jan 27 09:59:40 2010 Subject: [FX.php List] Filemaker French character and PHP mail function Message-ID: <155E7493-A6F0-4DB1-B3F5-56D8996E9871@macsol.ca> Hi List, I'm trying to sent some french character as csv file email attachment. I'm able to sent the email attachment correctly but all the french character get translated to other character like "?" to "ç" , etc. I tried using php function "mb_convert_encoding" without any success using the line $string = mb_convert_encoding($input_string, "iso-8859-1", "UTF-8"); I have to say I copied my code to sent email with attachment from the internet, because I was on a short schedule so maybe there also something wrong in the code... > $subject = $subject; > $to = $email_to; > $headers = "From: ".$email_from."\r\nReply-To: ".$email_from."\n"; > $headers .= 'MIME-Version: 1.0' . "\n"; > $headers .= 'Content-Type: multipart/mixed; > boundary="----=_NextPart_001_0011_1234ABCD.4321FDAC"' . "\n"; > > $message = ' > > This is a multi-part message in MIME format. > > ------=_NextPart_001_0011_1234ABCD.4321FDAC > Content-Type: text/plain; > charset="iso-8859-1" > Content-Transfer-Encoding: 7bit > > '. $body .' > > ------=_NextPart_001_0011_1234ABCD.4321FDAC > Content-Type: text/csv; name="'; > > $message .= "$thisfile"; > $message .= '" > Content-Transfer-Encoding: base64 > Content-Disposition: attachment; filename="'; > $message .= "$thisfile"; > $message .= '" > > '; > $message .= $encoded; > $message .= ' > > ------=_NextPart_001_0011_1234ABCD.4321FDAC-- > > '; Thanks in advance. Dominique dominique@macsol.ca From leo at finalresort.org Wed Jan 27 11:19:43 2010 From: leo at finalresort.org (Leo R. Lundgren) Date: Wed Jan 27 11:16:55 2010 Subject: [FX.php List] Filemaker French character and PHP mail function In-Reply-To: <155E7493-A6F0-4DB1-B3F5-56D8996E9871@macsol.ca> References: <155E7493-A6F0-4DB1-B3F5-56D8996E9871@macsol.ca> Message-ID: <471743F0-6073-49AF-8C53-77F32EF4D68E@finalresort.org> This might not be the answer you are looking for, but I highly recommend that you start using a decent library that is designed to handle these specific tasks *for* you, instead of trying to manually do things that have only minimal support in PHP. So in short, download SwiftMailer and get going. It's at www.swiftmailer.org and here's a small quick intro: http://swiftmailer.org/docs/message-quickref Regarding the encoding, it is UTF-8 by default in SM. To comment on the code you pasted, it looks like you are doing a huge amount of work just to send a mail. What I mean by that is the "prefabricated" mail body that you are using. It will be soo much simpler with a real mailing library. In any case, it looks like the mail contents itself explicitly says that it is iso-8859-1. Maybe that is your problem, that nomatter what you do, the mail contents still says this, and the mail client lives by it. If there are further issues I would guess they're related to files not being saved as UTF-8 or something. 27 jan 2010 kl. 15.01 skrev Dominique Uris: > Hi List, > > I'm trying to sent some french character as csv file email > attachment. I'm able to sent the email attachment correctly but all > the french character get translated to other character like "?" to > "ç" , etc. I tried using php function "mb_convert_encoding" > without any success using the line $string = > mb_convert_encoding($input_string, "iso-8859-1", "UTF-8"); > > I have to say I copied my code to sent email with attachment from > the internet, because I was on a short schedule so maybe there also > something wrong in the code... > > >> $subject = $subject; >> $to = $email_to; >> $headers = "From: ".$email_from."\r\nReply-To: ".$email_from."\n"; >> $headers .= 'MIME-Version: 1.0' . "\n"; >> $headers .= 'Content-Type: multipart/mixed; >> boundary="----=_NextPart_001_0011_1234ABCD.4321FDAC"' . "\n"; >> >> $message = ' >> >> This is a multi-part message in MIME format. >> >> ------=_NextPart_001_0011_1234ABCD.4321FDAC >> Content-Type: text/plain; >> charset="iso-8859-1" >> Content-Transfer-Encoding: 7bit >> >> '. $body .' >> >> ------=_NextPart_001_0011_1234ABCD.4321FDAC >> Content-Type: text/csv; name="'; >> >> $message .= "$thisfile"; >> $message .= '" >> Content-Transfer-Encoding: base64 >> Content-Disposition: attachment; filename="'; >> $message .= "$thisfile"; >> $message .= '" >> >> '; >> $message .= $encoded; >> $message .= ' >> >> ------=_NextPart_001_0011_1234ABCD.4321FDAC-- >> >> '; > > Thanks in advance. > > Dominique > dominique@macsol.ca_______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list -| From dbengston at tds.net Wed Jan 27 11:49:06 2010 From: dbengston at tds.net (Dale Bengston) Date: Wed Jan 27 11:46:21 2010 Subject: [FX.php List] Filemaker French character and PHP mail function In-Reply-To: <471743F0-6073-49AF-8C53-77F32EF4D68E@finalresort.org> References: <155E7493-A6F0-4DB1-B3F5-56D8996E9871@macsol.ca> <471743F0-6073-49AF-8C53-77F32EF4D68E@finalresort.org> Message-ID: <0D108699-F5D2-4D72-ABDD-DB349DA63A9C@tds.net> I second the recommendation of using SwiftMailer. It solved many of these same problems when we switched to it. Dale -- Dale Bengston Streamline Studio, LLC www.streamline-studio.com On Jan 27, 2010, at 12:19 PM, Leo R. Lundgren wrote: > This might not be the answer you are looking for, but I highly recommend that you start using a decent library that is designed to handle these specific tasks *for* you, instead of trying to manually do things that have only minimal support in PHP. > > So in short, download SwiftMailer and get going. It's at www.swiftmailer.org and here's a small quick intro: http://swiftmailer.org/docs/message-quickref > > Regarding the encoding, it is UTF-8 by default in SM. > > To comment on the code you pasted, it looks like you are doing a huge amount of work just to send a mail. What I mean by that is the "prefabricated" mail body that you are using. It will be soo much simpler with a real mailing library. > > In any case, it looks like the mail contents itself explicitly says that it is iso-8859-1. Maybe that is your problem, that nomatter what you do, the mail contents still says this, and the mail client lives by it. If there are further issues I would guess they're related to files not being saved as UTF-8 or something. > > > 27 jan 2010 kl. 15.01 skrev Dominique Uris: > >> Hi List, >> >> I'm trying to sent some french character as csv file email attachment. I'm able to sent the email attachment correctly but all the french character get translated to other character like "?" to "ç" , etc. I tried using php function "mb_convert_encoding" without any success using the line $string = mb_convert_encoding($input_string, "iso-8859-1", "UTF-8"); >> >> I have to say I copied my code to sent email with attachment from the internet, because I was on a short schedule so maybe there also something wrong in the code... >> >> >>> $subject = $subject; >>> $to = $email_to; >>> $headers = "From: ".$email_from."\r\nReply-To: ".$email_from."\n"; >>> $headers .= 'MIME-Version: 1.0' . "\n"; >>> $headers .= 'Content-Type: multipart/mixed; >>> boundary="----=_NextPart_001_0011_1234ABCD.4321FDAC"' . "\n"; >>> >>> $message = ' >>> >>> This is a multi-part message in MIME format. >>> >>> ------=_NextPart_001_0011_1234ABCD.4321FDAC >>> Content-Type: text/plain; >>> charset="iso-8859-1" >>> Content-Transfer-Encoding: 7bit >>> >>> '. $body .' >>> >>> ------=_NextPart_001_0011_1234ABCD.4321FDAC >>> Content-Type: text/csv; name="'; >>> >>> $message .= "$thisfile"; >>> $message .= '" >>> Content-Transfer-Encoding: base64 >>> Content-Disposition: attachment; filename="'; >>> $message .= "$thisfile"; >>> $message .= '" >>> >>> '; >>> $message .= $encoded; >>> $message .= ' >>> >>> ------=_NextPart_001_0011_1234ABCD.4321FDAC-- >>> >>> '; >> >> Thanks in advance. >> >> Dominique >> dominique@macsol.ca_______________________________________________ >> FX.php_List mailing list >> FX.php_List@mail.iviking.org >> http://www.iviking.org/mailman/listinfo/fx.php_list > > > > -| > > _______________________________________________ > FX.php_List mailing list > FX.php_List@mail.iviking.org > http://www.iviking.org/mailman/listinfo/fx.php_list From dominique at macsol.ca Thu Jan 28 09:34:03 2010 From: dominique at macsol.ca (Dominique Uris) Date: Thu Jan 28 09:31:25 2010 Subject: [FX.php List] RE: Filemaker French character and PHP mail function Message-ID: <93AF131B-37B6-40F7-AAC4-95DC7CEE002D@macsol.ca> Thanks Dale and Leo, I have downloaded swiftmailer and I will give it a try. Thanks, Dominique > I second the recommendation of using SwiftMailer. It solved many of > these same problems when we switched to it. > Dale > > -- > Dale Bengston > Streamline Studio, LLC > www.streamline-studio.com > > On Jan 27, 2010, at 12:19 PM, Leo R. Lundgren wrote: > > > This might not be the answer you are looking for, but I highly > recommend that you start using a decent library that is designed to > handle these specific tasks *for* you, instead of trying to manually > do things that have only minimal support in PHP. > > > > So in short, download SwiftMailer and get going. It's at www.swiftmailer.org > and here's a small quick intro: http://swiftmailer.org/docs/message-quickref > > > > Regarding the encoding, it is UTF-8 by default in SM. > > > > To comment on the code you pasted, it looks like you are doing a > huge amount of work just to send a mail. What I mean by that is the > "prefabricated" mail body that you are using. It will be soo much > simpler with a real mailing library. > > > > In any case, it looks like the mail contents itself explicitly > says that it is iso-8859-1. Maybe that is your problem, that > nomatter what you do, the mail contents still says this, and the > mail client lives by it. If there are further issues I would guess > they're related to files not being saved as UTF-8 or something. > > > > > > 27 jan 2010 kl. 15.01 skrev Dominique Uris: > > > >> Hi List, > >> > >> I'm trying to sent some french character as csv file email > attachment. I'm able to sent the email attachment correctly but all > the french character get translated to other character like "?" to > "ç" , etc. I tried using php function "mb_convert_encoding" > without any success using the line $string = > mb_convert_encoding($input_string, "iso-8859-1", "UTF-8"); > >> > >> I have to say I copied my code to sent email with attachment from > the internet, because I was on a short schedule so maybe there also > something wrong in the code... > >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20100128/7eaaa94e/attachment.html