Archiwum kategorii: Biblioteka

Plan przyszłości programu w wersji 1.6

Moduł WWWCi, którzy jeszcze nie doczytali z poprzednich wpisów pewnie będą zaskoczeni, ale program w wersji 1.6 nie będzie rozwijany w sposób jaki to się działo w ostatnich latach (mam na myśli zarówno lata 2007-2011 jak i ostatnie dwa). Pomimo, że powstała prawie gotowa wersja 2.0 programu, bazująca na poprzedniej wersji, którą wszyscy doskonale znacie,  przyjęta ścieżka rozwóju zaprowadziła mnie w ślepy zaułek – praca nad drobiazgami i boksowanie się z błędami biblioteki UI Telerik'a zajmowało zbyt wiele czasu, a nie przynosiło oczekiwanych efektów. Dlatego też powstał pomysł napisania programu od zera, ale z uwzględnieniem potrzeb, które nie były obsługiwane przez Bibliotekarza w wersji 1.6. W szczególności, program powinien być (i mam nadzieje, że będzie) aplikacją WWW, dostępną również dla czytelników.

Ponieważ stworzenie aplikacji posiadającej nie mniejszą liczbę funkcji niż już działający program jest zadaniem bardzo pracochłonnych i trudnym do realizacji, nie będzie on dostarczony w takiej postaci w jakieś dostarczane były poprzednie wersje – zautomatyzowanego instalatora. Zamiast tego pojawiać się będą kolejne wydania posiadające coraz to nowsze, ale pojedyńcze funkcje. Rozciągnięcie w czasie dostarczenia "użytecznej" funkcjonalności pozwoli Wam na przeprowadzenie próbnych instalacji i nauczenie się tego procesu. Nie ukrywam, że z uwagi na fakt, że nowy program będzie aplikacją WWW, wymagana będzie "gimnastyka" przy instalacji. Sama automatyzacja tego procesu jest na samym końcu mojej listy priorytetów.

No dobrze. Ma powstać nowa wersja, stara ma nie być rozwijana. Pomyślicie zapewne: co z aktualnymi użytkownikami programu? Już odpowiadam. Jak tylko pojawi się nowa struktura bazy danych i pierwszy moduł aplikacji WWW, będzie czas na napisanie konwertera bazy ze starej wersji do nowej. W ten sposób aktualni użytkownicy będą mogli sami zadecydować, w którym momencie chcą przejść na nową wersję. Nie będzie jednak możliwości jednoczesnej pracy na interfejsie Windows'owym i WWW. Ten pociąg jedzie tylko w jedną stronę 🙂

I na koniec aktualny stan prac. Tworzę nową strukturę bazy danych. Jest to więc doskonały moment aby zaproponować wszelkie zmiany jakie wam się marzą i śnią, a czego nie macie w Bibliotekarzu 1.6. Pominięcie jakiegoś elementu teraz spowoduje, że wprowadzenie go w późniejszej fazie będzie ekstremalnie trudne. Zatem zachęcam do zgłaszania swoich propozycji. W szczególności skupcie się na tym co chcielibyście dodatkowo przechowywać w bazie danych, a czego nie ma aktualnie.

Pusta baza danych do pobrania

Czasami zdarza się potrzeba utworzenia nowego księgozbioru, a nie dysponujemy pustą bazą danych. Okazuje się, że jest to sytuacja dość powszechna. Jakie są powody tworzenia dodatkowych baz danych? Na to pytanie sami znacie najlepiej odpowiedź. Poniżej przedstawię kilka sposobów uzyskania czystej i gotowej do pracy z programem bazy danych. Ale wcześniej odrobina teorii.

Program instalując się tworzy na dysku w komputerze pustą bazę. Dzieje się tak tylko przy pierwszej instalacji programu. Domyślnie, plik bazy o nazwie mqs.mdb, jest tworzony w folderze Moje dokumenty aktualnie zalogowanego użytkownika. W celu ochrony księgozbioru użytkownika, kolejne próby zainstalowania programu nie nadpisują istniejącego pliku nową, pustą bazą dlatego w ten sposób nie można uzyskać kopii pustej bazy. Również odinstalowanie programu z komputera nie powoduje skasowania starej bazy danych, przez co plik na trwałe pozostaje w folderze Moje dokumenty.

Możemy jednak w dość prosty sposób "oszukać" program Bibliotekarz i jego instalator. Pierwsza z metod opiera się na zmianie nazwy istniejącej bazy danych z mqs.mdb np. na mqs_stara_baza.mdb. Należy jednak pamiętać, że po uruchomieniu programu pojawi się komunikat informujący o niemożliwości otwarcia bazy danych. Jest to dość oczywiste, bo właśnie przed chwilą ręcznie zmieniliśmy nazwę pliku, o czym program nie wie. Kolejnym krokiem powinno być odinstalowanie programu i jego ponowne zainstalowanie. Dzięki takiemu manewrowi nowy plik mqs.mdb zostanie utworzony na dysku.

Druga metoda jest mniej skomplikowana ale wymaga posiadania drugiego komputera. Najzwyczajniej w świecie instalujemy program na drugim komputerze, na którym dotychczas program Bibliotekarz.NET nie był instalowany i w ten sposób otrzymujemy plik bazy danych w folderze dokumentów użytkownika. Możemy go następnie na 100 różnych sposobów przenieść na komputer docelowy.

Trzecia i ostatnia metoda, to… pobranie pliku pustej bazy z tej lokalizacji. Minusem tej metody jest fakt, że plik został tutaj wgrany dla wersji 1.6.0.7 i nie będzie on kompatybilny z poprzednimi wersjami programu oraz może nie być kompatybilnym z wersjami, które pojawią się w przyszłości.

Wiosenne porządki bibliotekarza

sprzatanieTrudno było by się nie zgodzić z faktem, że przez ostatni rok strona Bibliotekarz.NET wydryfowała na wody, na których nie powinna się znaleźć. Większość wpisów na blogu dotyczyła tematów nie związanych z samym oprogramowaniem, a jedynie z pozostałymi moimi zainteresowaniami. Nadszedł więc ten moment, kiedy trzeba złapać za miotłę i posprzątać bałagan. W szczególności poukładać rzeczy na swoje miejsca. Zatem łapię za miotłę i zabieram się za robotę.

I od razu przejdę do prośby skierowanej do Was Drodzy czytelnicy. Jeżeli chcielibyście aby jakiś konkretny temat był opisany w ramach bloga, to proszę taką propozycję do mnie przesłać, czy to poprzez komentarz, czy też wiadomość na facebooku. Wspólnie popracujmy nad obudzeniem programu, który zapadł w śpiączkę. Zatem, do dzieła !

Stwierdza się, co następuje:

  • wpisy na blogu kompletnie nie związane z tematyką, o której chcę pisać zostały usunięte,
  • wpisy na blogu dotyczące ekologii i oszczędzania pozostaną przez pewien "dłuższy" czas jako odnośnik do miejsca gdzie będą żyły swoim nowym, lepszym życiem, czyli na blogu jakprostooszczedzac.pl, na którego subskrypcję zapraszam serdecznie wszystkich,
  • na stronie bibliotekarz.net od teraz będę publikować jedynie materiały związane z programem i programowaniem,
  • wprowadzona zostanie eksperymentalna metoda podejścia do rozwoju programu, którą mam nadzieje, będzie można ocenić (jej rezultaty) w przeciągu najbliższych 3-4 miesięcy.

Żeby nie pozostać jedynie przy mało mówiącym sloganie "eksperymentalne podejście", w kilku słowach rozwinę myśl. Dotychczas jeżeli pojawiały się informacje, to o tym, że coś gotowego powstało. A ponieważ ostatnio za dużo nie powstało, nie było nawet o czym pisać. Teraz będę chciał pisać o tym, co ma powstać i w jaki sposób, a wynik każdego z zadań będzie również publikowany. Zadania chcę podzielić na najdrobniejsze możliwe kroki, które nie muszą ale mogą przekładać się w gotowe elementy systemu. Na końcu powinniśmy otrzymać układankę, która złoży się do gotowego systemu.

Jak rozwijać oprogramowanie nie mając czasu

Pewnego dnia, całkiem niespodziewanie okazało się, że to co zostało mozolnie zaprogramowane w programie Bibliotekarz .NET jest zawieszone niczym żyrandol w sklepie oświetleniowym. Nie można tego opublikować bo zmian było zbyt wiele i nie są dokończone w 100%, ale nie można też tego skasować, no bo jak pozbyć się kilkumiesięcznej pracy. Czemu napisałem, że stało się to niespodziewanie? Bo plan był inny, a 30 różnych okoliczności nie związanych z samym tematem Bibliotekarza, powoli ale skutecznie zatrzymało całkowicie prace nad projektem.

W pewnym momencie zrodziło się pytanie – co dalej? Odpowiedź stała się tym trudniejsza im więcej czasu upływało. Bo oprócz odpowiedzi na pytanie czy rozwijać. A jeżeli tak, to kiedy jeżeli nie ma czasu, doszło dodatkowe pytanie. Czy rozwijać i brnąć w technologię, która ma już sporo lat na karku, czy może jednak zrobić coś "po bożemu" i od początku? Dylemat nie jest trywialny do rozwiązania.

Za pierwszym rozwiązaniem mówią argumenty:

  • mamy produkt, trzeba go kontynuować,
  • jest 80% zmian zaimplementowanych, wystarczy 20% i będzie można wypuścić wersję,
  • jeśli brakuje czasu to jak pisać coś całkiem od nowa?

Za drugim natomiast:

  • jak wiemy 20% prac zajmuje zawsze 80% czasu, a czas to dobro, którego nie mam,
  • brnięcie w przestarzałą technologię jest marnowaniem czasu (a jego nie mamy ;),
  • dokończenie jednego, aby zaraz zacząć tworzyć coś nowego nie jest optymalnym wykorzystaniem czasu,
  • stworzenie czegoś nowego umożliwia pozbycie się wad poprzednika.

Zdecydowanie drugie rozwiązanie kusi i przemawia argumentami. Czyli należy zacisnąć zęby, wyrzucić wszystko co się do tej pory napisało i spróbować zacząć od nowa. Tylko przedmiotowe pytanie pozostaje w mocy. Jak i kiedy pisać jeżeli nie ma się na to czasu. Okazuje się to fizycznie nie możliwe. O ile jedyna opcja to praca z doskoku, z przerwami tygodniowymi, a nawet miesięcznymi, o tyle tego rodzaju praca przy projekcie jest bardzo nieefektywna. Za każdym razem siadamy jakby do starego tematu, o którym nie pozostało za wiele w pamięci. Poświęcamy czas na odgrzebanie informacji o tym co chcieliśmy zrobić i jak zrobić. Osiągnięcie celu jest bardzo mało prawdopodobne.

Zatem co dalej z projektem Bibliotekarz.NET ? Doświadczenie pokazuje, że z chwilą zwiększających się w życiu obowiązków, czasu na przyjemności jest coraz mniej. Nie sądzę abym wrócił do rozwijania wersji Windowsowej aplikacji. Jest to rzeźbienie w przysłowiowym g****. Jedyna szansa to połączenie potrzeby zgłębienia pewnych szczegółów związanych z programowaniem aplikacji Web z rozwojem Bibliotekarza. Podsumowując – jeżeli coś powstanie, to będzie to aplikacja WWW, do której też będzie musiała być utworzona aplikacja konwertująca aktualnych użytkowników.

To tyle w temacie Bibliotekarza na dziś.

BTW: Doszły mnie słuchy, że system KaRo już nie działa tak jak kiedyś i Bibliotekarz.NET nie wyszukuje opisów. Niestety nie jest to ode mnie zależne i mogę jedynie nad tym ubolewać w tej chwili 🙁

Aktualizacja bazy tytułów dla Bibliotekarza

Cóż, to nie jest sam Bibliotekarz, ale mam nadzieje, że będzie pozytywną jaskółką.

Niestety nie jestem w stanie napisać, co jest powodem takiego zaniedbania projektu, ale gdyby to tylko ode mnie zależało, to pewnie mielibyśmy już wersję 3.0. Ale do rzeczy.

Poprzednia baza danych zawierała 70 013 pozycji. Nowa to: 100 613. Yep, przekroczyła 100tyś i tym samym instalator zajmuje już 14MB. Powoli robi się „kobylasto”. Niemniej zawarte w bazie dane pochodzą z ponad rocznej zbiórki. Baza zawiera również 8tyś pozycji, których program Bibliotekarz nie potrafi z sam siebie pobrać z Internetu.

Pozdrawiam.