Final Projects
I made an announcement in our last session about the final projects. To those who made it to class this is mostly a repeat
For your final project please send me an url and a zip file of your source code. If your project is an installation, and you cannot submit an url please get in touch with me so we can discuss. Projects are due on Wednesday, May 11.
The criteria for projects is that I want to see projects which touch on at least two of the following three areas: PHP, MySQL, and Javascript. For some of you who are working on other kinds of projects, I believe we have already discussed your projects, and if not, please get in contact with me.
Comparison of Relational DBs
Tonight there is a talk at Huge where Peter Paul Koch will speak. He runs the site quirksmode.org and is a world-class expert in CSS browser support. His compatibility chart is linked in the sidebar. The talk tonight will be about mobile development.
To address some questions about the differences in databases, I have put together the following: DB Comparison
And I have put together some brief notes about APIs here: APIs
Also, I would like everyone to take a look at the following materials, especially if you’re struggling to see the bigger picture:
This is a great video on optimizing Javascript: Speed up your Javascript
Finally, everyone should have a look at Neal Stephenson’s “In the Beginning was the Command Line“.
Advice on Login Systems
As I get questions from all of you regarding final projects, it makes sense for me to make some of these discussions available to everybody in the class. I have recently had a couple of questions of login systems.
The first thing about login systems is writing your own is never a good idea, except to learn how they work. Don’t reinvent the wheel. Even a small mistake can give disastrous results. Maybe the most compelling reason to use a framework.
The second thing about login systems: it is a two-headed beast. Login systems will need to address two distinct problems: authentication and authorization. Who are you, and once your authentic identity is known, what do you have permission to do. Authorization is generally easier than authorization, from a code perspective. One tip: make sure your login system accomodates not only users, but groups for the users. Then use these groups for authorization, not individual users.
Login systems vary from one platform to another. The one which I find easiest to work with is Microsoft ASP.NET. It is really nice to work with. One could also leverage WordPress simply for it’s login features and that is also pretty easy to use. CakePHP’s login system is far more flexible, with a much higher learning curve.
One more way to handle the authentication part is to use another site’s credentials to identify the user. OpenID is a standard that will let your users login with their email accounts, from GMail and Yahoo, even AOL and plenty of others. OpenID is NOT OAuth.
Links
Skype: randyloffelmacher
http://bit.ly/i98IrQ
Excellent WordPress Advice
Hi all, I know that at least one of you is looking into using WordPress for a thesis project, and suspect more are leaning that direction. I have already spoken with a couple of you about the Baseline WordPress Theme, it’s a nice way to reset all of the styling (public facing only) of your WordPress installation.
Today I ran across an article which is extremely interesting, hopefully helpful to anyone who is developing a WordPress Plugin. I am sure this will be of use also to you if you’re not developing a Plugin per-se, any kind of WordPress hacking may be enhanced by the advice in the article Ten Things Every WordPress Plugin Developer Should Know. For starters, there are some details in the article which show you how to get a toolbar like the Debug Kit toolbar for CakePHP into your WordPress blog.
Take a look at the article, if you want to discuss further in class please bring it up this Wednesday.
Links
http://a.parsons.edu/~loffelmr/databases/2011-03-02/tutorial/
http://a.parsons.edu/~loffelmr/databases/2011-03-02/jquery/starterkit/starterkit.html
git://github.com/the0ther/sandbox.git
(to pull from git do git clone git://github.com/the0ther/sandbox.git)
A Server News
This went out in an email too, just to restate how important this is I want to put it here too.
I have an opportunity now to get some help from the administrator of the a server. If you cannot login to the server with SSH, FTP, and with phpMyAdmin then you need to let me know. I sent an email to those of you who I know have had problems logging in, if you did not get an email from me and you cannot login with all three of the apps I listed, I need you to notify me as soon as possible.
Htaccess is No Fun
I get tripped up by .htaccess files, I notice quite a few of you are having trouble with this part of the lesson. If you’re getting Internal Server Error 500 it’s likely your .htaccess files.
There are three of these files, one in the root (blog), one in blog/app, and one in blog/app/webroot. They are NOT the same, they have slight differences. Take a look at the examples I posted online:
http://a.parsons.edu/~loffelmr/htaccess
http://a.parsons.edu/~loffelmr/app-htaccess
http://a.parsons.edu/~loffelmr/app-webroot-htaccess
Clarification — Question #1
Please take the code you typed in for the PHP Test Drive and put it into the hw3-q1.php in such a way that it actually runs server side.
What I am looking for here is to gauge your understanding of how to run a PHP script on the server. I received homework from somebody where they had copied and pasted from the command-line.
You can look at the hw3-q2.php file and deduce how you might go about this.