LessonPlan Exchange Disscussion


Michael T. Bendorf
Marsha Meredith
CS 214 - Evironments
25 April 2006

        Idea: practical, useful, realistic.

I talked to a student teacher, and a seasoned professional (10+ years experience in the classroom) about what could a teacher benefit from as provided by a web environment. The initial response from the student teacher was simply a semi-static knowledge base – a collection of information scourged from the internet. I pushed for something interactive, and this project is the meeting ground.

I chose JSP a.) to become familiar with an enterprise level technology for web-development. I have much just to learn, such as the use of enterprise java beans proper and truly enterprise level development using the likes of JBoss, but I have established a basic level of understanding – now the question is NOT what can I do with JSP, but rather HOW do I do it. b.) I was impressed with the power of having access to the entire java programming language/libraries for server side development, with its richness, the tools provided by netBeans, and the simplicity of deployment via Web ARchive files.

What I’ve developed is a bulletin board style system that allows users to both view ideas – be them full lesson plans, or simply ideas generally, shared to spark creativity and allow the viewer room to own the idea – to make it theirs and tailor fit it to their classroom/unit/style – and to submit ideas of their own. I was initially going to present a fully structured lesson plan rubric – as used in collegiate education programs, but the established teacher suggested that would be both intimidating and restrictive to the users – I agreed. The current form allows for, I believe, maximum creativity, within the confines of text – but we will get to the TODO list later.

Technically, what happens when a first clicks on the submit link, they are redirected to a login form – provided they are not already logged in somehow. A successful login brings them to the submit form, a failure results in a message to that effect being displayed.

This is accomplished via provided functionality: j_security_check. The users and their roles are defined in tomcat-users.xml on the server in ../tomcat/conf. The restricted pages are declared in the project’s web.xml – this is either by specific pages, or entire directories – as well as the choice to authenticate via a FORM (digest, BASIC, etc. are also supported) Once the login occurs, the information is automatically stored until either the browser window is closed, or the user logs out – that is until the sessions is invalidated – which is what the logout link accomplishes through a call to a provided method.

The submit form passes strings to a servlet which writes the input both to the screen, and to disk as a binary image of an Idea class instance object. This allows for both less disk space to be taken by the files, and retains access view dot notation (myIdea.topic) These submitted idea files are written to a directory determined by the installer and the only restriction is that a unique title is given to the idea.

Idea files remain in this directory, and are viewable via a web browser only to an admin, until they are manually inserted into a mySQL database. When an admin logs in, five choices are presented: update the database with all files in the new ideas directory, display a full dump of the database contents, display full contents of new idea files, view a list of all new idea file titles, or view a list of non-purged idea file titles that have already been inserted to the database (this is just a listing of the idea files sitting in the old ideas directory, which was also determined by the installer) These five options make use of four servlets, a choice is highlighted and upon clicking the submit button, appropriate parameters are passed to the appropriate servlet. The dbupservlet, for instance, receives the path to the new idea folder, the path to the old idea folder, and the uri of the mysql database in use. It then reads in all the files in the ‘new’ folder, inserts the information to the database, and then moves the file to the ‘old’ folder.

Other partially completed features include a mailer which allows for email to be sent to submitters informing them that their idea has been either accepted and inserted to database, or rejected and deleted. This would be nice to have automated. I also have very few restraints on the submission form, only a few regular expression checks – I’ve yet to query the database and review the newly submitted files to ensure a unique title has been offered. I would also like to auto fill the user name field and not allow it to be changed.

Further To-Dos include:

     1. Viewing submitted ideas one at a time before insertion to the database.

     2. Users being allowed to edit their submission – immediately if not yet in the database, or indirectly if they already have been.

     3. Integration of pictures – or at least attachments – to the submission form.

     4. Ability to click the submit idea link form a topics page and have the form’s topic already selected to match where you came from.

     5. View more links such that upon visiting a topic’s page, only the first five fields are displayed and the user would then click on –view more- to see both the long description and…

     6. Comments/concerns/questions/suggestions





http://address:8080/LessonPlanExchange

aaron/aaron

erick/erick            admins (also teachers)

shawn/shawn

noah/noah            teacher/teacher