Hey all,
I’m having a bit of trouble trying to understand the more appropriate architecture for modules and plugins. I’ve read the Knowledge Base article: _What is the difference between a Plugin, a Module, and an Extension?, and I basically understand the concept of Modules vs Plugins, but I’m having a bit of trouble classifying some of the medium sized functions. For example:
1) Outputting a Google Map which relates to an article
2) Creating a ‘Contact Us’ form
3) Grabbing data from a Web Service or an API (e.g. getting images from Flickr)
4) Allowing people to sign up for a newsletter
(I’m not debating whether these already exist as modules/plugins, I’m trying to understand which of these are best developed as a module or as a plugin)
From my research, I’m thinking that number 1 would be a plugin, since all it does is use latitude and longitude data to grab a map (and could be used heaps of times across a site), number 3 could be a plugin as well (since it doesn’t really do any actual data crunching), but 2 and 4 could be modules because they could potentially do lots of data access and processing.
My general definitions that I’m basing the above on are that modules are used when you have heavy processing and/or database manipulation, where plugins are more-or-less places where external code is dropped, or small snippets of data are inserted.
Can anyone else provide any more guidance on this? Thanks…