Portal:AppSuite UI
- if: || |§ion={{{section}}}}} edit }}{{#if: |· [[:{{{viewpage}}}|view]] }}
AppSuite UI
}}This portal contains articles about the inner workings of the web-based graphical user interface. It is aimed at software developers that want to improve on existing features, implement extensions or just gain a general understanding.
This portal lists all articles. If you prefer a textual introduction, have a look at the awesome article "AppSuite:Developing for the UI".
- if: || [{{fullurl:Portal:AppSuite UI/Selected article/{{#expr: {{ safesubst:#ifexpr:(5)=0|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759
)/(5))=(((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))round 0)|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))>0 and((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))<1|{{ safesubst:#expr:((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 }}|{{ safesubst:#expr:(((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )-(((((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))-0.5)round 0)*(5))}}}}}}}} + 1}}|action=edit{{#if: |§ion={{{section}}}}}}} edit] }}{{#if: |· [[:{{{viewpage}}}|view]] }}
Selected article
}}{{Portal:AppSuite UI/Selected article/{{#expr: {{ safesubst:#ifexpr:(5)=0|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))=(((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))round 0)|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))>0 and((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))<1|{{ safesubst:#expr:((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 }}|{{ safesubst:#expr:(((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )-(((((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))-0.5)round 0)*(5))}}}}}}}} + 1}}}}
- if: || [{{fullurl:Portal:AppSuite UI/Selected biography/{{#expr: {{ safesubst:#ifexpr:(5)=0|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759
)/(5))=(((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))round 0)|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))>0 and((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))<1|{{ safesubst:#expr:((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 }}|{{ safesubst:#expr:(((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )-(((((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))-0.5)round 0)*(5))}}}}}}}} + 1}}|action=edit{{#if: |§ion={{{section}}}}}}} edit] }}{{#if: |· [[:{{{viewpage}}}|view]] }}
Selected biography
}}{{Portal:AppSuite UI/Selected biography/{{#expr: {{ safesubst:#ifexpr:(5)=0|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))=(((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))round 0)|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))>0 and((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))<1|{{ safesubst:#expr:((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 }}|{{ safesubst:#expr:(((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )-(((((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))-0.5)round 0)*(5))}}}}}}}} + 1}}}}
- if: || |§ion={{{section}}}}} edit }}{{#if: |· [[:{{{viewpage}}}|view]] }}
In the news
}}- if: || [{{fullurl:Portal:AppSuite UI/Selected picture/{{#expr: {{ safesubst:#ifexpr:(5)=0|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759
)/(5))=(((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))round 0)|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))>0 and((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))<1|{{ safesubst:#expr:((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 }}|{{ safesubst:#expr:(((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )-(((((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))-0.5)round 0)*(5))}}}}}}}} + 1}}|action=edit{{#if: |§ion={{{section}}}}}}} edit] }}{{#if: |· [[:{{{viewpage}}}|view]] }}
Selected picture
}}{{Portal:AppSuite UI/Selected picture/{{#expr: {{ safesubst:#ifexpr:(5)=0|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))=(((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))round 0)|0|{{ safesubst:#ifexpr:((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))>0 and((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))<1|{{ safesubst:#expr:((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 }}|{{ safesubst:#expr:(((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )-(((((((({{#time:U}}+({{ safesubst:#ifexpr:(17)=0|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))=((({{#time:U}})/(17))round 0)|0|{{ safesubst:#ifexpr:(({{#time:U}})/(17))>0 and(({{#time:U}})/(17))<1|{{ safesubst:#expr:{{#time:U}}}}|{{ safesubst:#expr:({{#time:U}})-((((({{#time:U}})/(17))-0.5)round 0)*(17))}}}}}}}} ))*(67)+282)*(67)+33966)*(67)+759 )/(5))-0.5)round 0)*(5))}}}}}}}} + 1}}}}
- if: || |§ion={{{section}}}}} edit }}{{#if: |· [[:{{{viewpage}}}|view]] }}
Did you know?
}}- if: || |§ion={{{section}}}}} edit }}{{#if: |· [[:{{{viewpage}}}|view]] }}
Categories
}}- if: || |§ion={{{section}}}}} edit }}{{#if: |· [[:{{{viewpage}}}|view]] }}
Topics
}}Getting started
- Getting started developing an external app
- Upgrade your external app to latest App Suite version
- Skills needed to develop the UI
- Getting started developing the UI
- UI Development Style Guide
- Appserver
- Apache Configuration
- Definition of done
- Frequently asked questions
Upgrading apps, plugins, and themes to 7.6
Testing
- Lessons learned while testing
- Running ui tests
- In-depth article on testing aimed at external developers
How-to articles
- Understanding action links
- Date and time
- Internationalization (i18n)
- Accessibility (a11y)
- Mediaplayer
- Theming
- UI manifests explained
- Upsell
- VGrid
- Mobile development
- Upsell tools
- Guided tours
- Browser detection with form-login
- Backbone mini views
Server communication
Extension points
- Hands-on introduction
- General information on extension points
- Modifying forms
- Edit folderview entries in settings
- extension points: Calendar
- extension points: Contact
- extension points: Core
- extension points: E-Mail
- extension points: Files
- extension points: Tasks
- extension points: Miscellaneous
Writing components
- Writing a portal plugin
- Writing a simple application
- Writing a simple application with embedded iframe and launcher link
- Writing a plugin for the notification area
- Writing a wizard
- Capabilities explained - if you want to enable or disable your plugin
Miscellaneous articles
- External libraries used by the UI
- Configuration
- Custom configurations
- The UI build system
- How to embed your own settings into the Appsuite settings page
- Debugging the UI
- Debugging production servers
- Finding memory leaks in the UI
- reference
- Paste inline images
- Client Onboarding
- All articles regarding the UI are filed in the category Category:UI
- if: || |§ion={{{section}}}}} edit }}{{#if: |· [[:{{{viewpage}}}|view]] }}
Related portals
}}- if: || |§ion={{{section}}}}} edit }}{{#if: |· [[:{{{viewpage}}}|view]] }}
WikiProjects
}}- if: || |§ion={{{section}}}}} edit }}{{#if: |· [[:{{{viewpage}}}|view]] }}
Things to do
}}- if: || |§ion={{{section}}}}} edit }}{{#if: |· [[:{{{viewpage}}}|view]] }}
Wikimedia
}}