Navigation Content

SharePoint Context Menu

April 20, 2011

IT security freaks might hate me after this post, but this one's for the developers. As far as I'm concerned, when dealing with SharePoint you either need a bag of tricks or a bottle of Jack Daniels™. I don't drink, so here's my alternative. After way too many months of having to find my way to various menus and functions within SharePoint, I finally broke down and built a bookmarklet to create a much easier way to find things (even some things that might be hidden from me). Please feel free to use this in your work; its purpose is to make mine and others' lives easier. This is meant to make SharePoint better, not worse, so try to stay benevolent. The link for the bookmarklet is below. The easiest way to use it is to right-click the link and copy it. Then, create a new bookmark in your browser and paste the link as the bookmark URL. I'd recommend putting it on your bookmarks bar if you'll be using it frequently. Enjoy. Note that this has only been verified to work with SharePoint 2007 (MOSS).

SharePoint Context Menu Preview Screenshot

SharePoint Context Menu April 21, 2011, v1.2

Source April 21, 2011, v1.2

    Changes
  • 1.0 - created
  • 1.1 - added Close button to remove the menu
  • 1.2 - added support for certain URLs; now handles "Forms", "_layouts" and "Pages" views, lists and libraries

Share this with anyone you feel could benefit from it, but if you do, I would appreciate a link to my post or at least some form of attribution. The same goes for modifying it. Have a blast, but please attribute my work.

jQuery 1.4 Mouse Events

February 16, 2010

I needed to test out the mouse events in jQuery. There are many of them. Working with mouse events has given me a headache with anything past click(). In fact, the reason for this post was born out of attempts to perform client-side validation on textareas (specifically maximum character counting). Since there is no way that I'm aware of to detect a right-click & paste consistently, I have tried a number of keyboard and mouse event combinations to stop those crazy users from running with scissors. One interesting thing I discovered is that when you're using dblclick(), three events are actually fired: click, click and then dlbclick. This makes sense when I think about it, but at first it wasn't expected. I could see this being a conflict at some point or another.

So, I've built a page to play around with these events. You can toggle each mouse event to activate/deactivate it by clicking the colored Off/On area beside an event name. Performing an event on the target in the middle of the page will trigger updates to a log table of the events and their consecutive hits. I added the consecutive hit counters because some events (and I'm looking at you mousemove()) like to go ballistic. I'll be adding support for more types of targets, since focusin() and focusout() can't do much with the current setup. An update will be posted very soon, I promise. Click the links below to play around or grab the source. Please note the comments in each file concerning usage and rights.

Demo February 22, 2010: Updated to v2.0

Source February 22, 2010: Updated to v2.0

P.S. Along the way, I finally got around to learning a little about live() and die(), and they're quite beautiful. Your application will literally live or die if it depends on events being fired on AJAX-loaded elements. If you use the element.event(function...) method of assigning events, they don't carry over to new elements.

Apache 2 + Leopard + Coldfusion 8

March 8, 2009

Here are instructions for using ColdFusion 8 with Apache 2.2 under Leopard 10.5.4+. This may work on earlier versions, but I won't make any promises. It took me quite a bit of effort to get this going correctly. These directions are a combination of helpful bits from Scott Pinkston and Mark Drew, so thanks to them for their work and any other sources that may have been involved.

  1. Start the ColdFusion 8 installer.
  2. Select the option for multiple servers.
  3. Select an installation directory. This should be the root for your sites.
  4. Add a web server, select apache. For the first option replace /etc/httpd with /etc/apache2.
  5. Complete the installation.
  6. The service will be unable to start and you will get a message saying so.
Perform the following Terminal commands to correct the connector issue and restart when all is complete: *
  • cd /Applications/JRun4/lib
  • unzip -d src wsconfig.jar
  • cd src/connectors/src
  • apxs -c -Wc,-arch -Wc,i386 -Wl,-arch -Wl,i386 -n jrun22 \
    mod_jrun22.c jrun_maptable_impl.c jrun_property.c jrun_session.c \
    platform.c jrun_mutex.c jrun_proxy.c jrun_utils.c
  • apxs -i -n jrun22 -S LIBEXECDIR=/Applications/JRun4/lib/src/connectors/src/ mod_jrun22.la
  • strip mod_jrun22.so
  • sudo java -jar /Applications/JRun4/lib/wsconfig.jar
  • sudo cp /Applications/JRun4/lib/src/connectors/src/mod_jrun22.so \
    /Applications/JRun4/lib/wsconfig/1/mod_jrun22.so
  • sudo apachectl restart
* Replace the corresponding segment in the compile step with the one that matches your architecture:
  • ppc7400: -Wc,-arch -Wc,ppc7400 -Wl,-arch -Wl,ppc7400
  • ppc64: -Wc,-arch -Wc,ppc64 -Wl,-arch -Wl,ppc64
  • i386: -Wc,-arch -Wc,i386 -Wl,-arch -Wl,i386
  • x86-64: -Wc,-arch -Wc,x86_64 -Wl,-arch -Wl,x86_64
If you get any heartburn about Apache being a 64-bit binary, there are a few commands that will allow you to run it in 32-bit mode so CF8/Jrun get along with it. This is reversible and if ppc7400 is not your architecture, it must be changed to the appropriate one (32-bit mode will either use ppc7400 or i386). Run the following commands in Terminal:
  • sudo mv /usr/sbin/httpd /usr/sbin/httpd.ub
  • sudo lipo -thin ppc7400 /usr/sbin/httpd.ub -output /usr/sbin/httpd.ppc7400
  • sudo ln -s /usr/sbin/httpd.ppc7400 /usr/sbin/httpd