User blog:Najevi/Cleaning up the sidebar when "fail to locate" a WikiPage widget


 * Summary: Using a one liner in your global.js you can
 * dramatically clear up missing WikiPage widget clutter from your Monaco sidebar
 * recover precious vertical screen space in that sidebar
 * avoid frustration by not accidentally deleting widgets that you may need at another wiki when you eventually return there

The problem
Maybe not many people are using custom WikiPage widgets ... yet. I plan to use them extensively and plan to encouraged registered users to make full use of them as well. Many early problems have been cleaned up already. Thank you for that! One of the remaining problems with WikiPage widgets is that the UI tries to draw every widget you have selected as you wander from wiki to wiki and it tries to draw them at every wiki you visit regardless of whether a widget has been defined at that wiki or not. The latest patch addresses this only partially by rendering a widget box labeled according to the missing widget's name but with the widget body displaying the text "failed to locate widget-source-page-name".

The workaround
It is a small step from that to not displaying a widget box in the sidebar at all. You can take that step yourself if you add the following line to your w:c:central:Special:MyPage/global.js file. $( function { $('.WidgetWikiPage i:contains("failed to load")').closest('dd').parent('dl').hide;  });
 * It locates the "failed to load" string then goes up in the HTML hierarchy to the DL element that is the missing WikiPage widget box and then hides the entire widget from view. This nicely recovers the 65-80 pixels of sidebar vertical space that is lost to each one of these "failed to locate" message boxes.
 * If it's only one such box in your sidebar then you might not bother to clean up. but what if you see 4 or 5 or 6 of these in your sidebar?


 * Caveat:If a local sysop should change the default message "failed to load" using MediaWiki:Widgetwikipagemissing then the above workaround will not detect that text and so that message will be displayed. Therefore, if you visit such wikis then should create one line like the above for each localization you regularly encounter.


 * Why go to the trouble?: If you are asking yourself this question then it is simply a sign that you have not started using custom WikiPage widgets to any large degree yet. (Search for this page at that time in your future when you begin to recognize the some of the uglier sidebars illustrated at the very bottom of this page.)

I believe this highly flexible User Interface widget will become the registered user's preferred building block for the Monaco sidebar just as widgets (standard and custom) are the building block you must use at Special:WidgetDashboard.

Consider the sidebar screenshots from 5 wikis below.

 * 2 of those 5 are wikis that most users will visit from time to time.
 * 1 of 5 is a test wiki I like to use when I don't wish to disturb a "live" wiki (in the discussion that follows, please think of it as just another game wiki)
 * the other 2 are just game wikis that may or may not be representative of wikis that you might visit.


 * 1) At some stage you'll visit a wiki that entices you to try out the WikiPage widget. Maybe it is for something as simple as complementing a few missing page-focused links which Monobook provided but Monaco sadly does not (see sidebar 1 - from rappelz.wikia.com).
 * 2) From that moment on you will notice that this same "Wiki Page" widget get's displayed for any subsequent wiki you visit (see sidebar 2 - from help.wikia.com).
 * 3) Even if that subsequent wiki has not created a MediaWiki:Widgetwikipage message it will render the default as defined at w:c:messaging:MediaWiki:Widgetwikipage (see sidebar 3 - from central.wikia.com).
 * Now if that was the only WikiPage widget people ever saw then no housekeeping is really needed. But what if ...
 * 1) You visit this one gaming wiki (sidebar 4 below) that displays a live list of Tunngle users for the subject game of that community?
 * 2) * mmm that's cool ... I'll add that to my sidebar!
 * 3) later on you are at a Semantic Mediawiki enabled wiki community and that wiki requires the use of Semantic Forms to create and edit certain types of wiki pages. (sidebar 5)
 * 4) * Fair enough, I'll be using that for at least the next week or two (or three) ... I'll add that to my sidebar!

It should not take much imagination to realize that over time you will collect a lot of useful tools in your sidebar but some of those tools are just unwanted clutter when you are away from the wiki that defined the tool!


 * Now if you scanned those 5 images and wonder what all the fuss is about then let me point out to you that those are the sidebars that have benefited from the housekeeping workaround described at the very start of this page.

The current (cluttered) sidebars
In the second set of 5 sidebar screen shots (below) you see how that unwanted clutter appears today without the global.js workaround describe above.

It may seem a modest amount of sidebar vertical space recovered by hiding missing Widgets but notice that I've already pruned various optional (and some not-so-optional) content from each sidebar.


 * Imagine how much more cluttered your sidebar would be with that content (WIKIanswers, MagCreator, SkyScraperAd1 & 2, Spotlight, Community, etc.) as well as the various "missing" widgets. (Had I included all of those extra sidebar elements in these screen shots they might have detracted from the block of widgets that was the focus of this discussion. The comparison might not have been as clear.)
 * Regular Wikia visitors don't need to be reminded how much less useful a custom widget is if it gets pushed so far down the sidebar by unwanted content that it is simply too tedious to scroll to.

By taking charge of your Monaco sidebar you can be presented with only the content you want to see - free of unwanted clutter and have that lean and mean look at whatever wiki you visit across the Wikia hosted communities. You can take advantage of custom content tailored to each wiki that you visit. (More contributors will wake up to the potential of custom WikiPage widgets as time goes on.)

A benefit that is not so obvious until you are playing around with the order of these widgets in your sidebar is that you are no longer tempted to "close to hide" a missing widget. When you do click the X sprite in the top right corner that widget is gone from your sidebar even when you do return to a wiki that makes good use of the custom widget. That can be a frustrating experience for some. With the cleaned up look the correct set of widgets "magically appear" as you rove from one community wiki to another.


 * Summary: Using a one liner in your global.js you can
 * dramatically clear up missing WikiPage widget clutter from your Monaco sidebar
 * recover precious vertical screen space in that sidebar
 * avoid frustration by not accidentally deleting widgets that you may need at another wiki when you eventually return there