iProjectWeb is a simple project management and task management application. It has a minimalistic set of features necessary for organizing effective project team work.
The application has a tab-based ajax design.
It supports roles of system administrator, project manager and team member with proper object ownership rights distribution
Project, task, and risk attributes are organized as knowledge base allowing treating statuses and priorities in a unified way across several projects and teams.
Risk management allows problem prevention actions planning and motoring.
Simple and easy to use file manager allows linking uploaded files to a particular task or project
Application design allows having separate mailing lists for each particular task.
the links:
git - http://git.drupal.org/sandbox/systemdesigner/1387058.git
the project page: http://drupal.org/sandbox/systemdesigner/1387058
Comments
Comment #1
natemow commentedAutomated review:
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:
sed: -e expression #1, char 3: unexpected `,'
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. Go and review some other project applications, so we can get back to yours sooner.
Comment #2
systemdesigner commentedNext step ready.
Items from the list above are implemented. a lot of additional work is done.
Comment #3
natemow commentedManual review:
Automated review: attached below.
Comment #4
natemow commentedComment #5
natemow commentedComment #6
systemdesigner commented1. Let me comment the latest results I obtained from the auto review system point by point
There is no "?>" PHP delimiter at the end of this file
All these messages are of similar nature: indentation of php code included into html. I believe that the lines are indented correctly in all those places. Anyways any your suggestions are welcome.
These 4 classes (out of 40) are special ones. Underscores in their name say only about their goal (to serve as mtm links between db objects solely). So this is not an intention to break the rules, this is just a notion of their uniqueness.
2. Thank you for your notes about the third-party libraries. All of them are removed from git. Our main intention of including them was just review convenience.
3. Regarding your notes about D7 API. That’s an interesting point to begin a discussion.
There are several design patterns saying about how to split an application into layers making them relatively independent.
The alternative way is to create numerous entry points, one or more for each object, assign a hook_menu() to each of them and dispatch requests in the url – parsing way.
Similar things may be said about database select/update/insert operations, when each object defines its own methods and makes direct calls to db_query or db_insert.
This is good from viewpoint of API calls spreading in the code, but not that good from viewpoint of module maintenance and further development. Isn’t it?
Thank you for your time and valuable comments.
With all respect,
George
Comment #7
natemow commentedManual review:
Per the getStyle.php flag -- I think the coder review is choking on your closing comment in the @file area. Looking at your .module file, I see a few issues with that require_once statement as well (line 131) ...this is really just a snapshot, though; globally, I think there's quite a few improvements that could be made to take better advantage of the API.
Automated review:
Review of the 7.x-1.x branch:
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. Go and review some other project applications, so we can get back to yours sooner.
Comment #8
systemdesigner commentedI have implemented several your suggestions regarding css loading and drupal path in the require_once calls.
Unfortunately it seems that hook_init() never gets called, so I did not manage to wrap the environment initialization with this method.
From other side in the 'official' examples there are places where the content is prepared by a custom function, so I do not see a major issue here.
Meantime, do you have any comments to my comments (#6) to the automated review results?
Comment #9
systemdesigner commentedComment #10
systemdesigner commentedthe .inc extension is applied for all the files where it is necessary. Please also look at my post #8.
Comment #11
systemdesigner commentedComment #12
peterx commentedThe Storm project appears to be your major competitor. How does your project compare? When I am next starting a new Drupal based project, why should I use your project instead of Storm?
Risk management? What is the risk you manage? How? You could use a screen shot or demo page to show what you mean.
"motoring"? Do you mean monitoring?
Comment #13
KhaledBlah commentedFirst of all, thanks for your contribution!
Automatic review of branch 7.x-1.x:
please have a look at http://ventral.org/pareview/httpgitdrupalorgsandboxsystemdesigner1387058git. The automatic review listed issues in your 7.x-1.x branch.
Manual review of branch 7.x-1.x:
description=Project management toolshould bedescription = Project management tool. Please see http://drupal.org/node/171205.$map = $_REQUEST;. $_REQUEST can contain user supplied data and thus $map (or rather its values) should check_plain'ed or whatever is appropriate for that context.DEFINE('_IPROJECTWEB_APPLICATION_ROOT', $base);As far I can see you only use this define once and thus I think it could be omitted completely. This is more my taste than an actual issue.DEFINE('DR_DS', DIRECTORY_SEPARATOR);I found this abbreviation to be rather confusing. I know using DIRECTORY_SEPARATOR requires but it also more readable to other developers and if you look at your code after a while you won't DR_DR means either.Comment #14
klausiClosing due to lack of activity. Feel free to reopen if you are still working on this application.