I'll be keeping virtual office hours from the link at the top of my home page and those are most convenient for me. Please contact me by email to arrange a meeting during office hours so I'll know to expect you. If office hours don't suit you I'm sure an email or two will find a time that does.
(5/12) Final Grades have been posted at eServices. With a constant stream of emails and meetings up to the deadline there was no time to post points for y'all to check over prior to submitting the to eServices by their deadline of noon today. If you find errors or ommissions that affect your grade they'll go on change of grade forms. Lots of students took advantage of the 'everything is due at the last class' to do a great job on websites, earning commissions, and Project #4.
(4/30) What Rowdy Chihuahua Sees & Critique of A Few Shops' Accounting:
(4/30) Sales Commissions:
This is an individual project, but teams are welcome to work together to make it work in each member's account.
Check out the Buy Me links under the items for sale at info465.us/tinstructor. Y'alls' job is to do the application analysis, figure out how it works, and make it work from your page to get you a commission.
For your site, the link should be to items in your team's shop, or items you've put in your team's shop to sell from your page.
To earn a commission, log in as one of your fake customers, go to your page, and click the link. That should take you to a page at 2017Winter with your name at the top and 'appreciates your interest...'. If you click Add To Cart on that page, the Detail that's written when you check out will have your AcctId in the PayCommissionTo column near the end of the record.
Log into 2017Winter as an employee or have another team member fulfill the order.
To report your commissions, have your script connect to the 2017Winter database with the read-only credentials and select the Details with your Id in PayCommissionTo.
The report should look like the menu at info465.us/tinstructor, but it's fine if it only shows your commissions. There is no sample script available, but it would look like the SeSPoP reports that are on most student's menus.
There is a commissions report on your menu at 2017Winter that shows all the Details whether fulfilled or not to help with debugging. You're welcome to look at it's script in /home/2017Winter/Web.
(4/27 Late) The link down the page about running sql scripts with MySQL for Project #2 has been restored: MySQL/MariaDB Scripting. If you found it was a dead-end recently, or just haven't been there yet, it's there and pertinent to Project #2.
Thanks to those who hung around to stump me with debugging, too bad half the class absconded. Ryan to the rescue caught a freekin semi-colon, Petriziello catching on quick, folks actually asking about the code!
(4/27) End of term: The Due date 'for everything' is pushed back to Friday the 8th. It was prior stated as 'the last class'. The SQLQuiz will be next week, exam week, same time, same place.
(4/27) Here's the missing demo of SQL at 2017Winter to prep for the SQL Quiz next week. It's shows a couple quiz questions, One has Roles joined to Accounts to get the names of the person, team's organization, and who created the Role in a partner of 2017Winter. The other gets a quick trial balance for an Organization with rollup and coalesce to highlight the Net.
(4/20) Points have been posted for all team and individual work seen so far.
As announced, everything is due by the last class and that's been interpreted to a student in a panic as the 4th for the Monday evening class and the 6t for Wednesday.
It's not good to see so many Project #1 Dlv #1 and #2 not done at this late date, so please get on the stick if you're missing points for those. Team deliverables for Setup Shop show a lot of hussle faked for most teams and a good looking trial balance, but there are some lacking critical features like positive QOH, equity, or a they have orders and a trial balance that are wildly out of whack.
I'm working up a video to replace the ordinary lecture/demo of the 2017Winter Database and it's not ready to turn loose tonight, but it should be up by Wednesday's class. Usually some students will tell me that they haven't seen SQL queries demonstrated, or that their instructor only got them on paper, or nothing ever joined more than one table... So, I like to provide the demo, will get one to video.The SQL Quiz will be the exam night. The quiz will arrive in your home directory at the start of class and will be snatched back in an hour and fifteen minutes. Any resources at your desk are OK but it is an individual quiz, not a team effort. Please put some team effort into SQL _before_ the quiz.
(4/13, 15) The videos to replace classroom demo and discussion for introducing Project 2 are ready. Please try them out and get your questions answered, make your app update your database... Project 2 Demo, Critique, Code Talks, Yank/Paste Coding.
(4/12) The scripts with 'DemoChex' and 'FormAbout' may be deleted and that will cut down on the Spec Violations. These files crept into the samples and aren't required or useful. 'FormAbout' is a discussion of the code for SeSDoCForm.php and is not required or desired in a student's site. Nobody with Spec Violations is going to Ace these projects, please clean them up. Get questions asked and answered early.
(4/12) Nobody was ready for a runthru of Project #2 last week and everybody convinced me to make a video of the demo instead. That will be the next video up for 465, may be up during the day on Monday.
It's been pointed out that the old video about debugging PHP and tailing the log shows tailing /var/log/httpd/error_log at info465.net. The class' new server, info465.us, forces all web traffic to port 443 and ssl, and logs its errors at /var/log/httpd/ssl_error_log. A student who was tailing error_log instead of ssl_error_log was missing the error messages that would have quickly suggest how to fix his 'empty browser window'. Sorry about that...
The instructor politely refuses to help with debugging in the week before a project is due or he would be swamped with last-minute requests for help debugging. Please get started with Project #1 Dlv #2, Project #2, and Project #4 well before the end of the course and ask for help debugging. The way INFO202 and INFO350 have been presented in recent years, students get about zero experience with debugging and this is an important skill in IS. I believe rebranding and customizing the apps around 2017Winter provide a good opportunity to develop these skills.
(4/6) This evening is a quick demo of the app at info465.us/tinstructor, quick runthru the code. Project #2 is to make your site behave as well or better than the one at /home/tinstructor/web. Take care not to obliterate whatever work you've done to customize your site prior to adding authentication to your site, a menu with reports, and the mods to make your form update your database.
The SiteSettings at /home/tinsructor/SiteSettings.php is copy-protected. When you're ready to add database connectivity and the ability to block access to pages by non-authorized persons, copy the added lines in /home/tinstructor/SiteSettingsSample.php to the SiteSettings.php in your home directory...
Search this page for 'Project #2' and there's narrative about working on Project #2, what to copy, what not to copy...
(3/30) At about classtime the videos were posted for the walkthru of Project 1 Dlv 2. Please consider the specs for the form, get working early, get your questions answered. We've got 4 weeks left to get through Projects 2, 3, and 4, plus the exam week...
(3/30) Project #1 Dlv #2 Walkthru: This is to replace a walkthru the code for SeSDoCForm.php in class, with notes scrawled on the board: Project 1 Dlv 2 Walkthru.
If you haven't already, run thru the PHP tutorial at W3Schools and the PHP Manual and get a tutorial that covers the bare basics of PHP and a first look at the details.
The walkthru here covers HTML FORM handling, CGI Interface with Super Gloabals like $_POST or $_COOKIE, reading files, putting an HTML form into a User Interface, validating data...
(3/28) Project #1 Dlv #1 Specs: As best as I can recollect, a project that has been re-branded as in the demo, has a SiteThumb graphic that meets specs, and has three compliant product images in place on the 6th or 8th will get the full 5 points. Replacing the sample code with other code that meets the specs is good for another 5 bonus points. Dlv #2 specs will ask for heavy customization and will attack the 'Spec Violations' that show up in freshly copied and partially re-branded sample code...
(3/28) The videos recorded from this week's classes wasn't anything I wanted to post, so I've redone the
hour+ demo into three shorter videos:
I'll try to structure class meetings so they can be quickly edited into video to post, and will try to record and post demos before class. There's been a 30+ year tradition of verbal specs in INFO465, where the instructor shows up with nothing but words about the projects and offers tech support to get the work done to show off to accreditors and interested parties. That 'verbal specs only' doesn't work so well on-line, so here we are with videos.
I need somebody to sit with me and zap me with a cattle prod whenever I utter ahhh or ummm. I appreciate any forebearance extended, and will appreciate any helpful feedback about how to better meet the class, virtually. It suits my chronic conditions with leg and eyes, both of which are improved by removing twelve hours a week of 'up time', each of which takes about two to four hours to recover from. Working off my 75", very dim monitor in my darkened office has eliminated the blind spots I get looking at white stuff. I'm motivated to get better at it, wonder if we'll be back to brick/mortar classrooms for the summer, and doubt it. We'll all come out of this with 'virtual meeting skills' on our resumes...
(1/13) Welcome to Senior Projects. This is a time to work with an application that does order entry, fulfillment, and accounting and practice application analysis. And, it's to assess skills developed in other courses. There's a mix of teamwork and individual projects.
We'll start off with a demo of the app and environment for this semester's project. The first assignments will start next week, are team projects. Please arrange yourself in teams of three or four.
Points and grades are posted from last Summer's class. This semesters will be similarly assigned: Summer 2019 Final Grades
My goal as an instructor trying to maintain the value of our IS Degree is to _see_ that each student can do what the objectives say our grads can do. In recent years, there's some or a lot of 'remediation' required for students who somehow didn't get those 'database programming' skills earlier but has mastered most of the UML and MSProject stuff. My method is to limit the scope of the class' projects to something that can be done in a semester, provide a tried and true framework & sample code for it, and provide as much tech support as 1 instructor in a class and the best TA can provide.
The ordinary student masters the several technologies involved, meets the specs, and leaves the course with an A or B.
Good-looking project documents make valuable exhibits in a graduate's professional portfolio, can go a long way to convincing some interviewer you know a debit from a credit, a while from an if, and have a good grip on user experience, databases, and all expected of an IS grad. If a student doesn't have a portfolio of technical skills or can't pull one together It can break the relationship with the recruiter or hiring manager way short of the threshold to some career if you can't sit and do whatever's needed for the job at hand...
INFO465 is where we do a big part of our 'program assessment' and the ICCP's ISA-Information Systems Analyst exam is an important part of that. This certification exam is scored according to our ABET-Accrediting Board for Engineering & Technology. VCU students rock on this exam and it's not unusual for half or more of INFO465 students to score for the certificate.
The Exit Exam will be near the end of the semester. Some students will use the whole 75 minutes for each half of the exam, so please arrive early with Windows ready and able to use a USB-2 Thumb Drive!
A max 10 points will be posted for students earning 35% or higher, no points will be posted for those who elect not to take the exam or score less than 35%. 5 points will be posted for scoring more than 35%, plus 1 point for each decile past the 5th. So, somebody whose score falls in the first decile would earn 5 points and a score in the 8th earns 8.
The exam is given on a USB-2 thumb drive for a Windows computer notebook. The little hubs for Ultrabooks with only USB-C work fine.
Mac users, please make absolutely sure your virtualized or BootCamped Windows will share the USB! Bring a USB-2 dongle if your ultrabook only has USB-C! The instructor will not try to debug your virtual Windows, doesn't have the skills and can go blind trying...
Learn more about it at ICCP.org. It covers most of what you've learned in the IS and BFO-Business Foundation core courses. A 70% score earns the ISA Masters certificate, 50% earns the ISA Practitioner. If you earn a certificate ICCP will issue it for $250 -- we pay for you to take the exam, you pay for the certificate only if it's earned and you want it.
The burger menu at iccp.org has a Shop, the Official Examinations Guide and Study Questions for the IS Core Exam are available for a fee -- it's delivered on-line and it can be shared. It looks like the some time with the study quide might improve the score by 10% or more and putting a bunch of others around it is a good strategy.
(1/13) Most specs and advice are given in class, verbally, some are here...
(1/28) This is a quick demo of the fake PAYGO 2017Winter that will be used in several exercises and projects this semester...
Assignment: Teams of three or four confabulate a shop to operate under the umbrella of 2017 Winter. Get graphics together that meet the specs for transparency or equal size for at least three products or services...
Demo: A sample accounting for startup and a day of operations for a ficitious hussle similar to the case studies teams are confabulating. This is to introduce or review double-entry accounting concepts: Numbered Ledger Accounts: 1-Assets, 2-Liabilities, 3-Equity, 4-Income, 5-Expenses; Assets and Expenses are increased by Debits; Liabilities, Equity, and Income are increased by Credits; Docs: Memoranda aka Orders & Details, Journals, Ledger; Debits equal Credits on Orders, each Journal, and the Ledger Trial Balance. If we get the correct ledger codes on Details a manager approves the rest of the accounting can easily be automated...
Each team please provide on paper for Rowdy Chihuahua's attention:
After a demo of the PAYGO Unbrella 2017 Winter accounts will be set up.
Get organized in teams of three or four and each get an account at 2017Winter. Please, do it _one at a time_ and pay careful attention to the process. And, strive to NOT CREATE DUPLICATE Accounts!
As each team member gets their new Account use the database to track AcctStatus, AcctStatusDT, AcctStatusById during the enrollment of a new Account. Each team, draw a state transition diagram and notes about how the process may be improved. The customer asked to gather contact data and have the new Account holder verify email address before a manager's approval for the next steps and assignment of Roles. There have been reports of 'problems' in registration.
You'll need to use a real email address so you can get the approval code. It looks like your @vcu.edu or @mymail.vcu.edu account will work, mail may go into the spam folder, but it needs to be tested for the new semester. Email addresses will be scrubbed at the end of the semester and aren't displayed anywhere except in your Account record and to students who can use SQL. If you don't want to use one of your email addresses, you can use firstname.lastname@example.org and use 'mail' at the command line to get the approval code.
You're welcome to use a fictitious name, an anagram of your real name is helpful, to avoid your name showing up in a google search. Use a fake address and phone number.
Projects and a quiz use the database at 2017Winter. Please gain familiarity with it. Here's a connection string with select authority that will work from the command line at info465.us:
mysql -u2017Winter -pWinter2018 2017Winter
Use W3School's SQL Tute for an introduction to SQL. The database server at info465.us is MariaDB which at this point is a direct drop-in replacement for MySQL which most Linux distros avoid because it's Oracle's property...
Here is a sketched Database ERD of a database similar to 2017Winter showing the tables that have to do with accounting. Table names and PK/FK relationships are accurate, some column names are not quite. Use SQL's DESCRIBE command to get the exact column names at 2017Winter.
Here's a sketch of the whole database and file system for a system similar to 2017Winter. Tables with dashed lines around them might show up in some other season to help with distribution functions.
Click Logging in and working at info465.us for references about working at the command line at info465.us. User ids and passwords were shown in class, expecting that the first command on-line will be passwd...
Demo'd SeSDoC forms: Mobile first, responsive, valid html5 and css.
These links were visited and examined in class. They are all dead-simple HTML and CSS, just enough to clearly demonstrate semantic markup of content and forms.
This 20-point project is to put up a demo site that gets all the specs below and will launch from your link at info465.us.
Dlv #1 is 5 points: demo a valid, mobile friendly, responsive site that launches from your link at info465.us, identifies your fictitious organization and shows off three items for sale. Get your SiteThumb image or animation in place and set the name of your fictitious hussle into your settings. Use similarly-sized product images with transparent backgrounds, or use identically sized product images. Size images no larger than the largest they'll be displayed on the page, no distortion or pixelation.
It's valuable to be able to pick up code and modify it for the purpose at hand, so Copying/tweaking class samples is fine but it shouldn't look exactly like the samples when the project is delivered.
Learning a framework or using it again is better. BootStrap, W3CSS or other frameworks make good additions to a portfolio and are the easiest way to get a working, mobile-first, responsive website together. The class' coding samples are easy to stick into most any template, so when we get into server-side scripting the sample code will be easy to adapt into a framework...
Gain familiarity with the Linux command line at info465.us and use it to copy text files, scripts, css, and html from /home/SeSDoC and /home/SeSDoC/web or your framework to your home directory and web directory and tweak them into webpage that shows up from your link at info465.us.
Decide whether you'll adapt the sample code at SeSDoC or Resp for your project, or start from scratch, or use a lightweight CSS framework like W3Schools RWD tute, W3CSS, Bootstrap, or something heavier with more pizzazz. Exploring AJAX and jQuery are also worthwhile while you've got a server at your fingertips if web designer is something you'd like to be.
The sample code at SeSDoC uses 'html templates' and is very easy to fit SeSDoCForm.php and other reports into an html template made from a css3 framework like W3CSS, Skeleton, BootStrap...
Make the html and css suit the fictitious organization, business, or hustle you confabulate for your case study. The index page will become a store-front that earns commissions on sales of at least three products or services. Choose a thumbnail image to represent your site at info465.us and make the site comply with the SiteThumb spec (at the bottom of the Thumbnail page at info465.us) so your site appears in the gallery at info465.us. Transparent backgrounds are attractive, animated gifs of a few dozen frames are fun to see.
If you're working from the samples provided, consider the acronymns SeSDoC and SeSPoP as the property of these ficititious organizations and they should not appear in the file or variable names involved in your website. The info465.us enforces these and other specs.
No embedded or in-line Styles! This is what 'separate style from content' means! All CSS must be 'external', in a local file linked in the head of the document! If there is an exception, add a style for it in the external style sheet. If there is some reason you must embed or use in-line styles to achieve some effect, please discuss it with the instructor.
All pages must be consistently styled with the same or similar external css3.
If a semantic element exists, use it. Do not use plain divs with ids or classes named like header, footer, menu, aside, or any other CSS3 semantic selector. Don't use frames or iframes, named or otherwise. Make your page a very clear demo of the best markup for semantics and style!
Use CSS3's semantic elements for page layout to best advantage: As a minimum, structure your page layout using: header, main, aside, and footer.
Use CSS3's semantic elements to mark up content: p, h1-6, ul, ol, li, strong, and em, table, td, tr...
Use CSS3's form elements to mark up forms: fieldset, legend, and label.
The elements in the sample form at SeSDoC define an html form in a standards-compliant way so that is usable in a mobile device without any stretching or tapping and is also accessible for handicapped persons and search engines.
Use a grid scheme for responsive design. The samples use the '12 grid' scheme from W3School's RWD tute with Row and Col defined in CSS, amenable to folding for tablets and phones. This also appears in W3CSS and the equivalent is in BootStrap and Skeleton.
Optionally, semantic elements article and section may be used to organize featured products or items, newsletters, blogs, and other complex web documents. Styling an article is a good way to implement material web design features like cards.
Wildcard classes of CSS3 make it easy to adapt a multi-Column grid system to any kind of device by being clever with object names like 'Col-' or 'Card' to adapt seamlessly with any sized viewport. W3Schools RWD and W3CSS show how to use these wildcard features. These features are well used in most CSS3 Frameworks!
CSS styles make it easy to make accordion or drop-down interfaces for the user, or change from a hamburger to a menu when the window gets big enough. Many CSS3 transitions are now supported by current versions of all common browsers and most vendor-specific styles may be retired. There's a lot of value in learning how to do these with native jQuery or one of the frameworks that uses jQuery -- these are the slickest and doing them the way Google does it is a good thing!
Serve all graphics, fonts, libraries, frameworks, and styles directly from your web directory at info465.us and be ready to report on their bulk. Quick loading speed on a slow network is of the essence. Google guidelines favor lightweight pages that load fast even on a 3G network. Limit the size of graphics for products on the home page to something less than half a megabyte. Size all images for their max dimension as used on your site. (If it's 300px wide on the page don't link to an image that is 2000px wide in the img tag, and don't use dimensions in css or html to make large images fit.) Use a photo-editor on your desktop or online to size images. Make sure all re-sizing results in sharp images and doesn't result in unsightly artifacts...
Set the permissions for your web and any of its sub-directories to 705. Set the permissions for all files in your home and web directories to 604. The intent here is that the web server can read these files but others in the info465 group can't.
Project #1's 1st deliverable was a single page, mobile-friendly at google and valid at w3c, website for some fictitious shop or organization allied under 2017Winter's umbrella.
The 2nd deliverable is a two-page site that launches from the link at info465.us, showcases at least three products on the home page, and has a form on the second page that has been customized to suit membership or other relationship with your ficititious organization. All css is external, html5 and css3 validates at W3C validators, and all pages score Awesome on Google's mobile friendly test.
Project #2 will be to add user authentication and update the database using the form built in Project #1 Dlv #2.
The PHP or Python-generated form must work at least as well as the sample code provided at SeSDoC, meeting these finer specs:
Tech support for learning the command line and vi and Project #1, Dlv #2...
Things not looking right in the browser? Maybe getting an empty page back or missing an img? Tailing the log might help: Open a new ssh window and log in to info465.us. Use this to show the tail of the log and follow it, replacing 'yourlogin' with your login id at info465.us.
tail -f /var/log/httpd/ssl_error_log | grep yourlogin
This will show errors produced by html or scripts from your directory when you load or refresh a page so keep it visible while you work. Use ctrl-c to stop tailing the log.
If you're programming without the developer and debugging tools running, you're just guessing and frustrating yourself and ticking off the intructor in lab, and will likely inject numerous errors in the code while blindly trying stuff.
Keep the debuggers visible at all times even if everything appears OK since they may be showing warnings that detract from a professional result.
Here is a screenshot suggesting a juxtaposition of putty or Mac terminals and a browser while debugging. A quick mouse-click or Alt-Tab moves among browser and code windows. The tail of the log is always visible so it's easy to see it jump if/when there is an error in a script...
Developer's Tools vary a lot from browser to browser! Some even takes lotsa seconds to load and cause the fans to come on just to show all the charts and graphs! The instructor usually debugs with FireFox Developer Tools, W3C, and Google, then Chrome on an Android, then Safari on a tablet, then with FireFox Developer Tools, then Chrome on a notebook, then Edge. Make sure you know how to refresh components in whatever Developer's Tools you use since many ISPs cache static content and don't recognize file changes on the server! Firefox and Chrome's source views flag some HTML and CSS errors, are quicker than the W3C Validators. FireFox and Chrome both allow Ctrl-u to get to source code, others substitute their own overblown developer's tools.
Keep the tail of the error log visible at all times as you code! If you're getting an empty page back or unexpected results from a PHP script, or missing an image /var/log/httpd/ssl_error_log will likely show the error.
Open a new ssh window and log in to info465.us. Use a command like this to show the tail of the log and follow it, replacing 'yourlogin' with your login id at info465.us.
tail -f /var/log/httpd/ssl_error_log | grep yourlogin
This will show errors produced by html or by PHP or other web scripting languages from your directory when you load or refresh a page so keep it visible while you work.
Use ctrl-c to stop tailing the log.
If you haven't been tailing the log and wonder about recent errors, you can grep them out of the error log like this, replacing yourlogin with your login id:
grep yourlogin /var/log/httpd/ssl_error_log
If there are no errors in httpd/ssl_error_log but the script isn't producing the correct web page, place echo statements followed by exit at strategic points in the PHP code so you can _see_ what's going on before the HTML is pitched.
Something like this might be helpful:
echo $View; exit;Or, use print_r to show superglobals or arrays:
print_r($_POST,false); exit;at the top of a script would show the POST data submitted from an HTML form to remove any doubts what's in the POST data...
Use the W3C HTML and CSS validators early and often and don't continue debugging until they are valid. Design for mobile first with viewport set, then tweak @media queries for larger displays. Use Google's mobile friendly test, try W3C mobile validator for more of a challenge.
Use info465.us/2017Winter's Log In or Get An Account dialog, at the upper right where 'Web 2' says it should be, for each team member. Do it one at a time while Rowdy Chihuahua or Rhue Pinscher are available to authorize accounts. Watch the process carefully so the team can get an accurate state transition diagram together for the project's deliverable.
If anything's unclear in the process or some non-fluency is discovered please document it so we can get it to the attention of the developers next time we can catch them.
Errata: info465.us is not set up to get email to you @vcu.edu, but works almost everywhere else. Using a gmail or other email account where you can click on a link to validate your email is easiest. If you don't want to use a real email address, use your email@example.com and the command line's mail to read the email validation code.The 2017Winter database is available so you can closely track the value of AcctStatus to get the state chart accurate. A select-only connection string is:
mysql -u2017Winter -pWinter2018 2017Winter
PHP code is available read-only in /home/2017Winter/Web.
Demo for this is Project #2 Demo Videos.
Demo in class showed PHP's session_name, session_start, session_destroy and also looked at a session cookie under the i-spot in the browser and session data kept in /var/lib/php/session on the server. LogIn.php authenticates via web-service at 2017Winter by opening a pipe to handle a request with userid and password and response with not-valid or user's name. LogOut.php uses session_destroy to clear all the data from the session on the server. Every 'protected' php script requires SiteSettings.php which blocks access to pages if a browser's not logged in and redirects the browser to LogIn.php or index.html. Find these features in the code and be prepared to explain them.
Modify your site at info465.us to work similar as the example at info465.us/tinstructor, making a link like 'Members' prominent on your existing page. The project is to make your site authenticate users with 2017Winter credentials and provide forms and content to logged-in users only. If somebody tries to access a 'protected' url, they should be directed to the LogIn script for authentication, then to the url they attempted to reach.
The specs for the behavior of the form are the same as Project #1, all input elements should be returned with text, checks, and selections the same as the user entered. And the user should be able to re-submit a form if they notice an error. The specs for Project #1 were intended to make a form that can easily be secured and used to update a database.
The sample scripts are available from the command line in /home/tinstructor/ and /home/tinstructor/web/.
/home/tinstructor/SiteSettingsSample.php is available to copy and modify to suit your Site. Leave the functions intact. Edit at the top and bottom to supply _your_ SessionName and database credentials. Take care not to clobber your existing SiteSettings.php when fitting the new script in your account.
Copy these scripts to your web directory: TemplateSeSDoCForm.html, SeSDoCLogIn.php, SeSDoCController.php, SeSDoCLogOut.php, and SeSDoCApplicants.php. SeSDoCCommissions.php is not available to copy. After you've made them run, edit them to suit your site and database.
SeSDoCForm.php differs from the earlier example. Don't copy it over your existing form's script. Copy the changed parts to your script:
require(dirname(pathinfo(__FILE__, PATHINFO_DIRNAME)) . "/SiteSettings.php" ); AllowLoggedIn();require SiteSettings.php from your home directory and call its function AllowLoggedIn() to protect the page from those not logged in.
Here's a class diagram of a project similar to your Project #2:
SQL scripting at the command line is a way to create a database at info465.us or any other LAMP stack. Any SQL database operates off a stream of characters from STDIN. STDIN is the keyboard in a command line environment, or a string in a script using the arcane mysql_query() function. In bash, the '<' less-than sign is to 'redirect' the contents of a file into the stream. Ctrl-D on the keyboard will stop Mysql...MySQL/MariaDB Scripting and were demo'd in class.
The user id for your individual MySQL/MariaDB database is the same as your id at info465.us and passwords are the upper-case 1st letter from your first name and the last 4 lower-case letters from your last name. Rowdy Chihuahua's connect string would be: mysql -urchihuahua -pRahua rchihuahua
Please take care not to destroy your working php script as you add code to support database update! Make local backup copies so it's easy to revert to working code if you hose up the script while adding database update. HTML form handling, securing web pages, and updating a database in a structured environment are inherently complex tasks. Make sure you're keeping copies of your working scripts before each session so you've got something recent to roll back to.
This is 10 points for individual effort and 10 points for teams. Teams setup Items in their shop at 2017Winter to be sold under the PAYGO commission agreement by each of the associates. This is demonstrated in the 'Click to Buy' links for Pacioli's books at info465.us/tinstructor.
Each student's shop at 2017 Fall has a link added to report commissions earned on the three items offered.
Teams contrive several purchases at their shops and the shops of other teams using the fake accounts with credit acconts issued by an ELand ACH.
Shops need a good-looking trial balance put together with at least a dozen orders and journals showing startup and a couple day's operations. QOH for items in the store should be reasonable to support on-line sales.
Teams thoroughly document the 2017 Winter PAYGO Umbrella's system as built. Team members note which portions they authored, and all team members should be involved enough with the project so they can claim it as an exhibit in their professional portfolio. Individuals, or those fired from a team, may negotiate a subset of the UML Diagrams and other documents. All documents must use recognized shapes from the UML suite of diagrams. Project #4 must be submitted in printed form and also in a single pdf submitted through BlackBoard.
Bring work to class for feedback early. None will be offered between the last class and the exam. The exam time is to collect projects not help debug them or tweak them to specs after critique...
This a rough Class Diagram for the MVC-Model View Controller scheme similar to 2017Spring. The UML doesn't have a MVC in its set of diagrams quite yet, but the Class Diagram is easilty adapted to reflect the popular design pattern. The blocks in a UML Class Diagram typically show Name of the class, its methods, and its properties. Here, to make it fit a MVC, the block represents a model (aka script) instead of a class. 'View' is substituted for method, where the models consistently use HTML GET or POST data in $_REQUEST['View'] to control their output.
The biggest block in the diagram is Controller.php, 'the controller', which surveys the environment for a logged in user and provides a menu of the models and views appropriate for their authority and roles. Please, improve on the diagram if you choose to use it as a model for your Class diagram, and make it a tighter fit to 2017Winter.
Its important for somebody wanting work in app dev to have a ready reference to a Model View Controller and be able to talk about it, sketch it, or sit down and develop with it. The MVC is a popular and powerful design pattern implemented in many development environments in many ways. Visual Studio's MVC is highly abstract with a steep learning curve, which it's well worth climbing since it takes best advantage of the .NET Framework. Django is in many ways a MVC, as are other frameworks for application development.
This is a rough UML State Chart, or state transition diagram, for Orders OStatus from check-out through fulfillment in an application similar to 2017Winter. It's reflects changes from 2017Winter that involve a shipping desk after the ACH authorizes the credit card.