Coder Social home page Coder Social logo

arup-cas / aiscr-webamcr Goto Github PK

View Code? Open in Web Editor NEW
5.0 7.0 0.0 14.04 MB

Archeologická mapa České republiky

Home Page: https://amcr-info.aiscr.cz/

License: GNU General Public License v3.0

Dockerfile 0.02% PLpgSQL 2.35% Python 48.85% Shell 0.82% HTML 14.31% CSS 0.91% JavaScript 26.71% SCSS 6.04%
archaeology data-curation digital-archive fair repository

aiscr-webamcr's Introduction

aiscr-webamcr's People

Contributors

actions-user avatar dependabot[bot] avatar huld-lab avatar jhavrlant avatar jiri-bartos-huld avatar jnihnat avatar maxkosta avatar motyc avatar najiva avatar pbartosova avatar pesikj avatar pkudela avatar sedmar avatar vojtakus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

aiscr-webamcr's Issues

REQ-G-5 Potvrzovaci dialog box pred odeslanim formularu

Tady je pozadavek na confirmacni dialog box (napr. modal) pri posilani jakehokoli post requestu z formy vyplnene uzivatelem. Momentalne oznamovaci formular tuto funkcionalitu nema. Chceme ji uvazovat skutecne pro vsechny formy nebo tady to neni potreba?

Katastry nevést vždy jako jednotky PIAN

Katastry bychom měli mezi PIAN zařadit až při prvním použití, neměly by tak existovat zbytečné PIAN 4 (přesnost na katastr) bez vazeb. V praxi to znamená:

  • při migraci smazat PIAN s přesností 4 v případech, kdy na ně není napojena žádná dokumentační jednotka; dotaz na výběr je: SELECT pian.* FROM heslar_nazev INNER JOIN (heslar INNER JOIN (pian LEFT JOIN dokumentacni_jednotka ON pian.id = dokumentacni_jednotka.pian) ON heslar.ID = pian.presnost) ON heslar_nazev.ID = heslar.nazev_heslare WHERE (((heslar_nazev.nazev)='pian_presnost') AND ((heslar.zkratka)='4' AND ((dokumentacni_jednotka.id) Is Null)))
  • při vytvoření nelokalizované dokumentační jednotky (viz #319 a #318) automaticky připojit existující PIAN 4 katastru, pokud již existuje (tj. když ruian_katastr.pian is not null tak dokumentacni_jednotka.pian = ruian_katastr.pian)
  • nebo automaticky vytvořit nový PIAN 4, pokud jej ještě daný katastr PIAN přiřazen nemá (tj. když ruian_katastr.pian is null), a následně jej připojit k DJ; vytvoření proběhne tak, že:
    -- pian.stav = 2
    -- pian.zm10 - určit podle ruain_katastr.definicni_bod
    -- pian.zm50 - podle pian.zm10
    -- pian.ident_cely - podle pian.zm50 a standardní procedury přidělování permanentního ID
    -- pian.typ = plocha
    -- pian.presnost = 4
    -- pian.geom = ruian_katastr.hranice
    -- pian.historie - standardně zaznamenat vytvoření PIAN
    -- ruian.pian = pian.ident_cely

REQ-P-4 Navrh a implementace views pro tranzakce projektu

Tranzakce projektu a jejich views

  • PX1 - ?
  • P12 - /projekt/prihlasit/ident_cely
  • P23 - /projekt/zahajit-v-terenu/ident_cely
  • P34 - /projekt/ukoncit-v-terenu/ident_cely
  • P45 - /projekt/uzavrit/ident_cely
  • P56 - /projekt/archivovat/ident_cely
  • P*7 - /projekt/navrhnout-ke-zruseni/ident_cely
  • P78 - /projekt/zrusit/ident_cely
  • P-1 - /projekt/vratit/ident_cely
  • P71 - /projekt/vratit-navrh-zruseni

Pro nahore zminene tranzakce omezit pristup na tyto URL podle pozadavku v URS (Transition permissions)

  • PX1 - ?
  • P12 - /projekt/prihlasit/ident_cely
  • P23 - /projekt/zahajit-v-terenu/ident_cely
  • P34 - /projekt/ukoncit-v-terenu/ident_cely
  • P45 - /projekt/uzavrit/ident_cely
  • P56 - /projekt/archivovat/ident_cely
  • P*7 - /projekt/navrhnout-ke-zruseni/ident_cely
  • P78 - /projekt/zrusit/ident_cely
  • P-1 - /projekt/vratit/ident_cely
  • P71 - /projekt/vratit-navrh-zruseni

Revize názvů heslářů

Bylo by vhodné hesláře po migraci přejmenovat a ujednotit jejich pojmenování (aby se v nich dalo lépe vyznat), a to následujícím způsobem:

heslar_aktivity -> aktivita
heslar_areal_druha -> areal
heslar_areal_prvni -> areal_kat
heslar_autorska_role -> autorska_role
heslar_dohlednost -> dohlednost
heslar_druh_lokality_druha -> lokalita_druh
heslar_druh_lokality_prvni -> lokalita_druh_kat
heslar_format_dokumentu -> dokument_format
heslar_jazyk_dokumentu -> jazyk
heslar_kulturni_pamatka -> pamatkova_ochrana
heslar_letiste -> letiste
heslar_material_dokumentu -> dokument_material
heslar_nahrada -> dokument_nahrada
heslar_nalezove_okolnosti -> nalezove_okolnosti
heslar_obdobi_druha -> obdobi
heslar_obdobi_prvni -> obdobi_kat
heslar_objekt_druh -> objekt_druh
heslar_objekt_kategorie -> objekt_druh_kat
heslar_pocasi -> pocasi
heslar_podnet -> adb_podnet
heslar_posudek -> posudek_typ
heslar_predmet_druh -> predmet_druh
heslar_predmet_kategorie -> predmet_druh_kat
heslar_presnost -> pian_presnost
heslar_pristupnost -> pristupnost
heslar_rada -> dokument_rada
heslar_specifikace_data -> datum_specifikace
heslar_specifikace_objektu_druha -> objekt_specifikace
heslar_specifikace_objektu_prvni -> objekt_specifikace_kat
heslar_specifikace_predmetu -> predmet_specifikace
heslar_tvar -> letfoto_tvar
heslar_typ_akce_druha -> akce_typ
heslar_typ_akce_prvni -> akce_typ_kat
heslar_typ_dj -> dok_jednotka_typ
heslar_typ_dokumentu -> dokument_typ
heslar_typ_externiho_zdroje -> ext_zdroj_typ
heslar_typ_lokality -> lokalita_typ
heslar_typ_nalezu -> nalez_typ
heslar_typ_organizace -> organizace_typ
heslar_typ_pian -> pian_typ
heslar_typ_projektu -> projekt_typ
heslar_typ_sondy -> adb_typ
heslar_typ_udalosti -> udalost_typ
heslar_typ_vyskovy_bod -> vyskovy_bod_typ
heslar_ulozeni_originalu -> dokument_ulozeni
heslar_zachovalost -> dokument_zachovalost
heslar_zeme -> zeme

Proklik z detailu projektove akce na projekt

Myslim ze by se proklik hodil ale nevim kam ho umistit, protoze projektove akce v detailu nemaji zadne info o rodicovskem projektu. Chtelo by tam nejake minimum nekde pridat.

REQ k zapracování

Do následujícího dokumentu jsem přehledněji zpracoval dosud nezahrnuté REQ vzešlé z analýzy issues ve starších repozitářích (tam jsem issue již naopal pročistil a po přepisu uzavřel). Jde o různé typy REQ, u kterých nevím, zda je mám rovnou zanášet do oficiálních požadavků, nebo zda to bude chtít @Najiva a @pkudela a @pbartosova probrat předem (týká se to asi všech).

https://docs.google.com/document/d/1Cjy3DzhAvRa7Ly1xnh75GnIZoGDetIErQZyUO-qwGc0/edit?usp=sharing

Tabulka "akce" pole "final_cj" - špatná hodnota

U projektových akcí ("typ" = R) má být asi všude final_cj automaticky "PRAVDA". Nyní je to nějak zvláštně. Nepravda logicky musí být jen u samostatných akcí, které mají stále v "ident_cely" X na začátku.

Migrace historie transakci akci do novych transakci

Akce po novu budou mit min stavu (viz stavovy diagram PA https://app.diagrams.net/#G1DU_x1cCJy4JuHP5A_8CPELRzlKhST9CP). Proto je krome namapovani starych stavu na nove (co jsem uz udelal v souboru 4_migrace_akce_stavy.sql) potreba premapovat transakce ktere jsou v tabulce historie v relaci k akci.

-- NOVE TRANZAKCE AKCI:
-- 1 - zapsani
-- 2 - odeslani
-- 3 - archivovani
-- 4 - vraceni COMMENT: bude samostatna tranzakce pro kazdy mezistav, nebo vzdy stejna?? u projektu je vzdy stejna

-- PUVODNI TRANZAKCE AKCI:
-- 1 - zapis
-- 2 - autorizace
-- 3 - (nebyl migrovan)
-- 4 - archivace_zaa
-- 5 - odlozeni_nz
-- 6 - podani_nz
-- 7 - (nebyl migrovan)
-- 8 - archivace

Optimalizace filesystému

Optimalizovat úložiště souborů tak, aby nebylo tolik zatěžující pro filesystem (vytvořením nové struktury složek). Data rozdělit z hlediska nutnosti zálohování a archivace do dílčích složek (vnitřní struktura bude odpovídat implementaci podle potřeb Djanga):

  • AG (původně navrženo AGPO) - automaticky generované soubory projektové dokumentace (oznameni z klienta stisknutí zapsat a pri vygenerování nového oznámení)
  • PD (původně navrženo OSPD) - ostatní soubory projektove dokumentace
  • SD (původně navrženo OSD) - soubory dokumentů při zápisu nového dokumentu
  • FN (původně navrženo FDN) - slozka pro fotodokumentaci samostatných nálezů
  • automaticky generované dokument řad ZA a ZL - zrušeno (nemigruje se; původně navrženo AGDZZ)

Podklady pro úpravu databáze (průběžně aktualizováno)

Upravit migrace tak aby heslar mel vzdy konstantni IDcka

Je potraba upravit migrace hesel tak aby bylo zajisteno ze IDcka budou porad stejna.

ORDER BY ID by to melo zajistit. Je potreba ale myslet na to ze z heslaru uz neni mozne nic mazat ani pridavat. Jinak je nezbytne to opet predelat aby byl vycet hesel primo v migracich jako konstatny.

Řešení pro datum_zahajeni a datum_ukonceni akce

Původní řešení
image

Nové řešení
Specifikace se zúží na následující varianty:

  • přesně -> přesně
  • po roce -> někdy v letech
  • před rokem -> někdy v letech
  • kolem -> někdy v letech
  • v letech -> přesně v letech
  • v roce -> přesně v letech
  • neznámo -> někdy v letech

Původní data v polích datum_zahajeni a datum_ukonceni budou nahrazeny daty z polí datum_zahajeni_v a datum_ukonceni_v (ty poté zaniknou).

Při vyplňování bude formulář nabízet:

  • přesně - dvě pole s výběrem dne
  • přesně v letech - dvě pole s výběrem roku
  • někdy v letech - dvě pole s výběrem roku

Všechny hodnoty "1000-01-01" v datum_zahajeni_v změnit na "1800-01-01".

Nepovolit zápis data níže než je 1600-01-01.

Migrace souborů do Fedory

Je třeba napsat novou funkci pro migraci do Fedory (obdoba DocumentGenerator.generate_metadata(*) (vč. možnosti spustit pro konkrétní id a pro konkrétní počet záznamů), která bude vycházet z tabulky soubor. Ta by měla:

  • Vyhledat nadřazený záznam (sam. nález, projekt, dokument)
  • V rámci kontejneru nadřazeného záznamu vytvořit kontejner pro soubory, pokud ještě neexistuje
  • Vybrat soubor z předdefinovaného úložiště na základě jeho názvu (adresa úložiště může být parametrem na vstupu)
  • Provést antivirovou kontrolu
  • Přenést soubor do Fedory
  • Vygenerovat náhledy
  • V DB aktualizovat pole rozsah, mimetype, path, size_mb a sha_512 podle skutečných údajů načtených ze souboru
  • Aktualizovat metadata nadřazeného záznamu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.