Using Microsoft Tools To Design Web Sites That Work w/ Apache?
Grimster asks: " As a new Web hosting company/ISP we're just now getting to the point of being asked for "E-commerce" and other database requiring Web sites. Currently we're running Solaris 7 on Sparc, Apache + PHP + Frontpage Extensions + SSL, and a MySQL database. The problem is, our Web designers want to use MS Access to create the databases and then deploy those onto our Web sites, both for our customers as well as for our own projects. I've been scouring the Web and all resources trying to find out what (if anything) I can do to support this approach to Web development, and so far I haven't really found anything "good" or even possible to allow this. The question is, how can my Web designers use MS Access and Frontpage to create these Web sites and my Apache server support this, without paying Microsoft Tax by being forced to build an NT + IIS + ASP Web server? I really hate the thought of having anything critical running on NT. Any hints, solutions, antecdotes, and advice on this subject will be utterly appreciated."
...and I'm pretty sure you can put together some bastardized connection between it and an MS Access database. You don't really need to lose your Apache front-end setup, but you might find yourself reliant on NT for the backend, which might not be acceptable. As for Frontpage... Point them to a nice little box of Dreamweaver and pray they like it. (As it can play nice with PHP. :))
And hit them over the head with it, until all thoughts of MS Access finally leave their bleeding pulverised bodies. ;-)
Seriously - MS Access is not safe enough for live web use, so I assume you're hoping there might be some porting tool to convert MS Access DB's to PHP + MySQL. I think you've reached the conclusion that there isn't, so it's time to reach for that stick.
Matt. Want XML + Apache + Stylesheets? Get AxKit.
Perhaps it is acceptable for your WebDesigners to use MS Access as a frontend to the MySQL database through ODBC drivers, so that the actual data is still stored in MySQL.
We use that setup with our Sybase databases and our Web development people are quite happy with it.
I work with Grimster, and I use perl for most of my db work right now using flat files ( low use, low volume db's ) ..
What we are running into is that the boss and one of the other designer's is wanting to use access because the believe it will automatically produce the html and queries for them.
We've already told them we would rather use PHP / mySQL or even ASP / PERL / PHP mySQL. Anything but a pure M$ Solution.
But, we have to have facts that back it up, I guess our opinion isn't enough to sway our leader, even though it is our job to tell them what the right choice would be.
I've been looking for resources that compare Access to mySQL or any of the *ux sql servers. We need Benchmarks, Usage Stats etc to show the boss.
If anyone knows of a url, we would appreciate it!
----
Crowe
-Chrispian www.lit.org
Get exportsql.txt from the MySQL contributed downloads page. Paste it as a module in the Access database and run it. It will make a SQL "script" which you can run in mySQL to recreate the data exactly. I did something similar for a client some time ago and it worked quite well.
As a plug for a favorite product, I'd suggest pointing the designers toward Visio2000 for database design, rather than doing it directly in Access. Visio2000 lets you visually draw out the entities and relationships. Then, with a few clicks, it will actually create the structure you've drawn on any ODBC-compliant database (Access97, SQL Server, MySQL, whatever). It's VERY usefull for complex database design.
I know you hate the idea of running anything critical on NT, but maybe you should just hold your nose and set aside one box as the database server. There's an article on phpbuilder.com that should get you started here.
The other suggestion is to point out that, from a programmer's point of view, there's not a hell of a lot of difference between using Access and any other SQL-speaking RDBMS that's got at least as many, if not more, features (such as MySQL, which at least has a security model of sorts). If they're really prissy, you could write a DB abstraction layer (check out phorum's at www.phorum.org for the basic idea) that hides all the db-specific functions from them (e.g. write a DB class and a query() method in PHP that can do Access, Postgres, Oracle (if ever you become well-heeled), or whatever.
"Oh, I hope he doesn't give us halyatchkies," said Heinrich.
Scary that these days I am being turned into a m$ apologist, but ... Credit where credit is due. "anything critical" ... like a website that gets millions of hits a day? When was the last time you saw microsoft.com go down? Last time I heard, it ran on NT. For what its worth, we run a whole heap of sites from an access backend, from scripts in visual basic (well, sort of) running cgi-bin on IBM HTTP Server, which is their name for APACHE. We use apache because IIS is pretty brain dead, and makes NT unreliable. Without IIS installed, NT is very robust. We use access because it is easily the fastest database on the market, but it will not scale very far, which is fine for our current situation. We are porting our scripting language to a Java Servlet Apache mod to target non m$ sites, most likely Linux, AIX and Solaris. If anyone wants to see it in action, mail me, but I don't think our infrastructure would survive a /. effect (then again, how many ppl read this part of /. ?).
What are you talking about? Everyone knows that MS is fully compliant with every standard worth using (why do you think people talk about The Microsoft Standard; they like standards that much). No wonder Microsoft recommends using IIS instead of Apache: Apache doesn't even support those great standards Microsoft is such a big fan of! Sheesh.
Ya beat me to it!
Well, here is another link for it, anyhow:
http://www.cynergi.net/exportsql/
Reason is the Path to God - Anon
Has anybody tried to use the Unix Frontpage systems? I'd rather not throw up an NT box just to do FrontPage stuff for my clients.
The last time I looked, Unix FrontPage was a major security risk.
Or take a look at the documentation on extending Dreamweaver. You might be able to write a translator for the PHP tags as a .dll that plugs into Dreamweaver and tells it to ignore them.
If your web weenies are going to use a WYSIWYG editor, Dreamweaver is the one to go with. As long as they know about the difference between Netscape and IE, they can write cross browser HTML with it. If they can't comprehend even that, a text editor isn't going to be much better for them.
And if they are going to be mucking around in PHP, you might set them up with PHPed (US mirror) as the external editor for Dreamweaver. With the HTML, PHP, and SQL all highlighted they even know what they can mess with and what to leave alone.
Bleh!
The only *nix web product I know of that includes native drivers for MS Access .MDB files is Allaire Cold Fusion, which runs on NT, Solaris, Linux and HP/UX. I'm just going on my feeble memory so I could even be wrong about that.
:(
I do recall a discussion somewhere (maybe on zend.com) about how you can use MS Access to create a database, and then do an 'Export SQL' to publish the contents to a MySQL server. I forget the details, but you might do a little searching.
There also are a few graphical client programs that are similar to Access (or MS SQL Server Enterprise Manager) that allow you to manage a MySQL server and add/edit data. I use KSQL under KDE, but I know that there are several others for Linux, and at least one for Windows. This might be a satisfactory alternative to Access for your designers.
Now, about FrontPage. I don't know how else to say this except... it's complete and total dog shit. I would elaborate but the product is so bad it doesn't deserve my time.
If the main reason you are stuck with Front Page is for its ability to publish easily to remote servers, consider these alternatives:
WebDAV (Web Distributed Authoring and Versioning) does the same basic thing, only it is standards-based. There's an Apache module for the server side, and a number of options on the client side, including 'Web Folders' (or something like that) under Windows 98. See http://www.webdav.org for lots of info on DAV.
RSync - I edit my sites on my personal workstation, and then publish the changes to my production server using RSync (http://rsync.samba.org/) over SSH. It basically is a quick, seamless way to mirror a site from one machine to another. It only transmits the changes each time you run it, not the whole site.
Anyway, hope that helps a little bit. Good luck.
- pb with no j
ODBC Socket Server easily allows Linux servers to talk to Microsoft Access. There are clients for PHP, Perl, Python, and C++. Its GPL and can be found at http://odbc.linuxave.net.
Let me know if you have any questions or comments about the software.
Install MyODBC on all machine running Access - then you can control the MySQL database thru Access. Plain and simple.
Unfortunately, the web weenies all use Macs to edit things with (no Mac version of PHPed). They've been using DW3 for months now, and it still does the Bad Stuff with PHP. I've looked at the extension template stuff for DW; looked too complicated to be worth it for the few times they'd need it (usually, they make the page first, then give it to me, and I stuff PHP into it with pico :) I also, of course, had to write a little PHP script to convert their files from the Mac-format linefeeds to Unix-format ones because I can't get them to set the "Use Unix linefeeds" option in DW and leave it there...
Mac Weenies. :) (Yes, they crash just as much as Windoze boxes do, and use up twice as much RAM doing it...)
"The best weapon of a dictatorship is secrecy, but the best weapon of a democracy should be the weapon of openness."
Slap an ODBC System DSN for MySQL onto your designer's boxes, let them create linked tables.
It's deep in tedious details to work out and the setup is a bit error-prone, but once done it's trivial to link tables in Access.
BTW, you do know how horribly insecure the FrontPage extensions are, yes?