AUTHOR'S MAIN SITE   > > > > >   TABLE OF CONTENTS for Open Office database tutorials. Delicious.Com Bookmark this on Delicious   StumbleUpon.ComRecommend to StumbleUpon

Open Office ooBase Tutorials-

When MySQL, PHP, can help

You may find that the database being shipped with OpenOffice (ver.2 and higher) delights you as much as it has me. This page tries to help you use it.

Forget anything you may have heard about Adabas, which came with Star Office, the commercial version of Open Office 1. The current Open Office's database, "Base", aka "ooBase", is unrelated. And remember that Open Office, including ooBase, is free! But don't let that fool you. And it's not new. Big organizations, government and civilian, are adopting it as their standard office suite... and saving million$, but still Getting The Job Done.

There's more about ooBase in the main index to this material.

This page is "browser friendly". Make your browser window as wide as you want it. The text will flow nicely for you. It is easier to read in a narrow window. With most browsers, pressing plus, minus or zero while the control key (ctrl) is held down will change the texts size. (Enlarge, reduce, restore to default, respectively.) (This is more fully explained, and there's another tip, at my Power Browsing page.)

Page contents © TK Boyd, Sheepdog Software, 2/06-6/09.


The Needs_______________

Open Office's database is an excellent product for many needs. However, there are times when Oliver was right... we want More.

This discourse will look at some of the things that, in June 2009 anyway, were beyond the reach of ooBase alone. And it looks at some solutions.

We will, as usual, refer to a hypothetical database to illustrate issues. This time, imagine a small charity concerned with recording memorials to people deemed worthy. We'll look at different levels of sophistication. At this point I will point out that most of the other tutorials on the site this page comes from give you much more help with how to do anything discussed. In this discourse, I am going to be "painting" with a "broader brush".

For our discussion, we will imagine that the charity's database has just three simple fields: the name of each Good Person, where they were born (just the country), and a brief text describing why they should be remembered. E.g. Nicholas Winton, who saved 669 children while others were sitting on their hands, and for decades wasn't even recognized for what he did. And is still denied proper respect by Israel and the US Holocaust museum.

For a database used on one computer, ooBase would be just fine for the charity's needs. They could publish a newsletter listing all new and altered records quarterly. They could make copies of the database available to any interested party. With ooBase alone, they could do Good Stuff.

But we're going to look at fancier things.

Suppose the charity has a LAN with several computers. There doesn't need to be a dedicated server. Suppose the charity wants to hold the database on one of the computers but wants the staff to be able to alter records in the database from more than one computer on the LAN. And the charity wants it to be possible for several members of staff to be doing updates all at the same time. In other words, multi-user access is required.

Further suppose the charity has some senior workers entrusted with making changes to the database, but also some junior workers who need to consult it, but who should be prevented from making any changes.

And lastly, suppose the charity is hoping that one day they will have a website which will allow anyone with an internet connection to browse the database. (The charity would not need a "static IP address" if you have heard of one of those and are worried that it could matter.)

I don't think you can address these objectives with ooBase alone. (At least not in June 2009 (nor in March 2013), but of course ooBase is always getting better!) Even so, ooBase will remain a part of my solution for the charity. The rest of this discourse is about tools you could use to do the fancier things. As usual, I have been drawn to free open source packages with wide support. Packages which will work on Windows because so many people are tied to it. And there should be Linux versions because that's where a lot of us are going.

That gives you an idea of what is to come in this discourse. In a moment, I will go through the different packages used in my solution. You could call that the "slicing" of the issues I am covering. However, I am also going to present some information about an alternate way to get started with MySQL and phpMyAdmin, via an easy path. That path, for me, came to a dead end in 2009, but I eventually finished the journey, and have updated that section. Even if the alternate path doesn't meet all your wants, if you tread it, you will acquire some familiarity with MySQL and phpMyAdmin before trying to install them on your own system. (And, by the way, you may find that you don't need more than MySQL and OpenOffice.) An account of that journey is the "dicing" of the issues.

So- Let's start looking at the parts of the solution. They are:

STOP PRESS: (repeated elsewhere on this page.) Since writing the bulk of this, I have also installed, very easily, a full WAMP (Windows Apache/ MySQL/ PHP) environment in a Windows XP box. Not FULLY tested yet... but it was such a joy to install, and had passed preliminary tests. N.B.: There is more than one "WAMP" out there. The one I used, and am so impressed by, is WAMPServer, formerly known as WAMP5, from http://www.wampserver.com/. With one download, one install, you get all the different parts described in this essay installed with no fuss.

FURTHER STOP PRESS!... The first edition of this page came out in June 2009. At March 2013, having gained many battle scars since 2009, I know a lot more about MySQL, client/ server computing, Open Office, etc. What follows "end of further stop press" in a moment may be useful reading for you, as an exercise in seeing if you understand something you think you understand. But.... here's a guide to some newer web pages from me which may address things you want to know about....

First options...

If you "just" want to set up a MySQL server, and access the data served by it using Open Office's database as your front end, I have a "how to integrate Open Office and MySQL" page that gets into the "how to". I would suggest you start, though, with my overview of MySQL, or maybe even the more general "What is client/ server computing?"

Using MySQL to feed material into dynamic web pages...

Well! That was a surprise! (March 2013) It turns out I had already "done" something I thought I was doing now for the first time! I didn't realize I'd done it once before!! The new (3/2013) write-up of "how to get a webpage to display the results of a query of a MySQL table, webpage created dynamically with PHP" is at... Display MySQL query result with PHP.

Using a MySQL server hosted by the people who host your web pages...

An old attempt to explain that is in the text further down this page. By all means visit that later to "exercise" growing comprehension of the topic, but for a first explanation, try my March 2013 essay about using MySQL servers provided by web hosting services.

The greatest adventure...

And lastly, for the most ambitious... and most rewarding!... project, consider setting up a full WAMP or LAMP installation. I continue to stumble along, trying to get a coherent guide to all of that in place for you. What I have at the time I'm editing this page still needs editorial work, but if you dig around my website, and remember that some pages are old, others are more recent, better informed, you will find Good Stuff. Too often the basics of setting up a xAMP are unduly muddled together with aspects of why you would want one. Also, I haven't, previously (thankfully... less old stuff for you to wade through and for me to weed) said much about the "M" part of MySQL. But for the web page serving, and, to a lesser extent, the "P" part, there are quite a few pages. My March 2013 general "What is client/ server computing?", already mentioned, has relevant material. You might also want to have a look at an earlier attempt, with a slightly different focus, on "How to set up and use web server (Apache), MySQL and PHP", and pages that links to.

End Of Further Stop Press
--------------------



MySQL_______________

MySQL is an open source database, just as ooBase is. It has been available for much longer than ooBase, and is more powerful... but also it has a steeper learning curve. I'm not fluent in MySQL, so perhaps it is my ignorance showing, but I would also say that for many tasks it is much harder to use. That is not a complaint or criticism of the package, though. Consider a sports car and a fighter jet. Both will take you from "A" to "B". The car will be easier to use. The jet will do things the car won't. ooBase is the "sports car". MySQL is the more capable product.

We'll come back to MySQL. It may be all you need to set up a multi-user environment on a LAN, with different access rights for different users... but I wouldn't recommend trying to use it on its own.



Apache_______________

Apache is software to create a "web server".

Don't be alarmed by the mention of a "server". The computer it is running in can, at the same time, depending on the scale of your operations, also be used for ordinary tasks.

At the simplest level, you may even have everything running in a single computer... although I'm a bit hard pressed to think why you would want to go to the trouble of setting everything up if you were never going farther. But you could start "inside" one machine, I think.

The next level of sophistication would be to have several machines on a LAN. One would have Apache running, but also be used as a workstation.

And finally, you could set things up so that requests for service could arrive at the server via the internet, and responses dispatched via that medium. Be careful if you go this far: I don't know enough about the security implications to advise you reliably about what exactly you need to do to remain safe once you make your system visible on the net. It can, of course, be done. And I don't think that what I'm discussing here is hard to do properly. But I can't say for sure.

A web server takes care of a few things. Among other things, it "listens" for requests, which come from users sat in front of browsers. A request might boil down to "look at index.htm, a file stored in your system, and send back to me whatever that file says I should be sent." Not only does the server do the fetching, but it "wraps" the file in an "envelope" which ensures it goes to the requester. It may even "do things" to what was in "index.htm" before dispatching the result. The browser complements the server by taking what is sent to it from the server... which may be in a form a human would find hard to read... and presenting that information in a human-friendly form in the browser window.

We'll come back to Apache



phpMyAdmin_______________

You can use MySQL without installing phpMyAdmin.... but, especially for a beginner, I don't think would recommend trying. Making phpMySQL available does entail a little more setting up, but I think the extra work very worthwhile. A "by product" of the work will open up exciting new possibilities. And the much of the work will have to be done anyway, if you want the internet access that was one of our specified objectives.

If you are still trying to shirk the set up issues, l will try to relieve your anxiety by telling you that for learning about MySQL and phpMyAdmin, there is an alternate route open to you that involves almost no setting up at all!



PHP_______________

Yes, you've seen those letters before. PHP is a programming language. phpMyAdmin's name reflect the fact that it was written using in php.

You can master php sufficiently to allow you to write useful things of your own, even if YetAnotherMyAdmin would not be a suitable first project.

For just a moment, let me speak to those readers who know nothing about web page creation.

If you typed out the following in a text editor, and saved the file on your computer as "hello.htm", and then used your browser's "Open File" facility, "Hello World" would appear in the browser window. You don't need a web server, because your browser can fetch simple things directly using "Open File".

<html>
<body>
Hello World
</body>
</html>

Now you know how to write web pages! (Getting them visible to the whole world isn't much harder. You just have to set up an account, a bit like setting up an email account, and learn how to save your file in the right place.) If that seems too good to be true, just read my tutorials about putting things on the web, starting from scratch.

The page in the example is called a "static page". What you see above tells you exactly what you will get.

Next, consider the code below. It is for a simple dynamic page. You would create it and put it on the web exactly as you did for the previous example. Only one line has changed.

<html>
<body>
<? phpinfo(); ?>
</body>
</html>

In both cases, what you see above lives on the web server users send requests to.

In the first case, the web server sends what is in the file to the user's browser. The browser "unwraps" the "Hello World" from the "envelope" it was sent in, and displays it... in a fancy font, if the web page is fancier.

In the second case, everything starts as before. The user requests something. The web server fetches the file, the stuff you see above, and the web server sends something to the user in "an envelope". However, the web server changes what was in the file before it sends anything to the requesting computer. The server doesn't send "phpinfo"... it replaces that whole line with "some stuff", and sends the stuff to the user's browser. In the case of the example, the stuff will be a bunch of information about the way php has been set up on the web server concerned.

A little scary, I know, if you haven't met it before... but You Can Do It!!

We'll come back to php



Crawling_______________

Whew! Such a lot of things we're going to come back to. There won't be any more, you may be glad to hear.

At the start, I said I would "slice and dice" the knowledge this discourse covers. I'm now about to take my first pass through some of it.

I called this section "crawling" as in "we crawl before we walk." Of course, the matters here are not really accessible to a complete novice... but if you are ready for them, you are on the edge of a big breakthrough. Compared to the complete novice you are already doing fairly well, or you would not have read this far. But if you push through this little incline on the learning curve, you will see enormous new vistas ahead of you, and you will think "How could I, previously, ever have been so unskilled?"

I am going to assume that you already have a web account, and some fluency in posting static pages to the web. If you don't, then fear not... you don't NEED those pre-requisites for the OTHER approach that this discourse follows... but read through what is to come anyway. (It establishes some basic knowledge, even if you won't be able to try things as they are described.)

If you are lucky, your web hosting service already allows you to work with a MySQL database or two, as part of your web hosting account. And it will have phpMyAdmin set up for your use. Certainly the nice people at 1&1 offer this in many of their packages. If it is not too late, be sure to sign up (or transfer over) to Linux based hosting. (Don't worry... most of the time, you won't know that is what you are using, and nor will visitors to your web pages.) At 1&1 if on your account page you see that your package is "Home Hosting", or similar, you have the Linux type. If you see "MS" in the package name, you do not have the Linux type. ("MS" doesn't mean that your package isn't afflicted with multiple sclera, but I still would urge you to fight the Redmond monopoly that governments seem prepared to let have its wicked way.) Another sign, in a 1&1 account at least, that you have the Linux package is any mention of MySQL databases.

I'm sure that 1&1 is not the only hosting service to allow you MySQL and phpMyAdmin access, but what follows will exactly match 1&1's offerings. 1&1 have done a good job for me for years, I've never felt an urge to try any other hosting service. Those of you using other services may have to work through differences, but the underlying principles, and the operation of phpMyAdmin, should be the same.

At the time of writing, June 2009, even 1&1's beginner Linux package ($3.99 per month) allows you 10 MySQL databases. (At 3/13, I think I was still on the basic package, and I still had MySQL database use allowed.) If you must have an MS package, then in 2009, to get MySQL from 1&1 you needed to pay for the "MS Business" package ($10/month)... and I'm not sure you would have phpMyAdmin available. The product comparison pages, in 2009, at 1&1, imho, could have been be more clear. You may still need to click on sundry "More features" bars. But, as I said, I like their service! (I've used it since 2001.) (Good help pages on their website, among other things! Where do you think I learned the things I'm telling you?)

So. We'll assume you have a web hosting service which allows you MySQL databases and the use of phpMyAdmin.

To get yourself started with things to come, set up a database. Some of the details follow in a moment.

All you need is three fields. For such exercises, I tend to pretend I'm running an army, and I set up something like....

SERIAL  NAME     RANK
001     Fred     General
002     Mary     General
003     Mark     Sergeant
004     Lucy     Captain
005     Fred     Sergeant
006     Joe      General

(For testing, it helps to have at least two people of the same name, different ranks, two people of same rank, different names. (The "serial numbers" don't have to be issued sequentially... but you must not have two people with the same number. Depending on how you set things up, the leading zeros may disappear.)

In broad terms, here's how you do that....

In MySQL terms, first you create "the database". In MySQL (and ooBase) terms, in many contexts, that refers to a container, the "thing" which holds all the tables, forms, queries, reports, etc pertaining to one project.

With 1&1, you start by creating the database from your account control panel... go to 1and1.com, complete your customer login. You will probably land on the "Administration" tab of your account's control page. The "Set up database" page is accessed from there. (Well, it was in June 2009. It CAN still be done... from somewhere! (3/13)

So. Now you have an empty container, the "database". (Well, you will within 5 minutes. Note the "Status" column. Refresh your page until it says "Ready") Once it is ready... so far, it will be empty... next to its entry on the list of your databases (yes, I know, you only have one so far... but you can have more later) there will be a button for phpMyAdmin. Click that, and, you guessed it (I hope), the phpMyAdmin program fires up. (It will fill a window in your browser. It is a bit like doing web-based email, or working on a blog.)

The first time I saw the phpMyAdmin page, I was totally baffled. I totally missed the point of what I could do. (I didn't do much better the second or third times!) It isn't hard, I promise... but it is if you haven't found a page like the one you are reading, and you are self taught.

This isn't the place for a full guide to using phpMySQL. I will write one eventually maybe, again if enough people email and ask. But for now....

The first (and greatest) secret is that when phpMySQL opens, it is not yet connected to a particular database. It is a great tool (a MySQL client, in fact) for working with MySQL databases. Since it isn't tied to any one database, it follows that when you start it, you need to tell it which database you want to work with today. As a beginner, of course, this doesn't occur to you, as you only have one database.

The name of your database should appear on the left-hand side of the page. Click on that, and most of the rest of the window should change, filling with information about the database. Across the top of the right-hand side of the window, you should now have tabs.

Click the "structure" tab, just in case you aren't there already. When you are on that tab, you can add tables to the database, the way we always start building a solution. Try building my little Personnel table.

Fill in as few fields as you can when "doing things" with phpMyAdmin. If in doubt, leave a field blank. phpMyAdmin will usually use something sensible for you. Do be sure to set up the "Serial" (Number) field as a primary key for the table. There's a radio button you tick to make a field a primary key. Make Serial of type "int" (for "integer"), and select "Extra" "auto_increment".

Once you have a table, its name appears on the left-hand side of the window, too. Click on the table's name, and the rest of the window changes again. Among other things, an "Insert" tab appears. Clicking on that takes you to a way to put data into your table.

Click "Browse" and you can see your data.

Ta! Da! You have a database... online!

Read all of the following paragraph before you click on the link in it.

Once you have a database stored at 1&1 in your account, it is even fairly easy to make that data available to "the world". If you click on this link, a new window or tab will open, and you can see data from my online database. When you've savored that, close that tab or window, and you will find this text reappears. (Have I mentioned that I am happy as a 1&1.com customer? I set that database up in June 2009, and it was still accessible without hassle 3/13, and will remain so, I have no doubt. No "improvements" or "upgrades" to my 1&1 service blowing my previous work out of the water. Microsoft take note.)

The code to accomplish that is beyond the scope of this essay, but it is quite simple, and all I had to do (in 2009) was copy the code given to me by 1&1, fill in a few details, and it worked. (Note that the demo code was marked "for php version 3", and we are now (June 09) on php version 5... but the version 3 code works just fine.) Don't worry... you and others can look at, but not change the data in my table. (March 2013 update: The details of the code are given in the page I am giving you a link to just a little way down the page from here...)

Wow! Pretty cool! (If you don't understand that, just stop reading here. I can't help you.)

Please note: While the tech support people at 1&1 are very good indeed, and will sometimes go a bit farther than they are supposed to, the company doesn't offer a lot of help with getting php scripts right. (Because all of us like inexpensive hosting)!

Edit of 3/13: Well! Isn't that a surprise! I invented that wheel again recently, without realizing that was what I was doing. Sigh. Didn't realize I'd done it once before!! (I did know that I'd tried! Did not recall getting as far as I did last time.) My March 2013 write up of "how to get a webpage to display the results of a query of a MySQL table, webpage created dynamically with PHP" is at... Display MySQL query result with PHP.

So now I hope you are impressed by phpMyAdmin.... but I don't think you'd want to do extensive work with it. That's where ooBase comes in. And that's where the dead end I warned you about arises. (Don't worry... there are other paths to success.)

You can use ooBase as a "front end" (or client) for MySQL databases. You retain the delights of working with ooBase's friendly GUI design tools. (For many things. I'm getting the impression, or maybe I'm just making mistakes, but some things seem to be done via the GUI, for instance giving a table which didn't have one before a primary key... but when you look at it again a moment later, the primary key hasn't "taken", the field hasn't actually been converted to a primary key, even though you got no error message. Sigh.)You gain MySQL's ability to support multiple users, allocate privileges, be accessed across the web. Fantastic. What's the bad news?

I am pretty sure (3/13) that you cannot connect to a 1&1 hosted MySQL database across the web using ooBase.... MAJOR BUMMER!!! This isn't a shortcoming of Open Office or of MySQL... it is a decision taken by the sysadmins at 1&1 about the levels of security they want to enforce for your webpages and databases.

But all is not lost.

And maybe you didn't want to work across the web, anyway.

The work we've done so far has NOT been a waste of time. You've met MySQL. You've made a start with phpMyAdmin. Now "all" you need to do is turn your back on 1&1 and do for yourself the bits they were doing for you! (Edit of 3/13: And in that case, you will only need Open Office and MySQL, not the "full" WAMP, PHP, etc, etc.)

You will need Open Office (or equivalent) and MySQL (or equivalent) even if you only want to have a multi-user database on your LAN. (If you don't want that, just stick with ooBase on it's own! But ooBase "doesn't do" multi-user (or remote) access on it's own.)

A little detail: BACK IN JUNE 2009: Before my 1&1 page would serve the page I've shown you, the list of names and ranks from my MySQL database in my 1&1 account, I had to add a file called...

.htaccess

... to my root folder at 1&1. (Note the odd name: Starts with a period ("full stop").

March 2013: I don't know what would have happened if that file hadn't already been there due to my 2009 experiments. I would certainly check to see if there is already an .htaccess file in the root of2 your space on the server, and be very careful about "messing" with it, if there is.

The file's contents:

AddType x-mapp-php5 .html .htm

As mentioned, I am not an expert in matters of securing web servers. That .htaccess file is dangerous if mis-treated. If even my modest suggestion, if still necessary 3/13, is dangerous, I hope someone will email, and explain to me.



I've sliced. Now I'll dice_______________

We're going to "start again" now.

You have an idea of MySQL. You have an idea of phpMyAdmin. We're going to set both up in a computer on our LAN.. but this time, we will leave 1&1 out of the equation.

=====

Let me briefly jump to "dessert"....

By the end of this we will have sketched the setting up of many things. Once those things are in place, and once you are sufficiently confident that you've taken care of the security issues, "opening the door" to give people across the world access to your database is only a small step past letting the people on your LAN have access. And, like the LAN users, you can give or with-hold permission to do things on a remarkably granular basis.

That access can be at a relatively simple level. At the simple level, the user will fire up their ooBase, and "talk to" your database with that, as if the user's computer held the tables, queries, etc. locally. However, when you get to grips with php programming, you can create web pages which "do things", such as asking the user for input, and then returning information determined by that input. There's a good article on php at Wikipedia.

March 2013 edit: You don't need all of the things discussed here just to use MySQL and ooBase together on your LAN. My 2013 MySQL essays may be a better place to start. I'd recommend what is below more as additional material, to "exercise" your understanding, once you have some basics clear in your mind. (End 2013 edit.)

=====

Back to eating peas.....

All that I am going to describe below should be possible on Windows boxes, I think. In June 2009, I was exploring the issues with a Linux box on my LAN (Ubuntu, version 8, "Hardy Heron") holding MySQL, phpMyAdmin and Apache. Another computer on the LAN, a Windows box, was used to test the system's ability to operate in multi-user mode. (And thus, though it wasn't my purpose, I of course also tested/ demonstrated the xxx OS of the client does not need to match the OS running the server.) I also used the Windows box for my early struggles with accessing the MySQL server over the internet.

STOP PRESS: (From about 2010. Repeated elsewhere on this page.) Since writing the bulk of this, I have also installed, very easily, a full WAMP (Windows Apache/ MySQL/ PHP) environment in a Windows XP box. Not FULLY tested yet... but it was such a joy to install, and has passed preliminary tests. (Note added 3/13: Since this page was originally written, back in 2009, I've used WAMP a number of times without hassle, without regret. I have two WAMP systems routinely connected to the internet. I can't remember when they went online, it has been so long.) N.B.: There is more than one "WAMP" out there. The one I used, and am so impressed by, is WAMPServer, formerly known as WAMP5, from http://www.wampserver.com/. With one download, one install, you get all the different parts described in this essay installed with no fuss.

In June 2009, I was very new to Linux... but I use Firefox and Open Office for most of the things I do with computers, so only the color scheme tells me if I'm using the Linux box or a Windows box. I haven't done a lot more with it since, as of March 2013. (So many operating systems, so little time.) My LAN had no "server".... although "servers" are running in some of the peers on the LAN. (Don't let that last statement worry you if it makes no sense. Just take away the message that You Can Do This even if all you have is two computers connected to one another with simple file sharing in action. You don't need anything "fancy"... like "a server", using the term in the sense of a PC dedicated to Doing Things that are beyond the realms we need to think about here...to do what I wrote about in this section in 2009. Since then, the essay, and related pages, has been expanded into some areas which do involve servers.) When I speak of the "servers running in...", I am using the term in a different way. Why can't English be as unambiguous as a programming language?

(3/13 edit: Back in 2009, I said: "A little confession... I haven't got everything you see below working yet... but, with 40 years of working with computers, I don't think I'm being reckless when I say that all that's left is finding a few right tick boxes in a firewall rule, or line in the Apache config script, etc." At 3/13, I think I have got "everything" working on a Windows based system.)



Let's Make It Happen_______________

First, of course, set up your Open Office installation. Version 3.1 has some improvements to ooBase. Probably worth doing the upgrade, if you haven't already. The old ooBase "works"... and works well... but you might as well do the upgrade.

I was disappointed on 14 June 2009 when I found that the version of ooBase that my Ubuntu box installed "the easy way" was only ooBase 2.4. However, it did "work" to create a VERY simple little database. Even the form wizard worked. Either the old problem has been fixed, or I didn't invoke the bit that caused trouble in the old days.

That was a diversion. I was talking about ooBase on my Ubuntu box, and you don't need it on every machine, anyway... just on those machines where you want to use it to access either its own databases, or MySQL databases.

I do most of my ooBase work on a Windows machine, XP for several years now, ooBase version 3.1 with Sun Report Builder 1.1. (That was my configuration in June 2009. At March 2013, I still use XP for most things.)

If you are just starting with MySQL + Open Office, do, please, "risk" (not great) "updating" yourself to the latest versions of both before starting.



Back to work_______________

As I said, you could put Apache, MySQL, php services and phpMyAdmin on a Windows box, I believe, but for my tests I have been using a Ubuntu box. (3/2013: Yes, you can put them on a Windows box as easily.)

I made a false start. I'd already installed some bits before I came across a page in the official Ubuntu documentation saying that there is an easy way to add "LAMP": Linux/ Apache/ MySQL/ PHP. You know "all" (well almost all) about all four of those parts, don't you? Aren't you glad you've had the benefit of my explanations? (The page just cited is for people like me who are "fixing" an existing Ubuntu set up. It is full of "stuff"... but Good Stuff.)

If you are only getting ready to set up a Linux box, setting it up as a server from the outset might be a better way to go. Perhaps as well to go for the "full" "LAMP" package. Maybe just set it up with the "M" part of that. (A "LAMP" package installs, for Linux, Apache (server to respond Firefox, Safari, and the like), a MySQL server (which we need for the basics of what we are discussing here, and a PHP "engine", so that you can use PHP code in your .htm pages.) See http://www.ubuntugeek.com/ubuntu-804-hardy-heron-lamp-server-setup.html for help with that alternative.) Don't forget that I said all of this should be possible in a Windows machine, too. (2013: It is) I already have an Apache server working fine on a Windows machine. (It serves my Far Watch material. You can use it, if you wish, to see what the weather's been doing at my home!

There's another good web page about installing LAMP at http://www.howtoforge.com/ubuntu_lamp_for_newbies. It gives you some useful tests for the different parts of the package, and mentions some "minor" tweaks you may need to make.

Happily, and to Linux's credit, I don't think I paid any price for my false start. My LAMP installation went well... although as I said, a few things don't quite work yet. Maybe due to the kludgy installation. Probably just due to my novice status in Linux land, and not issuing some command correctly.

I won't say much more about Apache in this.

===

Right! We'll take it that you now have a LAN with a Windows computer with ooBase 3.1 and a Ubuntu computer with LAMP. (This is NOT the "minimalist" answer to just using Open Office and MySQL together. But it isn't a lot more work, and opens many other possibilities. The full LAMP (or WAMP) is necessary if you want more than just the Open Office- as- client access to your MySQL database. It is necessary if you want to use the PHP approach. There is more on the "less complicated" approach at the pages about Open Office/ MySQL integration which I wrote in March 2013.

On the Ubuntu box, launch your browser. I use Firefox. Enter...

localhost/phpmyadmin

into the address bar. (Note that's case sensitive. Don't use, say, localhost/phpMyAdmin in a fit of typographical exuberance.)

You should see phpMyAdmin's login page, just as you did if you tried 1&1's installation of phpMyAdmin.

The following is a Bad Idea, but the only one open to you at the moment: Log in using the "root" account for the MySQL setup on that computer (Not the "root" user for the whole computer.) (Username "root".)

Before, with all that power, you mess anything up, go down to "Privileges". On the page which opens when you click that, create a new user....

User name: Use text field: {something like "MeForTrials"}
Host: Local: localhost
Password: mm {or something equally easy to remember, for this}
Re-type: mm

Don't click anything else in the next few lines, but down in the Global Privileges section, and tick....

(You might want to tick "Drop" in the Structure section too, but if you drop a table, you delete it. I don't think I'll want to do that often, and I certainly don't want to do it by mistake, so I withheld that privilege from the MeForTrials user. I can always log in as a more powerful user if I want to drop a table.)

Click the "Go" button. Click the "Home" icon, left of window, and Log out. Log back in as MeForTrials, or whatever you called your weak user.

You're in. Again! Now, using the skills you learned while using the 1&1 provided MySQL + phpMyAdmin, you can create a database, give it a table, put data in the table, etc.... can't you?! (grin)

On the Linux box, open a terminal window, type ifconfig (not the Windows-familiar ipconfig), and note the Linux box's IP address within the LAN. In my case, it was 192.168.0.5

On the Windows box open a web browser, e.g. Firefox, and type the following into the address bar, changing the numbers of the IP address to match that of your Linux box....

192.168.0.5/phpmyadmin

.. and the phpMyAdmin log in screen MAY appear. It did when I was working on this just now. If the log in screen did not appear, you may have experienced what I did... once. The first time I set up my weak user, I said give him access for "any host". Subsequently, I "had" to go back and set up two copies of the user, one for "local: localhost" and one for "local: 127.0.0.1"... at least it seemed at the time that I had to do that. Until I did something... the details of which I can't now recall.... didn't work. You know the feeling?

Anyway.....

What you should have now is...

Yes... I mean that BOTH boxes have access to the one database, at the same time. Note too that we don't need to have installed anything on the Windows box. (Apart from Firefox. Internet Explorer would "do" if you don't want to install Firefox)

Try changing the data in your table with each of the machines. As soon as you make a change, click "Browse" while looking at the table on the other machine, to reassure yourself that everything is working just fine. This is cool! (You do have to click Browse again after any changes if you want to see the changes.)



But_______________

But that isn't everything we wanted. While you can do a great deal with the database with phpMyAdmin alone, you can't do much easily

Here we reach the limit of things I could tell you how to do in June 2009. However, I stand by my earlier confident assertion: They CAN be done. (My Jan-March 2013 work vindicated that hope.)

The things that CAN be done, (and I WILL crack the details, by the way,) are....

You can: access and manipulate of the data in the database using ooBase as a "front end" or "client" of that (MySQL) database. (Installing the MySQL ODBC connector (aka driver) WAS part of the "how". Since I originally wrote that, Open Office as acquired its own, native, MySQL connector. Very good news.)

You can: access to the database via a web page. The first sort of access will be simple, like the access I already demonstrated to you, letting you see the names and ranks of people at my 1&1 hosted MySQL database.

Once that's sorted out, I'll turn to learning more about php. (You can use php in pages hosted at 1&1, by the way.) I am confident that you can, for instance, create a web page that lets the user say "Show me everyone with the rank of XYZ in the database", where XYZ is something that the user types in, e.g. "Captain".

It is, I'm sure, even possible to give "the world" a way to alter what's in your database via a web page. The only alteration I'd be inclined to allow the world would be the option of adding records. I wouldn't empower strangers to delete records or alter existing records. Such granular permissions, are possible!

Wish me luck in the explorations ahead of me? I wish you luck with the pursuit of your goals! Don't forget that right back at the beginning of this there were links to my more recent, more informed essays on these topics. (The "new March 2013" stuff).



Editorial Philosophy

I dislike 'fancy' websites with more concern for a flashy appearance than for good content. For a pretty picture, I can go to an art gallery. Of course, an attractive site WITH content deserves praise... as long as that pretty face doesn't cost download time. In any case....

I am trying to present this material in a format which makes it easy for you to USE it. There are two aspects to that: The way it is split up, and the way it is posted. See the main index to this material for more information about the way it is split up, and the way it is posted.


Ad from page's editor: Yes.. I do enjoy compiling these things for you... I hope they are helpful. However.. this doesn't pay my bills!!! If you find this stuff useful, (and you run an MS-DOS or Windows PC) please visit my freeware and shareware page, download something, and circulate it for me? Links on your page to this page would also be appreciated!

PLEASE >>> Click here to visit editor's Sheepdog Software (tm) freeware, shareware pages <<< PLEASE


If you liked this ooBase tutorial, see the main index for information other help from the same author.

Editor's email address. Suggestions welcomed!     - - -    Want a site hosted, or email? I like 1&1's services.




Valid HTML 4.01 Transitional Page tested for compliance with INDUSTRY (not MS-only) standards, using the free, publicly accessible validator at validator.w3.org


One last bit of advice: Be sure you know all you need to about spyware.

. . . . . P a g e . . . E n d s . . . . .