AgileApps Support Wiki Pre Release

User:Aeric/tests

From AgileApps Support Wiki
< User:Aeric
Revision as of 20:41, 24 May 2011 by imported>Aeric
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Tests.

See also:

Magic Words for Links

Server ({{SERVER}}) https://agileappscloud.info
Script path ({{SCRIPTPATH}}) /aadev-src
Hardcoded path http://lj.platformatyourservice.com/wiki/download
Variablized path
({{SERVER}}{{SCRIPTPATH}}/download)
https://agileappscloud.info/aadev-src/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:

    {{#if: {{#expr ^({{skin}}=ISV)}}|This page contains information for ISVs.
    |...}}

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
{{#if: {{#expr ^({{skin}}=ISV)}}
|Information on this page is intended for ISVs.
|...}}
Analysis
It works, but as shown above the resulting code is both ugly and unreadable.
Much better to define a HideIsvInfo variable, and simplify the code

to:

{{#if: {{HideIsvInfo}}
|Information on this page is intended for ISVs.
|...}}

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 {{domain}}, because {domain} is used in URLs all over the Wiki, and it's too easy to make a mistake.
  • So we could use {{skin}}, 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
{{#ifeq: {{skin}}|ISV|...}}
  • Alternatively, we could code also define ShowIsvInfo, and then automatically set HideIsvInfo to not-ShowIsvInfo in LocalSettings.php.
    (We should do that for each of the Show variables, just to be consistent.)

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