Jump to content

Matt Haughton

Members
  • Posts

    23
  • Joined

  • Last visited

Everything posted by Matt Haughton

  1. Hi, One of our clients is triailling MirrorSync, it's going great so far but there has been a problem syncing 25 videos down to iPads. These are among many thousands of synced records (videos, images, pdfs) everything else synced fine, just these 25 failed. The 25 that failed were the 25 largest. The videos range between about 100-500MB. We're looking at compressing them now and hopefully that will help. The error we received was as follows (some data obfuscated for privacy reasons). • Could not write value 'Binary object '(PUWER) Equipment Inspection ToolBox Talks.mp4'' from record 01B1EE7D-3F2C-1341-A4C2-79F3CC5572E9 in FileMaker Server *****************.internal.cloudapp.net/msync_document to column 'document_container' of record '01B1EE7D-3F2C-1341-A4C2-79F3CC5572E9' in Client node msync_document on ******* iPad's Go_iPad 16.0.4.456 because of this error: There was a problem writing record '01B1EE7D-3F2C-1341-A4C2-79F3CC5572E9' to Client node msync_document on ******* iPad's Go_iPad 16.0.4.456. 'document_container' could not be set to 'Binary object '(PUWER) Equipment Inspection ToolBox Talks.mp4'' because of an error 42001: Container data could not be downloaded; could be caused by a field stored only as a reference. The remaining fields were written successfully. The record will not be retried unless it is modified again.(error code 42001) Is there a limit on the size of a container field that can be synced? If so can it be changed? Or is the container size a red herring and should I be looking elsewhere? Any help/pointers would be most welcome Matt
  2. Hi, The new version of CFExplorer is now available. CFExplorer is a simple, elegant, free database for FileMaker developers to store and ‘debug’ their custom functions ... and it's also free! * Updated for FileMaker 10 * The simple library now allows full editing of calculation code using familiar FileMaker tools * Import custom functions from www.briandunning.com and www.fmfunctions.com/ * ‘Debugging’ through custom functions is now improved * Sign up to the CFExplorer mailing list from inside the solution * Easy to move all your functions and tests to the new version with 1 button Download it now directly from the CFExplorer site! Hope you enjoy, and of course any feedback is welcome
  3. Thanks to everyone for the feedback both on and off the forums. I'm glad developers have found it useful. If you want to be added to the mailing list, to be notified of new versions and bug fixes, you can register at the CFExplorer page on my site. Also if you find any bugs or think of any appropriate new features then I'd love to hear from you either at my contact page or on the forums. (I promise to only use your contact details for the occasional email relating to CFExplorer and even more occasionally other FileMaker development tools)
  4. CFExplorer v0.1 released CFExplorer is a simple, elegant, free database for FileMaker developers to store and ‘debug’ their custom functions. Oh and it's also free...! * A simple custom function library * Import custom functions from www.briandunning.com * ‘Debug’ through custom functions using test data This version was originally released to the UK TechNet conference on 23rd October 08. Download it now from the CFExplorer download page! Enjoy CFExplorer.zip
  5. The Context I'm looking to export some (about 20) fields from a FileMaker Database. This export consists of sorted/grouped records, 2 of the exported fields are summary fields that summarise across the grouped data. The export contains close to 1,000,000 records, only about 50,000 of these end up being grouped together, so about 950,000 in the final data file. The data is to be exported in XML format so that I can apply an XSL transform and get the final XML file into a format I need for the target system. The Problem When exporting without applying an XSL stylesheet this works fine (although it takes about 15-20 hours!). However when I apply a stylesheet the export gets right to the end and when it is finishing up it displays an XSL error. This left me confused and more importantly without a data file after 15 hours processing. I've not run it with the XSL option on since then. The XSL code does work, I've checked it many times and had it checked over, it is valid and works correctly on 10,000, 20,000 and 50,000 records. I don't have the exact error code unfortunately. But before I go down the painful route of discovering the limit of XML that can be transformed, has anybody come across this limitation? Is it the XALAN or XERCES engines in FileMaker (it doesn't seem to be FM's Export engine as it exports fine in other formats and without XSL transform)? I'm using FM8.0v3 and a local (non-hosted) file, on XP SP2, does the OS or FM version have something to do with it? Every test I do on this will take at least 15 hours processing time so not worth investigating from company's point of view, can anyone advise? Any extra information would be useful.
  6. When a developer is accessing the schema of a served file, thus locking the schema to all other users, the New Record step will not work, it stays in the current record and returns error 303. I understand that editing schema on a served file that is currently in use is bad practice and should never be done, I don't make a habit of this. However, FileMaker deems any access to field options to be editing the schema, regardless of whether you click Cancel on the options dialog. So viewing a calculation or checking the validation on a field would mean all user attempts to create a new record would fail until you hit OK or Cancel on the Define Database dialog. Of course any user scripts that try to enter data in the new record would actually enter data into the record the user was in before calling the New Record step. As I say I don't make a habit of editing live schema but many of my users have developer access and though they can be told, I'd like to learn to trap and handle these errors in my scripts. I've searched this forum and the Knowledge Base and can't find too much on the subject. Can anyone point me in the direction to get more information? Specifically what actions lock and unlock a file's schema. Does anyone know if there are other script steps that require the schema to be unlocked in order to work? I should imagine 'Relookup Field Contents' would but have done no testing on this. In light of this and to keep processes somewhat transactional would it be a good idea to - Decide what records need to be created at the beginning of a process - Go create those records storing serial numbers to them in globals - Then run the process accessing the records using the SN as needed I understand this won't work for some processes and immediately makes a process more complex, but it does enable an easy rollback if the transaction is mission critical. Any thoughts on this would be appreciated.
  7. I believe the size/position of dialog boxes are stored in the FM prefs on your local machine, so if you resize the custom dialog box this will be stored in YOUR prefs and not in the script or anywhere in the FM file. These can be reset from the General Tab in FileMaker Preferences window. This means that the size/position of a custom dialog displayed by a script is controlled by the size/position of the last custom dialog the user had open, if they've been messing about with the size/pos then all future custom dialogs will be that way. I believe that's the functionality anyway
  8. The GetAsNumber function returns the value "?" when passed the parameter "?". This behaviour confused me at first, just thought I'd try to get some feedback before reporting it to FileMaker as a bug. The question mark symbol is not a valid number and when passed as part of a string it is correctly stripped out as non-numeric, i.e. "1?1" -> "11" But it is not removed when it is on its own, i.e. "?" -> "?" I'm inclined to believe this is not a bug, it seems to go against the logic of the function however a single question mark usually indicates an error in a calculation, I think the function is merely cascading this error e.g. if the following calc produces a "?" "1/0" then you would expect the following to produce a "?" "GetAsNumber(1/0)" Just thought I'd check this function is behaving correctly, and also let people know about this behaviour.
  9. Lee That's a very interesting comment and something i'd like more information on. I've always worked on files while they are served, being able to amend scripts in live files is something that's been present long before I met FileMaker and its one of FileMaker's huge advantages why would this cause corruption? Are you saying any schema changes, script changes, value list changes and layout changes require the file to be taken off the server? Note - I'm not working on the file from the server, I am connecting from a client machine via the server software.
  10. Thanks for the response but there are a couple of problems with that solution. 1. There doesn't seem to be any pattern to how or when this occurs (except it seems to increase when a developer is editing layouts). I have quizzed the users as to what parts of which processes they were using at the time, and can't see it occuring in specific scripts. 2. The scripts work for the majority of the time, they are used all day every day its only occasionally they go wrong. So if there is corruption it only rears itself in very specific circumstances and is well behaved for the rest of the time. Just wondering if upgrading the servers or the users to a newer FM version would fix the given problem? I'm not sure replacing all of the Go To Layout script steps would actually solve the problem, at present the problem isn't dangerous enough to spend days implementing this course of action with the risk that it wouldn't solve the problem. Any other insights, or word on whether a later version of FM fixes the problem would be much appreciated.
  11. Hi, A rare but potentially dangerous problem with the Go To Layout script step, just wondering if anyone else has come across this. The Go To Layout script step has been known on occasion to go to the first layout in the file. The layout is explicitly selected in the step so its not some calc problem. The step works fine in testing and on a day-to-day basis. The first layout in the file has ID 401 (which is not the lowest ID in the file) so it's deciding on first layout by layout order (rather than by ID). This is happening in a windows environment (ignore the platform on my profile), on files served on FMS7 on Windows server, and happens to users using FM7 and FM8. The problem is not localised to 1 script, it seems to happen more often when a developer is editing layouts in that file (creating, duplicating, re-ordering). It should be noted that live layouts never have their order amended while there are users on the system. All live layouts are at the top of the layout order and no new layouts are moved up while users are using the system. Yet still occasionally a script goes and sits in the first layout of the file. Could anyone shed some light on the inner workings of the Go To Layout step and maybe why this behaviour is occurring, would upgrading to FM8 server help? Also take heed, if you have many users using hundreds of scripts across hundreds of layouts and you start editing the order of those layouts or create or duplicate layouts, you may find some users ending up in the first layout unexpectedly.
  12. Hi Danny I'm not sure if this is a bug, at first glance it seems it is, but this is an issue of context when the calculation is evaluated. FileMaker help states - "If the current calculation is stored and you specify its context, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window." Now Get ( ActiveFieldName ) actually works as you'd expect, but Get ( ActiveFieldTableName ) seems to be getting the table of the context in Log. Is this calculation being evaluated at any point later in the script? E.g. Set Field [ TheField ; $$FNM ] ... Set Field [ TheTable ; $$TableName ] If the calculation was re-evaluated at any point between these 2 steps then the active table would of course be Log. Remember the $$Variables are set based on the current context every time the Custom Function is called.
  13. You can set the options to amend layouts and scripts in the Privilege Set, and those users you want to give these privileges to can be assigned this privilege set. You don't need to have the [Full Access] privilege set to amend layouts/scripts in FM7. Get to this by File -> Accounts & Privileges ->Privilege Sets The simple way is to set a Privielege Set to have: Layouts: All Modifiable Scripts: All Modifiable Or go select "Custom Privileges..." for each of these and select what access the user should have to each layout/script and you can also specify what access the user should have for any new layouts/scripts. It requires a lot of thought about the fine grain detail, but gives you so much control
  14. Try the FileMaker website, there's some useful stuff and also a bit of very heavy reading, but its all written by experts and worth working through, i would certainly recommend "How to migrate existing solutions" and also the Security, Web Publishing, and FM 7 Server, tech briefs and white papers, depending on what you want from FileMaker http://www.filemaker.com/upgrade/techbriefs.html
  15. The way to do it is to perform a script to change the [Order Number], that firstly asks for a new [Order Number] then goes and changes all the relevant records Go To Related Record [ Show Only Related Records ; Purchase Order Items ] Perform Script [External: Purchase Order Items(Amend [Order Number] In found set] Set Field [Order Number ; New Order Number i.e. firstly show only the records to change in the other file, then perform a script in the other file that loops through the entire found set and makes the relevant changes, then change the parent record. Of course the main problems are, "What if processing is interrupted half way through?" this is a custom script and therefore no automatic rollback feature so be careful, and what if another file links to either of these files based on [Order Number]? This does however beg the question, why would you want to do this? I can see the benefit of changing unique IDs in certain systems, however if a unique ID is likely to change (or even if there is a possibility of it changing) it shouldn't be used as a key for the relationship. Try auto-entering a serial number [PO_ID] into your Purchase Orders file (the main file), and add a [PO_ID] field in Purchase order items, and use these to relate the files. Then any purchase order items added via the portal (which will now be based on the PO_ID) will be related via this unique, unchanging ID. The [Order Number] can then be stored in the Parent file and an unstored calculation field added to the purchase order items file to pull the [Order Number] through the relationship if necessary
  16. The answer is yes, but its not terribly easy. I take it you are using FM Server (I assume v5.5), to server your databases. The trouble with this is that the server doesn't ever actually "Open" the databases as such, just serves them to any clients that request them. As such Server can't run scripts or access any DBs meta-data. I have been looking into a similar email sending problem/solution myself, and the only real way to do it is to have FM database running (on a separate machine to the server) that runs relevant scripts at the right time. I am writing an autonomous batch scripting database, that will sit on some computer and call scripts in the correct files at appropriate times. To do this I'd strongly advise you to look into the TROI Activator plugin as it will do this fairly effortlessly, and you 'll be able to design a neat user interface to amend the scheduling information, have a look at their example files. This "Batch" DB can be designed to call a script at a certain time so a simple, "Send all emails for today" script, to find all emails that need sending and send them. You'll only need 1 licence for the Activator plugin per machine running the Batch DB, this will also convert to FM7 too, if you're thinking of taking that road. I think the DB can be hosted too, I haven't tested it but it would be highly recommended, and the plugin should still work.
  17. A simple looping script "CompilePOs In Found Set" to put the list of IDs in a global Set Field[ g_POID ; """" ] Go To Record [First] Loop Set Field[ g_POID ; "g_POID & POID & "<Carriage Return>"" ] Go To Record [Next, Exit After Last] End Loop Then you'll have a Global that contains "PO.0001 PO.0004 PO.0020" In the relationships Graph add a table occurance called "Purchases Found Set", that is based on the PurchaseItems table and uses the relationship Purchases::g_POID = PurchaseItems::PurchaseOrderNumber Then create a relationship based on this Table occurance (i.e. based on the Purchase Items table) and write another script to Go To Related Record ["Purchases Found Set" ; Show results in layout "New Layout" ]
  18. OK, a layout in FM7 is associated to 1 table occurance (in the relationships graph) this is the layout's "Context", this means that FileMaker will only display records from a specific table in any 1 layout, I could do with seeing the script to see where that error message might have come from. But in terms of thinking about the problem properly, try thinking of it as you are performing a find on the client records, i.e. the range of clients who started their course in a specific date range. But I need more information to diagnose any further. What are the contents of the Perform Find script step? As these should just work provided there is a connection in the Relationship Graph from the context of the current layout to the Find Request's table occurance. I assume this is just followed by a Go To Layout, but this seems to work on any test I've done
  19. Sorry its taken so long to reply, I've been a bit busy with the migration. Anyway, The Directory Service tab on Server 7 is for registering your FM server with a directory service (an LDAP server for instance), the point is that this service will enable FileMaker to authenticate against usernames on the LDAP server as well as in individual FileMaker files. This can be done through FM Server 7 as it doesn't rely directly on any web publishing or web server. Basically you enter the LDAP server name/port/distinguished name, then set FM server 7 to authenticate against "FileMaker and External Server Accounts", and then "Use domain user accounts and groups". Then, so long as your LDAP server is up and connected correctly, its all up to your security schema in individual files. And this is all through normal FileMaker connectivity (i.e. through "Remote..." etc). But you are talking about connecting FM7 to a web server, and as far as I can see the only references to this are under the "clients" tab, (where all the ODBC/JDBC options are). Now I haven't had chance to play with FM Server Advanced so I am guessing that the location of the WebPublishing Engine (and other options) are stored in FM server 7 for reasons best known to FileMaker and as far as I am aware have no real effect in Server 7 on its own. But like you say Server 7 Advanced is like an extension of Server 7 (similar to FM Developer 7 being pretty much the same as FM Pro 7 but with some, extremely useful, extras). So get the FM server up and running now, and even register the Web Publishing Engine and get that working, then FM Server 7 Advanced should just fit in.
  20. Do you have FM Developer 7, if so you could write a simple Custom Function to return a text string of spaces of whatever length you liked. One I have written is given below, it is called "RepeatingString" and takes 2 parameters (Character; StringLength), and basically returns the "Character" repeated "StringLength" number of times, just use the following calc If ( (Length ( Character ) = 1) and (GetAsNumber ( StringLength ) = StringLength) and (StringLength > 0) ; Character & RepeatingString ( Character ; StringLength - 1 ) ; "" ) Note the function checks that the Character is of length 1, and that the StringLength is a number greater than 0. The function is recursive and so calls itself until it can return the right answer, generally I've found this to work very efficiently. You would use Set Field ["ListOfSpaces"; "RepeatingString(" "; Index)"] Or even use this to write your own "RepeatingSpaces(NoOfSpaces)" function Matt
  21. I've read the Help page you're talking about and it is inaccurate. The properties dialog boxcan be accessed by - clicking on 1 of the 'blue assistant icons' - Choose properties from the context menu (right-click on the server name) Once you have the properties dialog (has 8 tabs - Clients, Databases, runtime Solutions ... etc) you can click on the 'Directory Service' tab to register the server with an LDAP server for external authentication, am not too sure about registering with a web publishing engine, i thought you needed Server 7 Advanced to do this. The 'Registering' in the help menu is something different altogether, it concerns actually registering Fm Server 7 with FileMaker. There is an excellent document about setting up your server(s) by Wim DeCorte, it can be found on New Millennium's website http://www.newmillennium.com/ And choose 'Migration Tech Briefs' from the 'FileMaker 7' menu Look for the article "Upgrading to FileMaker 7: How to take advantage of new Server model and capabilities" i'd recommend reading this
  22. Just a quick check - FM Server 5.5 will serve DBs in the same directory as the app (and 1 folder down) so long as the app and all your DBs are in the same directory it should find them. Check this is so. But judging by the error message there is a problem elsewhere. The error 10048 is "Only one usage of each socket address (protocol/network address/port) is normally permitted. (WSAEADDRINUSE)" When does this error appear? Or does it only occur when trying to serve the DB? if so can the DBs be shared peer-to-peer? This particular problem however is Windows specific and doesn't occur for the Mac, as such i've never come across it before. However, i'd suggest checking that your new machine's IP address doesn't conflict with anything else on the network (I'd recommend having a fixed IP address if you don't already). Also try setting the files to Multi-user on another machine, as this sounds like a computer/network problem rather than a FileMaker setup problem. Please post the results of any of these suggestions or the solution if the problem has gone away, as i'd like to know what the problem was
  23. Is the host not showing up at all, or is the Host server being displayed with no databases underneath it?
×
×
  • Create New...

Important Information

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