VS Code rozšíření pro konzultanty, kteří synchronizují ABRAGen balíčky skriptů mezi API serverem a lokálním repozitářem.
Terminologie
| Pojem |
Význam |
| ROOT |
Kořenový adresář repozitáře (nadřazený vůči FIRMA) |
| FIRMA |
Název složky firmy ve tvaru companyname_IČO, získává se z globdatas hlavního spojení. IČO ABRA Software → _ABRA. Pokud se nepodaří zjistit, použije se [FIRMA] jako zástupný znak nebo _DEMO. |
| CONNECTION |
Alias spojení (nebo název, pokud alias není nastaven) |
Výsledná struktura složek:
ROOT/
FIRMA/
CONNECTION/
BALICEK/
*.pas
BALICEK.apm
Quick Start pro konzultanta (2 min)
- V levém panelu otevřete ABRAGen SyncTool a klikněte na + u API serverů.
- Vyplňte Název, URL API, Uživatelské jméno a Heslo.
- Uložte.
- V levém stromu klikněte pravým tlačítkem na spojení ve stavu ok a spusťte Pull All.
Alternativně pro větší cutomizaci:
- V levém panelu otevřete ABRAGen SyncTool a klikněte na + u API serverů.
- Vyplňte Název, URL API, Uživatelské jméno a Heslo.
- Klikněte na Test – načtou se spojení a pole
Kořenový adresář se automaticky doplní (ROOT/FIRMA). Pokud je kód na jiném místě, použijte Vybrat... a vyberte ROOT; FIRMA se přidá automaticky.
- Pokud nechcete mít firmu vygenerovanou automaticky, lze
[FIRMA] odmazat a zadat tak pevnou cestu.
- Po načtení tabulky spojení ověřte stavy a klikněte na Použít (ponechá panel otevřený) nebo Uložit a zavřít.
- V levém stromu klikněte pravým tlačítkem na spojení ve stavu ok a spusťte Pull All.
Poté pracujte běžně se soubory v balíčku:
- Pull Current – stáhne aktuální balíček podle otevřeného souboru.
- Push Current – nahraje změny aktuálního balíčku zpět na server.
- Pull nové – ve stromu spojení stáhne jen balíčky, které lokálně ještě nejsou.
Jak založit nový balíček a nový skript
Nový balíček skriptů
Doporučený postup (nejbezpečnější):
- Založte nový balíček přímo v ABRAGen.
- Ve VS Code spusťte na daném spojení Pull nové (nebo Pull All).
- Ověřte, že vznikla složka balíčku, soubor
.apm a případné .pas skripty.
- Otevřete libovolný soubor z balíčku a dál používejte Pull Current / Push Current.
Alternativní postup (bez ručního založení v ABRAGen):
- Připravte lokální složku balíčku se souborem
.apm a .pas skripty. (Například zkopírováním z jiné firmy)
- V
.apm nastavte metadata balíčku (package.name, volitelně description, usageState, runOrder atd.).
- Jako
package.id použijte dočasné ID, které na serveru ještě neexistuje.
- Spusťte Push Current nad souborem z tohoto balíčku.
- SyncTool při neexistujícím vzdáleném ID provede vytvoření balíčku (POST) a zapíše nové serverové ID zpět do
.apm.
Poznámka:
- Po úspěšném push proběhne kompilace balíčku na serveru a následně refresh
objversion do lokálního .apm.
Nový skript v existujícím balíčku
- V adresáři balíčku vytvořte nový
.pas soubor.
- Název souboru určuje typ skriptu:
BO_<ScriptID>.pas
AG_<ScriptID>.pas
RL_<ScriptID>.pas
IM_<ScriptID>.pas
AM_<ScriptID>.pas
FRM_<ScriptID>.pas
- Pokud prefix chybí, soubor se bere jako knihovna (
ScriptKind = 0) a ScriptID je název souboru bez .pas.
ScriptID je GUID daného BO/Agendy/číselníku/importovacího managera... U knihovny je to název knihovny.
- Spusťte Push Current.
- SyncTool nový soubor rozpozná i bez záznamu v
.apm, založí nový řádek skriptu přes API a po pushi doplní do .apm přiřazené scriptid a objversion.
Co se odešle při update existujícího balíčku:
- metadata balíčku (
description, CryptForExport, UsageState, UsageStateTestConnection, RunOrder)
- u existujících změněných skriptů pouze
id a ScriptData
- nové skripty jako nové řádky
- mazání vzdálených skriptů přes
rows@delete (pokud už nejsou v lokálním .apm)
Hlavní funkce
- Activity Bar panel ABRAGen SyncTool
- strom API serverů a jejich spojení, organizovatelný do skupin (složek)
- editor konfigurace serveru ve webview
- test API připojení a načtení seznamu spojení
- Test spojení přímo u jednotlivého spojení v detailu editoru
- automatické zjištění názvu firmy a IČO (FIRMA) z globdatas hlavního spojení
- automatické předvyplnění kořenové cesty při založení nového serveru
- zobrazení stavů spojení:
- ok: spojení je na serveru i v lokální konfiguraci, lze pullovat
- nové: spojení je na serveru, ale není lokálně nastaveno
- chybí: spojení je lokálně nastaveno, ale na serveru už není
- přemapování chybí → nové spojení
- smazání konfigurace spojení zpět do stavu nové
- Pull All pouze pro spojení ve stavu ok s plně vyřešenou cestou (bez
[FIRMA])
- Pull Current a Push Current podle aktuálně otevřeného souboru
- automatická obnova APM metadat po Pull All
Skupiny serverů
Servery lze organizovat do pojmenovaných skupin ve stromovém panelu:
- Přidat skupinu – ikona složky v záhlaví panelu nebo pravé tlačítko myši.
- Přesunout server – kontextové menu serveru → Přesunout do skupiny.
- Drag & drop – server přetáhněte na skupinu nebo zpět do kořene.
- Smazat skupinu – pravé tlačítko na skupině; servery ve skupině jsou automaticky přesunuty do kořene, nesmazávají se.
Uložení konfigurace a hesel
- konfigurace serverů je uložena ve VS Code global state
- hesla jsou uložena ve VS Code Secret Storage
- nic z toho se neukládá do git repozitáře
Požadavky
- VS Code 1.85+
- Node.js 20+ pro lokální build rozšíření
- dostupný ABRAGen API endpoint
Instalace z GitHub Releases
Nejjednodušší způsob – nevyžaduje Node.js ani build.
- Přejděte na Releases.
- Stáhněte soubor
abragen-synctool-x.y.z.vsix z poslední verze.
- Nainstalujte rozšíření jedním ze způsobů:
- VSCode:
Ctrl+Shift+P → Extensions: Install from VSIX… → vyberte stažený soubor.
- Terminál:
code --install-extension abragen-synctool-x.y.z.vsix
Spuštění v development režimu
- Otevřete workspace s repozitářem.
- Spusťte konfiguraci Run ABRA SyncTool Extension v Debug panelu.
- VS Code provede build a otevře Extension Development Host.
Licence a omezení použití
Toto rozšíření je interním nástrojem vytvořeným pro potřeby konzultantů pracujících se systémem ABRAGen. Není veřejně šířeno ani licencováno jako open-source software.
- Zdrojový kód a veškeré jeho části jsou důvěrné.
- Redistribuce, kopírování nebo použití mimo prostředí, pro které bylo rozšíření vytvořeno, je zakázáno bez písemného souhlasu autora.
- Rozšíření se dodává „jak stojí a leží" bez jakýchkoli záruk.
| |