Archiwum kategorii: Biblioteka

Nowa kompilacja Bibliotekarza .NET 1.6.0.7

Dziś szybki wpis. Ponieważ w pewnym momencie system KaRo, z którego Bibliotekarz korzystał w celu pobierania danych publikacji, został uaktualniony do wyższej wersji i przestał być wstecznie kompatybilny, wyszukiwanie po numerze ISBN przestało działać. Ponieważ pojawiły się prośby o przywrócenie tej funkcjonalności, w porozumieniu z twórcą systemu KaRo, Panem Tomaszem Wolniewiczem, przygotowałem zmianę do Bibliotekarza. Ponieważ kody źródłowe, które posiadam są bardzo mocno zmodyfikowane, musiałem powrócić do działającej wersji 1.6.0.7. Nie mam żadnego mechanizmu sprawdzenia poprawności kompilacji, tak więc mogą się pojawić w tej wersji błędy, w funkcjach, które kiedyś już były poprawiane. Czekam zatem na ewentualne sygnały o niespodziewanych problemach. W wersji tej powinna być (sic!) poprawiona współpraca z systemem Windows 7 i 8 (taką mam nadzieję :)). Odważnych zachęcam do zrobienia kopii bezpieczeństwa bazy danych (mqs.mdb) i zainstalowania poniższej wersji.

Bibliotekarz.NET 1.6.0.7C

 

 

Pytania użytkowników Bibliotekarza .NET – część 5

Dziś kolejny zestaw pytań i odpowiedzi.

Pytanie 1

Czy mogę zaimportować dane do bazy danych Bibliotekarza.NET v.1.6 z np. tabeli prowadzonej w Excel ?

Odpowiedź

Tak, jest to jak najbardziej możliwe. Program przechowuje dane w formacie bazy danych Microsoft Access 2007. Plik bazy nazywa się mqs.mdb i domyślnie znajduje się w katalogu domowym użytkownika. Firma Microsoft stworzyła różnego rodzaju mechanizmy łączenia źródeł danych w swoich produktach z pakietu Office, co może być pomocne przy konwersji. Oczywiście do osoby, która będzie konwertowała dane należy odpowiednie utworzenia skryptów, które będą pasowały do schematu danych w bazie Bibliotekarza, oraz schematu danych w formularzu Excel.

Pytanie 2

Czy będzie możliwość w tym programie podglądu ilości wypożyczeń danej ksiązki? Widziałam w skontrum podobną opcję aczkolwiek program nie potrafi odnaleźć danej kwestii. Czy ta opcja jest jeszcze w budowie?, jeśli tak to prosiłabym o podanie mniej więcej na kiedy byłoby to skończone. Pozdrawiam serdecznie i proszę o szybką odpowiedź.

Odpowiedź

Pomysł bardzo fajny i godny realizacji. Niestety program aktualnie nie posiada takiej funkcji. Odpowiadającym dla tego raportu po stronie czytelników, jest raport najaktywniejszych czytelników. Muszę przemyśleć nowy system generowania raportów, pasujący jednocześnie dla aplikacji WWW. Jeżeli to się uda, to tego rodzaju raport, będzie pierwszym do realizacji.

Pytanie 3

Czy można zmniejszyć wydruk kart bibliotecznych dla użytkowaników do proporcji kart płatniczych?
Lub dodać możliwość wyboru wielkości drukowanej karty bibliotecznej.

Odpowiedź

Program nie posiada możliwości zmiany rozmiaru wydruków – generator, z którego korzystam oczekuje stałych wartości liczbowych dla wymiarów. Pozostaje "poeksperymentowanie" ze skalowaniem wydruku za pomocą ustawień jakie oferuje drukarka. Lepszej propozycji na dzień dzisiejszy nie mam. W przyszłości, jeżeli uda się zmienić silnik raportowy na coś znacznie prostrzego, skalowanie powinno być możliwe. Niemniej nie nastawiałbym się na szybkie wdrożenie takiej zmiany, gdyż ma ona nie wysoki priorytet.

Pytanie 4

Witam serdecznie. Mam problem z otwarciem bazy przeniesionej z innego komputera bardzo bym prosiła o jakieś wskazówki jak mogę rozwiązać ten problem. Bardzo proszę o szybką odpowiedź.

Odpowiedź

W takich przypadkach zawsze działa rozwiązanie poniższe:

  • uruchomić program (pojawi się komunikat problemu otwarcia bazy)
  • zamknąć bazę danych poprzez menu programu (o ile jest taka możliwość)
  • otworzyć bazę danych poprzez menu programu, wskazując na odpowiedni plik mqs.mdb (lub wybraną przez siebie nazwę bazy)

Problem powinien być rozwiązany. Tego typu problemy pojawiają się przeważnie, gdy oryginalny plik bazy danych zostnaie przeniesiony w inne miejsce. Program zapamiętuje ostatnią lokalizację pliku bazy i przy kolejnym uruchomieniu próbuje otworzyć bazę ze znanej mu lokalizacji.

Pytanie 5

Już kiedyś zgłaszałam mój problem, mianowicie po wydrukowaniu kart czytelnika kod kreskowy często styka się z obramowaniem karty, w efekcie czego czytnik nie rozpoznaje kodu. W związku z tym mam pytanie, czy mógłby Pan odsunąc kod od ramki (o ile jest to w ogóle wykonalne :)).
Natomiast druga sprawa to już jest bardziej i prośba i sugestia – czy karty czetelników możnaby było generować i tym samym drukować po kilka na jednej stronie (tak jak to jest zrobione w przypadku naklejek na ksiązki)?

Odpowiedź

Domyślam się, że numer czytelnika jest długim ciągiem znaków, co powoduje, że wygenerowany kod jest bardzo długi. Jest to przykład nie wystarczającego przetestowania różnych scenariuszy działania programu, w rezultacie czego powstał taki błąd i problem. Dość łatwo by było odsunąć kod kreskowy, ale zezłościć się mogą użytkowicy, którzy wydrukowali połowę kart, a druga połowa będzie miała kod w innym miejscu 😐 Niemniej postaram się usunąć ten błąd w styczniu. Co zaś tyczy się drugiego pytania, to odpowiedź brzmi: tak, ale raczej tylko w nowym mechaniźmie generowania wydruków, który nie jest jeszcze nawet opracowany.

 

Pytania użytkowników Bibliotekarza .NET – część 4

bibliotekarzZgloszenia W programie dostępny jest mechanizm zgłaszania sugestii czy też błędów, z którego od czasu do czasu jakiś użytkownik korzysta. Dla mojego własnego dobra powinienem ten formularz usunąć i pozostawić informację o tym aby komunikować się za pośrednictwem poczty email 🙂 Dlaczego? A no dlatego, że zgłoszenia te lądują w miejscu, do którego nigdy (przyznaję się bez bicia) nie zaglądam już. W ramach minimalnej rehabilitacji spróbuję odpowiedzieć na pytania, które tam dziś znalazłem.

Pytanie 1.

… w bibliotece szkolnej w naszej szkole chcieli byśmy udostępnić księgozbiór online i dlatego potrzebowali byśmy wersji HTML dla strony www,  iewiemy jednak czy jest możliwe wygenerowanie w miarę czytelnej wersji? proszę o odpowiedź na adres …@gmail.com

Odpowiedź

Aktualnie wbudowaną w program jedyną funkcją jest eksport do pliku HTML. Aby otrzymać taki plik należy:

  • wyszukać wszystkie woluminy (nie podajemy żadnych dodatkowych parametrów wyszukiwania),
  • kliknąć prawym przyciskiem myszki na lisćie wyników,
  • wybrać z menu opcję: Generuj Raport HTML

Sam raport nie wygląda zbyt "uroczo", ale przy odrobinie znajomości HTMLa można zdziałać z nim przysłowiowe cuda. Oczywiście nie jest to prawdziwy katalog Online, a na taki z prawdziwego zdarzenia, trzeba niestety jeszcze poczekać. Poniżej okienko obrazujące akcję generowania raportu HTML.

bibliotekarzGenerujRaport

Pytanie 2

Mój problem w tym programie polega na wartościach woluminów do roku 1994 po którym nastąpiła denominacja. Jak wpisywać wartoś aby program zapisł właściwie ceny ksiązek po denominacji ?

Odpowiedź

Program (o ile skleroza nie robi mi psikusów) jest świadom denominacji i wszystkie wartości pozycji z przed denominacji należy podawać w walucie obowiązującej w chwili nabycia. Aby program wiedział, czy na przeliczać wartość danej pozycji, należy poprawnie wypełnić pole Data Nabycia na karcie woluminu. Poniżej obraz, na którym zaznaczyłem miejsce wprowadzenia niezbędnych danych.

bibliotekarzDataNabycia

Pytanie 3

Witam!
Pisze z powodu wyskoku napisu ,,Wpisz Hasło,, jak ja nawet nie mam konta!!!

PS:Proszę o szybką odpowiedź.

Odpowiedź

Na wstępie przepraszam, za niezbyt szybką odpowiedź (już prawie 3 tygodnie minęły). Co zaś tyczy się pytania. Program nie jest człowiekiem i nie pyta o hasło na złość. Jeśli konta nie ma, to nie zapyta o hasło. Widze tu trzy możliwości:

  • nie ma Pan konta, bo to nie jest Pana system i nie powinien mieć Pan do niego dostepu. To tłumaczy dlaczego nie zna Pan hasła,
  • ktoś pod Pana nieobecność założył konto i hasło i zrobił Panu psikusa,
  • założył Pan konto, ale o tym nie pamięta.

Niemniej w takich przypadkach, zawsze polecam przesłanie do mnie pliku bazy (plik mqs.mdb), z którego mogę usunąć i konto i hasło. Odzyskanie hasła do instniejącego konta jest fizycznie niemożliwe.

Pytanie 4

Program przestał działać po zainstalowaniu aktualizacji systemu operacyjnego windows8 do wersji 8.1
Komunikar:
Szczegółowe informacje na temat wywoływania debugowania w trybie JIT (just in time)
zamiast tego okna dialogowego znajdują się na końcu tego komunikatu.

************** Tekst wyjątku **************
System.Data.OleDb.OleDbException: Błąd dysku lub sieci.
   w System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
   w System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   w System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
   w System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   w System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactor

Odpowiedź

Tego typu problemu są najtrudniejsze do rozwiązania z kilku powodów:

  • wersja dostępna do ściągnięcia przez stronę WWW została utworzona prawie 2 lata przed wydaniem systemu Windows 8, czyli tak naprawde program nigdy nie miał pojęcia, że przyjdzie mu działać na takim środowisku. PS: Sam jestem zdziwiony, że działało choć przez chwilę na 8ce.
  • błędy tego typu mogą mieć przeróżne podłoże i nie da się jednoznacznie określić ich przyczyny, ale w takich przypadkach sugeruje metodę opisaną poniżej.
  1. Czy uruchamiasz program z prawami Administratora? Jeżeli nie, może być to konieczne. Program powstawał za czasów gdy pojęcie UAC nie istniało i dla poprawnego działania może być wymagane uruchomienie programu w trybie administratora. Sprawdź czy to rozwiązanie pomaga.
    bibliotekarzJakoAdministrator
  2. Czy masz dostęp do swojej bazy danych? Czasami użytkownicy zapominają skopiować bazę danych, potem reinstalują system, a pliki znikają. Warto wtedy posłużyć się kopią bezpieczeństwa. Prawda, że wszyscy je regularnie robicie? 🙂 Żeby sprawdzić, że masz dostep do bazy danych, najlepiej zrób tak:
    Po uruchomieniu programu zamknij komunikat błędu, następnie zamknij bazę danych, a następnie otwórz ponownie bazę danych wskazując plik ostatniej kopii bezpieczeństwa. Jeżeli komunikat się ponownie pojawił (identyczny !) to może świadczyć o uszkodzeniu plików systemowych lub niekompatybilności z danym systemem. PS: Czy ktoś z użytkowników systemu Windows 8 lub 8.1 może potwierdzić, że program mu działa / niedziała ?
    bibliotekarzJakoZamknijOtworz
  3. Czy baza otwiera się na innym komputerze? Skopiowanie bazy danych (plik mqs.mdb z folderu Moje Dokumenty) na inny komputer i zainstalowanie na tym komputerze może wykluczyć problem spójności danych i skierować podejrzenie na system operacyjny komputera, na którym program przestał działać. Najszybsza metoda to instalacja programu np na laptopie, nastepnie wyszukanie na tymże laptopie pliku mqs.mdb (to będzie pusta baza zainstalowana razem z programem) i nadpisanie go plikiem naszej prawdziwej bazy, skopiowanym z komputera, na którym pojawił się problem.

Na dziś to tyle pytań i odpowiedzi. W najbliższym czasie postaram się dodać jeszcze kilka pytań, a w szczególności odpowiedzi na nie.

48h projekt – Jak stworzyć aplikację w weekend

PartyMixer Screen

Wstępniak

Dziś znów troszeczkę obok głownego tematu Bibliotekarza, ale z drugiej strony bardzo blisko tematu nowego systemu Bibliotekarz.NET WWW. Będąc szczęśliwym posiadaczem wolnego weekendu, mogłem poświęcić czas na pracę przy technologiach aplikacji internetowych. Temat o tyle ważny, że przy okazji jest rozpoznaniem ogniem możiwości technologicznych oraz hostingu jaki jest w tym przypadku niezbędny. Mój wybór padł na MVC 4, bazę danych SQL Server i hosting Windows Azure. O ile MVC 4 i SQL Server są dla mnie chlebem powszednim, to Windows Azure był nową przygodą, która o dziwo skończyła się bardzo miło. Jestem pod wrażeniem łatwości korzystania z tej usługi (niewielki zgrzyt pojawił się przy migracji danych z lokalnej bazy danych) i przejrzystości interfejsu.

Geneza aplikacji

Na pomysł projektu wpadłem w piątek wieczór, gdy zmęczony po tygodniu pracy zapragnąłem napić się "kolorowego" drinka. Skierowałem się do mojej skromnej półeczki anonimowego alkoholika w celu wybrania składników. Zmęczonym wzrokiem spojrzałem na zestaw różnokoloroych butelek i zrozumiałem, że nie mam pojęcia jaki drink mogę zrobić. Pomyślałem: jak zwykle czeka mnie godzina ślęczenia przed komputerem, szukaniem przepisów na drinki i być może ciągłym bieganiem i sprawdzaniem czy ja mam sok z grenadyny, czy ja mam alkohol Kahlua, czy ja mam kolejny egzotyczny składnyk drinka… Czy mieliście kiedykolwiek podobne uczucie?

Uznałem, że tak być nie może dłużej. Potrzebuję systemu, któremu powiem: ja w domu mam sok pomarańczowy, sok z limonki, cytrynę (ale mogę ją wycisnąć albo pokroić, więc mam sok z cytryny, plastry cytryny, ćwiartki cytryny), lód w kostkach (ale mogę go też pokruszyć jakby co, więc mam też kruszony), mam wódkę, rum, gin, wermut wytrawny… a Ty drogi systemie powiedz mi szybko co ja z tego mogę fajnego zrobić. I tak w 48h (około 14h pracy) powstał system: http://drinksmixer.azurewebsites.net/

Zasady działania

Podstawową ideę przestawiłem w poprzednim akapicie. Cechy jakie chciałem nadać aplikacji to: prostota i szybkość działania. Rola użytkownika sprowadza się do:

a) założenia konta
b) wybrania z gotowej listy, składników, które posiada już w domu
c) kliknięcia przycisku: Wyświetl listę drinków, które mogę zrobić.

Prostę prawda? Oczywiście funkcjonalność aplikacji może być rozszerzana o kolejne ciekawe funkcje, ale to jak zawsze wymaga czasu. Na dziś dzień jest dodatkowo udostępniona prosta przeglądarka drinków i możliwość dodawania drinków (bardzo prosty interfejs) przez użytkowników. W przyszłości system wzbogaci się o inteligentny system podpowiedzi: jakie składniki użytkownik powinien kupić aby zrobić jak najwięcej możliwych drinków, pojawią się kategoryzację drinków, będę chciał rozbudować zakres informacji widocznych na stronie opisującej sposób przygotowania napoju i wiele, wiele innych.

Pomoc poszukiwana

Siła systemu leży w bogactwie bazy danych drinków. Aktualnie wprowadziłem ich około 20, ale jest to żmudna praca i trochę szkoda mi czasu na to, jak mógłbym go poświęcić na rozwijanie funkcjonalności aplikacji. Dlatego bardzo chętnię nawiążę kontakt/współpracę z kimś kto uważa, że pomysł jest "zacny" i chętnie poświęci swój czas na rozbudowę bazy drinków i składników. Ktoś zainteresowany?

Link do systemu: http://drinksmixer.azurewebsites.net/ (aplikacja wyświetla dane po polsku lub angielsku w zależności od lokalizacji ustawionej w przeglądarce internetowej).

Zapraszam gorąco do komentowania pomysłu, co Wam się podoba, co się nie podoba.

Projekt „W” zakończony

web-1aNa miesiąc po zakończeniu projektu "W" przyszła ta miła chwila, kiedy to mogę i chcę wyjawić czym zajmowałem się przez ostatni rok. A zajmowałem się… planowaniem Wielkiego Dnia. Planowanie to nazwałem projektem "W". Pracy było zatrzęsienie i każdą wolną chwilę spędzałem (spędzaliśmy) na omawianiu szczegółów, wybieraniu, zamawianiu, dopasowywaniu…

Wszystko pięknie się udało i oto 10 sierpnia zmieniłem stan cywilny na coraz mniej popularny stan – żonaty.

Co dalej? Czy może znajdzie się więcej czasu dla aplikacji WWW, czy może jakiś inny projekt będzie w planach? Czas pokaże…

A w między czasie Wypijcie nasze zdrowie.