Slashdot Mirror


Replacing FileMaker with Free Software?

jhealy1024 asks: "I'm looking for a way to replace our FileMaker DB solution with an open-source RDBMS. Problem is, FileMaker's GUI and report design tools are pretty darn good, and I can't find a suitable replacement. Anybody out there have a solution that doesn't require me to take a year off to hand-code a replacement solution?" "I'm the netadmin for a small private school. Since we're Mac-based, we've grown up storing all our data in FileMaker, including student information, grades, class assignments, gifts, inventory tracking, and just about anything else you can think of.

FileMaker is coming out with version 7, which is going to require us to tear all our databases to pieces and build them up again from scratch. While the new FileMaker is an improvement, it's still a toy as far as "real" databases go. (The latest update just introduced relational tables, for example). Also, data lock-in is becoming a problem; I'd like to have access to all our data from non-FileMaker interfaces (to populate our LDAP directory, for example). While we can work an export from FileMaker, it would be much better if the data were available in an open, standard database instead.

I figure, so long as we're rebuilding everything from scratch for version 7, why not use a "real" RDBMS (no flames about which, please). Problem is, FileMaker does two things very well:


  1. Rapid development of front-end data entry screens (using a GUI for layout)
  2. Ability to create printable layouts for reporting (mail merges, report cards, etc)
I can program data entry screens myself if I had to (either on the web or on the clients directly), but the printable layouts would kill me. Does anybody know of any package that will allow me to replicate FileMaker's easy interface for use with a RDBMS package such as PostgreSQL or MySQL?

Thus far, the only solution I've found is to use some kind of SQL access plug-in for FileMaker. This way, I get to keep the FileMaker interface but ditch its lousy relational model. Unfortunately, I'd still have to pay for FileMaker, and the SQL plug-in requires tons of extra coding to pass the data from FileMaker to SQL and back again.

I know other people have had to move from small, proprietary systems (FileMaker, Access, etc) before; what have you done to keep the simple user interface alive?"

28 of 445 comments (clear)

  1. Filemaker Pro Migration software by The+I+Shing · · Score: 4, Informative

    Let me be the first to suggest FileMaker Pro Migrator by .com Solutions. I mucked about with the trial version of the program and it does look like it accomplishes quite a bit. And I guess that once you've got the data moved over, you could use a program like Dreamweaver to tweak the web-based interface.

    --
    You are in error. No-one is screaming. Thank you for your cooperation.
    1. Re:Filemaker Pro Migration software by gnu-user · · Score: 3, Informative

      You purchase the Office Developers package. This give you the runtime package. It is not free, but upon purchase is freely distributable.

    2. Re:Filemaker Pro Migration software by Gilmoure · · Score: 3, Informative

      Access only runs on Windows. There's no Mac version. Something to try would be PGAccess. It's a PHP front end to PostgreSQL.

      --
      I drank what? -- Socrates
  2. Recode for Filemaker 7 by skrysakj · · Score: 4, Informative

    If you ask me, recoding the database for Filemaker 7 would be much easier
    than going to another system/platform/application.

    The improvements in Filemaker 7 are vast, and much needed. It's a great platform, and unbeatable unless you move to a PostgreSQL&Web platform, which would require a lot more re-tooling.
    Look into a possible Filemaker 6 to Filemaker 7 conversion tool.

    In the future, if you truly need to use a different interface, such as the web, Filemaker is very capable of supporting that on its own, when placed on a server, without a SQL-access plug-in.

  3. web-based by stipe42 · · Score: 3, Informative

    Web based really is the way to go. The tools are there for it (PHP for interface, MySQL or PostGres for the database, PDFLib or something free for reports). I don't know of any packages that already do that though. At work we are replacing our contact management system (in Filemaker presently) with one built in JSP with an Oracle backend. That same app is being sold to clients as well.

  4. Servoy by Anonymous Coward · · Score: 4, Informative

    Servoy is from the creators of the Filemaker SQL plugin. It uses ANY sql backend but provides a gui front end (100% java) just like filemaker. Real easy to setup and use. www.servoy.com

  5. Possible Alternative by nigmafyre · · Score: 4, Informative


    I have had good luck using MicroOLAP Database Designer for MySQL. Granted its not opensource, but its super easy to use. One quirk that I haven't sorted out with it is proper quotation of 'enum' and 'set' fields in its generated SQL. But, that being said, its still a slick interface.

    --
    "You say self-important egomaniac like its a bad thing?!?"
  6. GLOM! by tempest303 · · Score: 5, Informative

    How about Glom?

    It has a nice, clean GTK interface, and uses PostgreSQL for its backend.

    Good luck!

  7. Re:http://cocoamysql.sourceforge.net/ by Shayde · · Score: 5, Informative

    This is unfortunately not what they're looking for. There are any number of 'SQL front ends' - that let you do basically all the functions that a MySQL user can do from the command line. What this doesn't give you is a customziable front end with linked forms, back end processing, and data verification. YOu want to present the user base with a native, comfortable look and feel.

    Others have recommended web-based solutions wth PHP, which are okay, but are difficult to maintain for the non-PHP literate.

    Perhaps something like Rekall from theKompany would do it? It's not free, but it's a lot less expensive than most of the commercial front ends out there. It supports MySQL, is multi-platform, and has forms and front end scripting (using Python I believe).

    --
    Event Management Solutions : http://www.stonekeep.com/
  8. Re:http://cocoamysql.sourceforge.net/ by sysadmn · · Score: 4, Informative

    Not a very "informative" answer, given that this tool is for database adminstrators, and doesn't seem to do either of the specific tasks the poster requested. Not a knock against cocoamysql, it looks pretty cool.

    --
    Envy my 5 digit Slashdot User ID!
  9. Re:http://cocoamysql.sourceforge.net/ by UNIX_Meister · · Score: 4, Informative

    I think there's something here that is escaping most of the /. readers. Filemaker has a nice GUI for creating applications - RAD type functionality. We're not talking about a GUI to manage a mysql database. I'd like to be able to create an application that uses a database backend quickly. Something like Oracle Forms & Reports of old, or Access, or ??? Think "glade" + "mysql/postgresql" + perl's report writing

    I've been looking for something like this in the OSS world for years, and in that time, like the author of the article, could have written one.

  10. also looking for easy, open src forms layout tool by LodCrappo · · Score: 5, Informative

    The meat of the article's question, which hasn't been addressed in the replies yet at least: is there an open source tool that makes generating forms (web based I would hope) as easy as you can do this in formmaker or access? For instance, is there a tool I can use to rapidly create data input screens with data validation or quickly throw together some screens that run queries with screen formatted results? The backend shouldn't matter too much, there are plenty of great open source tools to store and query data, but what about the user interface side? So far I haven't found a good solution that doesn't require manual html/php/perl/etc coding. (Not that I won't do that if I have too, but I'd rather have something more like ms access if it exists in open source, even if it's not as polished). any ideas?

    --
    -Lod
  11. Stop, drop and roll by joshmccormack · · Score: 3, Informative

    I've worked with Filemaker a fair amount, and moved apps over to web based systems with other databases.

    The most recent versions of Filemaker, when treated just right, may be a blessing, but in my experience Filemaker just doesn't scale well. After you've started really putting a lot of data in there it creeps. It is it's own thing, too, so you can't use standard database modeling, reporting, etc. And hosting is an issue.

    The impending new version might just be your occasion to stop, drop Filemaker, and roll your own.

    Finding a tool to move the data and structure over is tempting, but consider whether the database structure you have is a good one, and if all your data is normalized. This would be a good opportunity to work on that, if you'd be moving to another system anyway.

    And try thinking using the Unix philosophy. Use differnt tools. Use a database to store the data, use an off the shelf reporting tool (ie crystal reports) if you want, use Access or Filemaker to allow clients to make custom views, use modeling tools, etc.

    Contact me if you want sympathy or some help.

  12. Rekall Revealed GPL by wackysootroom · · Score: 4, Informative

    Rekall Revealed (GPL verson of thekompany's rekall product) can do all that, connect to PgSQL and MySQL, while using python as the language backend. Very nice, *and* Free Software.

    1. Re:Rekall Revealed GPL by wackysootroom · · Score: 3, Informative

      Yes, it works great on Linux (gentoo), but I can't vouch for the win32 version, as I've not used it. Another poster pointed out that you have to pay for win32 binaries. The Win32 version can be compiled from source but you neet QT to do it.

  13. The real problem by howardjp · · Score: 3, Informative

    The real problem this user has is one I have had. There is no suitable replacement for Access, FileMaker, or dBase. An open-source portable replacement would be a killer app for the open source community, but it just isn't there.

  14. Re:DIY by Nos. · · Score: 5, Informative

    There's a couple of reasons why (and its not just the FOSS community). The first is compatibility. I won't go into all the browser compatibility issues, but its easier to create a web page that works on multiple OS's than it is to create a desktop based application. Secondly, portability. A web based application means I can work from anywhere I have an internet connection. Now that's not to say a desktop application can't do the same thing.

    In my experience (even if you're developing for a standard desktop environment) web based apps can be build faster. Then of course there's the issue of upgrades. Its easier to upgrade/update a website than multiple client machines.

  15. It has always been relational.... by greed · · Score: 5, Informative

    If you read the linked article on FileMaker's website, it says:

    Now store multiple database tables in one file instead of having to break them up into multiple files.

    I've been using FileMaker at home since it was made by Claris, back at version 3.0. It's always been relational. You build relations between files--one file is one table. Now you can have multiple tables in one file. And you can still build a relation to a table in another file, so you've got the best of both.

    In fact, using the free demo of 3.0, I built a database with about 25 relations in it, entirely without the manual. Consequently, I was out to the store the next day and bought the real thing. I've upgraded to 5.0 and 7.0 since.

    I'm not sure how much "re-writing" is required to upgrade, I just load all my databases from the old version into the new one and let it create new files in the current format. I've never had to change the database definitions.

    (It would be nice to turn a couple of my DBs into a "single file with multiple tables", but hey, it works fine in multiple file mode, so like others say, why break it?)

    There are times when it Would Be Nice to throw some really grotty SQL into the system. But they're fairly rare.

  16. Re:There's an old saying... by qengho · · Score: 4, Informative


    Uh did you miss where he said that he was getting lock problems? That means he's outgrown it and it is "broke."

    He said "data lock-in", meaning "proprietary", not "lock" as in "data contention".

  17. School Tool by steveha · · Score: 4, Informative

    School Tool is a system specifically designed for running a school. It's written in Python, and it's free, open-source software.

    http://www.schooltool.org/

    steveha

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
  18. Re:Knoda by Bronster · · Score: 3, Informative

    Have you tried using it? I tried against a postgres backend (to check out some databases I already had) and the interface isn't quite what I'd expect for a Filemaker or Access replacement.

    You can't even see views in the database.

    No way (that I can see) to store connection information for more than one backend server. Ok, that's not the end of the world. At least you can make it cache your connection details.

    The interface is a little strange with database as a dropdown list in the toolbar, and also a tree-menu at the side but with only one parent database entry at once.

    Did I say "no views" yet?

    Still, I guess if you're starting from scratch it isn't so bad, and it does fit in reasonably in KDE. Needs some work on the sidebar treeview not overlapping the database windows though. Definitely looks more complete than the gnome offering.

  19. My suggestion by Pan+T.+Hose · · Score: 3, Informative
    Unless you have some legacy MySQL applications, I would suggest using PostgreSQL--it's really free with no strings attached, it's ACID-compliant and it's a real RDBMS. In the past it was slow but not any more. When in doubt read: [1] [2] [3]. To be fair, there is one place where MySQL beats PostgreSQL, and that is the documentation. For example, you will often find unfinished parts of PostgreSQL documentation turned into "Exercises":

    "This query is called a left outer join because the table mentioned on the left of the join operator will have each of its rows in the output at least once, whe reas the table on the right will only have those rows output that match some row of the left table. When outputting a left-table row for which there is no right -table match, empty (null) values are substituted for the right-table columns.
    Exercise: There are also right outer joins and full outer joins. Try to find out what those do."

    when there really should be:

    "TODO: There are also right outer joins and full outer joins. FIXME: We MUST write more."

    Not to mention the "RTFS" answers in "TFM" for questions very frequently asked by beginners:

    "4.3) How do I get a list of tables or other things I can see in psql?"
    "You can read the source code for psql in file pgsql/src/bin/psql/describe.c."

    Other than that I would say that PostgreSQL is definitely the way to go today. Once you get used to reading the source code as documentation (it is actually very clean and properly commented, so that's not such a big deal), you will really love it. And you will have the most important thing: ACID features. I hope it helps, I wish you the best luck.

    See also:

    1. http://www.postgresql.org/
    2. http://www.mysql.com/
    3. http://en.wikipedia.org/wiki/MySQL
    4. http://en.wikipedia.org/wiki/PostgreSQL
    5. http://en.wikipedia.org/wiki/Firebird_(database_se rver)
    6. http://en.wikipedia.org/wiki/Relational_database
    7. http://en.wikipedia.org/wiki/Database_management_s ystem
    8. http://en.wikipedia.org/wiki/ACID
    9. http://en.wikipedia.org/wiki/Relational_model
    10. http://en.wikipedia.org/wiki/SQL
    11. http://en.wikipedia.org/wiki/Set_theory
    12. http://en.wikipedia.org/wiki/Axiomatic_set_theory
    13. http://en.wikipedia.org/wiki/Predicate_logic
    14. http://www.glom.org/
    15. http://www.servoy.com/
    16. http://www.dotcomsolutionsinc.net/products/fmpro_m igrator/index.html
    17. http://www.firebirdsql.org/

    (Please forgive me if I repeat anything which has already been said. I started to write it as a first post but it took some time and I am sure that other

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
  20. Platform compatibility, upgrade stability. by kcdoodle · · Score: 3, Informative

    DUH.

    We like to make web-based applications for several reasons.
    1. No license fees to worry about ont he server or my clients.
    2. I can control the web/database server. (I can't and don't need to control your computer.)
    3. If I make my application compliant with Netscape 3.0, it WILL WORK on ALL BROWSERS.
    4. I can easily design to minimize trips to the server, maximize data throughput, AND take care of concurrency issues.
    5. My application will work on ALL browsers for ALL operating systems (OKAY not the Lynx browser).
    6. No license fees to worry about ont he server or my clients.

    The list goes on...

    You said "No license fees twice!"
    I LIKE no license fees.

    I live the greatest adventure anyone could wish for. - Tosk the Hunted

    --

    - I live the greatest adventure anyone could possibly desire. - Tosk the Hunted
  21. Re:There's an old saying... by javaxman · · Score: 5, Informative

    More to the point, why even upgrade to 7 ?

    Yea, 7 has a lot of spiffy new features that make Filemaker less of a file-sharing system and more of a real server DB ( a *little* more, anyway ). But *must* you upgrade? They'll support your current version for a little while, right ?

    How about just looking into SQL-interconnect services, if you want to explore new front-end options ?

    If you want to put a 'real' database on the backend, first ask why. Is FileMaker too slow, or are you just looking to cut costs? If you're looking to cut costs, and your current system is working, just don't upgrade. If performance is a problem, then you have a big job- you'll have to learn a lot, and someone will have to do some design and coding. I'll recommend my favorite enterprise DB- PostgreSQL. Sure, there's a little bit of a learning curve, but it's really not bad, and you can do *anything*.

    So you want easy form design and reporting? Is that your main criteria? You might want to stick with FileMaker, then. On the other hand, you have a couple of good options, especially if you are a good enough programmer and have enough time to learn Objective-C.

    Your options, as I see them, are basically
    1) train yourself to learn Cocoa,
    2) annoy your users with web-based forms, or
    3) continue to annoy them ( and you ) with FileMaker.

    We've found that, especially for simple DB lookup stuff, throwing together a nice-looking data viewer or editor in Interface Builder is pretty darn easy, especially once you do it a couple of times ( can you say code reuse? ), and writing a real document-based app lets you do some stuff that'd be darn difficult and/or ugly in a web form ( or in FileMaker ).

    Of course, I don't know that all of your clients are on OS X, you don't mention. If you have a few OS 9 holdouts, you may want to go web-based or stay FileMaker.

    I'm sure some folks will jump all over me for suggesting doing real Cocoa programming as an actual option for you, but really- it's not that hard, folks, especially if you're doing fairly basic database stuff. This year I took a guy who had only ever written shell-level C programs, got him pointed in the right direction with Objective-C and Interface Builder, and he's written *several* great-looking, highly functional release-quality applications in the past 6 months. He wipped together one multi-user database app in, seriously, like 3 days. It's a real option and I'm a little sad that nobody has offered it up. On the other hand, it's not a simple 'no-programming' solution with auto-generated reports... one of the toughest things for us was learning how to do proper text layout for printing in Cocoa. Then again, once we worked out some details, we have results we couldn't get with FileMaker, and certainly wouldn't get with a web-based forms approach.

    Of course, I'm a bit biased towards a 'real programming' solution; before we went all OS X ( and for one project afterward where PC compatability was deemed worthwhile ), I was writing Java Swing database apps... which were totally useable, even with OS 9's antiquated JVM, and once the *design* was nailed down, implementation followed pretty quickly. If you're all Mac at your campus, your actual administration tasks should be light enough to let you do all that programming, right? ;-)

    Really, though, that's what we've found. I work at an all-Macintosh business, and our IT staff seems to have a lot of time to work on programming projects, rather than applying patches and fighting viruses. Writing database apps in Cocoa gets to be a pretty quick process, and PostgreSQL handles large, complex queries like a champ. It's a great combo.

    But honestly, it sounds to me like you shouldn't touch your system, unless it's too slow or has become hard to support. If you do replace it, do it slowly, in phases, and give yourself plenty of time to do the job right.

  22. Re:DIY by tacocat · · Score: 5, Informative

    I think you've jumped into a few really bad assumptions on this one.

    First, you obviously missed the part about not taking a year off to hand code it.

    Second, is MySQL and PHP always the best solution to a problem? I find it useful, but for someone who is trying to get performance out of a server, I seriously doubt that MySQL + PHP is going to be the right answer. I've found the work I have done on a HTML::Mason web server to be easily 10 times faster than it's PHP counterpart.

    Third, I don't know much about the project, but I think the question was in regards to the RDMS and not the web pages themselves. I am going to assume that most of the work here is in the database structure.

    If this is the case, then even a hand migration shouldn't be that difficult to do. All you have to do is write the scripts to create the tables based on their current definition and procede to dump/load the data. It would be well worth it to develop scripts to do all of this and test them out so that you can migrate the entire back end in one shot.

    I don't have an answer to a easy print interface, but I can venture some guesses on what might work. OpenOffice or StarOffice has some kind of ODBC connectivity and maybe that can be capitalized with it's capabilities. Alternatively, and maybe lastly, perl has some printing capabilities that would make for somewhat simple reports but at very high speed.

  23. Omnis Studio by ThadMan · · Score: 4, Informative

    It's not free, but Omnis Studio is an extremely capable tool for building front ends and reports for client server DBMSs. It is capable of connecting to most databases out there; through either native connections or JDBC and ODBC. An Omnis application can be run on the Mac, Linux, Windows, and Solaris with little or no code changes. It even has a web client plugin that allows you to embed a GUI application into a browser window.

  24. Re:http://cocoamysql.sourceforge.net/ by johnnyb · · Score: 3, Informative
  25. Poster Clarifications by jhealy1024 · · Score: 4, Informative

    Sorry to miss the first three hours of comments, but I was dealing with some network disasters here. I'll try to clarify a few things:

    1) I'm not trying to get away from FM just because I'm a DB snob; I know FM7 will scale better than FM6 and will generally do away with the major limitations we have right now. I also know there's a FM6->FM7 conversion tool, but our databases are pretty zany, and all the experts we've talked to have recommended re-structuring the data. That's why we're moving off of FM6.

    2) As for why I want to go to FOSS, it's so I can get to the data for other applications without having to export it to TDV or XML and massage it. FM does a great job of holding all our data and making it easy to enter, change, and view. Alas, that doesn't help me for my LDAP database (which needs to be kept in sync), library patrons catalog, and other network-related user information systems. Hence, if it were possible to use an open (e.g., SQL) backend with FM's great front end, I'd be happy.

    3) I know FM has a JDBC/ODBC feature to allow external queries, but it doesn't support many facets of SQL (doh), and it doesn't currently work with the Mac version of FM7 (crap -- we're an all-mac shop). Hence another reason why I'd like to keep the backend open; I'm not waiting on FileMaker to "get around" to implementing key features on the Mac.

    4) UI is key, however. We have about 20 people who enter data regularly, and they aren't DB admins, so it needs to be simple and painless to enter, search, and report on data. To support that level of user-friendliness would be difficult to acheive in a custom web-based solution. Hence, any pointers on hooking up FM's great UI to a FOSS DB would be great.

    5) I have several years of Java, Perl, and PHP programming experience, so I could code this myself, and I fully understand the difficulties of doing so. That's why I was hoping for an off-the-shelf solution; my school simply doesn't have the budget to have me do it, nor to pay someone else to do it.

    Thanks for all the feedback so far; I'll post more later.