EBUS202 - eBusiness Techologies - Fall 2011

Current Stuff as at June 4th:

The Rubric for the Exam has been posted...

Due Friday 5/18

Accurate Use Case and Sequence Diagrams for each team's eBus application. The diagrams submitted a couple weeks back were mostly shaped appropriately but didn't document the application as it is being, will be, built. Please strive for pro-quality docs this time. A max 20 points will be posted for this, 10 points were posted Friday the 11th for teams' progress last week, all have some of a prototype working, are nearly on-track.

Thumbnailer

There is a command-line script available at /home/gschool/web/Thumbs4Dir.php that makes compressed jpg thumbnails of the specified size for all the files in a directory nominated as the script runs. Copy it to your team's /home/team/bin/ directory and check it out. If you set Thumbsize to 150 it will create thumbnails with the filename ending in '150_Th.jpg'...

Similar is available for thumbnailing images a user of your site uploads, to be place in a directory off your team's home directory. Ask if you're interested...

Loose Specs for Database UI

Every project has some 'back office' functions like: managing customer records, employment agreements, paying the bills for rent and other expenses, purchasing goods for sale, scheduling the fulfillment crews, and any forms or documents customary in the management of similar business or enterprise. Here _will be_ Loose Specs for the functionality of 'table maintenance', 'database maintenance', 'record management', and similar scripts

Design Documents for Team's EBiz Sites

About the samples at gschool: These are mostly 'negative examples' about security and usability, and they don't pitch valid XHTML or use CSS. But they do work, more or less, and are easy to adapt to sit in a new place. You're welcome to adopt them and fix them up by the end of the semester, but they're not worth a lot as they are...

Due for critique asap, final delivery the 30th:

Due April 4th:

Add Back Office functions to your Web

Due March 23rd (Extended a bit): Use gschool as an example, or choose another. Web admin may set a User's password to something in plain text, Users must make a password that is MD5 (or other) encoded as it is added to the database. Establish a session at first request to log in, track attempts in the session, setup 'session data' on successful login, destroy session at 3rd failed attempt.

Get a GoodsAndServices table working, as at gschool or better. 'Table Maintenance' function must do 'editing' of submitted form, refuse forms with invalid data, re-present to user with the data they filled in. Needs to allow hookup with product images somehow. Must support Cost, Price, 'Ledger In' and 'Ledger Out', and handle abstract GS like tender, equity, expenses...

Explore & Document ebus202.info/gschool Fulfillment Cycle:

Teamwork, Due on my return on the 14th: Locate the Details for your team's fictitious Ens and be able to report about the number of details and the nets per Ledger account. Here are some queries to get you looking at stuff:


 select AccountingDate, Cognomen, Status, Ledger, (QtyDelivered * CPEach) as Extd from Orders, Details, Ens where AccountingDate > '2012-01-01' and OrderId=Orders.Id and EnsId=Numerus order by AccountingDate desc;

 select Numerus, Cognomen, NomenIntroitus, TesseraIntroitus from Ens;

 select AccountingDate, Cognomen, Status, Ledger, (QtyDelivered * CPEach) as Extd from Orders, Details, Ens where Status = 'Fulfilled' and AccountingDate > '2012-01-01' and (QtyDelivered * CPEach)  < 100000 and OrderId=Orders.Id and EnsId=Numerus order by AccountingDate desc; 

 select AccountingDate, Status, (QtyDelivered * CPEach) as Extd from Orders, Details where AccountingDate > '2012-01-01' and OrderId=Orders.Id order by AccountingDate desc;

 select AccountingDate, Status, Ledger, GSDescription, (QtyDelivered * CPEach) as Extd from Orders, Details where AccountingDate > '2012-01-01' and OrderId=Orders.Id order by AccountingDate desc;

 select Cognomen, DetailDT, sum (QtyDelivered * CPEach) as Dlv, Ledger from Details, Orders, Ens where Numerus=147 and Orders.Id=OrderId group by Ledger order by Ledger ;

 select Cognomen, DetailDT, sum(QtyDelivered * CPEach) as Dlv, Ledger from Details, Orders, Ens where EnsId =147 and EnsId=Numerus and Orders.Id=OrderId group by Ledger order by Ledger ;

Ledger: 1000-Cash, 1005-Credit Card, 4000-Sales of Goods --  More about ledger soon...

Teamwork, Due by end of class Wednesday the 7th:

Fake accounts have been created under Ancient Computing Devices, which is located on the class' server at /home/gschool/ and /home/gschool/web.

A 'read only' user has been set up for the gschool database, userid 'gronly' and password 'readonly'.

Teams: Kunkel & Aldridge; Sun, Greene, & DeGuzman; Gao & Zhang; Maggi, Meighan, Sanya, & Tummala

Recent Past

DBMS: Each student has a database of their own now, and the assignment is to make a table for 'people' and populate it with several records to learn CREATE TABLE, INSERT INTO, UPDATE, and DELETE FROM at the command line. Make another table, named like 'Notes' or 'Events' that can be used to make notes about the people in the table. Use the scripting techniques about 'More Advanced Stuff about MySQL' to create your tables.

Database programming with PHP: We've skipped Project #3, JavaScript, for the time-being and have jumped into Project #4 down the page.

IT Infrastructure & Security

Security

Security can't always be _added_ to Ebusiness systems, Security must be _designed_ into them. Several standards exist that push responsibility for IS Security all the way to the executive level of enterprise. Executive might not understand security at the technical, bit or network interface, level but their diligence includes making sure somebody does. One national security advisor said "If their coffee budget is bigger than their IT Security budget they deserve to be hacked."

Here are several important standards:

Enterprise IT Infrastructure

Basics of IT Infrastructure: Hardware, Software, Networks, and System Administration.

Enterprise Software

Terms like 'Enterpise-Level' or 'Enterpise Systems' begin to apply as the number of an organization's customers and employees reaches hundreds, thousands or tens of thousands.

ERP - Enterprise Resource Planning systems track every transaction of enterprise from the time it is budgeted thru its delivery. Data are gathered as Employees' update their workflow records, by Customers at point of sale or on-line, and by Purchasing Managers and their Receiving Dock crews that handle goods and acknowledge services on their way into the enterprise. These systems must be able to handle thousands of transactions per second and provide 100% availability.

Home Grown Software: The ERP application software for many of our world's largest enterprises is 'home grown', or 'custom built', in many cases starting in the '70s and continuing into the 2010s and beyond. These are 'one of a kind' systems built and tailored specifically to an enterprise's needs. They are designed and built by the organization's employees or consultants, and the organization owns the software and employees people to maintain and enhance it over time. In the best cases, the value of this 'legacy software' has been extended into the World Wide Web and 'Web 2' and provides a competitive advantage for its owner. In the worst of cases, legacy systems are inflexible, can't be taken into systems suitable for modern times, are a drain on the organization's resources, and are very, very expensive to replace.

Commercial ERP Software: is another way for a large enterprise to get an excellent, revenue enhancing, ERP System. The term COTS-Commercial Off The Shelf describe software systems that can be bought and deployed without a costly development effort. In many cases these ERP Systems can be quickly deployed 'as is, off the shelf' by teams who specialize in the ERP Brand at hand. They embody all the 'Best Practices' of enterprise, and they have consultants and VARS-Value Added Resellers who are familar with the environment and have an excellent track record with the products they sell and install. In other cases, where the software can't be used without 'heavy customization', the combined cost of the ERP Hard & Software (Five or Six+ Thousand $$ per User) and the customization (Thousands of $$ a Day) is prohibitively expensive. Check out SAP, JD Edwards, PeopleSoft, and other Vertical Market ERP providers.

Enterprise systems manage supply chains using EDI documents, email, and verbal or printed purchase orders as appropriate for the resource and market. They gain experience with suppliers and their delivery performance and provide their owners with the best GMROI using the best combination of 'traditional ERP' and JIT practices.

Enterprise Computers

CIO Magazine provides this tutorial about Data Centers.

Enterprise Computing usually involves Mainframes 90% to 95% of Fortune 500 companies use Mainframes, mostly IBM. More than 2/3 of the retail transactions in the US are processed by Mainframes, the Stock Market uses mainframes, as does the Military and the IRS. Don't discount the importance of mainframes, keep an open mind, they hold more than 80% of the world's data, and the programmers and managers of Mainframes get paid top $$$.

IBM's the leader in the mainframe market, and their product pages provide a good reference: Test Drive Your Data Center and Virtual Tour of a zEnterprise server.

Server Farms of Desktop or Server-class machines are also found in enterprise computing systems. Some organizations that had been running on a mainframe for decades when Web 2 came along in the '90s integrate Server Farms with the mainframe. Many use Server Farms to provide the 'web facing' interface for customers, C2B & B2C, making a 'seamless interface' between legacy ERP system. Blade Servers are a way of deploying a lot of independent CPUs and RAMs in a more densely-packed box, where 16 blades may be in a chassis about the size of one a desktop tower or server-class machine.

Study Questions are posted for IT Infrastructure.

Topics & Dates:

(11/7) 'Positioning Divs' is the current challenge for the noobs in the class. BarelyFitz.com has an excellent demo.

(10/25) 10 Points are offered for a demo of prepping graphics for the web: cropping, resizing, compressing, masking, adding transparency. Show these in the lab by Friday the 4th.

(10/21) Announced Project #2, Dlv #2 due Friday the 11th for 15 points: Put up a four-page website according to your approved plan: a Home Page, a Product Page, and a CheckOut or Cart Page. These are to be 'static' for the time-being, will be made active after we learn about database and database programming for the web. Most of the specs are in effect, especially those about graphics on the home page. Copy the page for Dlv #1 to another file and link to it from your home page.

Project #2 Dlv #1 - Website Design Proposal

(9/30) Due at the Beginning of Class Friday the 14th: Confabulate a fictitious and completely polite & PC Enterprise or hussle to use as the case study for your eBusiness website; Consider Web Design; Visit some 'WEB 2' sites that sell goods, deliver media electronically, take contributions, schedule service delivery, or conduct other business on-line -- take note of their functionality, especially the dialogs for creating a login id, buying stuff, and paying for it (Submit screenshots marked up! Notes about design!); Consider the 'back office' and 'fulfillment cycle' as you think up your cast of characters -- At a minimum you'll need Customer, Logged In Customer, Manager/Comptroller and ACH, may also need Customer Service rep and/or Fulfillment crew depending on products sold; Make a UML Use Case Diagram that shows the Actors in your enterprise and how they'll Use the system; Select and prepare sparse graphics (100 Kbytes or less per page), color scheme, fonts, curliques, bullets, and other elements of your site's style and showcase them on a printed page of your proposal; Sketch a 'wireframe' for your home page and 'back pages' paying particular attention to branding, login status & link at upper right, headers, footers, sections, articles, consistent horizontal & vertical navigation, and overall appearance and usability of the page; Make your design meet all The Specs for Project #2 to the letter unless prior approval has been given for alternative specs.

Microsoft's Visio is the preferred tool for UML diagrams, should be in the lab soon. Hand-drawn sketches are just as good!

Submission: Timely delivery of this proposal printed on paper is of the essence here! Copies or originals of hand-drawn diagrams are acceptable, as is an electronic doc with graphical elements pasted into it and printed on paper.

Keep The Specs in Mind as you Work!

(9/19) The Specs for Projects #1 & 2 The instructor will keep them in mind when scoring Project #2's Dlv #2.

(9/19) w3schools.com is required reading! This is the text for HTML, XHTML, and CSS. Questions for Quiz #2 will come from these tutorials, as do The Rules for valid XHTML & CSS. The links to follow are at the upper left corner of w3schools.com. Under HTML: Basic and Advanced topics, ignore 'Frames', focus on iframes and other topics thru XHTML. Under CSS: Cover all topics from Basic, Styling, Box Model, thru Advanced. Those students advanced in XHTML and CSS are welcome to follow the HTML5 and CSS3 path thru w3schools instead.

(9/22) This page accompanies lecture and demos of XHTML & CSS: HTML, XML, XHTML, & CSS. Good answers to Quiz Questions come from here!..

Dates & Topics

Quiz 2 Topics: Web Design; XHTML & CSS, Web Graphics

(9/21) The Specs for Projects #1 & 2 : Non-compliant projects will be docked one point for each unapproved diversion from, or ignorance of, The Specs. Any questions, raise your hand in class and ask, otherwise I'll assume you're aware of The Specs.

The intro examples used in class are at ebus202.info/lectern/. They are available to copy from /home/lectern/web. It's best to use the command line, or WinSCP, to copy from /home/lectern/web to your web directory -- 'scraping' HTML and CSS from the browser can cause problems with formatting.

Please note: Keep the specs for Project #2 in mind as you work! In honor of the efforts of students who meet the specs, points will be docked liberally from projects that don't clearly reflect each of the specs.

The Specs have been relaxed to encourage investigation of more advanced tech: The 'all graphics must be in your web space' spec does not apply to YouTube or other videos, where a link to the video as hosted at youtube.com is appreciated. (Make sure to make the embedded code validate at w3schools! It can be done...)

The tutorials at w3schools.com and all links below are 'required reading', please don't waste time in lab or flunk quizzes because you have not worked thru these! Take the w3schools' on-line quizzes! Similar will be on Quiz #2.

(10/7) Web Design

More XHTML & CSS: Separating Style from Content

The w3schools' tutorials on HTML, XHTML, and CSS at the left side of the page are required reading for this course, take the place of a text. They introduce most of what's important about these ebusiness components and very little of their fine introduction is repeated in the links below, but their content will be quizzed. Learn to use the w3schools' Reference section at the right side of the home page to look up syntax and rules. The instructor will usually decline to answer questions about syntax of XHTML or CSS unless the student is on the correct Docs page.

More details are readily available for free on the web and for a few $$ in the bookstores. If you find better on-line references, websites, or utube tutes that make any of these topics click for you, please let me know what they are.

Details about these web technologies are required reading: HTML, XML, XHTML, & CSS. Good answers to Quiz Questions come from here!..

(10/17) Anatomy Lessons:: Here is a good pdf about url anatomy, courtesy of eCoach. Be able to describe or answer questions about the anatomies, or valid formats, of the following ebusiness elements. The answers for XHTML docs, HTML tags, and CSS are at w3schools.com. These are covered in class chalktalk:

(For those with Smart Phones equipped with a browser, your're welcome to work your website for it. Make a a 'fluid' site that looks good with the browser shrunk to 400 thru 600 or 800 pixels.)

Don't use font, center, bg-color, or scads of other properties and tags applied to semantic markup elements! Don't use _any_ embedded/internal or in-line styles for these projects. All styles must be in external style sheet. For exceptions, such as the previous Red Type, use a span and refer to a class.

Please note: It is _not_ appropriate to use the h tags down the page in a sequence like <h1, <h2, <h3, <h4, <h5!!! Simple outlines would use one <h1 for the topic of a page and <h2 tags for each sub-topic. A more complex outline would have <h3 tags as 'sub sub topics' under an <h2 subtopic and maybe <h4 tags under the <h3 tags further organize the sub-topics. View this page's source for an example...

Web Graphics

Checking the file sizes of images is important to make sure your graphics meet the total size requirement of 80Kbytes or less for the images on your home page, and that the required three images are in your web directory. Look at the byte counts in your web directory and don't go over the limit!

(10/21) Key points about Web Graphics:

(View with IE, cross browser issues!) Pixels, bits per; Color Models (RGB, HSV, CMYK), color depth, specifying colors with Hexadecimals in RGB, web page resolution about 100 Pixels/Inch, camera resolutions way higher; Web image types: gif, jpg, png & tradeoffs among them; Other image types: bmp is outmoded web type, tiff is extra hi resolution, not for the web, the GIMP's scf and and other Native Formats for graphics software; Demo of jpeg compression/quality issues; &c; &c...

Prepping Graphics for the Web

(10/24) Demo'd in class:

Here's a page that demos some of the above: Prepping Graphics for the Web.

(Delayed a bit...) Basics of IT Infrastructure: Hardware, Software, Networks, and System Administration.

Quiz #2: Sample Questions.

Quiz #3 Topics:

Project #3 - JavaScript, Structure, & Object Orientation

JavaScript & Database Demo Pages: Here is a link to the pages discussed in class. You're welcome to use any of the rather dry JavaScript features there to get your JavaScript points, or check out googlings like 'cool javascript effects', 'javascript cursor effects', 'awesome javascript effects', or the drier 'javascript examples'.

Key Points: JavaScript is a 'browser-side', structured, and object oriented scripting language. It is a Programming Language used to script events and provide methods for objects in XHTML's DOM (Document Object Model). (The HTMLs are static Markup Languages, don't provide for loops & alternative selections.) JavaScripts can respond to events generated in the DOM, set any object's properties, and use any object's methods. JavaScripts may be used to validate HTML FORM data before it is submitted to the web server. Using AJAX techniques, JavaScripts can run 'behind the scenes' while a web page is displayed to generate requests to servers and update an object on the page without refreshing the browser. jQuery is a powerful library that makes it easy to script form events like galleries or date-pickers.

Here are some resources about JavaScript:

Project #3, JavaScript

(Assigned 7/14)This project is in two parts for 10 points each:

Project #4 - Database with MySQL & PHP:

Project #4 is in two parts. Part 1 is to make four new queries involving joined tables and SQL's aggregate functions at the command line. Part 2 is to make these four queries show up on your web pages at ebus202.info using a PHP script similar to the GET Data examples provided at ebus202.info/astudent. -- All four must be tabulated, and all must be styled using the external css for your site.

Here is the accompanying lecture about DBMS and Transaction Processing.

These next ten points are earned by working with the MySQL database server and server-side scripting with PHP:

The Pulse of EBusiness: Web Services, XML, EDI, Accounting

XML: Use the XML tutorial at w3schools.com to get an introduction to this very important Markup Language. From the '90s forward, XML is becoming involved in more and more standards. Even very mature EDI standards like ANSI X.12 and EDIFact, which have been used increasingly since the '70s without any XML, are adding 'XML Versions' of the same eCommerce documents. In 2010, XML only has about a quarter of the bandwidth in electronic business documents, but it's definitely the way to do it in the future. All modern programming languages include features that facilitate the coding of scripts to handle XML documents, some using a GUI interface and others in 'plain code'.

HTTPS for C2B & B2B Most C2B eCommerce is via HTTP and HTTPS protocols directing traffic between a Customer and some Business or organization, where the customer is using a web browser like FireFox, Chrome, or IE. Most B2B exchange is via the same HTTPS and HTTP protocols, but without a web browser involved -- these are in the form of 'Web Services' that are used to move EDI documents like Purchase Orders, various Acknowledgements & Manifests, Invoices, Insurance Documents, Bills of Lading, and even Banking Transactions _directly_ from one Business' computer to the computer at some other Business.

'Web Services' are growing in importance. 'SOA' is 'Service Oriented Architecture' and is a big change from the way computers worked in the past, where computers of different manufacturers were difficult to 'network' directly. Now, using open standards like HTTP and HTTPS with techniques like SOA and SOAP (Simple Object Access Protocol) any computer that can use The Internet is able to send a request via a web service directly to a customer's or supplier's system. From the '70s thru the mid-'90s VANs-Value Added Networks were used like 'electronic mailboxes'. These VANs facilitated the exchange of EDI documents, but added about a dollar to the cost of each transaction. Today, most EDI documents go 'machine to machine' over The Internet without additional cost of a VAN.

The 'S' in HTTPS references another web protocol involved in eBusiness: SSL -- Secure Socket Layer. Certificate Authorities like VeriSign, Thawte, and GoDaddy issue 'SSL Certificates' for web servers that light up the little lock on your web browser indicating that secure technology is in use. These SSL Certificates cost from $50 to $350+ per year depending on the CA you choose. Paying a couple Thousand dollars a year turns the browser's address bar green! VeriSign and Thawte actually do public records searches and have agents who visit certificate applicants to make sure they are who they purport to be -- less expensive certificate authorities, 'self issued certificates' don't get this level of scrutiny. (Note that isy.vcu.edu issues it's own certificate, setting off warnings in your browser when you go to it.)

SSL also works for B2B Web Services, direct from one machine to another, where a browser isn't involved. This helps ensure that sensitive data like health records or credit card or bank account #s can't be seen or harvested by unscrupulous workers in network operation centers, who regularly snarf up unsecured data like email addresses and passwords. With SSL, data will not flow if everything regarding the SSL Certificates isn't lined up perfectly at both ends of the exchange and also at the CA's machine. And, when it flows it's encrypted.

Web Services are more and more likely to be in the form of XML documents as we get farther into the new millenium, but the majority of web services today are 'legacy styled web services' that use other formats. ANSI X12, for example, uses asterisks to separate fields in records and control characters like vbCrLf to separate records in an EDI document. Other exchange standards use a 'variable=value' format that is very easy to code in modern programming languages.

SMTP, Simple Mail Transport Protocol, is used to push out emails for much B2C contact, and occasionally it is involved in B2B where it's OK to use a somewhat unreliable and very insecure internet protocol to get a message to a person, or another computer. Often, an insecure email sent to a customer will contain links to secure websites to do business. A webstore provider like stores.yahoo.com, for example, services relatively safe transactions, like updating the Qty on Hand that displays at the store, via either insecure email or a web service secured with SSL. Some documents are transmitted via email or http using PGP-Pretty Good Privacy for encryption.

Class Demo of C2B, B2B, B2B, & B2C Exchange: Purchased a music CD at a Yahoo Store; Tracked the resulting Sales Document, in an XML-formatted Web Service, to the Merchant's warehouse where the goods will be picked and shipped; Tunnelled thru two firewalls to get to the warehouse system; Took on the sales order into the Merchant's order entry and fulfillment system; Hit the ACH with a Credit Card Authorizationto fulfill the order; Saw the ACH issue a DENY to the bogus CC# used at the store; And, saw the system generate Email to the customer asking for a good CC#...

Here is a 'swim lane diagram' with screen shots from the above exchanges: C2B2B2B2C.

Quiz #3 Sample Questions


Past Topics:

(9/7) Introductory Remarks, Syllabus, &c...

Why all the stuff about Linux?

Yes, the Instructor is biased by decades of experience! He prefers UX servers to Windows, runs Ubuntu on his desktops, and things Microsft's Visual Studio is a superb development environment, hope it runs on Linux without any hitches sooner than later...

The 20-year anniversary, Fall of 2011, for the Linux kernel is a good time for the environment. More than ever it's becoming apparent that the compleat IT manager needs skills with at least Windows and Linux, and adding other environments like IBM's series i5 and z or Sun's Solaris makes good value too.

Here's a perspective of Linux at 20 Years. Here's how Linux got to be ubiquitous while being invisible without any help from maniacal marketeers, and lots from a zealous open source community, and is getting more firmly entrenched in the IT legacy.

Linux is in many ways an extension and improvement of many elder commercial Unices/Unixes which have been rock-solid platforms for many computing and networking tasks since the mid-'70s. Windoze NT came along in 1993 and is already on about half of the workstation/server-class machines in the network rooms of business and enterprise...

Quiz #1 Topics:

(9/19) Hands-on a Linux Server

For those headed into the IS major, especially App Dev or Network Admin, experience at the command line is an enabler for a career in network & system administration, application development or network security. Please give it a try. If you can't, or don't want to master this 'command line environment' you're not suited for many roles in IS and should consider another major.

Project #1 is to make a single web-page appear when your link at ebus202.info is clicked, and also validate with the w3schools' XHTML & CSS validation service.

Here is a page about Logging On to ebus202.info and working on Projects #1 & #2. (Use ebus202.info wherever this link says info202.info).

(9/19) In-class demo of logging in, changing password, using thge server-side editors, and making a valid web page at ebus202.info. The samples of XHTML & CSS demo'd at the lectern in class are here. The files are located at /home/lectern/web and the permissions are set so you can copy them to your web directory. A valid 'skeleton' is shown on the page with The Specs.

For someone not headed into IS, after you log in and change your password, WinSCP's editor is probably all you'll need for the projects. It doesn't do 'syntax highlighting', so it is less than an ideal XHTML editor, but WinSCP's editor is OK for small, unambitious web projects.

Other options for 'minimal HTML editors' for editing and testing XHTML on a PC or notebook computer are Notepad++, Seamonkey or Bluefish. These are representative of the 'HTML Editors' used by Pros, are free, and their download pages come up at the top of a google search. If you've got some other XHTML editor in mind ask about it. Quiz questions will depend on familiarity with XHTML & CSS so please don't use any tool like Visual Studio's Visual Web Developer or Expressions, Dreamweaver, Word, or MSPublisher or Open Office tool that generates XHTML code!

(9/22) Demo at the lectern techniques for copying sample XHTML and CSS from /home/lectern/web and tweaking it to a web page that will get max points for Project #1.

For the stout-hearted, IS-bound students who will be working with vi and the command line: Please find and use an on-line tutorial to get you up to speed with this *ix component. University of Hawaii has for some years been the top google choice for 'vi tutorial': Mastering the VI editor. It misses some of the feature of vim - vi iMproved - which is in use at ebus202.info. Here is a more advanced reference. Or This, or UNIX is a Four Letter Word, or even this Graphical Vim Cheat-Sheet. Or, google a bit and bookmark your own favorites. The instructor will soon tire of spouting vi commands in lab, and will answer any questions with 'show me your favorite on-line vi reference and find it there' when asked about vi's arcane commands. (If you're _really_ geek-inclined, learn to use the j, k, h, l, e, b, and other archaic keystrokes from the old vi instead of the more modern cursor arrows and edit button! Some *ix you will likely encounter in some legacies use the older 'vi' and not 'vim'... EMACS is the ultimate geek orthodox editor.)

If you're using vi at ebus202.info, you really get 'vim'. One of vims's most useful features is the VISUAL command: In vim, copy/paste is easier with a 'v' entered in command mode, instead of counting lines and using yy or dd. When you key a v in command mode, 'VISUAL' shows at the lower-left, like INSERT or REPLACE would for an I or R, then you hi-lite text to be deleted, cut, copied or pasted ` using the cursor arrows. When the desired text is hi-lited, type c to Cut or y to Yank (yank is like Copy in Windoze) the hi-lited section into your 'clipboard'. Then move the cursor to the destination spot and type p to Paste what was hi-lited. (Leaving Visual mode with a c or y puts vi into INSERT mode, so beware that and use Esc if needed.) One gets _out_ of the VISUAL mode by hitting a c or y to Copy or Yank, or using the Esc key as for the INSERT and REPLACE modes. The 'clipboard' works between files, can be used to copy from one file and paste into another.

Searching for text uses the 'slash' command followed by the text to search for, like

/this

which will highlight all instances of 'this' in the file. Use :noh to turn off the hilights.

':%s/this/that/cg' will search for all occurances of 'this' and prompt whether or not to replace them with 'that'.

Please Note:

Times, technologies, and economics have changed since The Internet came about and so have the basic mechanisms for getting content onto The Internet. After having a IBM 3270 or Sperry/UniVac 'Dumb Terminal' attached to nothing but one mainframe computer on my desk for the years from about 1974 thru 1981, it was really exciting in 1982 to get a (2ND) terminal, a Lear-Seigler, which was attached to a UNIX machine, a Pyramid, that connected via VCU's networks to other departments on-campus, and via The Internet to off-campus networks. We got email, newsgroups, and the dry & text-based stuff that was The Old Internet. In the 90's the World Wide Web made the old internet morph into something really interesting with graphics & video. Later in the '90s we got 'Web 2.0', effectively making the internet a way for its users to fill in forms for on-line eBusiness, for blogging, for searching any number of neighborhoods, and otherwise having our content available wherever we can connect to the web and to whomever else we afford the privilege.

Here is an essay about Getting to XHTML & CSS from plain, old HTML...


Unorganized Stuff Referenced in Class

Validating XHTML + JavaScript Here is a new link to a new page about Making XHTML with JavaScript Validate at w3schools.com's XHTML Validator. The _best_ way is to 'externalize' your JavaScripts and link to them from the document's head section, or within the XHTML.

Validate early & often! Don't wait until you've coded your whole web page to validate it! Get the 'skeleton' for the complete page together first, including the DOCTYPE, and with the html, head, and body properly nested. Make sure the skeleton validates, then add the content a piece at a time and validate as each piece goes in place.

That 'blue warning' about character set: Somehow this got left out of what's posted for the projects. The following 'meta tag' may be placed in the head section of your web page, before or after the title, to avoid getting the warning about 'character set' from the validator at w3schools.com.

<meta http-equiv="Content-type" content="text/html;charset=UTF-8" > 

There are other ways of getting the character set defined for the browser, and you're welcome to use any of them. At completion of Projects #1 and #2 there should be zero errors and zero warnings.

Debugging: If you're not seeing what you expect when you click on a link you can 'tail the log' and see what the web server. While working, you can keep another putty window open at the lower left corner of the screen that shows the 'tail of the log'. A student named John Smith could see errors as they are generated by keying this:

tail -f /var/log/httpd/error_log | grep jsmith

Use Ctrl-C to stop tailing the log...