Wowpedia

We have moved to Warcraft Wiki. Click here for information and the new URL.

READ MORE

Wowpedia
(→‎Meta Data Approach: Added example of an inscription recipe.)
Line 241: Line 241:
   
 
:::Okay, I've changed things up a bit. I tried to create a template that would accept the names of the recipes as parameters and do everything for you, including making the table structure. However, doing this effectively requires the use of loops and I don't think there is any loop extension installed. So instead, I have gone in a different direction. The RT/RecipeRow syntax is probably going to be confusing for users, so I have decided to simplify the syntax. The preformated text and output table below demonstrate the new input/output I have coded. [[User:Ddcorkum|D.D. Corkum]] ([[User_talk:Ddcorkum|T]] / [[Special:Contributions/Ddcorkum|C]]) 22:26, 27 November 2010 (UTC)
 
:::Okay, I've changed things up a bit. I tried to create a template that would accept the names of the recipes as parameters and do everything for you, including making the table structure. However, doing this effectively requires the use of loops and I don't think there is any loop extension installed. So instead, I have gone in a different direction. The RT/RecipeRow syntax is probably going to be confusing for users, so I have decided to simplify the syntax. The preformated text and output table below demonstrate the new input/output I have coded. [[User:Ddcorkum|D.D. Corkum]] ([[User_talk:Ddcorkum|T]] / [[Special:Contributions/Ddcorkum|C]]) 22:26, 27 November 2010 (UTC)
  +
  +
::::The table (and preformated code sample) below demonstrates different types of recipes (differentiated by how they are learned). I have made improvements to the template so that it will do a better job of handling missing meta-data attributes. Before I move to the next step, does anyone have any ideas of "unusual" recipes that I could use to test this with? [[User:Ddcorkum|D.D. Corkum]] ([[User_talk:Ddcorkum|T]] / [[Special:Contributions/Ddcorkum|C]]) 22:01, 5 December 2010 (UTC)
   
 
<pre>{| class="darktable zebra"
 
<pre>{| class="darktable zebra"

Revision as of 22:01, 5 December 2010

Forums: Village pump → Recipe tables

What do we do with the recipes of various professions? Each profession has its own name and own tables, while I think that all tables must be the same. That would be more pleasing. The name of the articles with the tables has different names so that they are hard to find. What do we do about this?

--Hans Kamp (talk) 18:00, 24 October 2010 (UTC)

As I have closely followed and helped maintain Alchemy_recipes and many of its related pages since 2008, I would definitely want to be involved in any discussion to suddenly change it to become "standardized" with the other types of professions. I'm not opposed to standardisation, it makes sence, but I don't think it is something to rush into without some good discussion and consencus before hand (maybe its just the chill of Wikia rushing into things that makes me think this way, eh?). Ddcorkum (talk) 23:54, 24 October 2010 (UTC)
Standardisation can be good, but I don't think the word "must" is really applicable. For example, there are some data fields that might be applicable to Inscription (whether a glyph is Prime, Major, or Minor; what class a glyph is for), that obviously don't pply to anything else. So, let us discuss the possibility ... but let's not get stuck on "must", because the first thing we should idiscuss is, should we. --PaxArcana (talk) 04:47, 25 October 2010 (UTC)
Although I said "must", I actually meant to say "should" or "I think it's recommended". I tend to say that with Patch 4.0.3 the recipes will be overhauled, especially those resulting in items, such as Blacksmithing, Leatherworking and Tailoring. Hans Kamp (talk) 11:35, 25 October 2010 (UTC)

Transcludable Pages

Discussion

One thing that maybe could be standardised, without too much difficulty, is the naming scheme for transcludable pages. For example, (Alchemy/RecipeTable/Artisan) vs Inscription_recipes/Artisan. Renaming these pages to follow a more common pattern would not require changing the actual appearance of the content, and might make things easier in the long run. Ddcorkum (talk) 20:42, 30 October 2010 (UTC)

In the interest of advancing discussion, I am putting together a table describing how recipes are transcluded for each trade profession. The intent is to identify how things are done now, so there can be meaningful discussion on whether or not to create a standardised method of doing it. I invite others to contribute to the table below. Ddcorkum (talk) 19:40, 11 November 2010 (UTC)
I was adaptiong Blacksmithing in the way Inscription has been done until now. I have done Blacksmithing_recipes/Apprentice until now, and I wanted to do the other Blacksmithing recipes soon. Hans Kamp (talk) 20:52, 11 November 2010 (UTC)
I notice that Alchemy omits the space in Grand Master (I bet if you look at the edit logs, its my fault from 2 years ago, lol). Otherwise, it is very similar to Inscription except the use of "../RecipeTable/". One big difference I see, comparing Alchemy to Tailoring, is that in Alchemy only the tables are transcluded and in Tailoring the discussion on a particular skill level is transcluded also. Alchemy also includes a page dedicated to each level which also transcludes the same table, but the text can vary. Ddcorkum (talk) 21:40, 11 November 2010 (UTC)
I am now moving the transcludable pages for Alchemy to follow the format for Inscription (and Blacksmithing). This is the first time I've done a change this big. I hope I don't screw it up... Be Bold, right? D.D. Corkum (T / C) 03:40, 14 November 2010 (UTC)
Update: I am finished. Nothing links to the old pages any more (except this forum thread) so maybe they should be deleted? I think anyone intending to edit the recipe tables will have little difficulty finding them in their new location. D.D. Corkum (T / C) 04:12, 14 November 2010 (UTC)
Just put {{sd|Replaced by [[new recipe page]].}} on the old recipe pages. --Gengar orange 22x22 Fandyllic (talk · contribs) 11:41 PM PST 13 Nov 2010
Thanks for the tip! D.D. Corkum (T / C) 16:11, 14 November 2010 (UTC)
I've noticed that many of the pages still have something like (Profession)/RecipeTable/(SkillLevel) that is unused but exists as a legacy from the last time that work on this was done. For example, see the Leatherworking in the table below, and you will notice I added "not in use" to the last column. I marked those pages for speedy deletion. The same will need to be done to legacy remains of other professions, as they are found. D.D. Corkum (T / C) 16:12, 20 November 2010 (UTC)

Table

Profession Recipe Page(s) Current Transcludes Other Pages
Alchemy Template:AlchemyRecipes
  • Alchemy/RecipeTable/Apprentice
  • Alchemy/RecipeTable/Journeyman
  • Alchemy/RecipeTable/Expert
  • Alchemy/RecipeTable/GrandMaster (no spaces)
  • etc...
  • Alchemy recipes/Apprentice
  • Alchemy recipes/Journeyman
  • Alchemy recipes/Expert
  • Alchemy recipes/Artisan
  • Alchemy recipes/Master
  • Alchemy recipes/Grand Master
  • Alchemy recipes/Illustrious
Blacksmithing Blacksmithing recipes
  • Templates: Nil
  • Other pages: Nil
  • Not in use: Nil
Inscription Inscription recipes
  • Inscription recipes/Apprentice
  • Inscription recipes/Journeyman
  • Inscription recipes/Expert
  • Inscription recipes/Artisan
  • Inscription recipes/Master
  • Inscription recipes/Grand Master
  • Templates: Nil
  • Other pages: Nil
  • Not in use: Nil
Leatherworking Leatherworking patterns
  • Templates: Nil
  • Other Pages:
  • Not in use:
    • Leatherworking/RecipeTable
    • Leatherworking/RecipeTable/Apprentice
    • Leatherworking/RecipeTable/Journeyman
    • etc...
Tailoring
Tailoring patterns

Classic
Outland Bc icon
Northrend Wrath-Logo-Small
Cataclysm Cataclysm
Pandaria Mists of Pandaria
Draenor Warlords of Draenor
Legion Legion
Battle for Azeroth Battle for Azeroth
Shadowlands Shadowlands
Dragon Isles Dragonflight

Tailored
Armor

Head
Shoulders
Back
Chest
Wrist
Hands
Legs
Feet

Other

Bags
Shirts
Consumable
Other

Recipe Table Difficulty Colours

I've looked at the various professions, and noticed that many have tables that include the skill at which a recipe may acquired, followed by the skill at which it changes colour to yellow, green and grey. I just wanted to hilight a template used by Alchemy recipes which consolidates these four columns into a single template, to reduce typing and make things more clear. The example below demonstrates the result. Be advised that the result is actually 4 columns.D.D. Corkum (T / C) 17:21, 20 November 2010 (UTC)

Code Result
{{RecipeTable/DifficultyHeader}} Orange Yellow Green Gray
{{RecipeTable/Difficulty|10|20|30|40}} 10 20 30 40

I am thinking of creating another template RecipeTable/DifficultyHeader that will output the 4 column headers at the top, to further consolidate the transcludes. This is based on feedback someone gave in Talk:Alchemy recipes/Illustrious. If I make this template, I'll add it to the example. Anyways, Alchemy has been using this for a long time. Should we consider using this in the other professions?D.D. Corkum (T / C) 17:21, 20 November 2010 (UTC)

Unless there is a good reason for inconsistency (strangely different mechanic for a particular profession, somewhat like how Riding doesn't really work like other skills) and you have the time and motivation, you should try to make them consistent.
Keep up the good work. --Gengar orange 22x22 Fandyllic (talk · contribs) 4:36 PM PST 20 Nov 2010
As promised, I have created the new DifficultyHeader template and the demonstration is added to the above table. The documentation for both pages has also been improved considerably. This will hopefully make usage easier. D.D. Corkum (T / C) 16:01, 21 November 2010 (UTC)

There are different methods that have been used by different professions, as the table below outlines. I see benefits to each different method. The LW/JC method is nice and condensed, wilhe the Alc/Insc method is more "tabular". The advantage of the data being tabular is that it can be sorted and it is more at the discretion of the user agent how it will appear. The advantage of the condensed format is that it takes up less space. If we were at Wikia, I would suggest the condensed method. Since we are not constrained by rediculous skins, perhaps the tabular method is appropriate? D.D. Corkum (T / C) 18:03, 21 November 2010 (UTC)

Profession Header Format Uses RecipeTable Templates
Cell Format
Alchemy Orange Yellow Green Gray Uses {{RecipeTable/Difficulty|10|20|30|40}} and {{RecipeTable/DifficultyHeader}}
10 20 30 40
Blacksmithing Skill Except Apprentice which uses a format similar to Alchemy
10
Inscription Orange Yellow Green Gray Uses {{RecipeTable/Difficulty|10(3)|20|30|40}} and {{RecipeTable/DifficultyHeader}}
The 10(3) orange means that it gives 3 skillup points while orange.
10(3) 20 30 40
Tailoring Skill Boring... no colour!
10
Leatherworking Skill
Yellow Green Grey
Uses {{Skill|Skill<br/>|Yellow|Green|Grey}} and {{Skill|10|20|30|40}}
1 20 30 40
Jewelcrafting Skill
Yellow Green Grey
Uses {{Skill|Skill<br/>|Yellow|Green|Grey}} and {{Skill|10|20|30|40}}
1 20 30 40
I would use the Alchemy method, but add tooltips to the header color names that describe what each color means. Multiple point skillups should be noted with a reference (<ref>...</ref>). --Gengar orange 22x22 Fandyllic (talk · contribs) 8:59 PM PST 21 Nov 2010
The tooptips are a good idea, for both methods. I will add it to the RecipeTable/DifficultyHeader template. D.D. Corkum (T / C) 04:01, 22 November 2010 (UTC)

Meta Data Approach

Instead of putting the skill requirements into a table, and linking to the item/recipe, I am begining to think that it would be more useful to insert the skill requirements as meta data on the item/recipe page itself, and then simply use a template to import the data. For example, something like {{:Minor Mana Potion|tpl=RecipeTable/Difficulty}} and the item would have meta data |skill=10(3) 20 30 40. Obviously this requires a bit of standardisation to avoid conflicting with the tooltips, but I think it is possible. I am going to conduct a small trial tomorrow to see if this works.D.D. Corkum (T / C) 03:01, 27 November 2010 (UTC)

On further thought, this would lead toward gradually making the entire table into a template. It would be nice if the entire table was something like the following preformatted text sample. This would make it very easy to change the appearance of the tables in just a few clicks in the future. D.D. Corkum (T / C) 03:48, 27 November 2010 (UTC)
{|
|-
! {{RecipeTable/HeaderRow}
|-
| {{RecipeTable/RecipeRow|Minor Mana Potion}}
|-
| {{RecipeTable/RecipeRow|Minor Health Potion}}
|}

I have created a sandbox in my userspace to experiment with adding attributes to a Minor Mana Potion. The following table is created using {{:User:Ddcorkum/Sandbox|tpl=RecipeTable/Difficulty}} D.D. Corkum (T / C) 15:18, 27 November 2010 (UTC)

Orange Yellow Green Gray
;var1 : <span class="apitype-opt">number</span> - Doesn't really do anything
;var2 : <span class="apitype">string</span> - The most important value in the world!
;frame : <span class="apitype-opt">{{api|t=o|Frame}}</span> - A super duper cool widget.
var1
number - Doesn't really do anything
var2
string - The most important value in the world!
frame
Frame - A super duper cool widget.




{| class="darktable col2-center"
! Key !! Type !! Desc
|-
! Foo
| class="apitype-opt" | function || The class is applied to the whole cell
|-
! Something
|class="apitype" | table || Ditto but this one isn't optional
|-
! Hello
| <span class="apitype-opt">boolean</span> || The class applied to a span inside the cell
|-
! Fourth row
| <span class="apitype-nil">boolean</span> || Ditto, but this one says nilable
|}
Key Type Desc
Foo function The class is applied to the whole cell
Something table Ditto but this one isn't optional
Hello boolean The class applied to a span inside the cell
Fourth row boolean Ditto, but this one says nilable

Desktop CSS

.apitype.opt
{
	position:relative;
	color:var(--wowapi-text-color);
}

.apitype-opt::after
{
	content:"?";
	color:var(--theme-page-text-color);
}

.apitype-opt:hover::after
{
	color:var(--theme-page-text-color--hover);
}

.apitype-opt::before
{
	content:"Optional";
	color:#f0f0f0;
	position:absolute;
	right:0;
	top:100%;
	transform:translateX(50%);
	margin:0.2em;
	padding:0.1em;
	font-size:11px;
	background-color:#101010;
	border:1px #b0b0b0 solid;
	border-radius:0.75ex;
 	text-align:left;
 	z-index:1;
	display:none;
}
.apitype-opt:hover::before
{
	display:block;
}

Mobile CSS

.apitype.opt
{
	color:var(--wowapi-text-color);
}

.apitype-opt::after
{
	content:" (optional)";
	color:var(--theme-page-text-mix-color);
}

The table below is created using {{:User:Ddcorkum/Sandbox|tpl=RecipeTable/RecipeRow}} and all of the information is based on meta data in my sandbox tooltip. The source column is not complete because I need to create some more meta data to cover all possible source scenarios (rep vender, BoP recipe, trainer, etc). D.D. Corkum (T / C) 16:35, 27 November 2010 (UTC)

Recipe Reagents Orange Yellow Green Gray Source
;var1 : <span class="apitype-opt">number</span> - Doesn't really do anything
;var2 : <span class="apitype">string</span> - The most important value in the world!
;frame : <span class="apitype-opt">{{api|t=o|Frame}}</span> - A super duper cool widget.
var1
number - Doesn't really do anything
var2
string - The most important value in the world!
frame
Frame - A super duper cool widget.




{| class="darktable col2-center"
! Key !! Type !! Desc
|-
! Foo
| class="apitype-opt" | function || The class is applied to the whole cell
|-
! Something
|class="apitype" | table || Ditto but this one isn't optional
|-
! Hello
| <span class="apitype-opt">boolean</span> || The class applied to a span inside the cell
|-
! Fourth row
| <span class="apitype-nil">boolean</span> || Ditto, but this one says nilable
|}
Key Type Desc
Foo function The class is applied to the whole cell
Something table Ditto but this one isn't optional
Hello boolean The class applied to a span inside the cell
Fourth row boolean Ditto, but this one says nilable

Desktop CSS

.apitype.opt
{
	position:relative;
	color:var(--wowapi-text-color);
}

.apitype-opt::after
{
	content:"?";
	color:var(--theme-page-text-color);
}

.apitype-opt:hover::after
{
	color:var(--theme-page-text-color--hover);
}

.apitype-opt::before
{
	content:"Optional";
	color:#f0f0f0;
	position:absolute;
	right:0;
	top:100%;
	transform:translateX(50%);
	margin:0.2em;
	padding:0.1em;
	font-size:11px;
	background-color:#101010;
	border:1px #b0b0b0 solid;
	border-radius:0.75ex;
 	text-align:left;
 	z-index:1;
	display:none;
}
.apitype-opt:hover::before
{
	display:block;
}

Mobile CSS

.apitype.opt
{
	color:var(--wowapi-text-color);
}

.apitype-opt::after
{
	content:" (optional)";
	color:var(--theme-page-text-mix-color);
}
Although I like this approach overall, I'm concerned that new editors will be completely confused by it. You may want to work up a commented out raw wikitext table version for new editors. Also, make sure to document at least the parameters of your templates as clearly as possible. --Gengar orange 22x22 Fandyllic (talk · contribs) 9:40 AM PST 27 Nov 2010
Agreed -- I will provide full documentation similar to Template:Tooltip or Template:Proftip. Right now I am noticing that there are conflicts between Tooltip and Proftip that prevent both from being used on the same page (which is appropriate for some alchemy recipes), namely that the two share a few common attributes but with different purpose (for example, does cooldown= refer to the period you have to wait to craft the next item or the time between use of the created item). I will ensure that no similar conflicts exist with my attributes, by using uniquely named ones whenever the meaning is not identical to that of Tooltip. D.D. Corkum (T / C) 17:48, 27 November 2010 (UTC)
Okay, I've changed things up a bit. I tried to create a template that would accept the names of the recipes as parameters and do everything for you, including making the table structure. However, doing this effectively requires the use of loops and I don't think there is any loop extension installed. So instead, I have gone in a different direction. The RT/RecipeRow syntax is probably going to be confusing for users, so I have decided to simplify the syntax. The preformated text and output table below demonstrate the new input/output I have coded. D.D. Corkum (T / C) 22:26, 27 November 2010 (UTC)
The table (and preformated code sample) below demonstrates different types of recipes (differentiated by how they are learned). I have made improvements to the template so that it will do a better job of handling missing meta-data attributes. Before I move to the next step, does anyone have any ideas of "unusual" recipes that I could use to test this with? D.D. Corkum (T / C) 22:01, 5 December 2010 (UTC)
{| class="darktable zebra"
|+ My favourite recipe list
|-
! {{RecipeTable/Header}}
|-
| {{RecipeTable|User:Ddcorkum/Sandbox}}
|-
| {{RecipeTable|User:Ddcorkum/Sandbox2}}
|-
| {{RecipeTable|Glyph of Living Bomb}}
|}
My favourite recipe list
Recipe Reagents Difficulty Source of Recipe
Orange Yellow Green Gray
User:Ddcorkum/Sandbox
User:Ddcorkum/Sandbox2
Prime: 1x Inv glyph primemage [Glyph of Living Bomb]