PageSourceSearch

https://ecn.cz/cz/novinky/nova-verze-publikacniho-systemu-actionapps-toolkit-2026.9

html ecn.cz collected 2026-10-02 03:42:03 UTC 14,897 bytes, 237 lines download raw bytes

1<!doctype html>
2<html lang="cs">
3<head>
4  <meta charset="utf-8">
5  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6  <title>EcnStudio.cz</title>
7
8  <link rel="icon" sizes="16x16" href="/favicon.ico">
9  <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
10  <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png">
11  <link rel="apple-touch-icon" href="/apple-touch-icon.png">
12
13  
14<!--AA-Generated-HEAD start-->
15<link rel="stylesheet" href="/aaa/cdn/npm/[email protected]/css/lightgallery-bundle.min.css" media="print" onload="this.media='all'">
16<link rel="stylesheet" href="https://webservis.ecn.cz/static/responsive-flex/responsive-1.1.css">
17<link rel="stylesheet" href="/css/ecnstudio.css?ver=1">
18<!--/AA-Generated-HEAD end-->
19
20    
21   
22  
23  <meta name="keywords" content="Ecn studio, webstudio, webhosting, toolkit, emailhosting">
24  <meta name="description" content="">
25
26<!-- Matomo -->
27<script>
28  var _paq = window._paq = window._paq || [];
29  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
30  _paq.push(["setCookieDomain", "*.ecnstudio.cz"]);
31  _paq.push(["disableCookies"]);
32  _paq.push(['trackPageView']);
33  _paq.push(['enableLinkTracking']);
34  (function() {
35    var u="//webstats.ecn.cz/m/";
36    _paq.push(['setTrackerUrl', u+'matomo.php']);
37    _paq.push(['setSiteId', '2']);
38    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
39    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
40  })();
41</script>
41
42<noscript><p><img src="//webstats.ecn.cz/m/matomo.php?idsite=2&amp;rec=1" style="border:0;" alt="" /></p></noscript>
43<!-- End Matomo Code -->
44
45</head>
46
47<body class="novinky _#PAGE_BG_ cz">
48  
49<div class="mobilmenu white-menu no-screen noprint">
50  <i class="ico-menu" onclick="document.querySelectorAll('.mobilmenu').forEach(function(el) { el.classList.toggle('active');});"></i>
51  
52  <nav>   
53    
54<ul>
55  <li id="menu-645a79873fea6c1fc4cc4ab540cd5a7a" class=""><a href="https://ecn.cz/cz/sluzby">Služby</a><i class=aa-ico-expand onclick="this.closest('li').classList.toggle('inpath');"></i>
56<ul>
57  <li id="menu-1a07e5610b8bb556560254118b7d6435" class=""><a href="https://ecn.cz/cz/sluzby/webdesign">Webdesign</a></li>
58  <li id="menu-24c9fe52c2d716d38bac58a405e9b3eb" class=""><a href="https://ecn.cz/cz/sluzby/webhosting">Webhosting</a></li>
59  <li id="menu-34aa22fd2edc2ae4df354f7124308473" class=""><a href="https://ecn.cz/cz/sluzby/ecn-ucet">Ecn účet</a></li>
60  <li id="menu-c62cf025ee18605f5421663e0d303def" class=""><a href="https://ecn.cz/cz/sluzby/site-a-podpora">Sítě a podpora</a></li>
61  <li id="menu-a89ec2571622512269f0ba4a339ca383" class=""><a href="https://ecn.cz/cz/sluzby/online-nastroje">Online nástroje</a></li>
62  <li id="menu-4529053302458524ba984ce1311f4d1f" class=""><a href="https://ecn.cz/cz/sluzby/faq">FAQ</a></li>
63  <li id="menu-f99e3a4cf5fb3dcebdb597c5d55a8176" class=""><a href="https://ecn.cz/cz/sluzby/cenik">Cenik</a></li>
64</ul>
65</li>
66  <li id="menu-23cd0820e38d12563218df8fd2d92918" class=""><a href="https://ecn.cz/cz/reference">Reference</a></li>
67  <li id="menu-4e4669c545c78db96f13bc57544b418d" class=""><a href="https://ecn.cz/cz/kontakt">Kontakt</a></li>
68</ul>
69
70    <div class="mt-3 pt-2 mb-1" style="margin-left: 3em;">PŘIHLÁSIT SE?</div>
71    <ul>
72      <li><a href="https://mujkoutek.ecn.cz/">Můj koutek</a></li>
73      <li><a href="https://webmail.ecn.cz/">Webmail</a></li>
74      <li><a href="https://cloud.ecn.cz/">Ecn cloud</a></li>
75      <li><a href="https://trezor.ecn.cz/">Ecn Trezor</a></li>
76      <li><a href="https://mujkoutek.ecn.cz/lostpwd.php">Zapomenuté heslo?</a></li>
77    </ul>
78  </nav>
79</div>
80  
81
82  
83  
84  
85<header>
86  <div class="flex f-middle f-between">
87    <a href="https://ecnstudio.cz/cz/" title="ECN Studio" class="logo"><img src="https://ecnstudio.cz/img/ecn-logo-horizontal.svg" alt="ECN Studio"></a>
88    <div class="menu flex f-between no-mobile">      
89      <ul class="menu-items top-menu"> 
90        <li ><a href="https://ecn.cz/cz/sluzby">Služby</a>
91    
92<ul>
93  <li id="menu-1a07e5610b8bb556560254118b7d6435"><a href="https://ecn.cz/cz/sluzby/webdesign">Webdesign</a></li>
94  <li id="menu-24c9fe52c2d716d38bac58a405e9b3eb"><a href="https://ecn.cz/cz/sluzby/webhosting">Webhosting</a></li>
95  <li id="menu-34aa22fd2edc2ae4df354f7124308473"><a href="https://ecn.cz/cz/sluzby/ecn-ucet">Ecn účet</a></li>
96  <li id="menu-c62cf025ee18605f5421663e0d303def"><a href="https://ecn.cz/cz/sluzby/site-a-podpora">Sítě a podpora</a></li>
97  <li id="menu-a89ec2571622512269f0ba4a339ca383"><a href="https://ecn.cz/cz/sluzby/online-nastroje">Online nástroje</a></li>
98  <li id="menu-4529053302458524ba984ce1311f4d1f"><a href="https://ecn.cz/cz/sluzby/faq">FAQ</a></li>
99  <li id="menu-f99e3a4cf5fb3dcebdb597c5d55a8176"><a href="https://ecn.cz/cz/sluzby/cenik">Cenik</a></li>
100</ul>
101
102</li><li ><a href="https://ecn.cz/cz/reference">Reference</a>
103    
104</li><li ><a href="https://ecn.cz/cz/kontakt">Kontakt</a>
105    
106</li>
107      </ul>
108      <ul class="menu-items user-menu mr-2">
109        <li><span class="like-a">Přihlásit</span>
110          <ul>
111            <li><a href="https://mujkoutek.ecn.cz/">Můj koutek</a></li>
112            <li><a href="https://webmail.ecn.cz/">Webmail</a></li>
113            <li><a href="https://cloud.ecn.cz/">Ecn cloud</a></li>
114            <li><a href="https://trezor.ecn.cz/">Ecn Trezor</a></li>
115            <li><a href="https://mujkoutek.ecn.cz/lostpwd.php">Zapomenuté heslo?</a></li>
116          </ul>
117        </li>
118      </ul>
119      <a class="lang" href="/en/">en</a>
120    </div>
121  </div>
122</header>
123
124<div class="page">
125  <div class="crumbs right sz-xxs fnt-uppercase pr-2"> /  <a href="https://ecn.cz/cz/novinky" class="active">Novinky</a> /  Nová verze publikačního systému ActionApps Toolkit 2026.9</div>
126    <div class="main-text">
127    <div class="text-headline">
128      <div class="headline-block p-2 pt-0 pb-0">
129        <h1>Nová verze publikačního systému ActionApps Toolkit 2026.9</h1>
130        <p class="serif clr-text-gold">21.9.2026</p>
131      </div>
132    </div>
133    <div class="text">
134      <div class="fnt-bold pt-0 pt-3-scr mb-2">Rychlejší weby díky chytřejší cache a obrázkům servírovaným přímo webovým serverem, nová stránka State Check, která sama hlídá zdraví instalace, přehled o tom, jak se web zrychluje, a celá řada bezpečnostních oprav. Verze 2026.9 je hlavně o rychlosti, spolehlivosti a bezpečí.</div>
135      <div><p>Na server jsme nasadili <strong>ActionApps Toolkit 2026.9</strong>. Od červnové verze 2026.6 přibylo přes 180 změn. Zatímco minule jsme se věnovali hlav
135ně pohodlí autorů, tentokrát jsme se podívali pod kapotu: weby jsou <strong>rychlejší</strong>, systém si <strong>sám hlídá svůj stav</strong> a je zase o kus <strong>bezpečnější</strong>. Vybíráme to podstatné.</p>
136
137<h2>Pro autory</h2>
138
139<p><strong>Spolehlivější tlačítko Přeložit.</strong> Automatický překlad si nově poradí i s dlouhými texty. Když se překlad nepovede, administrace to řekne a původní obsah políčka zůstane nedotčený — už se nestane, že by neúspěšný překlad políčko vymazal.</p>
140
141<p><strong>Pohodlnější výběr souvisejících článků.</strong> Vyhledávání v políčku pro související položky reaguje klidněji: nepřeskakuje během psaní, při čekání ponechá předchozí výsledky a jasně řekne, když nic nenašlo.</p>
142
143<p><strong>Drobnosti, které potěší.</strong> Šablony e-mailů se upravují v pohodlném vizuálním editoru. A nový vzhled administrace, který jsme představili minule, jsme dál vyladili — pokud k němu máte připomínky, pište nám přes pole Zpětná vazba.</p>
144
145<h2>Pro editory a správce</h2>
146
147<p><strong>State Check — systém, který si hlídá sám sebe.</strong> Nová stránka State Check (kontrola stavu, v menu AA pro superadminy) projde logy, databázi i nastavení a na jednom místě ukáže, co je v nepořádku: od nejzávažnějšího problému po drobnosti, vždy s důkazem a návodem, co s tím. Řadu věcí umí rovnou opravit jedním tlačítkem. Hlídá například plánované úlohy, frontu úkolů, chyby PHP, cache obrázků nebo kolize adres článků.</p>
148
149<p><img src="https://toolkit.ecn.cz/img_upload/2026.9-01-kontrola-stavu.png" alt="Stránka State Check s přehledem nálezů" style="max-width:100%;height:auto;border:1px solid #ddd;"></p>
150
151<p><strong>Vidíte, jestli se web zrychluje.</strong> Statistiky AA mají nový pohled Version progress (vývoj podle verzí): den po dni ukazuje rychlost odezvy a úspěšnost cache a zvýrazní okamžiky, kdy se měnila verze AA, PHP nebo nastavení serveru. Hned je vidět, co které aktualizaci web dala — nebo vzala.</p>
152
153<p><img src="https://toolkit.ecn.cz/img_upload/2026.9-02-statistiky-verze.png" alt="Statistiky AA — vývoj rychlosti a cache napříč verzemi" style="max-width:100%;height:auto;border:1px solid #ddd;"></p>
154
155<p><strong>Dohledatelné e-maily.</strong> Každý odeslaný e-mail se nově zapisuje do logu, včetně odpovědi poštovního serveru. Na otázku „odešlo to vůbec?" tak konečně existuje jasná odpověď. Opravili jsme i situaci, kdy upozornění (Alerts) mohlo výjimečně odejít dvakrát.</p>
156
157<p><strong>Jedna fronta pro všechny pravidelné úlohy.</strong> Rozesílání upozornění, stahování obsahu z jiných webů, kontrola odkazů i údržba databáze teď běží jako Naplánované úlohy v jediné frontě. Úloha se nespustí dvakrát a vše je na jednom místě vidět i v logu.</p>
158
159<h2>Pro vývojáře a pokročilé uživatele</h2>
160
161<ul>
162  <li><strong>Obrázky ze statické cache, bez nastavování</strong> — zmenšeniny vytvářené příkazem img se vygenerují jednou a pak je servíruje přímo webový server, bez PHP. Stránka s dvaceti náhledy už neznamená dvacet požadavků na PHP. Funguje samo od sebe, a kde fungovat nemůže, vrátí se k původní cestě.</li>
163  <li><strong>Cache stránek na 12 hodin</strong> — protože zveřejnění a vypršení článků nově hlídá samostatná úloha, mohli jsme výchozí dobu cache výrazně prodloužit. Víc stránek se obslouží z cache, server má méně práce.</li>
164  <li><strong>Rychlejší a bezpečnější ukládání</strong> — články se ukládají v databázových transakcích a hromadnými zápisy. Rychlejší je i čtení objektů z databáze, skládání menu a dotazy na velké seznamy článků, které navíc spotřebují méně paměti.</li>
165  <li><strong>Nový editor kódu</strong> — šablony se nově upravují v editoru CodeMirror 6.</li>
166  <li><strong>Bezpečnost</strong> — prošli jsme kód bezpečnostním auditem a opravili několik možných útoků typu SQL injection a XSS. Definitivně zmizela i emulace register_globals, pozůstatek z dávných dob PHP.</li>
167  <li><strong>Lepší diagnostika</strong> — volba AA_LOG_PHP_FATALS zapisuje fatální chyby PHP do logu AA, logy jsou čitelnější. Chybějící modul nebo soubor webu už neskončí bílou stránkou, ale srozumitelnou hláškou.</li>
168  <li><strong>
168Přechod z LDAP na SQL oprávnění</strong> — SQL backend přijme hesla ve formátu LDAP a při prvním přihlášení je převede na bcrypt.</li>
169  <li><strong>AVIF ve Firefoxu</strong> — obrázky AVIF se generují tak, aby se správně zobrazovaly i ve Firefoxu.</li>
170  <li><strong>ActionApps na GitHubu</strong> — vývoj se přestěhoval do gitu. Každou změnu před vydáním automaticky prověří testy (dnes jich je tisíc) a statická analýza; instalace se aktualizují z gitu, SourceForge zůstává jako zrcadlo pro stávající instalace přes SVN.</li>
171</ul>
172
173<h2>A zase malá poznámka pod čarou</h2>
174
175<p>V červnu jsme psali, že si při vývoji necháváme pomáhat od AI, konkrétně od nástroje <strong>Claude Code</strong>. Tahle verze ukazuje, že nejde jen o rychlost: bezpečnostní audit, tisíc automatických testů ani stránka State Check by bez takového pomocníka vznikaly mnohem déle — pokud vůbec. Všechno dál kontrolujeme a testujeme my, lidé.</p>
176
177<p>Pokud byste i vy potřebovali nové funkce na svých webech, nový web nebo webovou aplikaci, <strong>ozvěte se nám</strong>. Vývoj je teď výrazně rychlejší a levnější, než jste byli zvyklí.</p>
178
179<p><em>Kompletní seznam změn najdete v <a href="https://github.com/apc-aa/ActionApps/commits/main">historii změn na GitHubu</a>.</em></p></div>
180    </div>
181  </div>  
182
183
184
185
186
187</div>
188<footer class="bg-clr-dark clr-light pt-3">
189  <div class="pl-2 pl-3-scr pr-2"><img src="/img/ecn-logo-horizontal-white.svg" class="foot-logo"></div>
190  <div class="main flex f-between pt-2">
191    <div class="flex f-3-2-2 box-8">       
192        <article class="item">Ecn Studio s.r.o<br>Chodská 2<br>Praha 2, 120 00</article>
193        <article class="item">Kancelář:<br>Kolínská 16<br>Praha 3, 130 02</article>
194      <article class="item">E:  <a href="" id="aapmyKfDOGJF0l"></a><!--AA script generated, AA script removed-->
194<script>var el=document.getElementById('aapmyKfDOGJF0l');el.setAttribute('href','mai'+'lto:'+'studio'+'@'+'ecn.cz');el.insertAdjacentHTML('afterbegin','studio'+'@'+'ecn.cz');document.currentScript?.parentNode?.removeChild(document.currentScript);</script>
194<br>T: <a href="tel:+420224319860">224 319 860</a> <br>IČ: 05647185</article>
195      </div>
196    <div class="f-flex-1 item">
197      <nav><a href="https://mujkoutek.ecn.cz/">Můj koutek</a><a class="" href="/cz/newsletter">Odběr novinek</a><br><a href="/cz/vseobecne-smluvni-podminky">Všeobecné smluvní podmínky</a><a href="/cz/zasady-zpracovani-osobnich-udaju">Zásady zpracování osobních údajů</a></nav>
198    </div>
199
200  </div>
201</footer>
202
203<!--AA-Generated-FOOT start-->
204<script src="/aaa/cdn/npm/[email protected]/lightgallery.min.js"></script>
vendor: 1 bytes, line 204
204
205<script> document.addEventListener('DOMContentLoaded', function() { lightGallery(document.querySelector('body'), { "selector": ".lightgallery" }); }); </script>
205
206<!--/AA-Generated-FOOT end-->
207
208
209
210<script type="application/ld+json" id="ldjson">
211{ }
212</script>
212
213
214<script type="application/ld+json">
215    [
216    {
217        "@context": "http://schema.org",
218        "@type": "WebSite",
219        "name": "Novinky",
220        "alternateName": "Novinky",
221        "url": "https://ecn.cz/"
222      },
223    {
224        "@context": "http://schema.org",
225        "@type": "Organization",
226        "url": "https://ecnstudio.cz/",
227        "name": "Ecn Studio s.r.o",
228        "contactPoint": {
229          "@type": "ContactPoint",
230          "email": "[email protected]",
231          "contactType": "Ecn Studio"
232        }
233    }]
234</script>
234
235
236</body>
237</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.