Package: django-bpp
django-bpp==========.. image:: https://circleci.com/gh/mpasternak/django-bpp.svg?style=shield:target: https://circleci.com/gh/mpasternak/django-bpp.. image:: https://readthedocs.org/projects/django-bpp/badge/?version=latest:target: http://django-bpp.readthedocs.io/pl/latest/?badge=latest:alt: Dokumentacja.. image:: https://coveralls.io/repos/github/mpasternak/django-bpp/badge.svg:target: https://coveralls.io/github/mpasternak/django-bpp:alt: Coverage.. role:: bash(code):language: bash.. image:: https://github.com/mpasternak/django-bpp/raw/dev/src/bpp/static/bpp/images/logo.png:height: 128 px:width: 128 px:align: center:alt: Logo projektuO projekcie-----------django_bpp to system informatyczny do zarządzania bibliografią publikacjipracowników naukowych. Oprogramowanie przeznaczone jest dla bibliotek naukowychi uniwersyteckich w Polsce. Oprogramowanie dystrybuowane jest na zasadachotwartoźródłowej `licencja MIT`_.Dokumentacja dostępna jest na stronie https://readthedocs.org/projects/django-bpp/badge/?version=latest . Jest tam dostępna aktualna, rozwijana dokumentacja zarówno dla najnowszej wersi systemu BPP, przeznaczona zarówno dla administratora systemu jak i dla użytkownika końcowego.Wersja demo serwisu-------------------Live-demo serwisu dostępne jest pod adresem http://bppdemo.iplweb.pl . W raziepytań lub problemów z dostępem do serwisu demonstracyjnego prosimy o kontaktpod adresem e-mail michal.dtz@gmail.com.Dla kogo niniejsza dokumentacja?--------------------------------Niniejsza dokumentacja przeznaczona jest dla programistów i zaawansowanychużytkowników komputerów. Jeżeli jesteś bibliotekarzem i szukasz sposobu naszybkie wdrożenie systemu django-bpp w swojej instytucji, zapraszam na stronęfirmy IPLWeb_ . Znajdziesz tam m.in. kontener maszyny wirtualnej zawierającejpre-instalowany system django-bpp, gotowy do pracy, jak równiez bogatą ofertęwsparcia komercyjnego.Możesz również prześledzić poniższy proces ze szczegółami, aby dowiedzieć się,na czym polega tzw. "full-stack dev ops".Wymagania systemowe~~~~~~~~~~~~~~~~~~~Oprogramowanie docelowo działa na Ubuntu Linux 16.04, a rozwijane jest na MacOS X. Większość opisanych tu procedur jest testowana własnie na tych systemach.Nic nie stoi na przeszkodzie, aby spróbować uruchomić niniejsze oprogramowaniena Windows, jednakże na ten moment nie jest to wspierana konfiguracja.Jak zacząć?-----------Zainstaluj:* Python_ w wersji 3.6,* Vagrant_,* VirtualBox_,* yarn_,* Docker_Wymagane oprogramowanie serwerowe, w tym PostgreSQL_, RabbitMQ_, redis_ zostaniezainstalowane i skonfigurowane przez skrypty Ansible_ na maszynie wirtualnejzarządzanej przez Vagrant_. Jest to zalecany sposób testowania i rozwijaniaprogramu, który docelowo działać ma na platformie Ubuntu Linux 16.04 na"metalowych" serwerach.Rozwijanie programu z kolei - budowanie pakietów wheel języka Python_, testowanieza pomocą Selenium_, zapewnienie szybko skonfigurowanej bazy danych obsługujeDocker_.Jeżeli używasz macOS:~~~~~~~~~~~~~~~~~~~~~Większość procedur instalacyjnych możesz załatwić przez Homebrew_:.. code-block:: bashbrew install grunt-cli yarn npm ansible python gitbrew cask install vagrant vagrant-manager virtualboxKlonowanie repozytorium z kodem~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Sklonuj repozytorium z kodem:.. code-block:: bashgit clone https://github.com/mpasternak/django-bpp.gitcd django-bppKonfiguracja pakietów języka JavaScript~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Zainstaluj globalnie wymagane pakiety JavaScript za pomocą yarn_.Zainstaluj następnie wymagane przez django-bpp pakiety:.. code-block:: bashyarn global add grunt-cliyarn installKonfiguracja Pythona~~~~~~~~~~~~~~~~~~~~Zainstaluj virtualenv oraz virtualenvwrapper_.:.. code-block:: bashpip install virtualenv virtualenvwrapperStwórz i zaktywizuj wirtualne środowisko języka Python:.. code-block:: bashmkvirtualenv django-bppworkon django-bppZainstaluj wymagane pakiety:.. code-block:: bashpip install -r requirements_dev.txtKonfiguracja Vagrant_~~~~~~~~~~~~~~~~~~~~~Zainstaluj wymagane wtyczki do Vagrant_:.. code-block:: bashvagrant plugin install vagrant-hostmanager vagrant-timezone vagrant-cachierStwórz testowy serwer wirtualny ("staging"):.. code-block:: bashvagrant upPrzygotuj środowisko budowania~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Ustaw zmienne środowiskowe na cele lokalnego developmentu:.. code-block:: bashexport DJANGO_SETTINGS_MODULE=django_bpp.settings.localexport PGHOST=localhostexport PGUSER=postgresMożesz umieścić te ustawienia w pliku ``bin/postactivate`` środowiskawirtualnego utworzonego przez ``mkvirtualenv``. Domyślnie znajduje się onw katalogu ``~/.envs/django-bpp/bin/postactivate``.Zbuduj pliki CSS i JavaScript~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Następnie uruchom skrypt aby przygotować środowisko budowania oraz kolejnyskrypt, aby zbudować pliki CSS i JS. Skrypty teinstalują wymagane przez interfejs WWW pakiety języka JavaScript za pomocąyarn_ oraz konfigurują bibliotekę Foundation_ budując jąza pomocą Grunt_ i SASS. Następnie kompilują tak uzbierane pakiety za pomocądjango-compressor_... code-block:: bashmake assetsUruchom lokalne testy~~~~~~~~~~~~~~~~~~~~~Uruchom testy lokalnie. Domyślna konfiguracja oczekuje, iż serwer bazodanowyPostgreSQL_ dostępny będzie na porcie 5432 komputera localhost i obsługiwałbędzie język PL/Python 2 oraz sortowanie wg polskiego locale pl_PL.UTF8.Testy oczekują również, iż serwer Selenium_ dostępny będzie na porcie 4444hosta lokalnego, jak również dostępny będzie serwer Redis_ na standardowymporcie 6379. Jak uruchomić szybko te wszystkie usługi w sposób wstępnieskonfigurowany, wymagany przez django-bpp? Z pomocą przychodzi Docker_:.. code-block:: bashdocker-compose up -dNastępnie uruchom testy na maszynie lokalnej:.. code-block:: bash# Ustaw zmienne środowiskowe aby korzystać z kontenerów Dockera:. local.rc# Skonfiguruj interfejs lo0 (MacOS X) aby kontener 'selenium' miał# dostęp do live-servera Django uruchamianego na interfejsie# lokalnym:make setup-lo0# Zbuduj/pobierz pakiety WHL, używane później w nasętępnym kroku przez# tox:make wheels bdist_wheel# Uruchom testymake testsW przyszłości możesz uruchamiać testy z opcją ``--no-rebuild``, aby nieprzebudowywać za każdym razem bazy danych.Jeżeli któryś test "utknie" - zdarza się to przezdewszystkim przy testach korzystających z przeglądarki, Selenium i live-serveraDjango, możesz podejrzeć serwer testowy za pomocą oprogramowania typu`VNC Viever`_ (wejdź na adres VNC :bash:`localhost:5900`, wpisz hasło"secret" bez cudzysłowu i zapoznaj się z sytuacją po stronie przeglądarkiWWW).Release~~~~~~~Zbuduj wersję "release". Poniższe polecenie uruchomi testy na docelowym systemieoperacyjnym (Linux) oraz zbuduje wersję instalacyjną systemu. Jest to to samopolecenie, które uruchamiane jest na serwerze ciągłej integracji Travis-CI_... code-block:: bashmake travisAby zainstalować aktualną wersję pakietu django-bpp na serwerze staging, skorzystajz polecenia:.. code-block:: bashmake stagingNastępnie wejdź na adres http://bpp-staging.localnet/ aby sprawdzićfunkcjonowanie serwera... _Python: http://python.org/.. _yarn: https://yarnpkg.com/en/docs/install.. _Vagrant: http://vagrantup.com/.. _vagrant-hostmanager: https://github.com/devopsgroup-io/vagrant-hostmanager.. _Virtualbox: http://virtualbox.org.. _virtualenvwrapper: https://virtualenvwrapper.readthedocs.io/en/latest/install.html.. _IPLWeb: http://bpp.iplweb.pl/.. _PostgreSQL: http://postgresql.org/.. _Licencja MIT: http://github.com/mpasternak/django-bpp/LICENSE.. _VNC Viever: https://www.realvnc.com/download/viewer/.. _Grunt: http://gruntjs.com/.. _Foundation: http://foundation.zurb.com/.. _django-compressor: https://django-compressor.readthedocs.io.. _Ansible: http://ansible.com/.. _RabbitMQ: http://rabbitmq.com/.. _redis: http://redis.io/.. _Homebrew: http://brew.sh.. _Docker: http://docker.io/.. _Selenium: http://seleniumhq.org.. _Travis-CI: https://travis-ci.org/mpasternak/django-bpp/buildsWsparcie komercyjne-------------------Wsparcie komercyjne dla projektu świadczy firma IPL, szczegóły na stronieprojektu http://bpp.iplweb.pl/==============Historia zmian==============1.0.4 (2018-02-13)------------------* poprawienie błędu wyszukiwania autorów w przypadku, gdy w wyszukiwanymciągu znajdzie się spacja,* zezwalaj na dowolną wartość zapisanego imienia i nazwiska w moduleredagowania,* umożliwiaj wyszukiwanie po pierwszym nazwisku i imieniu (pierwszy autor,redaktor, etc)1.0.1 (2018-01-01)------------------* wyświetlanie danych OpenAccess na widoku pracy,* wyświetlanie DOI w opisach bibliograficznych, raportach oraz widoku pracy,* poprawiony błąd budowania zapytania SQL na potrzeby wyszukiwania pełnotekstowego0.11.112 (2017-12-09)---------------------* wyszukiwanie konferencji w globalnej nawigacji modułu redagowania0.11.111 (2017-11-16)---------------------* poprawiony błąd związany z wyborem pola "tylko prace z afiliowanych jednostek"występujący w formularzu raportu autorów* optymalizacja wyświetlania podstrony jednostki w przypadku, gdy zawieraona więcej, niż 100 autorów.0.11.109 (2017-11-14)---------------------* możliwość przejścia do panelu redagowania z każdej strony serwisu, gdzietylko ma to sens (jednostki, autorzy, artykuły, wydziały),* kosmetyczne poprawki wyświetla raportów,* poprawiony błędny warunek dla funkcji raportu autorów "uwzględniaj tylkoprace afiliowanych jednostek uczelni",0.11.107 (2017-11-12)---------------------* opcja "Stwórz autora" tworzy domyślnie autora niewidocznego na stronachjednostek, kapitalizując nazwiska,* poprawiono błąd powodujący niepoprawne działanie funkcji usuwaniapojedynczych rekordów z wyników wyszukiwania.0.11.106 (2017-11-10)---------------------* możliwość łatwego przechodzenia z formularza edycji w module redagowania dostron WWW dostepnych dla użytkownika końcowego* [kod] generowanie opisu bibliograficznego autorów za pomocą systemutemplatek Django; usunięcie kodu generowania opisu bibliograficznegoautorów za pomocą własnych tagów,* pole "Pokazuj na stronach jednostek" dla Autorów staje się polem "Pokazuj"i określa widoczność autora na stronie jednostki oraz w "Rankingu autorów"0.11.104 (2017-11-08)---------------------* usunięto błąd uniemożliwiający edycję już zapisanego autora w rekordachwydawnictwa ciągłego i zwartego0.11.103 (2017-11-06)---------------------* od tej wersji, dla wydawnictw zwartych, gdzie określone jest wydawnictwo nadrzędne,nie ma już potrzeby uzupełniania pola "Informacje", gdyż system w opisiebibliograficznym użyje tytułu wydawnictwa nadrzędnego,* miniblog - możliwość umieszczenia aktualności na pierwszej stronie serwisu.* obsługa przycisku "Uzupełnij rok" dla wydawnictwa zwartego (uzupełnia danena podstawie pola "Szczegóły" bądź z "Wydawnictwo nadrzędne") oraz dlawydawnictwa ciągłego (uzupełnia dane na podstawie pola "Informacje").0.11.101 (2017-11-03)---------------------* opcjonalne uwzględnianie prac spoza jednostek uczelni w raportach autorów,* naprawiono działanie konektora OAI-PMH,* "prawdziwa" funkcja "pozostałe prace" dla raportów,* poprawione wyświetlanie rekordów (poprawna obsługa tagów "sup" i "sub"w opisach bibliograficznych).0.11.90 (2017-09-23)--------------------* opcjonalne rozbicie na jednostki i wydziały w rankingu autorów* możliwość ukrycia pola "Praca recenzowana"* poprawki wyświetlania podstron autora i jednostki0.11.77 (2017-09-19)--------------------* poprawiono liczenie punktacji sumarycznej w rankingu autorów* poprawiono wyszukiwanie dla podanych jednocześnie par autor + jednostka* poprawki wydajności wyszukiwania0.11.55 (2017-08-30)--------------------* domyślne sortowanie rankingu autorów* obsługa PostgreSQL 9.60.11.53 (2017-08-29)--------------------* poprawiony błąd eksportowania plików XLS i DOCX utrudniający ich otwieranie* poprawiony błąd wyszukiwania dla pola "Źródło"* opcjonalne ukrywanie elementów menu serwisu dla użytkowników zalogowanychi niezalogowanych0.11.50 (2017-08-23)--------------------* poprawiony błąd uniemożliwiający sortowanie w rankingu autorów* tabela rankingu autorów stylizowana podobnie jak inne tabele w systemie* możliwość eksportowania rankingu autorów oraz raportów autorów, jednostek iwydziałów w różnych formatach wyjściowych (m.in. MS Excel, MS Word, CSV)0.11.43 (2017-08-15)--------------------* możliwość zmiany wyglądu kolorystycznego systemu* nowy framework raportów oparty o zapytania w języku DSL, obsługiwanyw pełni przez użytkownika końcowego* konfigurowalny czas długości trwania sesji - możliwość wybrania, jak długosystem czeka na reakcję użytkownika przed automatycznym jego wylogowaniem* autorzy przy wyszukiwaniu przez globalną nawigację oraz w module "Redagowanie"wyświetlani są zgodnie z ilością publikacji w bazie* możliwość automatycznego utworzenia autora i serii wydawniczejpodczas wpisywania rekordu - bez konieczności przechodzenia do innej częscimodułu redagowania* opcja resetu hasła w przypadku jego zapomnienia* konfigurowalny czas do przymusowej zmiany hasła, konfigurowalny modułzapamiętujący ostatnio wpisane hasła oraz konfigurowalna ilośćostatnio zapamiętanych haseł0.11.19 (2017-07-15)--------------------* do rekordu powiązania autora z wydawnictwem (zwartym, ciągłym lub patentem)dochodzi pole "afiliowany", domyślnie mające wartość 'PRAWDA'. Należy jeodznaczyć w sytuacji, gdyby autor danej publikacji zgłosił powiązaniedo jednostki będącej w strukturach uczelni w której jest zatrudniony jednakżejednoczasowo do tej publikacji zgłosił inną jednost* do rekordu wydawnictwa zwartego, ciągłego, patentu, pracy doktorskiej ipracy habilitacyjnej dochodzą pola "strony", "tom" i "numer zeszytu":- w sytuacji, gdy są wypełnione, to ich wartości są używane do eksportu PBN,- w sytuacji, gdy są niewypełnione, system spróbuje wyekstrahować te dane zpól "szczegóły" i "informacje" analizując ciągi znaków, poszukując ciągówtakich jak "vol.", "t.", "r.", "bd." dla tomu, "nr", "z.", "h." dla numeruzeszytu, "ss." lub "s." dla stron, "b. pag." dla braku paginacji,- podczas edycji rekordu w module "redagowanie" pola te zostaną uzupełnioneprzez system na podstawie pól "szczegóły" i "informacje" gdy użytkownikkliknie odpowiedni przycisk; w takiej sytuacji pola te, jeżeli zawierająjakieś informacje, zostaną nadpisane.* konferencje - w module redagowania można dopisywać dane o konferencjach, którenastępnie mogą być przypisane do wydawnictwa ciągłego lub wydawnictwazwartego* struktura - w module redagowania za pomocą rekordu uczelni można ukryćwyświetlanie punktacji wewnętrznej oraz Index Copernicus* autor - nowe pole "Open Researcher and Contributor ID"* wygodna edycja kolejności wydziałów w module Redagowanie➡Struktura➡Uczelnia* poprawiono błąd związany z obsługą pola dla rekordu Autor "Pokazuj na stroniejednostki". Autorzy którzy mają to pole odznaczone, nie będą prezentowanina stronach jednostek.* dla typów KBN można określać odpowiadający im charakter PBN. Pole to zostanieużyte jako fallback w sytuacji, gdy rekord charakteru formalnego do któregoprzypisana jest dana praca nie ma określonego odpowiadającego mu charakteruPBN* podgląd na znajdujące się w bazie charaktery PBN i przypisane im charakteryformalne i typy KBN w module "Redagowanie"* w bloku "Adnotacje" w module "Redagowanie" wyświetla się ID oraz PBN ID* pola "Seria wydawnicza" oraz "ISSN" dla wydawnictwa zwartego* możliwość określania nagród oraz statusu wybitności pracy dla rekordówwydawnictw zwartych i wydawnictw ciągłych* możliwość filtrowania po statusach openaccess w module "Wyszukiwanie" dlaużytkowników niezalogowanych0.11.0 (2017-07-05)-------------------* obsługa Python 3 + Django 1.100.10.96 (2017-04-02)--------------------* pierwsza publicznie dostępna wersja