This is my first post here, ever, and I'm still new to drupal.org, so please redirect me if I'm totally off topic or in the wrong area, or anything of that nature!
I'm building a module that creates a theme-able "sticky" social media share bar based on the node's content type. The side bar attaches its self to #main, and changes it's position depending on the pages scroll offset. In the configuration is the ability to turn off different social badges, such as digg, reddit, facebook, etc. When the browser screen is too narrow the share bar changes its position to inside the node content in a non intrusive way.
Is this something I can or should submit to drupal.org? If I wasn't clear about what I was writing, I can link to my website that has a first version of the script.
Thanks,
Patrick

Comments
I would doublecheck first if
I would doublecheck first if there is another module like it. After you are sure there is not, or find that your solution provides a different implementation or feature set, then determine if your solution uses all freely licensed plugins. As long as there are no licensing conflicts (check out http://groups.drupal.org/node/12624 for more information there), then you should be able to create your module and submit it as an official module on d.o.
Cheers!
Jake
Thank you for the quick
Thank you for the quick reply! It looks like I'll be making a contribution in the next couple of days! I'm sure it will be the first of many.
Please consider your site
Please consider your site visitors before implementing some annoying spammy feature like this. Would you be annoyed by something like this on a site you visited? I know I sure as hell am when I come across things like this. Besides, it can seriously reduce your site's credibility. Don't beg your visitors to bookmark or share your content. If you have good content, it'll happen anyway.
The Boise Drupal Guy!
skelooth I would personally
skelooth I would personally appreciate this module. I like sticky menus because they improve navigation and add to page usability. It's great to not have to scroll all the way back up to the top of the page.
Thanks for the feedback Zarinah!
Just to be clear what I'm repackaging, it's the revamped social share bar on my blog http://patrickavella.com (I wasn't posting the link b/c I didn't want to come off as spammy). This new style of social sharing bar is getting trendy, I'm not sure what the technical term for the share bar is, so if anyone knows I will name my module accordingly. Thanks again!
I'm starting with a small module to get my feet wet, the community so far has been very positive.
Oh, it's trendy? Okay, then,
Oh, it's trendy? Okay, then, go ahead and do it then. What do those pesky visitors know, anyway?
Forgive the trolling, but this sort of anti-usable begging for attention really is a cancer on the web in my opinion. Fortunately, most Drupal users seem to know better, but then these sorts of "how can I more effectively annoy my visitors?" threads show up...
The Boise Drupal Guy!
You, Garrett Albright, are a
Edit. I shouldn't let someone like you get to me. My apology for that. If this module is not something that I should contribute I will look for something else.
Why be such an idiot to
Why be such an idiot to someone who is looking for help and feedback? As someone else mentioned, your first comment was all that was necessary, this above one is ridiculous.
Keep it to yourself and that way the rest of us don't have to have confirmation of your lack of people skills (to put it mildly).
Thankfully...
The Drupal community is a large one and the majority of people here aren't total jackasses like this Garrett guy. I personally don't care for this feature, but I like your style and implementation and I understand that whether or not the feature is needed/wanted you can and should make it if for no other reason than the experience you will gain in writing the module and working with the community.
Garrett - Patrick asked for help and introduction to the Drupal way of doing things. He said flat out that he's a new user on Drupal.org. All it takes is one jerk to ruin someone's experience... Unfortunately you were that one jerk here. Feedback on implementation and code are useful and helpful. If you can't say something nice, don't say anything at all. Your first comment was appropriate and that's the feedback that he was asking for. After that you were just mean. Please reconsider how you act next time.
The rest of the story...
http://patrickavella.com/blog/certified-rock-and-cult-drupal
As a community, Drupal coders need all the helpful input we can get. Just because you don't like a feature, doesn't mean no one else does. The OP would likely have contributed other modules in the future (he said so himself), but now has such a bad taste in his mouth for Drupal devs he has shifted focus.
Some guys on here seem like SYSOPS back in the old BBS days. Upset people to keep the line free...
Damn, that sucks...
Way to go, Garrett! Ran off someone who was originally interested in helping grow the codebase and community a bit more. Atsa way to foster an open source community...
<FLAME LEVEL="MEDIUM">
Looking over Garrett's modules, not sure what you'd consider a tool like PIRETS - maybe a way to potentially spam site users with real estate listings they don't necessarily want to see?
</FLAME>
I'm sure he has a legitimate use case for his modules as do all module contributors - actual or potential. Otherwise, there'd be no reason to write 'em. It's all in how it's used, and who wants to use it. Modules are tools. Hammers can build or destroy, it's all up to the person wielding it...
[God, I hope he doesn't peek at my d.o profile page and see I wrote an integration module for ExactTarget... ;)]
LMAO @ the SYSOP/BBS comment though - man, you are dating us Adam... Sadly though, just like in the old days - SYSOP sucked, you found another BBS. Same can happen here, just another open source CMS gets the resources and efforts...
Getting Older
What's really bad is I was dialing into the BBSes with my 1200 baud modem on a Commodore 64-C.
Thankfully, I spent the $1000 to "upgrade" to a 386sx-20 with EGA graphics and a, wait for it, 4800 baud modem!!!
In all seriousness though, your comment about another open source CMS getting the efforts is dead on. There is enough competition for core/contrib developer talent out there already (think: Rails), why egg it on? Lots of us have actually lost money to projects that shifted from Drupal to [fill in the blank with new, latest, greatest, whiz-bang, framework/CMS], I betcha. :\
Hold on a sec...
Damn, and here I thought I'd found someone from my era... ;)
We plunked down $500 for a Hayes MicroModem ][ to drop in the ol' Apple ][e at the time... Yeah, we were cool - it was an internal 300 baud job, upgraded from our telecoupler 110 borrowed from my father's office.
Next one was on me, saved up for a summer to buy one of these bad boys just before going off to college... The VAX at TAMU we had dial-in access to at the time had a slower connection... ;)
Back when hackers really were hackers... SIGH
Actually, I was trying to not
Actually, I was trying to not make myself sound so old. I didn't mention that I first connected to BBSes in the early 80's on a VIC-20 with 300 baud modem. Zoiks!
Yep, back in the day. Good times. I had the entire catalog of "Color Box" schematics (black, blue, etc.).
Now I'm feeling old ...
You guys are making me feel old, at least there were home machines to work with :-)
My first hookups were on a TTY-33 (the one with the yellow paper tape and the wavy lines of text in ALL CAPS), dialing in to a DEC-system PDP-10 with an acoustic modem at 110baud. A true hacker test back then was could you whistle something that the acoustic modem would recognize.
http://en.wikipedia.org/wiki/Teleprinter
Looking over Garrett's
PIRETS was for importing real estate listings from real estate listing servers into real estate listing sites. I'm not sure if you're saying that people going to real estate listing sites are going to be annoyed by finding real estate listings there, or people operating non-real estate-related sites are going to install PIRETS on their site (not an easy process, as you basically must be a Realtor to get access credentials to the servers and, thanks to the non-standard "standard" these servers use, set-up is a PITA) in order to randomly show real estate listings on it merely to annoy their visitors.
The Boise Drupal Guy!
Sucks, doesn't it...
... having to defend your ideas and work, doesn't it?
:)
Okay, fine, I'll come back
Okay, fine, I'll come back and work on it :)
I would like to help grow the code base, and eventually I'd like to get my feet wet enough that I can contribute more meaningful things. Drupal has changed the way I look at web development to the extent that I find myself trying to recreate drupal when I'm in other languages. Drupal is clean, extensible, and considering how much it does, it performs extremely well. While there are people like garret and others (recently I saw one person chastised for using an htaccess hack for a particular multisite solution), I'll continue looking to other sane developers, and I'll definitely stay for the platform. Ever since a key conversation I was fortunate to have a little over a year ago, our whole firm has moved to building on Drupal. Our developers love it, the clients love it, and the management loves it. So I don't see myself leaving anytime soon. We're also the only shop in our area that I know of taking it so seriously.
I do thank you guys for pushing the issue. It kind of pushed me to look back at what I was doing before and realize, "hey, this idea ain't so terrible". So cheers gentleman!
Super!
I'd still love to see and/or help test a beta (release?) of your module.
Probably sometime this
Probably sometime this weekend I'll have something workable to post up. Part of this module was about learning the ropes of the contrib system so you'll have to bear with me as I acclimate. I'll post here when I have something installable and configurable. Do you have any particular social networks you need/want included?
I was thinking some of the
I was thinking some of the more popular ones: Facebook, Google + 1, Twitter, and LinkedIn.
Facebook, Google+1 and Twitter here...
... I've got a friend who has a limited marketing budget, and he loves the in-your-face kinda tagging options; he's wanting to heavily leverage his large social network of auto enthusiasts. LinkedIn would be a nice option to have, but not one his particular site would leverage (purely a social site, no business networking involved).
Glad to see you're still hacking away at it!
Here we go, my first sandbox
Here we go, my first sandbox project. Feedback welcome.
http://drupal.org/sandbox/patrickavella/1318186
Fire away with any questions. The version on my website http://patrickavella.com is exactly what's in the repository. Is there any type of checklist of things I should do before applying for real project status?
Cloning - please hold! ;)
Kudos!
Cloning out of your sandbox, gonna check it out! Regarding getting your code to full project status, first and foremost a full code review using the Coder module is strongly recommended to make sure you're adhering to contrib module coding standards, and to possibly catch any code errors. I don't know if it's still done the same way now, but in the past you'd typically apply for full project status and a community member would review your code and either suggest changes or approve it to go full status. Full instructions with the new GIT-based system should be here.
Letcha know what I see! Going to drop it into a fairly clean D6.22 install with Garland to see how it behaves in a very basic environment first, then I'll try dropping it into a clone of a production site.
UPDATE
I'm an idiot (don't say anything, Garrett)... I just realized this is D7 module... Switching servers!
OK, got it fired up on a base install of D7.8, nothing but required core modules, Coder and Share Bar modules enabled. You might want to change some of your config settings conditionals to check for config options in your array using PHP's empty() instead of just testing for a value. If the array is empty on the call to retrieve config info (as in my fresh install):
<?php$share_bar_badges_conf=variable_get('share_bar_badges_conf', array());
?>
or the $_SERVER['HTTPS'] value is not set by Apache (I have a non-SSL enabled dev server), it causes code in share_bar_block_configure to generate warnings for nonexistent array indices:
Notice: Undefined index: share_bar_sticky in share_bar_block_configure() (line 41 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).Notice: Undefined index: share_bar_leftoffset in share_bar_block_configure() (line 47 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
Notice: Undefined index: share_bar_topoffset in share_bar_block_configure() (line 53 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
Notice: Undefined index: HTTPS in _share_bar_list_badges() (line 229 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
Notice: Undefined index: HTTPS in _share_bar_list_badges() (line 233 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
Notice: Undefined index: Digg in share_bar_block_configure() (line 74 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
Notice: Undefined index: Facebook in share_bar_block_configure() (line 74 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
Notice: Undefined index: Reddit in share_bar_block_configure() (line 74 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
Notice: Undefined index: Twitter in share_bar_block_configure() (line 74 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
Notice: Undefined index: GooglePlus in share_bar_block_configure() (line 74 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
Notice: Undefined index: TweetMeme in share_bar_block_configure() (line 74 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
Notice: Undefined index: StumbleUpon in share_bar_block_configure() (line 74 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
Notice: Undefined index: LinkedIn in share_bar_block_configure() (line 74 of C:\www\vhosts\d7.dev\sites\all\modules\share_bar\share_bar.module).
PHP's empty() will still return TRUE for an unset array element as it implements isset logic as well as what are generally considered empty values (i.e. 0, NULL, "", etc - check out the PHP docs to see what all it catches).
Other than those observations, I'm seeing the block and links coming up where configured. I'm not seeing any sticky behavior by default though no matter what size my browser window is - is that expected? I've got it in the "sidebar second" region of the Bartik theme.
Firstly, thank you a million
Firstly, thank you a million times for pulling the code down and helping out! I've read a whole book on drupal module development by packt and I'm not sure they even mentioned the coder module.
I figured out why you're not getting the sticky action. Bartik uses #page for a wrapper, but it has no margins. (#page in a zen subtheme usually floats in the middle with margins on the sides). If you change the CSS selector to #sidebar-first you'll get the sticky functionality. Setting a default value for this is tricky because every theme can name its content holding div something different. Alternatively you could keep the selector as #page and use a positive value for leftoffset but it won't be responsive.
In general share_bar is going to want to live in the content region. I couldn't figure out a way to over ride the block template at the module level, so if share_bar is in a sidebar the user is going to need to theme away the wrapping block div.
I'm going to muck around with empty() and try to clear up all of those warnings. Apparently this whole time I had errors turned off on my local site. I'll let you know when a new push is up. Thanks again!
New commit is pushed up. I
New commit is pushed up. I put the badge information in a separate file to make extending it to have more services easier and all of the errors should be gone (including some console.log() calls in the script that I forgot to strip away).
I verified it working in chrome and firefox on ubutnu. I need to run it through the windows browser gamut, and it looks like I have to write a good deal about how to use the css selector to 'stick' the bar to things.
If you pull down you're going to want to clear the cache since there's changes to the .info file (I had to disable and re-enable before it actually saw the changes).
This would be nice
This would be a nice one
rajarju