MODx: TinyMCE relative URL hack

MODx version: Revolution 2.0.0-beta-5 rev6224
TinyMCE: 3.2.7.0

There is a current bug that I have seen a lot of activity about in the forums regarding TinyMCE and relative paths, specifically when inserting images. Essentially, even though the path inside the image selector in TinyMCE says “/assets/images/xyz.jpg”, it changes it to “../../assets/images/xyz.jpg” upon inserting.

While this isn’t a very graceful fix, it is a noted bug, so hopefully this gets everyone through to the official patch:

  1. Navigate to /core/components/tinymce/tinymce.class.php
  2. Scroll down to line 134, and you will find:
  3. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
            /* Set relative URL options */
            switch ($this->config['path_options']) {
                case 'rootrelative':
                    $this->config['relative_urls'] = false;
                    $this->config['remove_script_host'] = true;
                break;
     
                case 'docrelative':
                    $this->config['relative_urls'] = true;
                    $this->config['document_base_url'] = $this->config['assets_url'];
                    $this->config['remove_script_host'] = true;
                break;
     
                case 'fullpathurl':
                    $this->config['relative_urls'] = false;
                    $this->config['remove_script_host'] = false;
                break;
            }
  4. This is looking for a system configuration variable called “path_options”. Who would think to change that, and what to change it to? Rather than making a square peg fit in a round hole, I preferred to just comment that whole statement out and replace it with:
  5. 1
    
            $this->config['convert_urls'] = false;
  6. TinyMCE will now stop converting /assets to ../../assets or whatever other craziness it was doing. A prickly but easy workaround until it is officially fixed.

Enjoy,

John

  • Share/Bookmark

DMNews … word of the day is “unsubscribe”

I am pretty sure this qualifies as irony … a direct marketing publication that doesn’t allow you to unsubscribe?

Scroll to bottom …

dmnews1

Click unsubscribe link …

dmnews2

Fail. The next day:

dmnews3

I am not sure if this is a problem on DM’s side or their email provider, but come on!

  • Share/Bookmark

List of Google Wave Gadgets, Bots, Extensions, Games and more …

Robots

(To use robots, add them as a contact, then add the robot-contact to a wave)

Chatbots

  • Eliza – ogenex@appspot.com – An implementation of the Eliza chatbot borrowed from the NLTK.
  • Elize – elizarobot@appspot.com – Is one of the first robots that was created by non Googler and is very useful if you are feeling alone in your Google Wave client.
  • Rude chatbot – notatory@appspot.com – An obnoxious chatbot borrowed from the Natural Language Processing Toolkit.
  • TooAngel WaveIn Progresstooangel-wave@appspot.com – A self learning robot, that will respond to a reply in a more humanoid way

Conversion

  • BotURL – boturl@appspot.com – A URL Linker that replaces full URLs with hyperlinks.
  • Calcbotcalcbot@appspot.comThis bot will do in place calculations for simple mathematical expressions and allow you to use user defined variables.
  • Cartoonycartoonybot@appspot.com – Replaces the text of every submitted blip with a cartoon balloon that contains the text instead. Colors the balloons based on username.
  • Dice Botdice-bot@appspot.com – Dice-rolling bot. Dice Bot will replace XdY (X is the number of dice; Y is the number of sides) with the results of those rolls.
  • Flippy – flippy-wave@appspot.com – Turns text upside-down.
  • Fnordlinkyfnordlinks@appspot.comReplaces “PMID <number>” with article information from PubMed.
  • Hearty Emobot – hearty-emobot@appspot.com – Replaces ASCII art with wingding characters.
  • i-croni-cron@appspot.com – Evaluates Python expressions. Looks at blips in event, searches for CALC() macros and executes Python code using exec().
  • Insulty – megabytemb123@appspot.com – Information Needed
  • IPA Botipa-bot@appspot.comChanges normal letters into special characters used for phonetics.
  • Piratifypiratify@appspot.com – Turns whatever you type into “Pirate Speak” .. Arrrr.
  • Plotzieplotzie@appspot.com – Plots sparklines from your data.
  • ShorteeWish – Change “c u l8r” to “see you later” etc.
  • Swedish Chefborkforceone@appspot.com – Changes english into Swedish-Chef Speak. Bork! Bork!
  • Syntaxykasyntaxy@appspot.com – Syntaxy does blip-by-blip syntax highlighting for a variety of languages including Python, Java, C, C++, html, css and javascript.
  • Watexy – watexy@appspot.comUse LaTeX mathematical language in your Waves!
  • Wikify – wikifier@appspot.comReplaces specific marked up text with a link to Wikipedia or a description relevant to the marked text.

Games

  • Hangmanwavehangman@appspot.com – Play Hangman.
  • Roshambo – roshambowave@appspot.com – Play Roshambo (Rock / Paper / Scissors).
  • Speedy – Wish – Track the words per minute of all participants, competitive typing!

Groups

  • Groupygroupy-robot@appspot.com – Robot to manage groups.
  • Groupygroupy-the-bot@appspot.com – Robot to manage groups.

Integration

  • drop.iomikeswaverobot@appspot.com – Creates a drop and puts the info into the wave whenever the robot is added as a participant.
  • OpenAustrailia - In Progress – A robot to allow interaction with the OpenAustralia web site.
  • PlonieBot – In Progressploniebot@appspot.com – Brings wave document editing capabilities to the Plone CMS
  • PoppyIn Progresspoppywave@appspot.com – Helps bridge Google Wave conversations to email users outside the Wave.
  • Rssybotrssybot@appspot.comTurn google wave into an RSS reader!
  • Starifystarifybot@appspot.com – Lets you star waves, in sort of bookmarking style.
  • Tweety the Twitbot – tweety-wave@appspot.com – You can access your Twitter account.
  • Twiliobot – twiliobot@appspot.com – Transforms phone numbers into click-to-call links. If user clicks a link, a call is placed to his phone and to the number in the link. The call can be transcribed and inserted into the wave as text with a link to the audio.
  • Wave-EmailIn Progresswave-email@appspot.com – Provide an extension to Google Wave which will allow the integration of both sending and receiving emails.
  • Wave Live Messengerwavelivemessenger@appspot.com – Allows you to chat to your windows live messenger contacts from inside a wave.

Language

  • PhilBot – Wish – A suggested solution to the problem of waves with languages you can’t read.
  • Rosy Etta – rosy@wavesandbox.com – Translator (40 Languages).

Polling

  • Polly the Pollster - polly-wave@appspot.com – Poll Bot.

Search / Aggregation

  • Dr Maps – dr-maps@appspot.com – Updates a wave by inserting a map associated to an address.
  • Dr Weather – shiny-sky@appspot.com – Gives the weather for a City
  • Embedded Search Results – wave-sandbox@appspot.com – Web and Image searches inline.
  • FML Blipper – fmlblipper@appspot.com – displays random FML story from www.fmylife.com
  • Grauniady – grauniady@appspot.com – Searches the latest items from The Guardian for a given phrase.
  • Stocky – stocky-wave@appspot.com – Detects stock symbols from a wave and updates it with the live stock price.
  • Wavethingy – wavethingy@appspot.com – Searches Amazon for DVDs and books, and gives the author a cut of any purchases made off the links.
  • Yelpy – yelpful@appspot.com - Searches Yelp with a user defined location and category.

Utilities

  • AmazonBotamazon-withwaves-com@appspot.com – Enables social product research and shopping on Amazon.com. Wave participants can share products & reviews with contacts in real-time thanks to automatic queries by the AmazonBot against conversation keywords. The AmazonBot gadget can detect products and return inline product links or a custom full product browser.
  • Bloggy – blog-wave@appspot.com – Information Needed
  • Bit.ly Botbitly-bot@appspot.comShortens the url using bitly.
  • Botty – Wish - Will automatically add a set of useful bots to a wave according to a collection of bots (so they don’t have to individually be added when you use them all the time.
  • CountColoncountcolon@appspot.com – Adds text statistics to your blips (words, lines, etc.)
  • Companion Sphere – companionsphere@appspot.com – Collection of geek utils, first working verb is “lookup” for wikipedia/wiktionary one-line descriptions.
  • Databot – Wish – Will start as soon as the GData interface is published.
  • Emoticony – emoticonbot@appspot.com – Replaces text representations of emoticons with the relevant image.
  • JBREAKOUT BOT ADDED – jbreakout@appspot.com – Debug utility that reports event triggers.
  • Maisonmaison@appspot.com – Makes blips public at http://maison.appspot.com.
  • Multi – multi-wave@appspot.com – A quote collector. Reply a blip you want to quote with ‘quote this’ and randomly display a quote with ‘quote <wave@account.com>’. The bot is still being under development but you can try playing with it.
  • Natural Language Processing – knowledge-books@appspot.com – Adds blips with NLP analysis.
  • Nokar – lab2market@appspot.com – Has many features such as translations, image insertion, insert last tweets etc.
  • Posterous-robotposterous-robot@appspot.com – A robot for posterous.com user to post blog in Google Wave. Here is how to write a blog using Google Wave Robot for Posterous.
  • Publisher – wave-publisher@appspot.com – Information Needed
  • Skimmywave-skimmy@appspot.com – Converts text emoticons, from : ) to img. Has a bookmarklet which creates a popup menu to insert emoticons for which the code is unknown.
  • Smileysmiley-bot@appspot.com – Changes the smiley symbols to smiley images.
  • Smiley - In Progresssmiley-robot@appspot.com - Changes the smiley symbols to smiley images.
  • Style Chart Robot – stylechart@appspot.com – Inserts a chart into a wave

Wave Management

  • Bouncy – bouncy-wave@appspot.comAllows you to remove robots from a wave. Doesn’t seem to work on real people though, and laughs if you try to ask it to kick itself out. To get it to kick a bot out, type “bounce:name@domain.com”
  • Linear – Wish – Enforce all replies to be to the main wave. If a user replies to a reply, remove it and place it as a reply to the main wavelet.
  • Read Onliereadonliebot@appspot.com – Records the original wave content. Whenever it’s edited, the content is replaced with the original. Simple as that.
  • Seekdroidseekdroid@appspot.com – You can list Robots, add them and find them out, easy to use. In continuous development. Website with all the information seekdroid.appspot.com.
  • Sweepysweepy-wave@appspot.com – Remove empty, whitespace-only blips.
  • Taggytaggy-wave@appspot.com – Recognize #hashtags and add them as tags to the wave.
  • Tocgen – tocgen@appspot.com – Table of Contents auto-generated and updated based on the h1,h2,h3,h4 in a wave.
  • Twitusernamestwitusernames@appspot.com – Replaces all Twitter @username with links to the Twitter accounts.

Gadgets

(To use gadgets, once editing a blip, just click on the green puzzle piece,  and enter the url into the bottom text box)

Utilities

  • Ajax Animator GadgetIn Progress – http://antimatter15.com/ajaxanimator/wave/manifest.xml – A fully integrated multi-user web based vector graphic animation authoring environment.
  • AmazonBot Gadgett – http://amazon-withwaves-com.appspot.com/gadgets/AmazonProductList.xml - The AmazonBot gadget can detect products and return inline product links or a custom full product browser.
  • Bidder – http://wave-api.appspot.com/public/gadgets/bidder.xml – Simple Auction.
  • Checky – http://wave-gadgets.appspot.com/checky.xml – Basecamp-like checklists with drag-and-drop.
  • Click mehttp://wave-api.appspot.com/public/gadgets/hellowave.xml – Shows a button with a counter. Each time the button gets clicked, the counter is incremented by one. Shows off how the state interaction works.
  • HTML- http://wave-ide.appspot.com/html.xml – Embed any HTML into a wave.
  • <iframe> – http://wave-ide.appspot.com/iframe.xml – Embed any web page (as <iframe>) into a wave.
  • iWavehttp://gadget.wave.to/iWave/iWave.xml – Allows you to create a profile on wave to make wave just a little more personal. Uses facebook connect to retrieve your details if you sign in.
  • LicensingIn Progress – http://wave-license.appspot.com/license_gadget.xml – Creative Commons RDF Embedding – Planning Stage.
  • Maps – http://hosting.gmodules.com/ig/gadgets/file/101415471413908368316/mappy.xml -Embed Google Map.
  • Napkin – http://my-wave-gadgets.appspot.com/wave/NapkinGadget.xml – Example of Flash/Flex Wave Gadget, similar to Whiteboard gadget above – source on Google Code.
  • QuakeBot – In Progress – Server information on the Quake 3 protocol.
  • Rafflyhttp://raffly.googlecode.com/svn/trunk/sandbox/raffly-xml1/raffly.xml – Insert this gadget to select a random participant from your wave to be the winner. The winner of what? Well that’s up to you :-)
  • Ratings – http://google-wave-resources.googlecode.com/svn/trunk/samples/extensions/gadgets/ratings/ratings.xml – Lets participants rate and review a topic (movie, restaurant, etc) in a wave and shows a tally of the result.
  • Slashdot Gadget – http://www.m1cr0sux0r.com/slashdot.xml – Loads latest Headlines from Slashdot.
  • Troco – An experimental peer-to-peer currency –  http://troco.ourproject.org/gadget/org.ourproject.troco.client.TrocoWaveGadget.gadget.xml – Aims to provide a decentralized complementary community currency system, that is, a peer-to-peer currency system. Also you can see it as an IOU or promissory note based system. More info click here.
  • Vector Editor – http://jsvectoreditor.googlecode.com/svn/trunk/wave/vectoreditor.xml – A cross platform collaborative real time vector graphics editor.
  • Whiteboard gadget – http://vps.michaelrose.id.au/canvas.xml – Draw on a virtual whiteboard.
  • Who is Coming? – http://wave-api.appspot.com/public/gadgets/areyouin/gadget.xml -Show a list of all people that have said whether they will come or not.

Games

  • Backgammon – WishRemove all of one’s own checkers from the board before one’s opponent can do the same. [Wikipedia]
  • Battleship – Wish – Displays different board based on user.
  • Boxes – In Progress – Connect lines to make boxes and win.
  • Cards – http://wave-cards.googlecode.com/svn/trunk/cards.xml – Play card games.
  • Chess – http://gerculanum.appspot.com/gadgets/com.example.chessgadget.client.ChessGadget.gadget.xml – Play chess.
  • Connect 4/Four-in-a-row – In Progresssdunster@wavesandbox.comhttp://www.sdunster.com/wave/four.xml – 2 users + observers, turn locking, just waiting to write win-detection code.
  • Floodithttp://gadget.wave.to/floodit/game.xml – 2 player race to fill a board with colors.
  • Magnetic Poetry – http://hosting.gmodules.com/ig/gadgets/file/107558585548952247431/fridge-11.xml – Re-arrange random words to form poetry.
  • Match them colors!In Progress – Match 3 / gem matching game.
  • Othello – Wish – Play Reversi.
  • Sudoku – http://blah.appspot.com/wave/sudoku/sudoku.xml – Play Sudoku.
  • The Button – http://hyperthese.net/wave-gadgets/the-button.xml – A useless (I mean USELESS) game.

Hooks

  • CVS integration – Wish – CVS history can be converted into a wave with playback.
  • GIT integration – Wish - GIT history can be imported and played back (dffs).
  • SVN integration – Wish - SVN History can be converted into a wave with playback.
  • Share/Bookmark

Chicago woman sued by Horizon Group Management for $50k over Tweet

Came across an interesting story this morning in the blogosphere – “Will one Chicago woman’s Tweet cost her $50,000?“. Here is a quick recap if you don’t want to read the whole article ..

Today, Horizon Group Management filed a lawsuit against her, alleging that her statement damaged the company’s business reputation.

Pretty interesting stuff, for one business reason, one theoretical reason and one very scary reason …

  1. What is worse PR? Having someone spouting off to 20 followers that she has a moldy apartment & her realty company (apparently) hasn’t done anything about it, or having the entire internet aggregating it? As Marian points out, they could/should have turned this into a very positive PR outreach by accepting there was a problem that needed solving.
  2. Even though Twitter asks the question “What are you doing?”, that isn’t what question the site answers in reality. It actually speaks to “What are you thinking?” (I have a whole blog post coming on this soon). That said, is something as nebulous as the above blog post considered defamation? Where does the line get drawn?
  3. Depending on your opinion on #2, and where this court case ends up, this could take some steam away from “I’m a millionaire for spilling hot coffee on myself and suing” type people as the new breeding ground for lawsuit-happy individuals and companies. Is the Bluetooth Special Interest Group going to sue me for implying that you are an idiot to use their product in a loud bar? Or maybe US Airways for damaging their seat’s reputation?

Admittedly, maybe not apples to apples, but you get the idea. It will be interesting to see where this goes and what the ultimate kickback from the community is.

I, for one, would not feel comfortable doing business with Horizon Realty after this. If they sue for $50,000 over a tweet, could you imagine forgetting to patch a hole in the wall when you move out!??! You’d be rooming with Madoff soon.

  • Share/Bookmark

Chicago Summer Festival Master List

Let’s face it – the summer is why we live in Chicago and brave the hellish winter time and time again. And, nothing says summer like the onslaught of festivals around the city! To help aide your planning, here is a master list and downloadable PDF of all festivities. Thanks to my lovely friend Dana for compiling this!

[PDF download]

Advertisement:
Chicago Photographers: sign up for the Pixelglo beta. Social online photo contests with great prizes!

JUNE

5-6: Free! 57th Street Art Fair

5-6: Community Art Fair

5-7: The Raven: Experience the Magic of Ravenswood

6-7: Free! Chicago Gospel Music Festival

6-7: Free! Chicago Tribune Printers Row Lit Fest

6-7: New! Metronome Celebration

11-Aug. 23: Free! Chicago SummerDance Festival

12-14: Free! Chicago Blues Festival

12-Aug. 30: Free! Movies in the Parks

12-14: Party at St. Mike’s

12-14: Ribfest Chicago

13-14: Andersonville Midsommarfest

13-14: Old Town Art Fair

13-14: Wells Street Art Festival

14: Q101 Block Party

15-21: Free! Fiesta Puertorriquenas

19-21: Free! Chicago Peace Fest

19-21: Close Up 2 Smooth Jazz Festival

19-21: Festa Pasta Vino

19-21: St. Josaphat Summerfest

19-21: Taste of Greece on LaSalle Street Festival

19-21: Taste of Randolph Street

20: Free! Puerto Rican Day Parade

20-21: BAM! Belmont Arts and Music Fest

20-21: Chicago Summerfest

24-27: Free! Chicago Arabesque

26-27: Chicago Pride Fest

26-28: Chicago Soul Music Festival

26-July 5: Free! Taste of Chicago

28: Free! Pride Parade

JULY

3-5: African-Caribbean International Festival of Life

9: Bastille Day 5K Run, Walk and Block Party

10-12: Irish American Heritage Festival

10-11: Jeff Fest

10-11: Old St. Pat’s World’s Largest Block Party

10-12: Free! Chicago Tribune Magnificent Mile Art Festival

11: Free! ‘I Have a Vision’ Community Gospel Festival

11-12: Chicago Folk and Roots Festival

11-12: Rock Around the Block

11-12: St. Andrew’s Greek Festival

11-12: West Fest 2009

12-14: Ribfest Chicago

14-Aug. 25: Free! Outdoor Film Festival in Grant Park

17-19: Pitchfork Music Festival

18-19: Sheffield Garden Walk and Festival

19: Free! Chinatown Summer Fair

25: Free! Dragon Boat Race for Literacy

25: Free! Venetian Night

25-26: Taste of Lincoln Avenue

25-26: Wicker Park Fest

26: Free! An Arts Adventure

30-Aug. 2: Fiesta del Sol

31: Aug. 2: Gold Coast Art Fair

AUGUST

1-2: Northalsted Market Days

1-2: Retro on Roscoe

2: Free! Belize Day in the Park

7-9: Ginza Holiday

7-9: Lollapalooza

8: Free! Bud Billiken Parade and Picnic

8-9: Free! Korean Street Festival

8-9: New! Lincoln Park Arts and Music Festival

8-9: Wrigleyville SummerFest

14-15: Free! Armenian Fest

14-16: Free! Edison Park Fest

14-16: North Side Summerfest

14-16: New! Chicago Ribs ‘n’ Soul Festival

15: Free! Croatian Fest

15-16: Free! Chicago Air & Water Show

15-16: Free! Chicago Carifete

15-16: New! Green Music Fest

21-23: 60th Annual Greek Festival

21-23: Free! Glenwood Avenue Arts Fest

22-23: Lake View Music Fest

29-30: Free! Bucktown Arts Fest

29-30: Free! Taste of Greece 2009

29-30: Free! !Viva! Chicago Latin Music Festival

SEPTEMBER

4-6: Free! Chicago Jazz Festival

4-7: African Festival of the Arts

4-7: Taste of Polonia

5-6: Bash on Wabash

11-13: Free! 89th Annual German-American Festival

12-13: Free! Celtic Fest Chicago

12-13: Groovin’ on the Grove Festival

12-13: Free! Renegade Craft Fair

13: Free! 26th Street Mexican Independence Day Parade

13-14: Wells Street Crush, Music and Comedy Fest

19: Edgewater GRalley

19: Guinness Oyster Fest

19: Musky Fest

25-27: Oktoberfest

  • Share/Bookmark

Anberlin Hits #1

I want to send a huge congratulations to Christian McAlhaney and the rest of the boys from the greatest-band-in-the-land, Anberlin. Their hit single “Feel Good Drag” has officially claimed the #1 spot on Alertnative Radio Chart and Billboard Hot Modern Rock Tracks!!!!!!!! They beat out bands like U2, Kings of Leon, Coldplay, Green Day and Pearl Jam to take the title!

Congratulations guys! You certainly deserve it.

Now, everyone go buy their new album now. No, don’t wait. Now. And go catch them this summer on their tour with Taking Back Sunday.

Read the press release here

  • Share/Bookmark

Imerman Angels: The epitome of inspiration

Jonny ImermanLast night at TheChiGuide.com launch party, I had the pleasure of meeting Jonny Imerman from Imerman Angels. His story is one of the most true form of courage and strength that I can imagine: Diagnosed with testicular cancer at age 26 … now, seven years later, runs an organization that pairs one cancer fighter with one cancer survivor of the same age, gender and type of cancer for the ultimate form of support: walking, talking, living proof that they aren’t alone and they can win.

Please … help Jonny in his amazing pursuit: Donate to Imerman Angels, Get Involved in his efforts, become a SponsorJoin the Database if you are a cancer survivor, Purchase Angel Gear to show your support, run with Imerman Active in marathons – and most importantly – contact Jonny and his team if you are fighting cancer.

  • Share/Bookmark

YouTube: The Internet Vigilante’s Secret Weapon?

YouTube is great. It has a multitude of fantastic uses. It can draw hundreds of thousands of new fans for musicians. It can make you famous – or infamous. It make you laugh. A lot. YouTube stands tall while so many others have fallen.I have recently realized another unique, and unexpected, role that YouTube plays in our culture: a smoking gun. There have been more and more examples lately of YouTube being the ammunition for justice – something that simply couldn’t have happened a decade ago. A few recently:

1. Feline Abuse

About 8 days ago, there was a horrible video posted on YouTube of a cat being abused by two young men hidden by dark masks. I first caught mention of the video on Digg early Sunday morning. It goes without saying – the video was absolutely awful. Internet vigilantes from around the world – united by a common anger – were doing detective work that would make Sherlock proud. Within hours, with the help of the infamous hacker group known as Anonymous, we knew everything about our abusers – full name, address, age, home phone, cell phone, email address, parents’ names, parent’s work information, etc. Not more than a day later, after being picked up by news sources from the abuser’s home town to Russia, we got word that the cat has been rescued and the boys had been arrested by local police.

2. New York Policeman Abuses Cyclist

Patrick Pogan, a 23-year old rookie police officer, was caught on camera literally bodychecking a cyclist off his bike in an unreal act of violence. At first, the police officer told administrators that the cyclist was “obstructing government administration and resisting arrest”. A decade ago – it would have been the officer’s word against the victim’s – and we all know how that ends up. Enter YouTube. Months later – it is reported that ex-officer Pogan has been fired from the force and faces up to 4 years in prison.

3. Huff Says, She Says

Huffington Post, the popular left-wing news aggregation portal, is often criticized for .. well .. just about anything a news organization can be critisized for: agenda, bias, hate speech, stealing material, etc. However, thanks to YouTube, they can add one more to the list – doctoring video. I’m as anti-Fox News as the next guy, but the detective work done over at johnny dollar shows just how far Huffington will go to vilify Fox. In short, multiple audio/video clips were spliced together to put some racist/damning words in the mouth of John Gibson - that were never actually said. Huffington publicly apologized and said the video had come from another online source. This is probably the first and only time in my life I will defend anything concerning Fox, but journalistic integrity is something even they deserve. 

It is amazing to think that chances are none of the aforementioned events would have been rectified and had justice served had it not been for groups of determined internet users and tools like YouTube.

  • Share/Bookmark

Hey marketers … the term of the day is “Actionable Data”

I had a great dinner last week with Sachin Agarwal, CEO of dawdle.com. I was helping Sachin brainstorm new ideas for improving the e-commerce aspects of his site. While a lot of ideas were exchanged, there was a consistent theme of the conversation: Actionable Data.

What is Actionable Data you may ask? (Actually, I bet a lot of my readers aren’t asking since many of you are fellow marketing-geeks … but anyway … )

Actionable Data is customer focused and includes customer input, organizational knowledge, interpretation, evaluation and eventual decision making

Sounds complex. Let me oversimplfy it, in terms of web analytics:

Actionable Data is data derived from well-executed analytics that allows you to make strategic business decisions based on behavior, trends and actions. This data can be isolated, analyzed and tested.

How does this apply to us? Web and e-commerce marketers love analytics. I’m convinced there is nothing sexier to my kin than a colorful bar chart or a funnel visualization report. Hint: looking to pick-up a web marketer? Let me suggest grabbing an outfit like this and heading to your closest Tweetup:

Many web and e-commerce marketers love analytics so much, we can get lost deep in the gaze of pie charts until we forget a crucial rule of thumb: all data is not created equal.

Web analytics software, ranging from Google Analytics to Omniture SiteCatalyst, should be where your e-commerce rubber meets the road. If you are running Google Analytics with the sole purpose of watching your daily visits … save Google the bandwidth and find the icon for Webalizer in your cPanel. A well-oiled analytics machine should be the driving force behind prioritizing site changes, tracking marketing efforts and creating ways to listen to your users.

How is this done? Here are a few tips:

  1. Optimize your analytics: In terms of e-commerce, make sure that you are utilizing all of the features that are being offered for the broadest insight. In terms of Google Analytics, these are things like Goals, Funnels, e-Commerce Tracking (integrating with your cart), etc.
  2. Know the benchmarks: When you are sifting through your analytics, do you know what to look for? Is your .85% conversion rate competitive in your market? Should you be getting 70% bounce rate from paid search? It will take some research and networking, but the answers are out there. Google Analytics folks: they have made your job even easier. But, be careful not to get sucked in. Rather, use benchmarking as a way to prioritize your data and find glaring concerns.
  3. Be smart about positioning data: When #1 and #2 are good to go, the next step is to position the data to tell a story. Position your data against actionable factors: marketing efforts, site changes, product merchandising, promotions, etc. Knowing ‘why’ supersedes knowing ‘what’.
  4. Create Key Performance Indicators (KPI): While we are all focused on the bottom line, your analytics should be used to track what is important to you. KPIs are strategic calculations derived from your analytics that speak to specific measurable areas. For instance, Overall Business Performance (most profitable products, new vs. returning customers), Online Sales Activity (conversions, visitors), Marketing Performance (up-sell orders, coupon conversion), etc. Here is a great resource to learn more.
  5. Put your data to use!: Time to put the ‘action’ in Actionable. Even great data is worthless if you don’t act on it. When you find the KPIs you want to manipulate, formulate strategies based on your data. For example, if you are trying to manipulate cart abandonment, find the data! Your analytics should show you that 90% of your abandonments are happening during the 3rd of a 4-step checkout process. Wow! Now test a solution – in this case, removing/optimizing your process down to a 3-step checkout. (Remember, testing doesn’t mean changing a whole process and watching your analytics for a week. There are much, much better ways to do it). And when you have data on the performance of your test – react to it! Implement that new shiny 3-step process if that is what your data is telling you. And when that is off and running, test and react again! And again! And again! (There is a trend forming here).

Data is great. Actionable Data is divine.

That was just the tip of a big data-filled iceberg, but hopefully that creates some food for thought. I am off to patent the funnel visualization report suit.


Learn more about Dawdle: Online marketplace for new and used video games, consoles, portables, and accessories

  • Share/Bookmark

Magento … how I love/hate thee …

Oh, Magento …

For those of you that are still living in the Stone Age (or those of you who don’t spend their free time researching open-source e-commerce platforms), Magento is a groundbreaking piece of software that basically splits the gap between the dated, functionality-deprived open-source platforms and the big, sexy (read: expensive) enterprise systems. Magento lands at a nice spot in the mid-market sector and having been downloaded 600,000+ times since it’s alpha release in the beginning of Q2, has certainly made quite the buzz in the e-retail community.

Having used Magento since it’s first public beta, I feel like I have been raising a child not unlike myself: absentmindedly-sophisticated-with-a-hint-of-logical-defiance. My relationship with Magento is the epitome of love / hate. We have had our beautiful moments when I realize my checkout process is just screaming high conversions and plugging-in with a third-party service is as simple as supplying API credentials. Other times, the only thing I’ve hated more then Magento are the software it was built to replace (read: x-cart, OS Commerce).

Magento makes the complex tasks simple and the straightforward tasks absolutely torturous .. for example:

Want to create a turn-key multi-channel e-retail store with guided navigation, single-page AJAX checkout, dynamic merchandising, complex promotions and a powerful data input/output engine? NO PROBLEM!!

Want to remove test orders from the database / backend? NO PROBLEM ……… just run this SQL query against your database:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
SET FOREIGN_KEY_CHECKS=0;TRUNCATE `catalogsearch_query`;  -- added
 
TRUNCATE `catalogsearch_result`;  -- added
TRUNCATE `log_quote`;
TRUNCATE `report_event`;
TRUNCATE `sales_flat_order_item`;
TRUNCATE `sales_flat_quote`;
TRUNCATE `sales_flat_quote_address`;
TRUNCATE `sales_flat_quote_address_item`;
TRUNCATE `sales_flat_quote_item`;
TRUNCATE `sales_flat_quote_item_option`;
TRUNCATE `sales_flat_quote_payment`; -- added
TRUNCATE `sales_flat_quote_shipping_rate`; -- added
TRUNCATE `sales_order`;
TRUNCATE `sales_order_datetime`;
TRUNCATE `sales_order_decimal`;
TRUNCATE `sales_order_entity`;
TRUNCATE `sales_order_entity_datetime`;
TRUNCATE `sales_order_entity_decimal`;
TRUNCATE `sales_order_entity_int`;
TRUNCATE `sales_order_entity_text`;
TRUNCATE `sales_order_entity_varchar`;
TRUNCATE `sales_order_int`;
TRUNCATE `sales_order_tax`;  -- added
TRUNCATE `sales_order_text`;
TRUNCATE `sales_order_varchar`;
TRUNCATE `sendfriend_log`;
TRUNCATE `tag`;
TRUNCATE `tag_relation`;
TRUNCATE `tag_summary`;
TRUNCATE `wishlist`;
TRUNCATE `wishlist_item`;  -- added
-- reset customers
TRUNCATE `customer_address_entity`;
TRUNCATE `customer_address_entity_datetime`;
TRUNCATE `customer_address_entity_decimal`;
TRUNCATE `customer_address_entity_int`;
TRUNCATE `customer_address_entity_text`;
TRUNCATE `customer_address_entity_varchar`;
TRUNCATE `customer_entity`;
TRUNCATE `customer_entity_datetime`;
TRUNCATE `customer_entity_decimal`;
TRUNCATE `customer_entity_int`;
TRUNCATE `customer_entity_text`;
TRUNCATE `customer_entity_varchar`;
TRUNCATE `log_customer`;
TRUNCATE `log_visitor`;
TRUNCATE `log_visitor_info`;
-- Reset all ID counters
-- Some payment gateways need a unique transaction reference for every order,
-- reseting your order ID may result in future transaction errors!
-- (so only do this if you are sure it wont be a problem)
-- TRUNCATE `eav_entity_store`;
SET FOREIGN_KEY_CHECKS=1;

No folks, not kidding.

(This criticism isn’t completely fair … but …) I suppose you cannot expect a company whose revenue model is built off support to make their product too easy to use.

At the end of the day, it is still an great piece of open-source software that is only getting better and will pave the way for many new and established e-commerce properties. I for one will continue our box-of-chocolates / Freddy Krueger relationship until something better comes along.

  • Share/Bookmark

Next Page »