People interested in a currently maintained solution with similar features should consider the Conference Organizing Distribution. This has functionality to extend to other Drupal features. This module will plug easily into any Drupal site without needing a Drush make file and is easily re-usable with other projects such as node import module or from an automated feed with some customisation. I will aim to do a release for Drupal 6 and Drupal 7 too.
Sandbox project here:- Basic conferences
Features of Basic Conference module
It creates nodes of conference type, sessions, speakers and room content to be used in any conference. Also it will install a view which will provide a conference schedule which can be themed.
Automatic Content Type generation using CCK
Ability to add sessions as nodes with content that can be uploaded
Metatags and keywords integration
User roles to manage the conference.
Conference view, which can be edited to match theming requirements.
Reviews of other projects
http://drupal.org/node/1846248#comment-6767940
http://drupal.org/node/1841486#comment-6737744
http://drupal.org/node/1838644#comment-6737842
http://drupal.org/node/1839230#comment-6737764
Comments
Comment #1
smiletrl commentedHi indydas, good module!
Although, there're some format issues. Please take a look at http://ventral.org/pareview/httpgitdrupalorgsandboxindydas1837860git
I notice that four content types are created when enabled to ensure this conference feature. Maybe it's better to check current site to make sure no such content type has been created before this module installed, i.e, a content type called 'room' has alreay been created in current site, and this module will try to create it again:)
In template file, like node-speaker.tpl.php, only specific fields value have been rendered. If users have added other fields to such conent types, users will need to rewrite these templates. From this point, this module is kind of only work for users with some technical background. Is there any chance that we make it more common to use?
Comment #2
indydas commentedHi smiletrl,
Thanks for the feedback! I have run quite a few commits now tidying this module up, seems to be throwing up some strange Array indentation errors for instance but I can't see anything unusual in the code that would suggest this?!
Yes that seems like a good suggestion checking the content type doesn't exist already else it could make things a bit pear shaped to say the least.
I have thought about re-writing the node templates using the standard $content in the output of the file so any fields can be entered into the future without needing a technical background like you say. I will roll this into the next commit.
Indy
Comment #3
smiletrl commentedhi,
For that array format issue, maybe you could try putting
available values in a single line, with commas~
Some times, if you're not sure about the format, you could try some possible different format to do this, or check the code standarding again:)
Comment #4
indydas commentedThanks smiletrl for the formatting advice, putting into a single row seems to have done the trick. I have fixed the issues after running it in the code reviewer now.
Comment #5
klausiProject applications are tasks.
We are currently quite busy with all the project applications and I can only review projects with a review bonus. Please help me reviewing and I'll take a look at your project right away :-)
Comment #6
indydas commentedPAReview: review bonus
Comment #7
klausiYou need to add the tag "PAReview: review bonus" to show up on my high priority list.
Comment #8
indydas commentedPAReview: review bonus
Comment #9
herom commentedDoing my review against a fresh install of Drupal 6.
There seems to be two modules missing from your module's dependecies list:
"Content Copy" and "Number"
The "Number" module was required during the install hook of the module, and threw an error then.
And there was an error complaining about a missing file in your module (referenced in hook_install):
includes/basic_conferences.session_time_install.incAlso, the node_get_types function does not seem to do what you are expecting it to do (or maybe i'm missing something here?).
The api docs for node_get_types is here:
http://api.drupal.org/api/drupal/modules!node!node.module/function/node_get_types/6
Specifically, the first parameter should be one of: 'types', 'type', 'module', 'names', 'name'
You are also returning early in line 290 of your basic_conferences_uninstall function:
lines after 290 are never reached.
Comment #10
indydas commentedGood points! Fixes committed. :)
Comment #11
bradtanner commentedA couple of small coding issues:
http://ventral.org/pareview/httpgitdrupalorgsandboxindydas1837860git
- On install, don't return FALSE if you find just one of the content types. Just skip over it and check the next one.
- Do not delete your module from the system table on uninstall.
- For removing node types, look at using node_type_delete (or at least the code from there since as one of the comments notes, it doesn't check if the content type still still exists) instead since fields may have been reused in other content types by people and uninstalling your module will totally break those.
- Your hook_access() and hook_perm() are redundant. Your module isn't defining its own node type, it's importing them in to the node system built in by Drupal so now there are two sets of permissions and your modules hook_access never gets called. See comments here: http://api.drupal.org/api/drupal/developer%21hooks%21node.php/function/h...
Comment #12
klausiClosing due to lack of activity. Feel free to reopen if you are still working on this application.
If you reopen this please keep in mind that we are currently quite busy with all the project applications and I can only review projects with a review bonus. Please help me reviewing and I'll take a look at your project right away :-)
Comment #12.0
klausiReview of other projects added