Difference between revisions of "User:Aeric/tests"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 14: Line 14:
| Variablized path <br> (<tt><nowiki>{{SERVER}}{{SCRIPTPATH}}/download</nowiki></tt>) || {{SERVER}}{{SCRIPTPATH}}/download
| Variablized path <br> (<tt><nowiki>{{SERVER}}{{SCRIPTPATH}}/download</nowiki></tt>) || {{SERVER}}{{SCRIPTPATH}}/download
|}
|}
==Negative Conditionals==
Goal: In all but ISV domain, show this text: "This page contains information for ISVs".
This would work, but dang, it's ugly:
<pre>
Β  Β  {{#if: {{#expr ^({{skin}}=ISV)}}|This page contains information for ISVs.
Β  Β  |...}}
</pre>
So instead of doing that, we defined ShowIsvInfo, so that actual page content is shown only in the ISV domain. (Note that the ending-braces should immediately follow the text, to prevent double-spacing if the page is transcluded. Here, they are on a separate line, for readability.)
;Code:
:<tt><nowiki>{{#if: {{#expr ^({{skin}}=ISV)}}</nowiki></tt><br>
:<tt><nowiki>|Information on this page is intended for ISVs.</nowiki></tt><br>
:<tt><nowiki>|...}}</nowiki></tt>
;Analysis:
:It works, but as shown above the resulting code is both ugly and unreadable.
:Much better to define a <tt>HideIsvInfo</tt> variable, and simplify the code
to:
:<tt><nowiki>{{#if: {{HideIsvInfo}}</nowiki></tt><br>
:<tt><nowiki>|Information on this page is intended for ISVs.</nowiki></tt><br>
:<tt><nowiki>|...}}</nowiki></tt>
WRT defining domain names:
:* [[Template:ISV]] is the name of the template that displays the ISV-specific nav bar.
:* [[Template:LJ]] is the nav bar that is displayed everywhere else
:* So we can't define an "ISV" variable, unless we want to rename the nav-bar template.
:* And we don't want to use <tt><nowiki>{{domain}}</nowiki></tt>, because {domain} is used in URLs all over the Wiki, and it's too easy to make a mistake.
:* So we could use <tt><nowiki>{{skin}}</nowiki></tt>, if and when we want a skin-specific conditional. (But we should only use it for positive tests. As the code above shows, negative tests are unreadable.)
:* Clearly, one place we could use it are for the ''links'' to ISV pages. Then we can code
::<tt><nowiki>{{#ifeq: {{skin}}|ISV|...}}</nowiki></tt><br>
:* '''Alternatively, we could code ''also'' define <tt>ShowIsvInfo</tt>, and then automatically set <tt>HideIsvInfo</tt> to not-<tt>ShowIsvInfo</tt> in <tt>LocalSettings.php</tt>.'''<br>(We should do that for each of the Show variables, just to be consistent.)


==Skin-Specific Variables==
==Skin-Specific Variables==

Revision as of 02:01, 31 May 2012

Tests.

See also:

Magic Words for Links

Server ({{SERVER}}) https://agileappscloud.info
Script path ({{SCRIPTPATH}}) /aawiki-src
Hardcoded path http://lj.platformatyourservice.com/wiki/download
Variablized path
({{SERVER}}{{SCRIPTPATH}}/download)
https://agileappscloud.info/aawiki-src/download

Skin-Specific Variables

Template:Skin-specific Variables

Variablized Link

  • TrainingLink is used [ here].
  • Conditional link: DNE

Nested Conditionals

Test of nested conditionals. Display site prefix: LJ

Style for Rollovers

Original TEST of rollover help. New  TEST  of rollover.

CSS Styles

Original

  <span title="Rollover text to display" 
        class="terminologydef" style="cursor:help">TEST</span>
  of rollover help.
  where:
     cursor:help style = built-in HTML style attribute for rollover
     terminologydef class =  
        .terminologydef {border-bottom: 1px dashed green;}
      --defined in terminology.php, which puts the css definition into the page
      --or place desired definition in MediaWiki:Common.css

New

  • HTML code
<span title="Rollover text to display" 
      class="rollover" style="cursor:help"> TEST </span> 
of rollover help.
  • Added to MediaWiki:Common.css
.rollover {
  border-top:    1px solid blue; 
  border-bottom: 1px solid blue; 
  border-left:   1px solid blue; 
  border-right:  1px solid blue; 
  background:    yellow;
}

Conditional Category Test

  • Category tags can be conditionalized with the #if of #ifeq test.
  • This page has:
    • A category that always appears (the unconditionalized category)
    • A category that only appears when ShowWhitepapers is true,, using #if.
    • A category that only appears in the ISV domain, using #ifeq.

So:

Domain Categories
LJ 2 categories (whitepapers & unconditional)
ISV 2 categories (ISV & unconditional)
CUSTOM 1 category (unconditional)

Code:

{{#if: {{ShowWhitepapers}} | [[Category:Conditional Whitepapers Category]] }}
{{#ifeq: {{EnterpriseBrand}} | Platform | [[Category:Conditional ISV Category]] }}
[[Category:Unconditional Category]]

Categories:

  • No whitepapers category
  • No ISV category