The Daedalus module associates Student Learning Outcomes (SLO) with courses in order to build, maintain, monitor and visualize curricula. SLO's are tasks that can be accomplished by a student which will be taught, and evaluated in one or more courses. When a curriculum map is completed users may view visual representations created by Graphviz, an open source graph visualization software.

Daedalus has been under active development at Dalhousie University for over a year and is nearing completion.

http://drupal.org/sandbox/Halidal/1096520

Comments

sreynen’s picture

Status: Needs review » Needs work

Hi Halidal,

On a quick glance at the code, it's clear it has quite a few issues with coding standards. Please use the Coder module to identify and fix these issues. While coding standards aren't an absolute requirement, not following them makes it difficult for others to read your code, both in this review and in future collaboration.

A couple more specific issues I noticed:

  • LICENSE.txt should be removed. The Drupal.org packaging system automatically adds this file, applying the same license to all projects, as required by Drupal.org policy. Also, remove any reference of licensing in other files.
  • You should use hook_schema() to add database tables on install.
Halidal’s picture

Component: new project application » module
Status: Needs work » Needs review

The coder module failed to identify errors in most of the scripts, perhaps due to their size. I have managed to clean up large swaths of the code.

LICENSE.txt has been removed including any reference to license information.
The hook_schema() is now used to install and uninstall the database tables.

jordojuice’s picture

You should configure git to identify you with your drupal.org email so you get credit for your commits. The git instructions tab in your sandbox explains how to do this.

jordojuice’s picture

As for coding standards, they can be found at http://drupal.org/coding-standards.

If Coder module is not working, a start would be to correct indentation, two spaces, no tabs.

Conditionals should always use brackets.

else or elseif should be formatted like

}
else {

Using @param and @return in comments is good, but it's even better to explain what the parameters are. That would be on the next line, indented two extra spaces.

82 drupal_set_title("Build Course Code <a class='show-help'><img src='".$question_img_src."' align='right' alt='?' /></a>");
you should be using t() and placeholders for variables in cases like this.

I would just recommend checking out core module files for good examples of coding standards. This could be a good task to complete while you wait for review, as it should help ensure a smooth one.

Halidal’s picture

Copying the individual files into the daedalus.module file allowed the coder module to work correctly. Each error detected by the module was corrected.

hook_schema() has been implemented to install and remove the database tables.

The t() function has been used for each title and form value.

jpontani’s picture

Status: Needs review » Needs work

As jordojuice pointed out, you need to read through the Coding Standards (http://drupal.org/coding-standards) and run through your code and make the necessary changes. There are quite a few things with your code that reading through the coding standards will fix.

If you've already made the changes according to those standards, you need to recommit any changes, as your last commit was over a week ago.

Halidal’s picture

Coding standards have been followed and yes I did recommit the code base. I committed the code just before my last comment. I'll do it again now since there has been many changes since my last commit.

My last commit:
Commit 700dbbf7b801b68e35a8fbbe76eb8a3cec30cb66
August 29, 2011 19:55

My last post date says:
Posted by Halidal on September 6, 2011 at 7:18pm

Halidal’s picture

Priority: Normal » Major
Status: Needs work » Needs review

Commit 34efc20142a8a178da538b3a67d480e4408d5e91

Code base up to date.

Halidal’s picture

Priority: Major » Normal
sreynen’s picture

Status: Needs review » Needs work

I opened a few more issues in the project issue queue. This is still not a comprehensive review. In general, the code doesn't follow Drupal conventions much at all, which makes it difficult to review. Please set this back to "needs review" when the open issues are fixed and someone will take another look.

misc’s picture

The applicant has been contacted to ask if the application is abandoned.

Halidal’s picture

No it has not been abandoned, Daedalus is a Faculty of Computer Science project at Dalhousie University. The priority is for maintaining the code at the FCS. When time permits I will look at the project issue queue and bring the code up to the drupal coding standards.

misc’s picture

Should we mark this as postponed until you have the time to take care of the issues?

misc’s picture

Status: Needs work » Postponed
Halidal’s picture

Status: Postponed » Needs review

Two issues cleared up, multiple coding issues cleaned up.

patrickd’s picture

Assigned: Halidal » Unassigned
Halidal’s picture

Assigned: Unassigned » Halidal
patrickd’s picture

Assigned: Halidal » Unassigned

please don't assign the application to your self, only the current reviewer should do this (see application workflow)

patrickd’s picture

Status: Needs review » Needs work

Sorry for the delay, I just recognized that the automated report throws much stuff you got to work on:

It appears you are working in the "master" branch in git. You should really be working in a version specific branch. The most direct documentation on this is Moving from a master branch to a version branch. For additional resources please see the documentation about release naming conventions and creating a branch in git.
Review of the master branch:

  • Remove "project" from the info file, it will be added by drupal.org packaging automatically.
  • ./daedalus-autocomplete.php: all functions should be prefixed with your module/theme name to avoid name clashes. See http://drupal.org/node/318#naming
    function autocomplete_advisor($search) {
    function autocomplete_support($search) {
    function autocomplete_student($search) {
    function autocomplete_description($search) {
    function autocomplete_coursecode($search) {
    function autocomplete_multiplecodes($search) {
    function autocomplete_tag($search) {
    function autocomplete_program($search) {
    function autocomplete_prereq_course($search) {
    function autocomplete_course($search) {
    function autocomplete_slo($search) {
    
  • Remove all old CVS $Id tags, they are not needed anymore.
    daedalus-autocomplete.php:3:// $Id$
    daedalus-functions.php:3:// $Id$
    daedalus.info:1:; $Id$
    daedalus.install:3:// $Id$
    daedalus-menu-analyze.php:3:// $Id$
    daedalus-menu-browse.php:3:// $Id$
    daedalus-menu-build.php:3:// $Id$
    daedalus-menu-manage.php:3:// $Id$
    daedalus.module:3:// $Id$
    
  • Run coder to check your style, some issues were found (please check the Drupal coding standards). See link below.
  • Drupal Code Sniffer has found some code style issues (please check the Drupal coding standards). See http://ventral.org/pareview/httpgitdrupalorgsandboxhalidal1096520git.

This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. Get a review bonus and we will come back to your application sooner.

Also

project page
Please take a moment to make your project page follow tips for a great project page.
file names
Please use underscores and dots to separate words in your filenames instead of hyphens "-".
Halidal’s picture

I am not sure if I should be creating a tag for creating stable releases or move from a master to a major version branch? All other issues have been cleaned up.

patrickd’s picture

I don't recommend doing any tags/release-marking until the project is a full one
also don't forget to switch back to needs review when your ready

Halidal’s picture

I was unable to "Find the release node pointing at master" in the instructions for Moving from a master to a major version branch. So I am currently unable to continue from step 1 as I am not sure if the all or any of the following steps are required.

sreynen’s picture

Halidal, steps 2 through 4 of those instructions don't apply to sandbox projects (since you have no releases), so you can just skip them and go straight to step 5 after 1.

Halidal’s picture

Status: Needs work » Postponed
klausi’s picture

Status: Postponed » Closed (won't fix)

Closing due to lack of activity. Feel free to reopen if you are still working on this application.