Jak přejít k 4D v14 část III 4D Developer konference 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Obsah části 3 • Multistyl v textových oblastech • Nový 4D Write Pro • Podepisování kódu v MacOSX • Ukládání geometrie formuláře • Automatický update • Primární klíče • Kompletně mazatelná pole 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Multistyly v textových oblastech !
• Pole a proměnné typu string nebo text
• Buňky listboxů
• Různé styly v blocích textu
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Multistyly v textových oblastech • ”Vícestylové” !
• Kontextová nabídka !
• Store with default style tags
Uložit s výchozí visačkou stave
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Multistyly v textových oblastech
Historie • Pracuje s HTML span tagy - značkami rozpětí
• Zavedeno 1995
• Univerzální prvek pro formátování textu
• <span style=“attribute:value”>My Text
• Vzhled se může lišit v závislosti na prohlížeči
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Multistyly v textových oblastech
• Zavedeno ve v12
• OBJECT SET STYLED/ST SET TEXT
• TEXT OBJECT SET PLAIN TEXT/ST SET PLAIN TEXT
• OBJECT SET STYLED TEXT ATTRIBUTES/ ST SET ATTRIBUTES
• Také gettery 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Multistyly v textových oblastech • Příklad „30-Multi_Text“
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Multistyly v textových oblastech • Nové ve v13 • TEXT TO ARRAY • Rozdělení textu do textových array dané délky • Přesný tisk multistylového textu
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Multistyly v textových oblastech • Příklad „14-TextToArray“
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Multistyly v textových oblastech • Důležité nové rysy ve v14 • Systémový dialog pro ovládání písma • Seznam posledně použitých písem • Příkazy pro ovládání odkazů • OBJECT SET … příkaz • konce řádků \r\n -> \r 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Multistyly v textových oblastech • Příklad „29-Styled_text“
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Současný 4D Write • Textový procesor z dílny 4D • Představen před více než 20 lety • Vlastní řešení • Stará technologie a kód • Modernizace-> kompletní přepsání
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Nový 4D Write Pro • Vývoj z čistého stolu • Založen na enginu Rich Text • Potřebná licence 4D Write • Pokračující vývoj
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Nový 4D Write Pro • Demo “31-4D_Write_Pro”
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Nový 4D Write Pro • HTML editor s mnoha funkcemi • 4D výrazy • Plně integrovaný objekt formuláře 4D • Zajištěna kompatibilita • Podporuje 4D programování • Drag&Drop pracuje dobře 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Nový 4D Write Pro • Kompatibilita s dokumenty 4D Write • Proveden test s množstvím dokumentů • WR příkazy a odkazy nejsou kompatibilní • Maximální kompatibilita k obsahu • Nové funkce lze čekat brzy
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Nový 4D Write Pro • Demo “32-Invoices”
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Podepisování kódu • Mac OS 10.8 uveden GateKeeper • Bezpečnostní rysy • Kontroluje zda je aplikace z
MacAppStore nebo identifikuje vývojáře
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Podepisování kódu • Zazipujte aplikaci • Uploadujte ji na FTP • Stáhněte jako uživatel • Nastartujte jako uživatel • Gatekeeper provede kontolu a • Pokud jste pouhý uživatel do koše 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Podepisování kódu • Upravte předvolby Zabezpečení a soukromí ! ! ! !
• Otevřete pravým kliknutím
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Podepisování kódu • Pro podepisování třeba certifikát ! ! !
• Mac Developer program ($99/rok) • https://developer.apple.com/support/ technical/certificates 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Podepisování kódu • Přiřaďte certifikát v dialogu sestavení aplikace ! ! !
• Nový klíč XML v BUILD APLICATION
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Podepisování kódu • Systémová aplikace Codesign zaintegruje klíč - musíte povolit
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Podepisování kódu • Složka “_CodeSignature” !
• Balíček a knihovna osahují kontrolní součty
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Podepisování kódu • Kontrola podpisu kódu !
• nástroj příkazový řádek spct
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Podepisování kódu • 4D modifikuje obsah aplikace při startu • Data, indexy, prefs,4DLink, log,… • Ukládejte všechny provozní věci mimo balíček • Udělejte všechna potřebná nastavení před sestavením a podpisem aplikace !
• NESPOUŠTĚT aplikaci po podpisu 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Podepisování kódu • Firewall vypnut, žádná kontrola • Firewall zapnut, app podepsána, žádný požadavek • Firewall vypnut, app nepodepsána, požadavek nebo manuální nastavení firewall
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Podepisování kódu • Před Mac 10.8.5: v1 podpisů • S 10.9: zavedení v2 podpisů • S 10.9.5/10.10: pouze v2 podpisů • Od 10.9.5.nelze podepisovat na 10.8.x • Podporováno 4D sama v sobě v2
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Uložení geometrie formuláře • Formulář a okno téže velikosti • Formulář na téže pozici na obrazovce • Objekty na téže pozici • Objekty o téže velikosti
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Uložení geometrie formuláře • Do teď o Získání
dat pomocí Get při uzavírání formuláře o Uložení patřičným způsobem o Natažení dat při otevírání formuláře o Nastavení pom. Set formulář/objekty - velikost, pozice o Pro všechny formuláře a každého uživatele
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Uložení geometrie formuláře • Demo “6-Save_Geometry”
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Uložení geometrie formuláře • ve v14 o Nová o Pro
vlastnost “Uložit geometrii/save geometry”
všechny druhy formulářů
o Open
form window(…….,*)
o Také
viditelnost a platná stránka formuláře
o Není
potřeba žádné programování
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Uložení geometrie formuláře • Uloženo v souboru předvoleb !
• “NazevFormulare.json”
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Uložení geometrie formuláře • Ukládáno pro každý počítač sítě • Nikoliv na základě uživatelů 4D • Pokud je třeba ukládat podle 4D uživatelů, je potřeba zkombinovat nový a starý systém (uživatelské předvolby) • Pokud je problém s předvolbami 4D Client mažte i tuto složku předvoleb formulářů
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Uložení geometrie formuláře • Reset uložení o Přepnutím
v návrháři “Uložit geometrii” o Nové uložení formuláře !
• Viditelnost se neukládá u objektu
“jako výchozí neviditelný” !
• Nepracuje pro dynamické proměnné (OBJECT DUPLICATE) 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Uložení geometrie formuláře • Demo “6-Save_Geometry” podruhé
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Uložení geometrie formuláře • Proměnné drží své hodnoty • Geometrie formuláře je uchována rovněž pro listboxy !
• Jedním kliknutím myši • Žádné programování
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Uložení geometrie formuláře • Demo “6-Save_Geometry” potřetí
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Automatický update • Do teď o Stažení
klientské části o Spuštění externího updatovacího scriptu o Provedení update aplikace scripted o Obtížný debug, log a zachytávání chyb
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Automatický update - Updater • Ve v14 proces optimalizován • Natažena klientská část a updater • Aplikace Updater provede update • Plná kontrola • Zachytávání chyb a protokolování 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Automatický update • Update jednouživatelské aplikace • Update serverové části aplikace • Plně kontrolováno programováním • Není třeba žádná akce uživatele
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Automatický update aplikace • Vývojář o Sestavení o ZIP
nové aplikace
vytvořených souborů
o Upload
souborů na FTP
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Automatický update aplikace • Uživatelská strana o Download
aktualizačních souborů o UnZip souborů o Spuštění update o Restart aplikace o Záznam do log souboru
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Automatický update Server Engine
Klient Engine Spuštění
Poslán požadavek na číslo verze
-
- 4D Volume Desktop
- Aplikace
- Updateru
OK
Připojení Dotaz
Ne Konec nebo něco dál
Poslán dotaz Klientu na URL Stáhnout a případně co?
Ano
NeOK
Liší se od toho co je zjištěno
a) jen Volume desktop a Server jej má b) Aplikace včetně Updateru
Stažení updatu, rozbalení, Update updateru, je-li třeba, Spuštění updateru
Zádost o ukončení klienta
Konec
!
Update serverové a klientské části na serveru
Konec Start
!
Klient Engine Old
Update při prvním spuštění klientské části typ a)
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Server Engine New Jak přejít ke 4Dv14
Automatický update aplikace • Demo “27-Auto_Make_New”
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Automatický update aplikace • Download pomocí 4D Internet Commands !
• LAUNCH EXTERNAL PROCESS k unzip je možný rovněž PHP EXECUTE a užít knihovnu ve 4D !
• SET UPDATE FOLDER • Restart aplikace • Načtení logu s Get last update path 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Automatický update aplikace • Neužívejte slovo “update” v názvu souboru • Neupdatujte z DB_v1 na DB_v2
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Automatický update aplikace • Update z v13 na v14 • Pseudo update “archive.win” • Kompletní update “update.win.4darchive” • Větší, ale je potřeba pouze 1 update • <BuildV13ClientUpgrades>False
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Primární klíče - nový žurnál dat • Modifikovaný mechanismus generování a užití logu pro zálohy • Zabezpečená architektura pro kaskádované zrcadlové zálohování • Výběr tabulek pro žurnálování • Nová procedura pro integrování protokolu logu
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Primární klíče - nový žurnál dat • K použití nového procesu integrace žurnálu
o Žurnálovaná
tabulka musí mít primární
klíč o Tabulka musí být k nahrávání specielně označena
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Primární klíče - nový žurnál dat • Konverze do V14 - nový asistent • Možnost změny struktury a vyplnění dat při konverzi
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Primární klíče - nový žurnál dat • Nové tabulky v14 obsahují automaticky první pole “ID” o Jedinečné o Odmítnutí
NULL hodnoty vstupu o AutoIncrement o Automaticky indexované o možno použít UUID funkci
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Primární klíče - nový žurnál dat • Primární klíč není automaticky přidán ! SQL CREATE TABLE ! Import tabulek
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Primární klíče - nový žurnál dat • Okno chyb primárního klíče o Konverze o Nově
použití “Použít Log soubor”
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Primární klíče - nový žurnál dat • Manažer primárních klíčů o Ignorovat o Použít
existující pole o Vytvořit nové pole o Neprotokolovat tuto tabulku
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Primární klíče - nový žurnál dat • Automatické naplnění pole • Auto UUID, Auto přírůstek
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Kompletně mazatelná pole • Dlouho se 4D bránila zavedení tohoto rysu • Nepoužité pole bylo nutno označit např. jako “Nepoužito” • Nyní je nutno mít na paměti kompatibilitu dat • Data vymazaného pole stále zůstávání v souboru dat • Přidání nového pole zabere toto místo • Kompaktace dat odstraní stará data 4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14
Q&A
4D Developer conference 2015 • Prague, CZ • Celebrating 30 years
Jak přejít ke 4Dv14