SHELL-FISH project aims to deliver a learning support system by providing learners with a facility to obtain feedback, a development plan and a record of progress related to that feedback. Teachers will have a feedback management system.


http://shell-fish.sourceforge.net





Separate each tag with a space.

Release Date:

2006-03-26

Registered:

2005-03-16

Ratings and Reviews

Be the first to post a text review of Shell Fish. Rate and review a project by clicking thumbs up or thumbs down in the right column.

Project Feed

  • Version 2 of Shell-Fish Released

    The Shellfish project are pleased to announce the release of ShellFish Version 2. This is a substantial upgrade from Version 1 and includes new systems for administration of courses, the use of themes and resources for marking coursework and almost a complete rewrite of the code from Version 1.

    posted by shell-fish 1337 days ago

  • shell-fish Shell Fish Version 2 file released: shellfish.zip

    posted 1337 days ago

  • File released: /shell-fish/Shell Fish Version 2/shellfish.zip

    posted 1337 days ago

  • Installation ZIP added!

    A new installation ZIP file has been added to Shell_Fish to aid in the installation of the MySQL tables and setting the proper permissions

    posted by shell-fish 1686 days ago

  • shell-fish Version 1.1 file released: install.zip

    Index.php Line 7) Validation function added which is used throughout site including several times on index.php. Line 11) The user visits the site and the first thing the index script does is check to see if the user is logged in by testing for the presence of a SESSION variable called usernamer Line 27) Once logged in status has been established the script checks GET/POST for a variable called $p. This is the ID of the node to display. If one doesnt exist then $p is defaulted to either 1 or 12 (Default welcome screens) depending on if the user is logged in. Line 100+) Added isset tests for all posted/get/session variables. Line 44) Then a database connection is created, this connection will be re-used by all scripts and functions included into the page so functions will not need their own database connection anymore. Line 60) Then we load any POSTED variables into SESSION variables. I will eventually remove the storage of these variables in the session as it is not needed. Line 198) Then we build up the page using functions contained in runnav.php. A lot of the functions in runnav.php have had name changes, several functions have been deleted and several functions have been merged and had redundant code removed. Line 203) See if the user is logging out to decide which nav bar to show them. Runnav.php function Form(), Form2(), Form3() and Form4() were all merged into buildNav(). This function builds up the navigation menu depending on whether the user is logged in or not. Bread() and bread2() functions were deleted as no pages called them. .Pageget() and Pageget2() were merged into pageget() and a large section of code related to building sub menus was removed. This Function takes the node ID ($p) and looks up which page to include from the scripts/transcripts directories. $base and $url are passed into pageget, its not obvious theyre needed but some include files need them to be there. Getuser returns the logged in users name. GetTitle returns the page title of the current document and writes it to the html title tags. This function used to be in pager.php. But that file has been deleted. Pager.php File removed The function that was in this file was moved to runnav.php. Login.php The whole page has been cleaned up. Line 33) Now we properly log incorrect username attempts. Line 43) While loop removed as we know there should only be one username+password combination (added Limit 1 to SQL as another check). Line 49) We create a SESSION variable to determine whether the user is a learner or a tutor. Line 74) Removed references to template files that werent being used. Logout.php Added some more session destroying code. Sf_actionplans.php Removed session start and database connection and reformatted. Line 4) Check learner id session variable hasnt expired. Line 8) Line changed to $sql = "SELECT * FROM coursework WHERE learner_id='$learner_id' AND (stage='Completed' OR stage='Reviewed') ORDER BY datesubmitted"; Sf_tutor_start.php Removed session start and database connection and reformatted. Added a new database table moduletutors to link tutors with modules as previously a tutors only link to module was through coursework set. If a tutor hadnt set any coursework e.g. a new tutor then there would be no link between the tutor and the module. Also it solves the bug of the module names showing up several times, once for each coursework. I also enabled Access Levels on this page so that a tutor with Access level 7 could see a summary data of all coursework and a standard level 3 tutor could only see the coursework he had set himself. Sf_tutor_200_1.php Removed session start, database connection and reformatted. Line 6) moved sf_getcoursework2.php include to the top as it wasnt obvious it was included. Sf_tutor_200_1.php Removed session start, database connection and reformatted. Added validation so tutors cant add coursework with no data. Sf_cupload_neil.php Removed session start, database connection and reformatted. Line 3) Added validation for form data. Line 15) Added Javascript validation Sf_cupload_2.php Removed session start, database connection and reformatted. Line 3) Added validation for form data. Line 26) Added Javascript validation Sf_cupload_3.php Removed session start, database connection and reformatted. Line 3) Added validation for form data. Line 44) Added Javascript validation Sf_cupload_r.php Line 3) Added validation for form data. Line 49) Added a check to see if the assignment had previously been submitted. This fixed a bug where user could click back on the page and resubmit. Sf_studentstart.php Removed session start, database connection and reformatted. Removed a mysql close and another hard-coded database connection. Sf_getcoursework2.php Removed session start, database connection and reformatted. Line 128) Added a test for when theres no coursework listed as it gave a warning. Sf_completed.php Removed session start, database connection and reformatted. Line 67) Neil change, taken out &status=$status from line 74 Sf_both_302.php Removed session start, database connection and reformatted. Line 26) Neil change, only change the status if a student views the coursework not if a tutor does. Sf_both_303.php Removed session start, database connection and reformatted. Line 11) Neil change, deleted lines 8 13 from sf_both_303.php and also changed lines 15 and 21 so that it only selects the completed version of the coursworks. Line 16) Added an if statement, if completed version hasnt been created then show the original instead. Transcripts/welcome.html Line 6) Changed the link from ./demo.html to demo.html Temp/index.htm Security enhancement, uploaded a blank index file to stop people viewing the contents of the temp directory. Database Optimisations I have deleted several unused columns from nav and nav2 tables to keep things tidier. List of columns to follow I have added a table that links tutors to modules moduletutors. I recommend unique indexes be added to tables nav and nav2 on the node column, this will optimise queries where the node column is used in the WHERE clause which is every page on the site. General Coding optimisations I am working with notices switched on in PHP so I am cleaning up undeclared variables as I go along Mostly this involves setting them with a value or testing if they are present using isset(). Mysql_connect is used in a lot of functions and scripts where it is not needed so I am removing these references as I go. I am also closing down mysql connections that were left open. There have been a few places where a while loop is used aswell as an if statement to check for results from a query. And the query can only return one result. So its either empty or has one result. Therefore the while is not needed. Style Formatting I have worked on improving the layout of the code to improve readability and thus security. Some examples of the format style I have decided on are given below. The majority of this work has been adding whitespace. <?php // for comments use double slash thoughout // code also needs indenting after <?php If(x=y){ // Another tab and then statements here. } else { // Tab more statements. } for($I=0;$I<mysql_num_rows($result);$I++){ // statements } ?>

    posted 1686 days ago

  • File released: /shell-fish/Version 1.1/install.zip

    posted 1686 days ago

  • Version 1.1 Due for Release March 31st

    Having just released Version 1 we are already making improvements to the SHELL FISH interface and expect to have an updated version of the source code available on March 31st. The improvements lie mainily in the area of installation and in an admin system to help manage students, tutors and coursework and make our system interoperable with other IMS formats.

    posted by shell-fish 1707 days ago

  • Tracker artifact added

    shell-fish created the New Admin Features artifact

    posted by shell-fish 1707 days ago

  • shell-fish Version 1.1 file released: shellfish.tgz

    Index.php Line 7) Validation function added which is used throughout site including several times on index.php. Line 11) The user visits the site and the first thing the index script does is check to see if the user is logged in by testing for the presence of a SESSION variable called usernamer Line 27) Once logged in status has been established the script checks GET/POST for a variable called $p. This is the ID of the node to display. If one doesnt exist then $p is defaulted to either 1 or 12 (Default welcome screens) depending on if the user is logged in. Line 100+) Added isset tests for all posted/get/session variables. Line 44) Then a database connection is created, this connection will be re-used by all scripts and functions included into the page so functions will not need their own database connection anymore. Line 60) Then we load any POSTED variables into SESSION variables. I will eventually remove the storage of these variables in the session as it is not needed. Line 198) Then we build up the page using functions contained in runnav.php. A lot of the functions in runnav.php have had name changes, several functions have been deleted and several functions have been merged and had redundant code removed. Line 203) See if the user is logging out to decide which nav bar to show them. Runnav.php function Form(), Form2(), Form3() and Form4() were all merged into buildNav(). This function builds up the navigation menu depending on whether the user is logged in or not. Bread() and bread2() functions were deleted as no pages called them. .Pageget() and Pageget2() were merged into pageget() and a large section of code related to building sub menus was removed. This Function takes the node ID ($p) and looks up which page to include from the scripts/transcripts directories. $base and $url are passed into pageget, its not obvious theyre needed but some include files need them to be there. Getuser returns the logged in users name. GetTitle returns the page title of the current document and writes it to the html title tags. This function used to be in pager.php. But that file has been deleted. Pager.php File removed The function that was in this file was moved to runnav.php. Login.php The whole page has been cleaned up. Line 33) Now we properly log incorrect username attempts. Line 43) While loop removed as we know there should only be one username+password combination (added Limit 1 to SQL as another check). Line 49) We create a SESSION variable to determine whether the user is a learner or a tutor. Line 74) Removed references to template files that werent being used. Logout.php Added some more session destroying code. Sf_actionplans.php Removed session start and database connection and reformatted. Line 4) Check learner id session variable hasnt expired. Line 8) Line changed to $sql = "SELECT * FROM coursework WHERE learner_id='$learner_id' AND (stage='Completed' OR stage='Reviewed') ORDER BY datesubmitted"; Sf_tutor_start.php Removed session start and database connection and reformatted. Added a new database table moduletutors to link tutors with modules as previously a tutors only link to module was through coursework set. If a tutor hadnt set any coursework e.g. a new tutor then there would be no link between the tutor and the module. Also it solves the bug of the module names showing up several times, once for each coursework. I also enabled Access Levels on this page so that a tutor with Access level 7 could see a summary data of all coursework and a standard level 3 tutor could only see the coursework he had set himself. Sf_tutor_200_1.php Removed session start, database connection and reformatted. Line 6) moved sf_getcoursework2.php include to the top as it wasnt obvious it was included. Sf_tutor_200_1.php Removed session start, database connection and reformatted. Added validation so tutors cant add coursework with no data. Sf_cupload_neil.php Removed session start, database connection and reformatted. Line 3) Added validation for form data. Line 15) Added Javascript validation Sf_cupload_2.php Removed session start, database connection and reformatted. Line 3) Added validation for form data. Line 26) Added Javascript validation Sf_cupload_3.php Removed session start, database connection and reformatted. Line 3) Added validation for form data. Line 44) Added Javascript validation Sf_cupload_r.php Line 3) Added validation for form data. Line 49) Added a check to see if the assignment had previously been submitted. This fixed a bug where user could click back on the page and resubmit. Sf_studentstart.php Removed session start, database connection and reformatted. Removed a mysql close and another hard-coded database connection. Sf_getcoursework2.php Removed session start, database connection and reformatted. Line 128) Added a test for when theres no coursework listed as it gave a warning. Sf_completed.php Removed session start, database connection and reformatted. Line 67) Neil change, taken out &status=$status from line 74 Sf_both_302.php Removed session start, database connection and reformatted. Line 26) Neil change, only change the status if a student views the coursework not if a tutor does. Sf_both_303.php Removed session start, database connection and reformatted. Line 11) Neil change, deleted lines 8 13 from sf_both_303.php and also changed lines 15 and 21 so that it only selects the completed version of the coursworks. Line 16) Added an if statement, if completed version hasnt been created then show the original instead. Transcripts/welcome.html Line 6) Changed the link from ./demo.html to demo.html Temp/index.htm Security enhancement, uploaded a blank index file to stop people viewing the contents of the temp directory. Database Optimisations I have deleted several unused columns from nav and nav2 tables to keep things tidier. List of columns to follow I have added a table that links tutors to modules moduletutors. I recommend unique indexes be added to tables nav and nav2 on the node column, this will optimise queries where the node column is used in the WHERE clause which is every page on the site. General Coding optimisations I am working with notices switched on in PHP so I am cleaning up undeclared variables as I go along Mostly this involves setting them with a value or testing if they are present using isset(). Mysql_connect is used in a lot of functions and scripts where it is not needed so I am removing these references as I go. I am also closing down mysql connections that were left open. There have been a few places where a while loop is used aswell as an if statement to check for results from a query. And the query can only return one result. So its either empty or has one result. Therefore the while is not needed. Style Formatting I have worked on improving the layout of the code to improve readability and thus security. Some examples of the format style I have decided on are given below. The majority of this work has been adding whitespace. <?php // for comments use double slash thoughout // code also needs indenting after <?php If(x=y){ // Another tab and then statements here. } else { // Tab more statements. } for($I=0;$I<mysql_num_rows($result);$I++){ // statements } ?>

    posted 1710 days ago

  • File released: /shell-fish/Version 1.1/shellfish.tgz

    posted 1710 days ago

Rate and Review

Be the first person to add a text review.

Would you recommend this project?






<

Related Projects

Shell Fish Actions

Thanks for your rating!

Would you also like to write a review?





Skip Review