I'm in the process of integrating my SMF-based site with Drupal, and I have a request:
Could you please, please PRETTY PLEASE switch away from using common variable and function names so Drupal is more easily integrated with other programs?
There are massive name collisions between Drupal and SMF - both variables and functions. They both use a key variable called $db_prefix (appears in thousands of places in hundreds of files - SMF is a large program), and they both have a database layer that prefixes every function with db_, so many functions have the same name (e.g. db_query()).
To keep myself from getting completely confused by the generic names (on top of the bug nightmare potential), I changed all the database function names on SMF to start with smf_ rather than db_, and on Drupal I changed them all to drup_. That way I'll at least be able to keep straight which database functions go with which program.
This was very non-trivial to do, plus going forward I have to edit any modules I install to use the new function names. I'm a programmer so I can do it, but many people who aren't programmers want this integration as well.
I figure you're going to tell me I should have just used the forum in Drupal, but that wasn't an option for me. My Web site is a subscription service based on a very heavily modified version of the SMF forum software. I added a lot of new features - post moderation, enhanced notifications (including an option to receive all posts in email), and paid subscriptions automated through PayPal's IPN facility and fully integrated with the SMF registration process. Payment is required for access to the forum as well as other member content, and access control is automatic in response to the notifications.