This module is the default “glue” module (D7) that Real Tidings uses to create custom drupal websites. We install a modified version of this module on our client websites, and then have an easy and convenient place to drop any custom code or hooks. Instead of pasting the code here or attaching the module as a ZIP, I have create a Github repo for it:
https://github.com/rlnorthcutt/rt or download it here
Just upload to sites/all/modules, then enable! This module provides a few features out of the box:
Creates a custom function called mydpm(). This acts as a wrapper for the Devel module’s dpm() function. The difference is that it checks to see if dpm() exists (ie. if Devel is turned on). If so, it uses it… if not, it simply uses a print_r funtion. This is to keep us from accidentally killing the site if an errant dpm() is turned on. See “Drupal Devel – dpm() bork… and the No Devel module” for details.
Page alter to add our little (very little – 8pt) signature to the bottom of the site’s pages. We also have a cool switch that adds a custom message to the bottom of admin pages (in this case, links to get support). Be sure to at least change these if you use this module! Otherwise, you will be adding our signature and links to your site.
Customize this each time you use it
First – you need to customize this to brand it for your site or your business. Thats just a no brainer:
Rename all the files/folders and replace the “rt” with whatever you want the module to be called. (ex. mymodule)
Then do a find and replace in the files to replace “rt” for whatever you want your module to be. Keep the underscore! (ex. mymodule)
Edit the .info file description
Edit the .module file comments
Edit the hook_page_alter() for your links and messages.
Second – you should customize this for EACH site you use it on. This will help you keep it clear about what changes may be in one site versus another. So, when we use this for client XYZ, I will rename the module to rt_xyz and then change things accordingly. This may seem like its unneccessary, but trust me… it will make your life much easier.
Thirdly – the module comes with its own included CSS file (applied to a site) and optional JS file (uncomment the line in the .info). These are empty for now, but again, can be a really easy way to override or add to the site without touching a contrib theme or module.
Fourthly (?) – If you plan to add alot of code, it may be easier to create include files for each item, especially if they are long:
hook_form_alter (if you have lots of changes)
3rd party APIs or code You should really evaluate if these need to be in their own modules… but keep in mind that keeping things clean and easy to read (good comments FTW) will make it easier for you to maintain this code in the future. If you do create include files for additional code, just use the ** module_load_include()** function like this:
// this includes the file rt.form_alter.inc file
module_load_include(‘inc’, ‘rt’, ‘rt.form_alter’);
If you think there is some additional code that EVERY site should have and needs to be included – let me know.
BufferApp – Time released social updates
One of the problems with sharing links and “stuff” via social networks is that it all gets clumped together. If I sit down to go through my RSS reader, I may end up with 3 or 4 links I want to share. By sharing them all now, I not only spam my friends, I also reduce the chances of them even seeing the good stuff I am sharing if they happen to come on later.
I have recently discovered (and fallen in love with) a great FREE service called Buffer. Buffer lets you backlog a list of status updates, images or links for sharing on Facebook, Twitter or LinkedIn. Each of your social media connections has its own schedule (that you can program) and the system will simple publish whatever is in the queue on the next appointed time. Genius.
Buffer also offers Bitly integration for shortening URLs and tracking analytics. The interface is slick, there is a fantastic Chrome plugin available, and its just really, really easy to use. I’ve been testing it for some time and its great. In addition to “buffering” your shares, the tools also allow you to “Post now”… which is a really handy way to just push your content out to multiple streams at once.
Get a bonus space when you sign up
BufferApp is a modern service with a really clean and useful API. But, the really nifty thing is that you don’t even have to do any coding to make use of it! The service gives each user a unique email address that adds things to your buffer when you email it. While this can be very handy as a tool for heavy email users, it does offer a really simple integration strategy
For example, on this site I have integrated Buffer into my site without any coding:
I added a boolean field to my content types called “Add this to Buffer”
I added a rule for “After saving new content”
IF the content was published AND the boolean field was True…
THEN send an email (to my unique buffer address) with the title as the subject and the page link as the body
Boom – instant integration.
I could get fancy and write this as a module, or put in another field to let me set the status (instead of just the title), or integrate with nodequeue scheduler or something to add another layer of scheduling goodness… but this is simple, clean and functional.
I highly recommend you check out Buffer. You get 10 buffer slots for free (premium upgrades available), but if you use my referral link then we BOTH get an extra slot.