Download the PHP package adt/exporter without Composer

On this page you can find all versions of the php package adt/exporter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package exporter

ADT Exporter

Jednotne hrdlo vsech exportu dat: auditni zaznam (export_log) + synchronni download nebo background zpracovani s dorucenim e-mailem.

Proc

Auditni pozadavek "kdo, kdy a co presne exportoval" musi platit pro KAZDY export - grid, formular i konzolovy prikaz. Misto per-misto logovani vola vsechno jednu funkci.

Provozni a auditni data jsou ODDELENA (stejny vzor jako session vs. auth log):

Oba zaznamy i pripadny background job vznikaji v JEDNE transakci (outbox garance adt/background-queue).

Pouziti

Format (CSV/Excel/...) urcuje predany generator; pocet sekci urcuje obsah (Excel: sheet per sekce, CSV: prave jedna sekce).

Instalace v aplikaci

  1. Entita Export (ExportTrait + vlastni id/createdBy atributy) v aplikaci; ExportLog je FINALNI entita knihovny - staci pridat mapping (vendor/adt/exporter/src/Model/Entities) a migraci. Volitelne vlastni ExportFileStorage (soubory pres aplikacni File ekosystem) a ExportActorProvider (akter auditu ze SecurityUser) - obe sluzby si extension najde podle typu.
  2. Neon:

  3. Generatory souboru registrovat jako sluzby (implementuji ExportFileGenerator nebo BatchedExportFileGenerator, extension je poskytne background handleru automaticky).

Velke exporty: BatchedExportFileGenerator

ExportFileGenerator dostane vsechny entity naraz, takze spotreba pameti roste s poctem radku - u velkych exportu proto padne na memory limitu. Pro takove pripady existuje BatchedExportFileGenerator:

Knihovna si mezi davkami cisti EntityManager, aby uvolnila nactene entity i jejich navazany graf. Entity proto plati jen v ramci prave iterovane davky - generator si je nesmi odkladat a musi si z nich rovnou vytahat skalarni data.

Cistit se smi jen v background workeru, takze u synchronniho exportu (pod syncRowLimit) davky prichazeji, ale EntityManager zustava nedotcen - jinak by se odpojily entity, se kterymi dal pracuje presenter.

Velikost davky ridi batchSize (default 500).

Akter auditu

Kazdy projekt identifikuje uzivatele jinak - nekde jmeno a e-mail, jinde jen prihlasovaci jmeno, servisni ucet nebo API klic. Knihovna proto nepredepisuje zadna konkretni pole a uklada:

sloupec k cemu
created_by_id klic aktera ve zdrojovem systemu - spojovaci klic auditu (podle nej se v auditnim ulozisti joinuje napric logy)
created_by_label jedno lidsky citelne oznaceni - aby sel log cist bez znalosti tvaru created_by
created_by JSON: cimkoliv dalsim projekt aktera identifikuje

Ploche jsou tedy jen ty dve veci, ktere maji smysl v kazdem systemu; promenna cast jde do JSONu. Aplikace dodava ExportActorProvider:

E-mail

Obsah e-mailu vlastni projekt: implementuj ExportMailFactory jako sluzbu (preklady, Latte sablona, branding) - extension ji pouzije automaticky misto vestaveneho defaultu. Background job ji dostane z DI, nic se nepredava.

Bezpecnost stahovani

Odkaz v e-mailu NEVEDE na soubor, ale na aplikacni routu (downloadLink). Soubor lezi ve fileDir MIMO docroot - jedina cesta k nemu je pres presenter, ktery MUSI overit prihlaseni a vlastnictvi:

Overeni vlastnictvi je PROVOZNI vec, proto FK created_by na aplikacniho uzivatele zustava na Export - narozdil od auditu, ktery zadnou relaci nema.

Presenter MUSI pred vydanim souboru zavolat $this->exporter->logDownload($export) (viz priklad vyse). Zadani exportu a vydej souboru jsou dve ruzne udalosti: odkaz plati po celou retenci souboru, da se pouzit opakovane a klidne nekym jinym nez zadavatelem - bez toho vypada deset stazeni v auditu jako zadne. logDownload() zamerne neodchytava vyjimky: kdyz selze audit, soubor se nevyda.

Neprihlaseneho uzivatele posle bezny auth mechanismus aplikace na login a po prihlaseni zpet - odkaz z e-mailu tak funguje kdykoli behem retence souboru, ale vzdy jen pro opravneneho.

Retence souboru

Vygenerovane soubory nesmi na disku lezet dele, nez je nutne pro doruceni (obsahuji exportovana, casto osobni data). Denni cron:

maze soubory starsi nez fileRetentionDays (default 7). Auditni zaznam zustava po celou svou retenci - jen prijde o soubor; download expirovaneho exportu vrati chybu.

Auditni vlastnosti zaznamu

Pripravenost pro SIEM


All versions of exporter with dependencies

PHP Build Version
Package Version
Requires php Version >=8.4
doctrine/orm Version ^2.9|^3.0
adt/background-queue Version ^3.0|^4.0|^5.0
nette/mail Version ^3.1|^4.0
nette/application Version ^3.1
adt/doctrine-components Version ^3.0
symfony/console Version ^6.0|^7.0|^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package adt/exporter contains the following files

Loading the files please wait ...