<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Views on ScipioERP</title><link>https://www.scipioerp.com/community/developer/views-requests/</link><description>Recent content in Views on ScipioERP</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 26 Mar 2019 00:00:00 +0000</lastBuildDate><atom:link href="https://www.scipioerp.com/community/developer/views-requests/index.xml" rel="self" type="application/rss+xml"/><item><title>Request Controller</title><link>https://www.scipioerp.com/community/developer/views-requests/request-controller/</link><pubDate>Thu, 24 Mar 2016 00:00:00 +0000</pubDate><guid>https://www.scipioerp.com/community/developer/views-requests/request-controller/</guid><description>&lt;p&gt;Every generated output begins with a request that is intercepted by the components control-servlet. The servlet will look up the definition, inside the component’s controller.xml:&lt;/p&gt;
&lt;div class="swap codeswap" data-swap&gt;
 &lt;div class="swap__bar" role="tablist"&gt;
 &lt;button class="swap__tab is-on" type="button" role="tab" aria-selected="true" data-swap-tab&gt;Annotation&lt;/button&gt;
 &lt;button class="swap__tab" type="button" role="tab" aria-selected="false" data-swap-tab&gt;XML&lt;/button&gt;
 &lt;/div&gt;
&lt;div class="swap__pane codeswap__pane is-on" data-swap-pane&gt;
 &lt;p class="codeswap__label"&gt;Annotation&lt;/p&gt;
 &lt;div class="codeblock"&gt;
 &lt;div class="codeblock__bar"&gt;
 &lt;span class="window__dot window__dot--live"&gt;&lt;/span&gt;
 &lt;span class="window__dot"&gt;&lt;/span&gt;
 &lt;span class="window__dot"&gt;&lt;/span&gt;
 &lt;span class="codeblock__lang"&gt;java&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nd"&gt;@ControllerConfig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;My first Webapp Controller&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;MyComponentController&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="nd"&gt;@Request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;uri&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;secure&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;auth&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="nd"&gt;@Response&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;success&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;view&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;Main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="nd"&gt;@View&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;screen&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;component://mycomponent/widget/MyScreens.xml#main&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;MainView&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="swap__pane codeswap__pane" data-swap-pane&gt;
 &lt;p class="codeswap__label"&gt;XML&lt;/p&gt;</description></item><item><title>Screens, Widgets &amp; Decorators</title><link>https://www.scipioerp.com/community/developer/views-requests/screen-widgets-decorators/</link><pubDate>Thu, 24 Mar 2016 00:00:00 +0000</pubDate><guid>https://www.scipioerp.com/community/developer/views-requests/screen-widgets-decorators/</guid><description>&lt;p&gt;&lt;a href="https://www.scipioerp.com/wp-content/uploads/2016/03/Screen.png"&gt;&lt;figure class="composite"&gt;&lt;picture&gt;
 &lt;source type="image/webp" srcset="https://www.scipioerp.com/uploads/2016/03/Screen-1024x561_hu_5e41f4962e76b2b2.webp 1000w" sizes="(max-width: 1080px) 92vw, 1000px"&gt;
 &lt;img src="https://www.scipioerp.com/wp-content/uploads/2016/03/Screen-1024x561.png" alt="Screen"
 width="1024" height="561"
 loading="lazy" decoding="async"&gt;
 &lt;/picture&gt;&lt;/figure&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Scipio ERP uses fragments of reusable code to put together individual screens. Screens can range from HTML or XML responses to PDFs. The rendering is usually triggered by an event, such a request processed by the &lt;a href="https://www.scipioerp.com/community/developer/views-requests/request-controller/"&gt;controller&lt;/a&gt;
. A screen consists of:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A &lt;a href="#screens"&gt;Screen-Widget definition&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A “&lt;a href="#decorator"&gt;decorator&lt;/a&gt;
“, that specifies standards in an overarching layout, including other widgets&lt;/li&gt;
&lt;li&gt;Multiple “&lt;a href="#widgets"&gt;Widgets&lt;/a&gt;
” (Code fragments) that make up the inner content of a screen. These can be:
&lt;ol&gt;
&lt;li&gt;Screen widgets&lt;/li&gt;
&lt;li&gt;Menu Widgets&lt;/li&gt;
&lt;li&gt;(Form Widgets)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Assuming that you’d want to generate a screen outlined in the image above (html response). Then you’d start by defining a screen widget in one of the screenwidget definition files within your component’s widget directory&lt;/p&gt;</description></item></channel></rss>