Navigable PDF Presentation of WordPress Migration Tutorial

Navigable PDF Presentation of WordPress Migration Tutorial

Navigable PDF Presentation of WordPress Migration Tutorial

There’s a bit of a dual purpose tutorial going on today, the dual purposes being …

  • Showing you some WordPress Migration tactics, again, but this time involving Windows (local Apache/PHP/MySQL web server) MAMP, as distinct from the conditions during the previously discussed WordPress Upgrade Crontab Curl Tutorial … and …
  • Navigable PDF, via hashtagging, in an HTML iframe approaches to presentation

That latter purpose was a bit of a doh! moment for us, as we’d neglected to use this useful hashtagging technique of defining a URL like …

http://www.rjmprogramming.com.au/MAMP/wordpress_populate.pdf#page14 ... or ... http://www.rjmprogramming.com.au/MAMP/wordpress_populate.pdf#page=14

… ever in the past … as the src= value in an HTML iframe element (but we’ve found cross-browser issues, so we’ll also be supplying an HTML a link equivalent to show PDF in new window) to show (how we made HTML blog posting editing mode be the default over the installed default setting of Visual edit mode, via a change to the Twenty Seventeen theme’s function.php as mentioned in that previous Tablet Run Web Server Blog PHP Tutorial as shown below … thanks to this useful link for the advice here) …

http://www.rjmprogramming.com.au/MAMP/wordpress_populate.pdf#page14 or http://www.rjmprogramming.com.au/MAMP/wordpress_populate.pdf#page=14

… as an alternative to just displaying that (in) image(s) as per …


We want to point out an advantage here of there being less files needing to go over to the web server to achieve any sequence of display items you care to think of. Versus a disadvantage is that it involves a more resource hungry set of circumstances for the web browser. However, this resource hungriness is offset by caching you have going, because hashtag (#) navigation can use whatever is in the (web browser) cache from a previous hashtag (#) URL mentioning that one “collective” PDF “view” of all the “imagery” the once. Come to think of it in this way, and perhaps the “navigable PDF” approach is less resource hungry?!

Now what about the WordPress migration today? What’s new with the approaches? Because we are talking WordPress posts and pages to WordPress (on MAMP) posts and pages, we think just stick with the …

… though …

  • it says for the WordPress Importer it has not been tested for this recent WordPress release … and …
  • there are quite a few third party plugins that might do a good job, but finding a pairing of Exporters and Importers that had been tested for both the “data from” and “data to” WordPress versions seemed difficult to find

… and that’s where the configuration of php.ini regarding POST_MAX_SIZE and UPLOAD_MAX_FILESIZE settings (being far too low by default, just for this migration task) only on the Importer side, becomes important, and therefore we’d like to direct you to this slide …

http://www.rjmprogramming.com.au/MAMP/wordpress_populate.pdf#page9 or http://www.rjmprogramming.com.au/MAMP/wordpress_populate.pdf#page=9

… to see some of the …

  • use of MAMP “Properties” to determine a PHP version
  • stop MAMP servers
  • edit the appropriate MAMP php.ini
  • start MAMP servers
  • proceed with WordPress (migration) import of Exported XML data via WordPress Importer plugin

Here is a PDF slideshow showing some of this. Bear in mind, this export then import migration task relates only to the transfer of category, tag, post and page MySQL data information from one rjmprogramming.com.au domain WordPress MySQL database to MAMP’s WordPress MySQL database. So, yes, this job might be undertaken at a MySQL database migration level (perhaps involving the “give us a P” … P … “give us an “H” … H … you know what we mean … phpMyAdmin), but that is not how we have “rolled” today. Again, like yesterday, and the day before it comes via the use of HP PhotoSmart Premier software suite via the creation of a project and then shaping to Print this, and picking the Microsoft XPS Writer printer (and once again thanks to Free online XPS to PDF converter).


Previous relevant Tablet Run Web Server Blog PHP Tutorial is shown below.

WordPress Twenty Seventeen Theme on MAMP on Windows Install Tutorial

WordPress Twenty Seventeen Theme on MAMP on Windows Install Tutorial

Today, we follow up on yesterday’s MAMP on Windows Primer Tutorial as shown below, by installing a WordPress.org (as distinct from the WordPress hosted WordPress.com) blog onto Windows via a local MAMP local web server, and using the current default WordPress theme called … you guessed it “Twenty Seventeen”.

This Twenty Seventeen theme, by default, we notice, constructs blog postings in non-HTML mode, which could please those users wanting to ease their way into learning HTML as they start blogging. But we noticed changing the “Find Us” Contact Page details, there the HTML was, so am still strongly advocating that you learn some HTML anyway.

Roughly speaking, the steps involved were …

  1. Download from WordPress.org the blog installer in the form of a zip file, which you can decide to Open directly, or save to your Window’s user Downloads folder, and then double click … to …
  2. Open your default unzipper (WinZip here) via right click and Open With… WinZip …
  3. Click Extract …
  4. Type in “C:\MAMP\htdocs\” ( ie. MAMP document root, equates to http://localhost:8888/ ) as the place to extract to …
  5. In Windows Explorer, to rename the C:\MAMP\htdocs\wordpress directory now would affect the URL we talk about below … but we assume in all that follows that you stuck with “wordpress” here …
  6. In your web browser (we have Google Chrome today) type in URL of http://localhost:8888/wordpress …
  7. Choose main language (and we choose English) …
  8. That being the case we opened http://localhost:8888/MAMP/index.php?page=phpmyadmin&language=English to start up the incomparable, the never before seen in this country at this time and in these weather conditions, “phpMyAdmin” to, if you haven’t already done so …
  9. Click the “New” (database) link …
  10. Fill in the new name for a database (and we use “wordpress” here) …
  11. Click the “Create” button … which creates a shell of a MySQL database ready for the WordPress install to “infill” with data …
  12. Meanwhile back at the http://localhost:8888/wordpress install webpage (assuming you clicked the button after the Language selection) you fill in a form, primarily detailing the blog …
    • Database name (for us, “wordpress”)
    • Database username (default, for MAMP’s MySQL is “root”, so we are showing that)
    • Database password (default, for MAMP’s MySQL is “root”, so we are showing that, but, obviously, it is good to change default passwords)
    • Database host (default, for our MAMP, but not necessarily for yours is localhost:8899 … as we explained yesterday … install default is “localhost”)
    • Database table prefix (their “wp_” prefix we are happy with … which would infer, for example that post data would reside in localhost:8899’s database called “wordpress” in table “wp_posts”)

    … and when filled out click button to proceed

  13. Click the “Run the install” button …
  14. Then you get to a form about an administrator username and password and website title and email address … please do not have easy passwords except those suggested by WordPress for internal use only … MAMP is a good place to sort all these issues out before going live … after which you click the button to proceed
  15. And so you get to a WordPress administrator login screen where those details above come into play, and from then on, you are more or less on your own administering this http://localhost:8888/wordpress/ blog … and for a few slides …
  16. We skim the surface of administering the WordPress blog where we …
    • show you some theme alternatives to the default Twenty Seventeen theme we plump for …
    • change the “Find Us” address at the Contact Us menu webpage …
    • create a small inhouse posting, when we discovered the default mode of (blog post) creation appears to be no longer HTML (as it is for good ol’ Twenty Ten theme … cough, cough) … but …
    • Everything was there via the Add Media button and a Paragraph button for us to construct a short diatribe about Beethoven’s Fifth posting involving some words and an image (added during the “Add Media” button press)

And so there you have some …

  1. Blog
  2. CMS
  3. WordPress install
  4. MySQL database management via phpMyAdmin
  5. WordPress Blog Post creation
  6. Local web hosting

… but if you are web hosting yourself, with a live blog, on Apache/PHP/MySQL at least, you need to know bits and pieces (all talked about at this blog in varying degrees of detail), in addition to bit more above …

  • (s)ftp
  • ssh
  • cPanel
  • phpMyAdmin

… and then, the nice to haves, or develop, are …

  • HTML
  • Javascript
  • CSS
  • Linux (or Unix)
  • Apache configuration (eg. .htaccess usage and robot.txt)
  • crontab
  • MySQL off the command line
  • Google Webmaster
  • get better at SEO than we are
  • PHP
  • Python
  • Perl
  • ImageMagick
  • GD in PHP

Constructing our PDF presentation of the steps above we’d like to thank …

Enjoy today’s slideshow.


Previous relevant MAMP on Windows Primer Tutorial is shown below.

MAMP on Windows Primer Tutorial

MAMP on Windows Primer Tutorial

Have you noticed when you revisit websites from long ago lots of times functionality regarding platform flexibility has moved on. Web server products in particular are of more benefit to us all if they support multiple platforms.

In that regard we are happy to break a “myth” that had developed in my mind that the wonderful MAMP local Apache/PHP/MySQL web server was just for use with Mac OS X. It might have been me dreaming, but in any case, it can be used on Windows, currently version 3.2.2.

It behoves us, though, to take a step back and explain why this interest? Let’s just take the concept of a local web server first. We think …

Local web servers are the best way to test code destined for a real and live web server open to the public to test web applications both for the logic and coding within them, and to get close to testing for similar environmental circumstances

… and sorry to break it to you, but short of Ansible type of deployment thinking it is not good to be more definitive about “environmental” simulation, than the sentence above. Think it’s not worth this “local web server” bother? For all else, but totally trivial coding, like you may be able to achieve via Javascript, within a blog posting itself (and this is not really advised by the big players anyway), it is just not a good idea not to have tested a web application locally first, especially if it is a serverside language like PHP or ASP.Net … and yes, noticed with the MAMP on Windows install, that .Net Framework comes into the equation.

Now let’s “plonk” on top of that in our thinking, and this is the motivation for a lot of user interest out there, what about “how to go about developing a WordPress blog from go to wo (hopefully not woe … chortle, chortle)”? The same goes here in our mind …

Local web servers are the best way to test products you install from third parties, such as blogs and forums and chatrooms and CRM and CMS websites, destined for a real and live web server open to the public to test web applications both for the logic and coding within them, and to get close to testing for similar environmental circumstances

… to which it would be legitimate to question, given web server interfacings like cPanel (hosting platform) to go with managing an Apache/PHP/MySQL web server, that that sounds like “overkill” given cPanel has options to install blog products like WordPress within its menus. We would say to that, that, yes, it has a good chance of working if you use cPanel, that is true, but we would see that it is not going backwards, nor costing any money, with a lot of the products, to “test run” them on a local web server, and when satisfied, or not, use cPanel, or some other (s)ftp file transfer approach to get that product up live and running.

Add to that for us, is that we’ve had only the smallest of working problems with MAMP on Mac OS X for many years now, and so we’d have to describe it as “robust”, and it has an associated MySQL database interface product called phpMyAdmin which is so good it’s thinking of inventing a “phpMyAdmin soup”.

So that leaves, for us, why move off the EasyPHP (local (WAMP) Apache/PHP/MySQL web server) for Windows product. After all, we readily admit to no issues with EasyPHP here, but we feel that to progress with knowledge, and not let “platform confusion” overcome you, you should learn as much as possible about what is out there as an alternative. After all, even though it may not work with your Windows, it did for me, to have the following MAMP ports hold true …

  • Apache listener on port 8888
  • MySQL listener had a clash on our preferred port 8889 (like it is for Mac OS X), but we had no problem with using port 8899

… which, to many many intents and purposes makes your work coming off Mac OS X local web server work, look heaps (“exactly”, if no MySQL connections involved in the code) like your work, perhaps, moving over to, or even integrating with a Windows local web server with the same “MAMP” (robust) product name.

In short, if you “want to learn” WordPress I’d recommend, strongly, the use of a local Apache/PHP/MySQL web server product like MAMP, whether you are using Mac OS X or Windows.

In long trousers, now, if you “want to learn” WordPress I’d recommend, strongly, to learn some HTML. If you have a local web server, and install WordPress to a local web server, and you are only starting out with PHP, there is a double whammy advantage that you will see PHP WordPress code they talk about at WordPress Codex, the online manual for WordPress code.

But to today, and also with WordPress 4.1.1’s MAMP on Windows Primer Tutorial, and all we did, was …

  • Visited the MAMP website … noticed its Windows interface … new to us … so …
  • Got on Windows … and installed …

  • Started it up and realized Apache started but MySQL didn’t … so did a bit of research at this useful link, thanks …and so …
  • Changed MAMP Properties so that MySQL listener port would be changed from the 8889 we had to 8899 … restarted … success

Below is another way to summarize the work above … in pictures … yes, an animated GIF, so popular on websites like Tumblr … and able to be constructed quite well on Gifpal, but, today, we are showing you having been constructed inhouse via the techniques that feature PHP writing PHP of Animated GIF via PHP Writing PHP Primer Tutorial … for your perusal …


Previous relevant Animated GIF via PHP Writing PHP Primer Tutorial is shown below.

Animated GIF via PHP Writing PHP Primer Tutorial

Animated GIF via PHP Writing PHP Primer Tutorial

We find another very useful reason for PHP to write PHP. Today we establish a PHP web application to dynamically create Animated GIF images via some still images, like Gifpal would do.

We have some great open source PHP code to thank for the basis of the functionality we found at Jeroen van Wissen’s very useful link, thanks.

Then we added a more user friendly interface to get the information off the user we need. We present this in an HTML form, which navigates to the same PHP to do the actual assembly of the Animated GIF via techniques where PHP writes PHP … and really needs to, to be useful.

Do you remember, last, when we did some PHP writing PHP functionality … PHP Writes PHP Vertical TextBoxes Primer Tutorial?

And inside the PHP it makes big use of the GD and Image Functions to read and write the image data we assemble via the user information.

This Animated GIF form of animation is the easiest to implement, as it consists of just the one GIF image file, but the user has very little control over the animation settings, such as the delay between stills, one of the settings we ask about in our web application.

Our PHP source code today you could call tutorial_to_animated_gif.php and we redirect you to some live run ideas …

  • normal run with HTML form which posts back to itself … live run
  • example GET parameters run (like our tutorial picture)

Hope you find this tutorial useful.

If this was interesting you may be interested in this too.


If this was interesting you may be interested in this too.


If this was interesting you may be interested in this too.


If this was interesting you may be interested in this too.

This entry was posted in Database, eLearning, Tutorials and tagged , , , , , , , , , , , , , , , , , , , , . Bookmark the permalink.

Comments are closed.