wtorek, 15 lipca 2008

Otwarty Umysł






Witajcie - Tak naprawdę myślenie nie boli. I mam nadzieję iż Ci którzy chcą i użyczą swój otwarty umysł innym, przyłączą się do inicjatywy, o której piszę na swoim blogu Inzynieria. Stwórzmy czy to zawodowo- Informatycznie, czy międzyludzko strefę, która stale będzie się powiększać. W jedności siła. Bo aby zmienić świat trzeba chcieć i działać.
W ramach zmieniania świata i pomocy innym postanowiłem upublicznić to co udało mi się wypracować z moim nauczycielem z pracy. Zrobiłem to aby inni też się otworzyli.

Poniżej przedstawiam efekty mojej pracy:

  • Ujarzmione tabele w XSL`u przy użyciu CSS`a w ALEPH 16.
Poniżej postaram się Państwu przedstawić instrukcje jak zmienić pliki XSL tak aby nasze tabele nie składały się z "podwójnych linii".

Dla przypomnienia i celem wprowadzenia – w systemie Aleph 16 mechanizm drukowania oparty jest o standard:
    - XML (eXtensible Markup Language)
    - XSL (eXtensible Style Language)
    - HTML (HyperText Markup Language)
Mechanizm wydruku w Alephie działa w ten sposób iż z chwilą jego uruchomienia tworzony jest plik danych zawartych w formacie XML, następnie jest on przetwarzany przez zdefiniowany formularz wydruku zawarty w pliku XSL, który generuje stronę HTML jako nasz wynik drukowania.

Należy przy tym pamiętać iż plik XSL zawiera minimalna ilość informacji o stylach, a dodatkowo posiada swoje ograniczenia. (Przykładem jest tu kwestia formatowania tabeli.)

Zagłębiając się w XSL`a należy wspomnieć iż istnieją trzy podstawowe układy, w których nasze dane mogą być wyświetlone:
    - Free
    - Grid
    - Split
W kręgu naszego zainteresowania jest oczywiście układ Grid, który prezentuje dane w formie tabeli wykorzystując do tego znacznik BORDER.

Przeszukując katalog /exlibris/aleph/u16_1/wasza_baza50/form_pol (gdzie znajdują się nasze formularze wydruków XSL) w poszukiwaniu znacznika BORDER znajdziemy go tylko w pliku funcs-table.xsl.

Poniżej przedstawiam fragment kodu:







Ograniczenia o jakich wspomniałem wcześniej przy formatowaniu powodują iż przy pomocy XSL`a nie jesteśmy w stanie zmienić wyglądu naszej tabeli na wydruku – składa się ona z "dwóch linii". Przy wydrukach gdzie jest mała ilość wierszy i kolumn taki format tabeli może nie stanowić problemu. Lecz w przypadku gdy mamy do czynienia z dużym wydrukiem staje się on poprzez takie formatowanie mało czytelny.

Optymalne rozwiązanie to zbudowanie takiej tabeli do której jesteśmy przyzwyczajeni czyli składającej się z "jednej linii".

Na pomoc w rozwiązaniu takiego problemu przychodzi nam CSS (Cascading Style Sheets).
Dzięki tzw. kaskadowym arkuszom stylów jesteśmy w stanie „przeformatować” naszą tabelę.
(CSS może nam również posłużyć do ożywienia wyglądu innych elementów naszego wydruku.)

Chcąc włączyć CSS`a w naszego XSL`a należy:

1. Utworzyć nową funkcję np. grid-ramka i dodać ją np. w pliku funcs-table.xsl:


















2. W funkcji grid-open (w pliku funcs-table.xsl) należy dodać w elemencie TABLE atrybut ID o nazwie grid w następujący sposób:









3. W formularzu wydruku wywołujemy zdefiniowaną wcześniej funkcję grid-ramka w następujący sposób:






Przemysław Bielecki

BIBLIOGRAFIA (linki):

  • Mechanizm translacji – pliki trn (Aleph16).
Pracując nad formularzami wydruku w XSL`u w tym przypadku „cash-summary” powstał problem jak „pozbyć” się znaków „+ - ( )”.

Szukając rozwiązania (znane polecenie grep) naszym oczom ukazał się plik translate_readme.txt (/exlibris/aleph/u16_1/wasza_baza_50/form_pol)

A tutaj dużo ciekawych informacji odnośnie interesujących nas parametrów w pliku cash-summary.trn np.:

Kod:
ADD-SIGN
adds "-" or "+" depending on the credit-debit value ("C", "D").
put in the param-column the relevant "*-credit-debit".

SIGN1

Accounting notation for signed numbers:
-number translated to "(number)"
+number translated "number"

SIGN2

-number kept as "-number"
+number translated "number"

DEL-SIGN

removes + or - from prefix

CREDIT-TXT

Add text specified in param for sums proceeded by "+"

DEBIT-TXT

Add text specified in param for sums proceeded by "-"

I to co nas interesuje:

Kod:
NONE
returns the original-value.
no parameter required.

Oczywiście podane też są przykłady zastosowania wymienianych parametrów.

Informacja ta powstała dzięki pracy Bożeny Guziuk-Dąbrowskej.

Przemysław Bielecki

BIBLIOGRAFIA (linki):

1. Modyfikacja Wydruków (XML i XSL)

  • „Obrazki” w wydrukach XSL w ALEPH 16
Poniżej postaram się omówić to zagadnienie na przykładzie gdzie mamy jeden obrazek (np. logo), który powinien się znaleźć np. na wszystkich naszych wydrukach.

Do tego celu wykorzystamy funcs.xsl, w którym zbudujemy naszą funkcję, którą w plikach wydruków XSL będziemy wywoływali.

Uwaga - jeżeli planujemy stworzyć wiele funkcji dobrze by było, aby siedziały one w innym pliku niż globalny funcs.xsl.
Takie działanie pozwoli nam zachować przejrzystość kodu, a w razie pojawienia się problemu przyspieszy jego rozwiązanie.

W tym celu należy:

1. Utworzyć nową funkcję np. „header-obrazek” w nowym pliku np. funcs-nasze.xsl :














Istotę tej funkcji stanowi poniższy zapis:





Prezentowana składnia nie jest przypadkowa i poświecę jej tu chwilę.
Jak widzimy nasz obrazek jest pobierany z katalogu dzięki znanemu z HTML`a elementowi img z atrybutem src (które może być [ścieżką lub URL`em]). Pamiętajmy iż w XSL`u w przeciwieństwie do HTML`a nasz element zamykamy „/>”.
(Informację o tym w jaki sposób położyć obrazek na serwerze dla zainteresowanych prześlę emailem)

2. W pliku globalnym np. funcs.xsl dodajemy linię wywołującą naszą funkcję np.:









3. Teraz edytując nasz plik wydruku XSL w miejscu, które jest przewidziane na nasz obrazek wpisujemy:







Przedstawiony powyżej sposób ma jeszcze tę zaletę iż w plikach wydruków XSL wywołujemy tylko funkcję zamiast za każdym razem przepisywać kod.

Informacja ta powstała dzięki pracy Iwony Sikory i Bożeny Guziuk-Dąbrowskej.

Przemysław Bielecki
(email w profilu)


Oczywiście wszystkie te nasze prace są widoczne pod adresem http://www.aleph.pl/forum/viewforum.php?f=1

Poza tymi informacjami mamy małą porcję ze świata:

- Profesjonalna animacja w domu...
- Jądro 2.6.26 - kolejne możliwości
- Windows Vista Compatibility CenterBETA

Pozdrawiam
Miłego Dnia :)

środa, 2 lipca 2008

Adobe 9

Pojawił się na rynku Adobe Reader 9 - zainstalowałem, dodatkowo jest też Acrobat.com, zapraszam do testowania.
W poprzednim poście mówiłem o tym iż w końcu ukazała się stabilna wersja FF3. Przyznam iż co do jej stabilności mam pewne wątpliwości. Zarówno Ci którzy mają FF3 bez dodatków jak i Ci, a do nich ja należę mamy doinstalowaną sporą ich liczbę zauważyli iż czasem przeglądarka przy próbie zamknięcia wprawdzie znika z ekranu, ale pozostaje aktywna jako proces. Gdy chcemy ją w takim przypadku uruchomić pojawia się komunikat informujący nas, zresztą słusznie iż FF już działa. Chcąc ponownie skorzystać z przeglądarki należy zabić jej proces. Dziwna sprawa tym bardziej iż nie jestem osamotniony jeżeli chodzi o taką sytuację.
Z racji wielu zmian w moim życiu - zapomniałem się pochwalić iż zmieniłem komputer. Z racji iż mój AMDX2 był zbyt prądożerny, a tym samym i "ciepłolubny" postanowiłem wymienić go na coś oczywiście szybszego i energooszczędnego. Początkowo myślałem o:
  • AMD Phenom Quad-Core 9850 BOX (Socket AM2+) Black Edition
  • AMD Phenom Triple-Core 8750 BOX (Socket AM2+)
  • AMD Athlon 64 X2 5000+ BOX (Socket AM2,65W) Black Edition
  • AMD Athlon 64 X2 6400+ BOX (Socket AM2)
Powodów było wiele przywiązanie, cena, wydajność (no powiedzmy), ale zdradziłem przyznaje z bólem. Kupiłem Intela, było kilka typów:
  • Intel Core2 Quad Extreme QX9650 3,00 GHz (S775) BOX
  • Intel Core2 Quad Q9450 2,66 GHz (S775/45nm) BOX
  • Intel Core2 Duo E8400 3,00GHz (S775) BOX
Wygrał wiadomo ekonomiczny czyli ostatni. Dlaczego Intel? Odpowiedz jest prosta, z tego co zauważyłem po komputerach, z którymi miałem do czynienia gdzie był właśnie zainstalowany Intel Core2 Duo to "Winda" działała zdecydowanie lepiej. Poza tym:
  • proces technologiczny0.045 - co się przekłada na pobór prądu (AMD ma aż 125W !!! a Intel 65w)
  • częstotliwość taktowania procesora 3 000 MHz
  • pojemność pamięci cache L2 6 144 kb
Do tego trzeba było wybrać płytę i tu również nastąpiła zmiana. Do tej pory starałem się kupować topowe modele, przeważnie ASUS`a. Teraz zweryfikowałem mój punkt widzenia - w końcu nie korzystam tak naprawdę z tych wszystkich dobrodziejstw topowego modelu. Dlatego szukałem teraz płyty której stosunek ceny i możliwości byłby najlepszy. Wybrałem Gigabyte GA-EP35C-DS3R. Posiada ona wiele zalet poza ceną jak :
  • magistrala FSB1333 MHz (+ 1600 MHz (O.C.))
  • DDR3-1333 (PC3-10600)
  • DDR2-667 (PC2-5300)
  • standard kontrolera (liczba kanałów) - Serial ATA II (8)
  • porty zewnętrzne - 8x USB
  • All Japanese manufactured solid Ultra Durable 2 Motherboard
Brak "bajerów" powoduje iż płyta nie ma pokaźnego chłodzenia a dodatkowo posiada funkcję oszczędzania energii stąd literka E w nazwie płyty.
Do tej pory przyznam również iż nawet topowe zasilacze różnych firm mnie zawodziły. Szukałem długo i trafiłem na Corsair CMPSU-750TXEU - 750W. Posiada on wiele podobnych cech do innych moich zasilaczy poza - dodatkową stabilizacją napięcia. I tu naprawdę jest różnica - jak patrze na wykresy to już mi nic "nie drgnie" co przekłada się na prace komputera i urządzeń USB. Oczywiście wymieniłem pamięć na DDR2-800 4GB nic wielkiego jeżeli chodzi o osiągi, ale sprawdza się i w zupełności na razie wystarczy tym bardziej iż "Winda" nie obsługuje w 32-bit takiej ilości, a 64-bit przynajmniej dla mnie to na razie przyszłość. Powodem jest cena Windowsa Visty Box Ultimate - bo taką bym chciał mieć.
Dodatkowo mogę się pochwalić pewnymi osiągnięciami na polu mojej pracy - ALEPH`a, które osiągnąłem wraz z zespołem:

- „Obrazki” w wydrukach XSL w ALEPH 16
- Mechanizm translacji – pliki trn (Aleph16)
- Ujarzmione tabele w XSL`u przy użyciu CSS`a w ALEPH 16

Trochę się rozpisałem :) poniżej przedstawiam garść info ze świata:

- Adobe Reader
- Mozilla poprawia Firefoksa 2.0
- Ashampoo Burning Studio 8 z funkcją nagrywania prezentacji
- Trzecia odsłona e-Audytora
- MorphOS 2.0 - coś dla fanów Amigi
- ReactOS 0.3.5 - kolejny krok ku pełnej kompatybilności
- Nowe VMware jeszcze bardziej wirtualne
- Diablo 3 ogłoszone!

Miłego Dnia :)

Zapraszam wszystkich czytelników do wymiany informacji - dyskusji.

Mój e-mail to sniegen@tlen.pl