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ší customizaci:
- 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
.apma případné.passkripty. - 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
.apma.passkripty. (Například zkopírováním z jiné firmy) - V
.apmnastavte metadata balíčku (package.name, volitelnědescription,usageState,runOrderatd.). - Jako
package.idpouž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
objversiondo lokálního.apm.
Nový skript v existujícím balíčku
- V adresáři balíčku vytvořte nový
.passoubor. - Název souboru určuje typ skriptu:
BO_<ScriptID>.pasAG_<ScriptID>.pasRL_<ScriptID>.pasIM_<ScriptID>.pasAM_<ScriptID>.pasFRM_<ScriptID>.pas
- Pokud prefix chybí, soubor se bere jako knihovna (
ScriptKind = 0) aScriptIDje název souboru bez.pas.ScriptIDje 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.apmpřiřazenéscriptidaobjversion.
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
idaScriptData - 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
Import / Export nastavení
Konfiguraci serverů (včetně skupin a hesel) lze exportovat do souboru JSON a importovat na jiném stroji nebo po reinstalaci VS Code.
Export
- Příkaz: ABRAGen SyncTool: Export Settings (
Ctrl+Shift+P→ Export Settings) nebo ikona v záhlaví panelu. - Zobrazí dialog pro uložení souboru (výchozí název
synctool-export.json). - Do souboru se uloží:
- seznam serverů a jejich nastavení (URL, uživatelská jména, spojení, kořenové cesty…)
- skupiny serverů
- hesla zašifrovaná AES-256-CBC (nejsou uložena v čitelné podobě)
- Soubor neobsahuje hesla v čitelném textu, ale ochrana je na úrovni obfuskace – soubor je třeba zabezpečit na úrovni OS (šifrování disku, přístupová práva), pokud mají být hesla chráněna před třetími stranami.
Import
- Příkaz: ABRAGen SyncTool: Import Settings (
Ctrl+Shift+P→ Import Settings). - Zobrazí dialog pro výběr dříve exportovaného JSON souboru.
- Pokud již existuje nějaká konfigurace, zobrazí se varovné okno s počtem serverů, které budou přepsány. Import je nutné potvrdit.
- Po úspěšném importu se strom serverů automaticky obnoví.
- Validace souboru: import odmítne soubory, které nebyly vytvořeny tímto rozšířením, nebo mají nekompatibilní verzi formátu.
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.