showcase building and contributing a module
TRANSCRIPT
Showcase - building and contributing a moduleNagailic Sergiu | Nikro
http://nikro.me | http://wearepropeople.com
Content:
http://nikro.me | http://wearepropeople.com
1. Inception.2. Thinking through the concept.3. Working locally.4. Working with the Drupal Git Repo.5. Testing main cases and side cases.6. Making a PAReview or promoting to a full project.7. Questions?
Inception
http://nikro.me | http://wearepropeople.com
● Research if this can be done via one contrib module.● Research if this can be done via a bunch of contrib modules.● Research if there is a clever way of doing that via a small
custom module / hack / theming layer.● Do you think others might use this functionality? Think of
possible use cases.● All aboard, lets start a new generic module.
Thinking through the concept
http://nikro.me | http://wearepropeople.com
● Think of most various use cases, that your module could handle.
● Find an elegant way to solve of those cases.● Be elegant in your approach both for the end-user and from
the developers' perspective as well.● Talk to your workmates, check your vision with them, ask them
if they agree with you or maybe they have a better vision or just some tips.
First work locally. Define the architecture.
http://nikro.me | http://wearepropeople.com
● Use a clean Drupal instance (sandbox) with some basic modules.
● Make sure your basic scenario works as expected.● Focus on the functionality.
Working with the Drupal Git Repo.
http://nikro.me | http://wearepropeople.com
● When you're ready (judgement call), switch from local to Git.● Prepare the Project page, README.txt file, follow the coding
standards (run through the PAReview.sh), etc.● Put yourself in other developers' place, that might want to use
your module. Make it easy to use and easy to understand.● Drupal Git Repo also helps you to contribute from anywhere, if
you have some spare time (bar, home, office).
Testing, testing, testing.
http://nikro.me | http://wearepropeople.com
● Make sure you test all of the main cases (scenarios).● Also think of some other ways people might use your module
(secondary test cases).● If you know that your module won't support some cases, write
those down as ToDos. Inform your future users that some cases aren't yet supported (maybe someone else will help you with those).
PAReview / Promotion
http://nikro.me | http://wearepropeople.com
● If you think (of course it's a judgement call) that your module is ready to be used by others, either make a Project Application or if you have sufficient permissions, promote it to full drupal project.
Thanks.
http://nikro.me | http://wearepropeople.com
Questions?
http://nikro.me | http://wearepropeople.com
http://nikro.me | http://wearepropeople.com
Web: http://nikro.me/Twitter: nikro_md