18

Triggered by this question: How to mass delete Tridion MessageCenter warnings? I have been moved to issue the Tridion Bookmarklet challenge.

As this is a community challenge, we'll be making use of this question to do the voting.

What you need to do

  • Create a useful and well-constructed bookmarklet which enhances the Tridion GUI in some way. It should work with SDL Tridion 2013, but you may wish to consider making it work for 2011 as well.
  • Publish it on-line. You can put it on your own web site, or host it somewhere else. (SDL Tridion world, Google code... whatever - I don't care, as long as it's available via the Internet.)
  • Publicise it. You should tweet a link to your entry using #tridionlet. You also need to link to it in an answer to this question. Use whatever other means are at your disposal to publicise your entry.
  • Apportion the credit correctly. You can enter as a team if you like - so if one person is responsible for the functional aspects, and another for hacking out gnarly javascript, you should say so. Just as long as it's clear who should get the kudos.
  • Get this all done by the end of 31 December 2014.

What happens once you've done this?

The judging will be done by the community. This is the reason why you need to link to your entry from an answer to this question.

We'll wait until the end of January, which should give people a chance to finish their New Year celebrations, and actually read the code... maybe try the bookmarklets out in real life. There'll be a burst of publicity during January to make sure people think about voting, and then whoever has the most votes by the end of 31 January 2015 will be the winner.

Is it better to wait until January to vote?

Yes - the entries might be improved right up to the deadline. Who knows? Also - some people may prefer not to put their entry on-line until quite late on, or may feel pressured by seeing other entries getting more votes (or less).

  • Entrants: remember that many people will wait until January to vote, so don't read too much into it until then.
  • Voters: I'm putting you on your honour to vote for the best entries. So please don't just vote for your mates, and please don't vote to show some kind of company loyalty. This is personal, not corporate.
14
  • Nice challenge, Dom. Any preference for license? I'm assuming we're looking for open source contributions? And is the judging criteria on "usefulness?" Aug 25, 2014 at 4:09
  • Good point. Alvin. Well it's a requirement that the code be on-line, so at least open source in that sense. But indeed, I think it's implicit that people should also be able to use the code, and modify it for their own purposes, etc. My own preference would be an MIT license, but let's leave it up to the entrants. I think it comes under "usefulness". I think people should judge on "everything", but "useful and well-constructed" should be the basis. Aug 25, 2014 at 4:54
  • Hmmm.... is this one still needed? twitter.com/#!/puf/status/102032773413486592 (see curlette.com/?p=818 for an explanation that didn't fit in 140 characters). Sep 28, 2014 at 22:52
  • Just a reminder folks.... end of 31 Dec. Hmm... do we need to specify a timezone? :-) Dec 13, 2014 at 8:25
  • Ok folks. It is now officially 2015, and the bookmarklet challenge is closed to new entries. Now the fun really starts, because we are (still) open for voting. Your vote should be based on "useful and well-constructed", so you can consider both functional and technical aspects. Happy New Year, and happy voting. Jan 1, 2015 at 11:00
  • 1
    Clarification: Now that we've all started giving feedback on the bookmarklets, it's inevitable that some things won't be perfect. So although the competition is now closed for new entries, it seems reasonable to allow bug-fixes. In a similar vein, improving the documentation to make it more accurate or complete is OK too. Hey - it's a friendly competition. If you want to make an improvement that you think would overstep the bounds of fair play, then find a way to release it to the community in a way that makes it clear what is additional to your competition entry. Jan 2, 2015 at 11:46
  • Was this the first Tridion community competition? Kudos to Dom for asking an interesting question and starting something new. Now how do we get this goodness into PowerTools? ;-) Or is this the new new new(?) thing? Jan 3, 2015 at 7:11
  • Of course, bookmarklets are just a gateway drug. :-) But I see a case for integrating some things into the power tools, while others are better as bookmarklets or browser extensions. Jan 3, 2015 at 8:53
  • Well that's it - the votes are in. It's now February, and the clear winner is UI Beardcore with Multiple Upload. Congratulations to our worthy winner, and also to everyone else who took part. Thanks to everyone. Feb 2, 2015 at 19:43
  • UI Beardcore has the top vote of 15 as of February 6th. @DominicCronin, we don't need to "freeze" voting (by closing the question), right? Feb 6, 2015 at 23:53
  • 1
    I'd prefer to keep the question open. After all, it's a good reference to all the entries. And yeah, uibeardcore has already won. Feb 7, 2015 at 8:21
  • Sounds good. @FrankTaylor showed me a trick to use in another bookmarklet. Consider it an after-thought submission. Feb 11, 2015 at 23:09
  • You just reminded me that I should accept the winning answer. Feb 12, 2015 at 6:23
  • 1
    Alright: here's for thinking outside the box: Bookmarklets inside Schema Default urls. We've tried it for fun, but unfortunately (and perhaps rightly so), the inserted source code gets heavily escaped, and the onclick event on the schema description link gets precedence over the actual injected javascript. Bummer...
    – MDa
    Feb 20, 2015 at 13:45

14 Answers 14

16

I`ll keep it simple.

Its like an extension (Tools | MultipleUpload), but just a bookmarklet:

http://tridion.uibeardcore.com/2014/07/tools-multipleupload/#bookmarklet

4
  • Nice feature and cool video (is that under 10 seconds??). Jan 3, 2015 at 6:55
  • Thanks, I hope it would be useful. And it has 09.25 to be precise, however, it is not a video, but a Gif image. Jan 6, 2015 at 9:55
  • Maybe Tridion gifs could be part of the next community challenge? :-) Jan 6, 2015 at 19:32
  • I know this is an old post, but beardcore's site appears to be down. Would anyone happen to have this bookmarklet lying around somewhere?
    – Quirijn
    Jun 24, 2018 at 10:53
11

Mine isn't that fancy, but it's useful. http://blog.frankmtaylor.com/2014/12/30/pub-up-a-bookmarklet-for-tridion/

It's Pub Up. All it does is keep you in the same folder that you're currently in, but take you one publication higher.

My bookmarklet doesn't require updating; it calls JS from a server and executes it. So if you find bugs, I'll be able to resolve them for everyone, simultaneously.

Here's the Gist: https://gist.github.com/paceaux/c07df26d2950e7ac683a

2
  • Awesome! Not to take away from this, but the BluePrint viewer lets you do the same, but it's definitely 2-3 clicks slower than Pub Up. Jan 3, 2015 at 6:52
  • I'm working on speeding up Pub Up, too. I'm using a less than optimal technique to route you to the higher publication, right now: URL rewriting. The plan is to actually use the Tridion GUI to do it.
    – paceaux
    Jan 5, 2015 at 14:22
10

Thanks Dom for raising the bar through this challenge and given everyone an opportunity to unleash the power of Anguilla Framework.

This is My first entry to the Bookmarklet Challenge - File Details of a Multimedia Component

(And before I submit, I would like to Thanks Robert Curlette and Orlov (UI Beardcore) for their helps directly and indirectly :))

My entry is meant to display the File Name and the File Size of the file uploaded in a Multimedia Component. The details of the Bookmarklet is here: Bookmarklet - File Details

1
  • Great for troubleshooting binaries! Jan 3, 2015 at 7:16
9

I Accept the challenge,

My submission for this challenge is a Chrome Extension that removes the messages / notifications from the SDL Tridion 2013 SP1 GUI. It works on the Active Tab in Chrome that has /SDL/ in the URL it wont work when your in the component TAB. Since it's for public use, i needed to check on SDL in the url so it won't interfere with any other open TAB.

There is nothing like a challenge to bring out the best in man.

Link to Chrome Extension

3
  • Great to have our first challenger. I'm not going to quibble that it's not a bookmarklet - it's definitely in the spirit of the thing, and also a very interesting direction. Right now, though, it's a little difficult to see how it works. Are you planning to write about how one builds such a thing? Aug 31, 2014 at 17:21
  • Thanks Dominic, I will write on how it's done on my blog soon. Sep 1, 2014 at 5:41
  • 1
    @DominicCronin Blog post is done, tridion.e-kix.nl/2014/09/06/tridion-chrome-extension Sep 6, 2014 at 10:41
9

My entry is Rename Tridion Item: http://blog.building-blocks.com/sdl-tridion-bookmarklet-challenge-entry-rename-tridion-item

Disclaimer: not very tested!

Thanks to UI Beardcore for the basic code.

1
  • 1
    There's an assisted-by UI Beardcore theme going on here. I'm imagining him saying, "oh, you mean without following the rules? I can help you with that." :-) Jan 3, 2015 at 7:14
8

I try to bend the rules of the challenge ;-) and add this handy tool. This bookmarklet helps you to quickly logon to the SDL documentation portal.

See the raw code in Gist, just add this in the location field of a new bookmarklet.

Gist, the full source and blog post are available.

3
  • The rules have already been bent once. The spirit of the challenge is pretty wide. I hope that as long as an entry is somehow relevant to Tridion, people will judge on the basis of "useful and well-constructed". Especially if there's an innovation in some direction we hadn't thought of. Dec 19, 2014 at 5:42
  • You should still tweet it though. That rule is very strict! :-) Dec 19, 2014 at 5:44
  • Definitely goes well with: xkcd.com/386. Jan 3, 2015 at 7:00
8

My entry to the 2014 Bookmarklet Challenge, sponsored by Dom, is a simple notification of the currently selected item's WebDavUrl: http://www.mrgn.co/2014/12/bookmarklet-challenge-get-an-items-webdavurl/

Thank you

7

I accept the bookmarklet challenge and my entry is a Bookmarklet to count the number of items in the dashboard view. It can be installed from the blog page here and the raw code is also on github

Special thanks to UI Beardcore for the help in cleanly acquiring a reference to the Dashboard view.

2
  • Nice! It's fascinating watching a question evolve into another question and then into a competition, resulting in a submission by the author of the original question. Jan 3, 2015 at 7:20
  • Community power!
    – robrtc
    Jan 3, 2015 at 12:33
6

I'd like to throw my hat into the ring with a Get Creation Info Tridion bookmarklet.

It simply displays the creation date and creating user of a selected item in the main working area.

enter image description here

Here is the compressed source that needs to be added as the bookmark URL:

javascript:(function(e,t,n,r,i,s){try{while(i=e.frames[n++]){if((r=i.$display&&i.$display.getView())&&r.getId()==t){s=r;break}}var o=window.top.frames[1];var u=s.getMainInterface().getListSelection().getVersionlessIds()[0];var a=i.$models.getItem(u);if(a!==undefined){setTimeout(function(){var e=a.getCreationDate();var t="unknown";var n=a.getCreatorId();var r=i.$models.getItem(n);if(r!==undefined){if(r.getInfo().FullName!==undefined){t=r.getInfo().FullName}else{t=r.getInfo().Title}}alert("This item ("+u+") was first created on "+e+" by "+t)},400)}else{alert("Please select an item...")}}catch(f){alert("Please select an item...")}})(window.top,"DashboardView",0)

(I used the following online tool for the compression: http://jscompress.com/)

And here is the uncompressed source code:

javascript: (function (UI, B, e, a, r, d)
{
    try
    {
        while (r = UI.frames[e++])
        {
            if ((a = r.$display && r.$display.getView()) && a.getId() == B)
            {
                d = a;
                break;
            }
        }

    var m1 = window.top.frames[1];
        var itemId = d.getMainInterface().getListSelection().getVersionlessIds()[0];
        var item = r.$models.getItem(itemId);

        if(item !== undefined){
          setTimeout(function(){
            var creationDate = item.getCreationDate();
            var creatorName = 'unknown';

            var creatorId = item.getCreatorId();
            var creator = r.$models.getItem(creatorId);

            if (creator !== undefined) {              
              if (creator.getInfo().FullName !== undefined){
                creatorName = creator.getInfo().FullName
              }
              else
              {  
                creatorName = creator.getInfo().Title;
              }              
            }

            alert('This item (' + itemId + ') was first created on ' + creationDate + ' by ' + creatorName);
          }, 400);
        }
        else {
          alert('Please select an item...');
        }
    }
    catch (x) {alert('Please select an item...');};
})(window.top, 'DashboardView', 0)

I'd like to thank the following people, whose source code I took 'inspiration' from:

As well as the Anguilla Snippets on the Tridion Practice site.

Disclaimer: This code is not production quality, and has had only limited testing.

1
  • useful when you need to "educate" others on how to use your content model and organization correctly. ;-) Jan 3, 2015 at 7:21
6

A second submission. Not nearly as exciting as the first. What it does is look at your active frame (whether you're navigating, or you have a specific item open), and it makes that item available on the window object as a anguillaMediator.

Essentially, it acts as a mediator, or a shortcut, for doing stuff with Anguilla. It could be very useful for building more complex bookmarklets.

http://blog.frankmtaylor.com/2014/12/30/a-neat-tridion-trick-with-the-pub-up-bookmarklet/

4
  • +1. I'll have to borrow the fishing poll metaphor next time I guilt someone into sharing. ;-) Jan 3, 2015 at 7:05
  • Oh and I'm curious what term the other @Frank might use for the anguilla Mediator. I miss the debates on terms like "Schema Template" and what exactly is a Mediator. :-) Jan 3, 2015 at 7:06
  • Anguilla Utility? Anguilla Object Inspector? Anguilla Doohickey?
    – paceaux
    Jan 5, 2015 at 14:24
  • "Mediator" is validated in true Mr. P form: twitter.com/puf/status/551346778914963456. Forgive me for doubting, but it was fun asking. "Frank makes mediators." Jan 5, 2015 at 14:26
6

Entry number 2

This one opens the schema (in a new tab) of the Component you have currently selected. I often want to check the fields etc of a component, and this is a quick way to open it up.

The bookmarklet works out the owning publication of the schema in question, and opens it in a new tab.

http://www.mrgn.co/2014/12/bookmarklet-challenge-open-schema/

*please let me know any bugs... testing is limited to say the least

1
  • This is definitely going to be part of my "BA Toolkit" -- designing Schemas from scratch is one thing, but I frequently have to revisit content models built by people who are not me. ;-) Jan 3, 2015 at 7:29
3

This is My second entry to the Bookmarklet Challenge - Localize An Item

My entry is meant to Localize a selected Item. The details can be found here - Bookmarklet - Localize an Item

1
  • Localize is also available in the Organize ribbon toolbar, but with enough bookmarklets you might opt to create your own custom "shortcuts" menu, akin to the Quick Access Toolbar in Word. Jan 3, 2015 at 7:27
2

View Schema Info Bookmarklet, http://www.curlette.com/?p=1393

My 2nd entry into the Bookmarklet Challenge.

0

Using some CSS that Frank Taylor posted awhile back along with Paul Irish's CSS injecting bookmarklet, you can "auto-document" elements in pages.

In addition to class and id, you can display other attributes such as property, typeof, and resource. For example, before and after divs you might use content:

div::before{
    content: attr(property) attr(typeof) attr(resource);
  }
div::after{
  content:attr(class) attr(id); 
}

Use the browser Console or the bookmarklet to get the CSS in. This gets you column, region, field, and link data from the "delivery-side content model" you get for free with STRI.

auto-documented screenshot

The alternative are TBB and/or HTML-on-Staging approaches, but this is a quick-and-dirty way to get a screenshot since I don't always have access to the server.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .