5
Rather hard to define. I would say this:
- Installs through XOOPS module admin - i.e. it has xoops_version.php. Creating database tables is not compulsory.
Example: Gijoe's altsys or tplsadmin modules. Those rely on (and modify) the contents of the database created by the System module. I don't think that makes them less of a modules.
- Access governed by XOOPS module permissions and XOOPS user login.
- Language files.
- Uses some XOOPS functions. (But probably the use of xoops_version.php can qualify as that.)
Having a front-end is not compulsory. Example: again Gijoe's altsys, tplsadmin, protector modules. Partly the system admin module.
Having an admin backend is not compulsory either. For example the Xoopsmembers module (which was part of the 2.0 releases not so long ago) has no theming support, has no admin backend but installs through XOOPS module admin, the access is governed by XOOPS module permissions and XOOPS user login and it has some language files in place. It does not need a database as it uses the one provided by the core (or system admin module).
Another example would be the sitemap module which has some preferences to set on the backend but that's it. It does not create it's own database, does not really have an admin part but generates a sitemap ffrom your site.
Having a search feature is not compulsory either. You don't need one for an admin type of module only. And if it is a front-end one: it really depends on the purpose of the module. Adding one to Xoopsmembers or Sitemap is pointless.
I'll just give an example with another excellent module (even used on here): comments search module which makes use mostly of search.inc.php. It does not have an admin part it hardly has a front-end as well. It again uses the database tables created by the core and you'll see it in action only when searching.
Would you all agree that all those modules I have used as examples are excellent ones? Even though a bit odd they add great functionality to a site (be it on the admin or user side). Can those qualify as anything else than modules?
I'll add that I fully agree with Bassman's post above.
Humans need fantasy to be humans. To be the place where the fallen angel meets the rising ape.