====== Import nově přijatých studentů do Evergreenu a systému pro monitoring tisku SafeQ ====== ===== Export nových studentů z ISu ===== Studijní agenda > hromadný výběr > Vybrat dotaz //"Jabok: Přijat nezapsán(stav 88)"//. Dotaz je možné také zadat ručně: [fak JA10][stud_stav 88] Po vypsání výsledků dotazu (seznam studentů) použít odkaz //"Zpět na Manipulace se seznamem vybraných studentů"// Poté v sekci Studijní - výběr studentů a operací vybrat "Tisky" > Seznamy, sestavy (návod k sestavám, Prezentátoru) > Ve "Výběru z připravených popisů sestav" vybrat popis "JABOK: Knihovna: import nově přijatých studentů". Popis lze vložit také ručně: ,,,,MAILING,,,,,,111,3,,103,2,,false,2019-09-01, **V sestavě je nutné změnit datum expirace čtenářského účtu na 1.9. následujícího roku** (v uložené sestavě je to datum 2019-09-01, které je ve výstupu posledním údajem na řádku) Jako formu výstupu zvolit //"Textový soubor s kódováním UTF-8 (Unicode)"// ===== Import studentů do Evergreenu ===== ==== Vytvoření tabulky s novými čtenáři ==== CREATE TABLE jabok_students ( student_id integer, barcode text, last_name text, first_name text, email text, address_type text DEFAULT 'MAILING', street1 text, street2 text, city text, country text DEFAULT 'Česká republika', postal_code text, phone text, profile_id integer, ident_type integer, ident_value text, home_ou integer, net_access_level integer, date_of_birth date, active boolean, expire_date timestamp, stat_cat integer, stat_cat_entry integer); ==== Kopírování dat z CSV ==== COPY jabok_students (barcode, last_name, first_name, email, address_type, street1, city, country, postal_code, phone, profile_id, ident_type, ident_value, home_ou, net_access_level, date_of_birth, active, expire_date, stat_cat, stat_cat_entry) FROM '/home/opensrf/Ctenari/data_pro_import.csv' WITH CSV HEADER; ==== Nalezení duplicit dle jména a data narození ==== SELECT actor.usr.first_given_name, actor.usr.family_name, actor.usr.dob, jabok_students.first_name, jabok_students.last_name, jabok_students.barcode FROM jabok_students INNER JOIN actor.usr ON jabok_students.date_of_birth IS NOT DISTINCT FROM actor.usr.dob AND actor.usr.first_given_name IS NOT DISTINCT FROM jabok_students.first_name; === Výstup s duplicitními hodnotami === first_given_name | family_name | dob | first_name | last_name | barcode ------------------+-------------+------------+------------+-------------+--------- Adam | Novák | 1991-11-30 | Adam | Novák | 1234 Anna | Nováčková | 1996-05-07 | Anna | Nováčková | 2345 Alice | Nováková | 1979-07-07 | Alice | Nováková | 3456 Amos | Nováček | 1973-04-11 | Amos | Nováček | 4567 (4 rows) ==== Smazání všech vypsaných duplicitních čtenářů ==== DELETE FROM jabok_students USING actor.usr WHERE jabok_students.date_of_birth IS NOT DISTINCT FROM actor.usr.dob AND actor.usr.first_given_name IS NOT DISTINCT FROM jabok_students.first_name; ==== Vložení do tabulky actor.usr ==== Pozn.: do tabulky musí být vloženo heslo INSERT INTO actor.usr ( profile, usrname, passwd, email, ident_type, ident_value, first_given_name, family_name, day_phone, home_ou, claims_returned_count, net_access_level, dob, expire_date, active) SELECT profile_id, barcode, email, email, ident_type, ident_value, first_name, last_name, phone, home_ou, 0, net_access_level, date_of_birth, expire_date, active FROM jabok_students; ==== Vložení úvodního čárového kódu (barcode) ==== Pozn.: číslo pro "barcode" je totožné se "student id") INSERT INTO actor.card (usr, barcode) SELECT actor.usr.id, jabok_students.barcode FROM jabok_students INNER JOIN actor.usr ON jabok_students.barcode = actor.usr.usrname; UPDATE actor.usr AS au SET card = ac.id FROM actor.card AS ac WHERE au.id=ac.usr AND au.id between 2089 AND 2184; INSERT INTO actor.usr_address (usr, street1, city, state, country, post_code, address_type) SELECT actor.usr.id, jabok_students.street1, jabok_students.city, jabok_students.country, jabok_students.country, jabok_students.postal_code, jabok_students.address_type FROM jabok_students INNER JOIN actor.usr ON jabok_students.barcode = actor.usr.usrname; UPDATE actor.usr SET expire_date = '2018-09-01 00:00:00+02' where id between 2089 AND 2184; ===== Import studentů do systému pro monitoring tisku SafeQ ===== ==== Vytvoření CSV souboru pro import ==== Pro přípravu CSV souboru pro import do kopírovacího systému doporučujeme použít LibreOffice Calc, který automaticky nabízí import dat z textového souboru při jeho otevření. - V LibreOffice Calc **otevřete textový soubor s daty vyexportovanými z ISu** (pomocí ikony pro otevření souboru). LibreOffice automaticky nabídne možnost importu dat z textového souboru. - V nastavení importu vyberte **znakovou sadu UTF-8** (pokud se nabídne v automatické volbě, není potřeba nic měnit. - Jako národní prostředí vyberte **Výchozí – čeština**. - **Seřaďte uživatele podle UČO** (první sloupec) a v případě potřeby smažte prázdné řádky na začátku seznamu. - Poté **upravte pořadí sloupců** tak, aby odpovídaly pořadí údajů pro import do SafeQ, tj.: * Sloupec A: 100 (výběr operace přidání/mazání uživatelů) * Sloupec B: Add (výběr přidání nového uživatele) * Sloupec C: UČO (uživatelské jméno) * Sloupec D: Jméno * Sloupec E: Příjmení * Sloupec F: Prázdný sloupec (číslo karty – doplňuje se při registraci uživatele do systému) * Sloupec G: 1 (číslo střediska) * Sloupec H: E-mailová adresa * Sloupec I: Prázdný sloupec (adresář – nepoužíváme) * Sloupec J: UČO ^Označení sloupce^A^B^C^D^E^F^G^H^I^J^ ^Popis sloupců|100|add|Uživatelské jméno = Učo|Jméno|Příjmení|číslo karty = prázdná hodnota|Číslo střediska = 1|e-mailová adresa|domovský adresář = prázdná hodnota|UČO| ^Příklad|100|add|1234|Jana|Nováčková| |1|email@adresa.cz| |1234| Upravenou **tabulku uložte jako Text CSV**. Pokud se při ukládání zobrazí varování o nestandardním formátu souboru, potvrďte uložení ve formátu CSV. === Nastavení možností exportu === Ve vyskakovacím okně pro **nastavení možností exportu** zvolte následující hodnoty: * Znaková sada: **Unicode (UTF-8)** * Oddělovač pole: **;** (středník ) * Oddělovač řetězců: **"** (uvozovky) * V zaškrtávacím poli vyberte: **Uložit zobrazený obsah buňky** ==== Import dat do systému SafeQ ==== - **Přihlaste se do aplikace SafeQ** pro správu uživatelů - Na záložce Uživatelé klikněte na položku **Akce** vpravo nahoře - Z nabídky zvolte **Import dat z CSV** - V dialogovém okně pro import **nastavte kódování znaků** CSV souboru na UTF-8 - Zvolte **soubor pro import** - Klikněte na **tlačítko Importovat data** Doporučujeme nejdříve testovací import dat jednoho uživatele, optimálně takového, který má v příjmení diakritiku aby se ověřila jak správnosti polí, tak správnost kódování.