Purpose of the module: The module is designed for the MMORPG game community that plays 'Eve online'. It is essential an authentication middle layer that prompts new users that registers to the Drupal website of a userid and api key. These values will be used to determine if the registrant is in the same corporation or alliance as the administrator (which in turn must provide his api key in the administration screen). These key values will be communicated to the CCP game servers. As it stands the module counts 617 lines of code.
Before its release I will include two features to the module, first a function that pulls the users avatar from CCP's game servers and attach them to the appropriate user, second a feature that lets users of the drupal sites (with appropriate roles) to view all the character sheets of the members, which makes it easier to spot spies plan skill progression for newer players and keep a better tab of the members within the organization.
The only similar piece of software to this I know of is a module for the forum software 'phpBB'. With Drupal's extensive ability to be customized I expect a very big influx of drupal users from the 300.000 playerbase. I also plan a host of other Drupal projects that will ease the management, planning and communication within the game.
| Comment | File | Size | Author |
|---|---|---|---|
| #12 | eveauth6x0.2.3.zip | 19.28 KB | vonfaff |
| #2 | eveauth.zip | 16.25 KB | vonfaff |
| #1 | eveauth.zip | 16.25 KB | vonfaff |
Comments
Comment #1
vonfaff commentedHope this gets accepted. There are a lot of people eager to test this out :-)
Comment #2
vonfaff commentedForgot to change status of task
Comment #3
avpadernoHello, and thanks for applying for a CVS account. I am adding the review tags, and some volunteers will review your code, pointing out what needs to be changed.
Comment #4
avpadernoI am assigning this report to me, as I will review it tomorrow morning (which means in about 16 hours from now).
Comment #5
avpadernot(); see what done from Drupal core modules.drupal_set_message()is not translated.simplexml_load_string()without first check if the function is available; if that extension is available only on PHP 5, then the module should explicit such dependency in the .info file (Drupal 6 requires PHP 4 or higher).There is a Drupal function to use in such cases.
form_set_error()done ineveauth_character_validate()should be replaced with a call toform_error()(the first argument ofform_error()is the same first argument of a element validation function. I am not sure the first argument ofform_set_error()is correct, when the form element is declared as$form['api']['character'].The first argument of
t()must be a literal string; differently, the script that extracts the string to translate to create the translation template will not be able to extract the string, which would not be translatable (if not in the case another module uses the same exact string, but it's rather difficult it happens, when the string is dynamically changed).The code should use query placeholders.
The code is generating a lot of HTML output; it should use theme functions.
Comment #6
avpadernoThere have not been replies in the past week. I am marking this application as .
Comment #7
Paul Simard commentedI've downloaded the "won't fix" version and am working to correct the issues cited above, as well as updating the module to be compatible with v7.x. I can't take the pledge as 7.0's in final release candidate stage, but I will keep you advised of my progress.
Also, I'm going to need links to learn about submitting the work when it's completed. If you might point me in the right direction... :)
Thanks,
Paul
Comment #8
vonfaff commentedThe module is in active development. I am using google code as repo. Please do not do any improvements to the code in the won't fix version as there has been a lot of changes to it since the initial release. The latest release can be downloaded and reviewed from here: http://code.google.com/p/eveauth/downloads/list
Strange thing is, as I remember it, I originaly choosed to not use the Drupal repo as kiamlaluno didn't give any insight into what needed to be improved in the code for it to pass other than "See http://drupal.org/coding-standards to understand how a module should be written. In particular see how the code should be formatted, and how constants, Drupal variables, and functions should be named". I see he have given an extensive explenation to what needs to be fixed and I will look into it.
Comment #9
jcisio commentedCode in Drupal repository should be conformed to Drupal coding standards. If you can't verify it yourself, there is a big chance that your application won't be validated. I haven't seen any application that kiamlaluno does a one phrase review ;-)
Comment #10
avpadernoThe sentence explain exactly what it is wrong with the code, and the coding standards explain how a module function should be named.
For a module called example.module, can a function be called
test_check_title()?I reported what needed to be changed on June 23, and I didn't get any reply, not even at May 8; in such case, I normally close the application because I get the applicant lost interest.
Comment #11
vonfaff commentedNo worries. Please do not misinterpret my post as a complaint or me trying to blame anyone. I perfectly understand why you have the guidelines and as this is my first drupal module I am not shocked that there need to be a lot of improvement in the code. I will go through my code again and rectify the errors. Thank you kiamlaluno for your time and insight :-)
Comment #12
vonfaff commentedI have now gone through the code and made modifications in order for it to comply with Drupal coding standards. As stated, I appreciate all the constructive feedback you are providing kiamlaluno. Complete source package are provided as attachement
Edit: Current code (r10) can be compared with the old (r8) using google code aswell: http://code.google.com/p/eveauth/source/diff?spec=svn10&r=10&format=side...
Comment #13
Paul Simard commentedI suggested installing and enabling the Devel and Coder modules. I found Coder's Code Review invaluable especially in formatting issues. After one marathon editing session using Coder, I managed to fix the won't fix version to 7.x compatibility under the Minor error detection level, with an end result of only 1 critical error.
All in all, a fair amount of work, but well worth the results.
Paul
Comment #14
Paul Simard commentedThere is an Eve Online module under development at: Eve Online HTTP Tools that you might want to look at. The developer is an active member of the security review team, so the code there appears to be much more in line with best practices as it applies to Drupal development.
Paul
added:
The module at the above link is an API Integration module that may be useful as you expand the scope of the eveauth project as described above. Duplication may not be bad, with a couple of different approaches, the better way generally emerges. This seems especially true when as of now there is *no* module that reliably performs these tasks.
Paul
Comment #15
avpadernoI am changing the status as per previous comment. It seems the proposed module is duplicating the work done in an existing project.
Comment #16
vonfaff commentedThe proposed module (this one) does not conflict with the module P Simard is talking about (Eve Online HTTP Tools). As I understand it Eve Online HTTP Tools is a tool primarily to keep a tab at characters progression and skill training. Eveauth is an authentication mechanism to make sure the right players register at your site (with a lot of extra tools).
I tried to install Eve Online HTTP Tools on my own test server but it returned with a critical error. (Error message
FieldException: Attempt to create an instance of field user_id without an entity type. in field_create_instance() (line 459 of /home/sites/helges.net/public_html/d7test/modules/field/field.crud.inc)
Can someone please take a look and review my latest submission. I have put a lot of work into this and I am keen to go forward with improving it further. I have also gotten a lot of positive feedback from the playerbase.
Thanks.
PS: I don't know what Simard is talking about. I have done extensive testing with my module and it does work very well.
Comment #17
Paul Simard commentedOk, just to clarify a couple of things.
I suggested the look at EVE Online HTTP Tools to make you aware of what already existed, in the event you didn't know about it.
That the critical error occurred I can't speak to, but I suspect that something had not been created that was needed.
I haven't offered any comments about testing, so I don't know what's being referred to either.
Sorry for any misunderstandings.
Paul
Comment #18
zzolo commentedHi. Please read all the following and the links provided as this is very important information about your CVS Application:
Drupal.org has moved from CVS to Git! This is a very significant change for the Drupal community and for your application. Please read the following documentation on how this affects and benefits you and the application process:
Migrating from CVS Applications to (Git) Full Project Applications
Comment #19
avpadernoAs per previous comment, I am setting this issue as Won't fix.
Since new users can now create full projects, applications have a different purpose and they are handled on a different issue queue. See Apply for permission to opt into security advisory coverage for more information.