|
|
Line 3: |
Line 3: |
| This is the final class session of the semester. | | This is the final class session of the semester. |
| | | |
− | == All work due by December 20 ==
| |
− |
| |
− | All work is due by Midnight December 20.
| |
− |
| |
− | * Zip file containing your Theme folder
| |
− | * Send to instructor via email: [mailto:karl@karljones.com karl@karljones.com]
| |
− |
| |
− | == Optional student guest lectures ==
| |
− |
| |
− | Optional: student guest lectures (optional non-credit activity for personal growth)
| |
− |
| |
− | == Guest lectures ==
| |
− |
| |
− | Guest lectures did not work out.
| |
− |
| |
− | Instructor will give a presentation instead, summarizing key points from the semester, and filling in some missing pieces.
| |
− |
| |
− | == Clients and servers ==
| |
− |
| |
− | A [[client (computing)]] is a [[computer program]] which sends a [[request (computing)]] to a [[server (computing)]].
| |
− |
| |
− | The server receives the request, and sends a [[response (computing)]].
| |
− |
| |
− | See also [[Client-server model]].
| |
− |
| |
− | == Kinds of data ==
| |
− |
| |
− | Many different kinds of clients and servers exist for various purposes:
| |
− |
| |
− | * [[Database]]
| |
− | * [[File Transfer Protocol]]
| |
− | * [[World Wide Web]]
| |
− |
| |
− | For each kind of data, there is a client, and a corresponding server.
| |
− |
| |
− | Example: [[web browser]], [[web server]].
| |
− |
| |
− | == HTTP request methods ==
| |
− |
| |
− | Get: use get method for repeatable requests.
| |
− |
| |
− | * Web search
| |
− |
| |
− | Post: use post method for one-time requests..
| |
− |
| |
− | * Send email
| |
− | * Complete e-commerce transaction
| |
− | * Create a new user account with social media service
| |
− |
| |
− | == Hyperlinks ==
| |
− |
| |
− | When a user clicks on a hyperlink in a web page, the browser sends a request using the get method.
| |
− |
| |
− | Hyperlinks always use the get method.
| |
− |
| |
− | == Web forms ==
| |
− |
| |
− | When a user clicks the submit button in a [[web form]], the browser sends a request to the server.
| |
− |
| |
− | Depending on the web form, the request is typically either [[Get method (HTTP request)|get]] or [[Post method (HTTP request)|post]].
| |
− |
| |
− | == PHP ==
| |
− |
| |
− | [[PHP]] is a [[programming language]].
| |
− |
| |
− | It is widely used for [[server-side scripting]], including [[web development]].
| |
− |
| |
− | It is common for web forms to submit requests to a PHP page.
| |
− |
| |
− | * That is, the <code>action</code> attribute of the form is set to the URL of some PHP page
| |
− | * When a server receives a request for PHP page, the server's PHP module processes any PHP code in the page
| |
− |
| |
− | PHP pages typically contain a mix of [[HTML]] and [[PHP code islands]], although it is also common for PHP pages to contain one large PHP code island, and no HTML.
| |
− |
| |
− | Keep in mind that server-side PHP can, when processing a request, generate HTML (and CSS, and JavaScript, and plain text).
| |
− |
| |
− | * This principle of ''dynamic content'' is central to server-side scripting
| |
− |
| |
− | PHP is also used on the desktop (non-server-side) for various tasks, including non-web-developments tasks, for example the one-time conversion of data from one format to another.
| |
− |
| |
− | == LAMP stack ==
| |
− |
| |
− | In computing, a stack (or bundle, or collection) is the union of two or [[Computer programs]] which were not originally intended to interact with each other.
| |
− |
| |
− | The stack acts as a single entity, managing the individual programs
| |
− |
| |
− | A '''LAMP stack''' -- or [[LAMP (software bundle)]] -- is a well-known stack for [[Web server|web servers]].
| |
− |
| |
− | LAMP stands for:
| |
− |
| |
− | * [[Linux]]
| |
− | * [[Apache]]
| |
− | * [[MySql]]
| |
− | * [[PHP]], [[Perl]], [[Python (programming language)]]
| |
− |
| |
− | LAMP stacks make it easy to run a web server on your desktop. You can run any LAMP-based program, for example [[WordPress]].
| |
− |
| |
− | Popular LAMP stacks include:
| |
− |
| |
− | * [[MAMP]]
| |
− | * [[XAMPP]]
| |
− |
| |
− | == localhost ==
| |
− |
| |
− | In computer networking, '''[[localhost]]''' is a [[reserved word]] which means something like:
| |
− |
| |
− | <blockquote>"The URL of the web server running on my computer, for example [[MAMP]]."</blockquote>
| |
− |
| |
− | The numeric [[IP address]] of ''localhost'' is:
| |
− |
| |
− | <blockquote><code>127.0.0.0</code></blockquote>
| |
− |
| |
− | == phpMyAdmin ==
| |
− |
| |
− | [[phpMyAdmin]] is a browser-based tool for working with [[MySQL]].
| |
− |
| |
− | phpMyAdmin is built into [[MAMP]].
| |
− |
| |
− | == WordPress ==
| |
− |
| |
− | [[WordPress]] is a free and open-source [[web application framework]] based on [[PHP]] and [[MySQL]].
| |
− |
| |
− | == WordPress themes ==
| |
− |
| |
− | WordPress uses a system of themes to provide:
| |
− |
| |
− | * Presentation and style rules for the WordPress content
| |
− | * Additional functionality (similar to plugins)
| |
− |
| |
− | Thousands of free themes are available for easy download.
| |
− |
| |
− | == WordPress child themes ==
| |
− |
| |
− | Child themes are the preferred method of modifying existing themes.
| |
− |
| |
− | A child theme allows you to easily override CSS values of an existing (parent) theme.
| |
− |
| |
− | You can also override individual templates within a parent theme.
| |
− |
| |
− | See [[WordPress child theme]].
| |
− |
| |
− | You can, in fact, simply edit an existing theme. But there are problems and shortcomings with this approach:
| |
− |
| |
− | * You might break the theme
| |
− | * You will no longer be able to receive updates from the authors of the original theme
| |
− |
| |
− | == WordPress custom themes ==
| |
− |
| |
− | A [[WordPress custom theme|custom WordPress theme]] typically refers to a [[Theme (WordPress)|WordPress theme]] which you create yourself (as opposed to a [[WordPress child theme]].
| |
− |
| |
− | In the broadest sense, the WordPress themes which ship with WordPress as "custom themes", because someone created those themes.
| |
− |
| |
− | However, the term "custom" typically refers to themes you create yourself.
| |
− |
| |
− | == WordPress functions.php ==
| |
− |
| |
− | Many WordPress themes use the optional <code>functions.php</code> file to add functionality not found in standard WordPress.
| |
− |
| |
− | For example, using the [[WordPress Bootstrap NavWalker]] requires you to add PHP code to <code>functions.php</code>.
| |
− |
| |
− | == WordPress plugins ==
| |
− |
| |
− | WordPress features a [[WordPress plugin|plugin architecture]], allowing administrators to extend WordPress functionality using third-party or self-developed plugins.
| |
− |
| |
− | Favorites:
| |
− |
| |
− | * [[Advanced Custom Fields (WordPress plugin)]]
| |
− | * [[WordPress plugins for contact forms]]
| |
− |
| |
− | == MediaWiki ==
| |
− |
| |
− | [[MediaWiki]] is free and open source software which you can use to run your own wikis for any purpose.
| |
− |
| |
− | It is the same software which powers [[Wikipedia]].
| |
− |
| |
− | == E-Commerce ==
| |
− |
| |
− | Free and open source shopping carts include:
| |
− |
| |
− | * [[Magento]]
| |
− | * [[Zen Cart]]
| |
− |
| |
− | == Web host control panel ==
| |
− |
| |
− | [[Web hosting service|Web hosting services]] typically provide a browsed-based control panel, so customers can log and manage their accounts.
| |
− |
| |
− | [[Domain name registrar|Domain name registrars]] have similar control panel for managing [[Domain name|domain names]].
| |
− |
| |
− | Popular control panels include:
| |
− |
| |
− | * [[cPanel]]
| |
− |
| |
− | == Domain names ==
| |
− |
| |
− | See [[Domain name]] for more detailed information.
| |
− |
| |
− | == WHOIS ==
| |
− |
| |
− | Use [[WHOIS]] to look up information about domain names.
| |
− |
| |
− | Many free WHOIS services are available.
| |
− |
| |
− | * http://networksolutions.com
| |
− |
| |
− | == Domain name registration ==
| |
− |
| |
− | Topics:
| |
− |
| |
− | * [[Domain Name System]]
| |
− |
| |
− | == Spring 2016: Web Design and Development II (MGDP2050) ==
| |
− |
| |
− | Topics:
| |
− |
| |
− | * [[Cascading Style Sheets]]
| |
− | * [[Bootstrap (framework)]]
| |
− | * Introduction to [[JavaScript]]
| |
− |
| |
− | See [[Web Design and Development II (MGDP2050)]].
| |
− |
| |
− | == See also ==
| |
− |
| |
− | * [[Web_Design_and_Development_III_(MGDP2060)]]
| |
| | | |
| [[Category:Web Design and Development III (MGDP2060)]] | | [[Category:Web Design and Development III (MGDP2060)]] |
This is the final class session of the semester.