jesli mamy widok który chcemy kategoryzować
wszystko jest ładnie pięknie dopóki nic więcej z nim nie robimy
pokazujemy na przykład dane tylko dla jednego zalogowanego użytkownika
problemy dalej mamy dwa
nie można / nie działa włączanie sortowania na kolumnach (przynajmniej u mnie - ver 8.5.2)
i jelsli do tego dorzucam szukanie po widoku
NIE DZIAŁA KATEGORYZACJA !!!
zalogowany klient widzi wszystkie dane
wyjscie z sytuacji - najprostsze
filtrujemy widok po kolumnie
na przykład
sessionScope.ktooglada
w przy szukaniu robimy prosty trick
var v:string = requestScope.get("query") ;
if (v != null) {
v = v.toLowerCase();
v = v.replace("\"", "");
v = v.replace("(", "");
v = v.replace(")", "");
v = v.replace("[", "");
v = v.replace("]", "");
v = v.replace("$", "");
v = v.replace(" and ", " ");
v = v.replace("{", "");
v = v.replace("}", "");
var a = v.split(" ");
v = a.join(" and ");
v = v.replace("not", "\"not\"");
v = v.replace("or", "\"or\"");
v +" AND "+sessionScope.get("ktooglada")
}
else
{@Text(sessionScope.get("ktooglada"))
}
czyli szukamy dokumentów zawierających poszukiwaną fazę - a także ID klienta po którym wywietlamy widok ...
Lotus Xpages, Custom Controls - nowe (od 2009 roku) rzeczy w Lotus Designer - jak korzystać - jak zrobić aby Lotus Domino robiło to co my chcemy...
poniedziałek, 26 września 2011
czwartek, 22 września 2011
Radio TADZIK nadaje
Drugi dziedzic jest już z Nami - zaczynamy nadawanie - jutro pierwszy problem który zdenerwował mnie w temacie XPage
i to jest wada Lotusa w ogóle
czyli kategoryzowany widok - po akcji typu szkaj - gubi kategoryzację i pokazuje WSZYSTKO !!
i to jest wada Lotusa w ogóle
czyli kategoryzowany widok - po akcji typu szkaj - gubi kategoryzację i pokazuje WSZYSTKO !!
czwartek, 25 sierpnia 2011
jesli ktos czytuje moje wpisy
z racji tego że
może teraz pojawić się przerwa w nadawaniu - oczekujemy lada dzień narodzin drugiego dziedzica fortuny :)
więc - bądzcie cierpliwi - będę pisał jak tylko będę mógł
może teraz pojawić się przerwa w nadawaniu - oczekujemy lada dzień narodzin drugiego dziedzica fortuny :)
więc - bądzcie cierpliwi - będę pisał jak tylko będę mógł
czwartek, 11 sierpnia 2011
dbcolumn z innej bazy
nic nie może być proste - składnia dbcolumn jest taka a nie inna
więc jeli chcemy podebrać dbcolumn z innej bazy podpowiedzi czy inne wartosci do RadioButtonGrup czy innego ComboBoxa
musimy zastosować taką skałdnię
var nasza_zmienna = new Array("nazwa_serwera","nazwa_bazy");
@DbColumn(nasza_zmienna,"nazwa_widoku",numer kolumny)
i już mamy TypoeAhead czy obliczaną listę wartoci dla dowolnego komponentu
więc jeli chcemy podebrać dbcolumn z innej bazy podpowiedzi czy inne wartosci do RadioButtonGrup czy innego ComboBoxa
musimy zastosować taką skałdnię
var nasza_zmienna = new Array("nazwa_serwera","nazwa_bazy");
@DbColumn(nasza_zmienna,"nazwa_widoku",numer kolumny)
i już mamy TypoeAhead czy obliczaną listę wartoci dla dowolnego komponentu
wtorek, 9 sierpnia 2011
TYPE AHEAD
do pól można stosować podpowiadacze czyli Type Ahead
można to robić dwojako - albo z ręki wpisać listę podpowiedzi - słowa oddzielane przecinkami lub skorzystać na przykład z gotowej listy (widoku) w naszej bazie
tutaj dobieramy się do danych prostym dbcolumn
przy czym jego składnia wygląda najczęsciej tak
@DbColumn (@DbName(),"nazwa naszego widoku", numer kolumny którą chcemy podpowiadać)
można to robić dwojako - albo z ręki wpisać listę podpowiedzi - słowa oddzielane przecinkami lub skorzystać na przykład z gotowej listy (widoku) w naszej bazie
tutaj dobieramy się do danych prostym dbcolumn
przy czym jego składnia wygląda najczęsciej tak
@DbColumn (@DbName(),"nazwa naszego widoku", numer kolumny którą chcemy podpowiadać)
środa, 3 sierpnia 2011
Mix
najpiękniejsza cecha XPage
miksowanie składni
@DbLookup ("nasza baza z klientami którzy się logują .nsf", "nazwa widoku",@Name("[CN]",session.getEffectiveUserName()), numer kolumny )
i co ??
XPage jak Bob Budowniczy - Daje radę :D
i mamy nazwę zalogowanego użytkownika
miksowanie składni
@DbLookup ("nasza baza z klientami którzy się logują .nsf", "nazwa widoku",@Name("[CN]",session.getEffectiveUserName()), numer kolumny )
i co ??
XPage jak Bob Budowniczy - Daje radę :D
i mamy nazwę zalogowanego użytkownika
poniedziałek, 1 sierpnia 2011
pobieranie i ustawianie wartości
pobieramy wartość z dowolnego elemetu na XPage
getComponent("nazwa naszego elementu").getValue();
ustawianie wartości elementu robime w ten sposób
getComponent("nazwa elementu").setValue("wartość");
getComponent("nazwa naszego elementu").getValue();
ustawianie wartości elementu robime w ten sposób
getComponent("nazwa elementu").setValue("wartość");
czwartek, 28 lipca 2011
zresztą proponuję
wkleić COMPUTED FIELD
o wartosci
context.getUserAgent().getUserAgent()
zobaczycie sami ile informacji można wyciągnąć od przeglądarki
o wartosci
context.getUserAgent().getUserAgent()
zobaczycie sami ile informacji można wyciągnąć od przeglądarki
przekierowanie ciąg dalszy
na koniec chyba najlepszy kawałek kodu
x=context.getUserAgent().getUserAgent();
if (x.match("iPad") !=null) context.redirectToPage("iphone.xsp");
if (x.match("Nokia") !=null) context.redirectToPage("nokia.xsp");
if (x.match("BlackBerry") !=null) context.redirectToPage("bb.xsp");
if (x.match("Mobile") !=null) context.redirectToPage("mobilki.xsp");
wszystko oczywiscie BEFORE PAGE LOAD
x=context.getUserAgent().getUserAgent();
if (x.match("iPad") !=null) context.redirectToPage("iphone.xsp");
if (x.match("Nokia") !=null) context.redirectToPage("nokia.xsp");
if (x.match("BlackBerry") !=null) context.redirectToPage("bb.xsp");
if (x.match("Mobile") !=null) context.redirectToPage("mobilki.xsp");
wszystko oczywiscie BEFORE PAGE LOAD
wtorek, 26 lipca 2011
dana obliczana dynamicznie i przy załadowaniu strony
w kodzie gdy wykonywany jest jaki skrypt - można łatwo wyróżnić zmienną obliczaną dynamicznie od zmiennej stałej - obliczanej jednokrotnie po zładowaniu strony
zmienna dynamiczna poprzedzona jest znakiem #
np
< ! [CDATA[#{javascript:x=context.getUserAgent().getBrowser();
obliczana jednokrotnie $
< ! [CDATA[${javascript:x=context.getUserAgent().getBrowser();
zmienna dynamiczna poprzedzona jest znakiem #
np
< ! [CDATA[#{javascript:x=context.getUserAgent().getBrowser();
obliczana jednokrotnie $
< ! [CDATA[${javascript:x=context.getUserAgent().getBrowser();
czwartek, 21 lipca 2011
szukanie tylko po widoku
wczeniej w polu search wklejalimy kod
viewScope.get("szukaj")
dzięki czemu wszystkie dokumenty z widoku byly przeszukiwane
jesli chcemy sam widok - ja ostatnio robiłem widget z podręcznym wyszukiwaniem telefonów z widoku
powyższy kod wklejamy do zakładki
WŁASCIWOSCI XPAGE - DATA - w miejsce dotyczące naszego widoku - FILTER BY COLUMN VALUE
to też jest prosty sposób aby uzyskać znane i lubiane ze zwykłych formularzy SHOW SINGLE CATEGORY
viewScope.get("szukaj")
dzięki czemu wszystkie dokumenty z widoku byly przeszukiwane
jesli chcemy sam widok - ja ostatnio robiłem widget z podręcznym wyszukiwaniem telefonów z widoku
powyższy kod wklejamy do zakładki
WŁASCIWOSCI XPAGE - DATA - w miejsce dotyczące naszego widoku - FILTER BY COLUMN VALUE
to też jest prosty sposób aby uzyskać znane i lubiane ze zwykłych formularzy SHOW SINGLE CATEGORY
poniedziałek, 18 lipca 2011
Core Controls
•Edit Box — podstawowe pole z Lotusa , nie akceptuje wielu linii
•Rich Text — edytor pola rich text
•Multiline Edit Box — pole akceptujące wiele linii tekstu
•Button — bez komentarza :)
•List Box — lista wyboru - można wybrać kilka opcji
•Combo Box — rozwijana lista - do wyboru jedna wartosć
•Checkbox — opcja do wyboru w znaczeniu prawda/falsz
•Radio Button — do wyboru jedna wartosć
•Link — odnosnik html'owy, pozwala również przekierować na inny XPage
•Label — etykieta, może być powiązana z innymi elementami XPage
•Computed field — znane i lubiane pole obliczane
•Image — umieszczanie obrazka, można też je wyliczyć
•File Upload — kontrolka do ladowania plików na XPage(formularza/bazy)- co najważniejsze, możemy ją umieszczać dowolną ilosc razy
•File Download — kontrolka do sciągania plików z XPage
•Date/Time Picker — pole z gotową kontrolką do wprowadzania daty i czasu
•Display Error — pojedyńczy kod błędu powiązany z pojedyńczym polem na XPage
•Display Errors — pokazuje wszystkie błędy na stronie XPage
•Pager — kontrolka do sterowania stronami XPage - 1 z 5 stron, najczęsciej wstawiane automatyczne przy widokach - chyba że zdefiniujemy więcej niż 30 wierszy pokazywanych na stronie z jednego widoku
•Rich Text — edytor pola rich text
•Multiline Edit Box — pole akceptujące wiele linii tekstu
•Button — bez komentarza :)
•List Box — lista wyboru - można wybrać kilka opcji
•Combo Box — rozwijana lista - do wyboru jedna wartosć
•Checkbox — opcja do wyboru w znaczeniu prawda/falsz
•Radio Button — do wyboru jedna wartosć
•Link — odnosnik html'owy, pozwala również przekierować na inny XPage
•Label — etykieta, może być powiązana z innymi elementami XPage
•Computed field — znane i lubiane pole obliczane
•Image — umieszczanie obrazka, można też je wyliczyć
•File Upload — kontrolka do ladowania plików na XPage(formularza/bazy)- co najważniejsze, możemy ją umieszczać dowolną ilosc razy
•File Download — kontrolka do sciągania plików z XPage
•Date/Time Picker — pole z gotową kontrolką do wprowadzania daty i czasu
•Display Error — pojedyńczy kod błędu powiązany z pojedyńczym polem na XPage
•Display Errors — pokazuje wszystkie błędy na stronie XPage
•Pager — kontrolka do sterowania stronami XPage - 1 z 5 stron, najczęsciej wstawiane automatyczne przy widokach - chyba że zdefiniujemy więcej niż 30 wierszy pokazywanych na stronie z jednego widoku
piątek, 15 lipca 2011
szukanie po widoku
szybkie szukanie
mamy już wklejony i powiązany widok na XPage
dokładamy pole tektstowe (edit box) - nazwa nie ma znaczenia
ważne żebysmy w zakładce DATA
połączyli to z
ADVANCED-SCOPED VARIABLE-VIEW SCOPE
i wpisali VARIABLE NAME - szukaj
we właciwosciach XPape - rozwijamy
ALL PROPERTIES-DATA-DATA-DOMINO VIEW -do własciwosci SEARCH
wklejamy kod
viewScope.get("szukaj")
i mamy prostą wyszukiwarkę na XPage
wyszuka tylko frazy zgodnej w 100% z wartoscią szukaj
czyli wpisując kowal wyszuka nam tylko kowal w widoku
nie znajdzie kowalski, kowalska itd
mamy już wklejony i powiązany widok na XPage
dokładamy pole tektstowe (edit box) - nazwa nie ma znaczenia
ważne żebysmy w zakładce DATA
połączyli to z
ADVANCED-SCOPED VARIABLE-VIEW SCOPE
i wpisali VARIABLE NAME - szukaj
we właciwosciach XPape - rozwijamy
ALL PROPERTIES-DATA-DATA-DOMINO VIEW -do własciwosci SEARCH
wklejamy kod
viewScope.get("szukaj")
i mamy prostą wyszukiwarkę na XPage
wyszuka tylko frazy zgodnej w 100% z wartoscią szukaj
czyli wpisując kowal wyszuka nam tylko kowal w widoku
nie znajdzie kowalski, kowalska itd
wtorek, 12 lipca 2011
Dodawanie wpisów KEYWORDS, DESCRIPTION
w zakładce Source strony XPage wpisujemy w kodzie poniższą składnię
< xp:this.resources >
< xp:metaData name="description" content="opis naszej strony www" >
< /xp:metaData >
< /xp:this.resources >
w ten sam sposób robimy znany z HTMLa KEYWORDS
< xp:this.resources >
< xp:metaData name="description" content="opis naszej strony www" >
< /xp:metaData >
< /xp:this.resources >
w ten sam sposób robimy znany z HTMLa KEYWORDS
poniedziałek, 11 lipca 2011
przekierowywanie na inną stronę
kolejny trick
we właściwościach strony mamy na drugiej zakładce EVENTS
wybieramy BeforePageLoad
klikamy kod
x=context.getUserAgent().getBrowser();
if (x.match("Safari") !=null) context.redirectToPage("nazwa_naszej_strony.xsp");
i zanim się ktokolwiek zorientuje - już mu się otwiera strona przeznaczona dla użytkowników mobilnych ...
we właściwościach strony mamy na drugiej zakładce EVENTS
wybieramy BeforePageLoad
klikamy kod
x=context.getUserAgent().getBrowser();
if (x.match("Safari") !=null) context.redirectToPage("nazwa_naszej_strony.xsp");
i zanim się ktokolwiek zorientuje - już mu się otwiera strona przeznaczona dla użytkowników mobilnych ...
xsp.preference
pierwsza sprawa przy tworzeniu XPage - jeśli docelowo jest na www.
różne analizatory-optymalizatory www - pokazują błąd przy automatycznie generowanej stronie .xsp
nie użyte style css, brak kodowania znaków itd
- jak jażdy dobry myk - ten również jest ukryty - musimy otworzyć xsp.properties i zmienić jedną linijkę
żeby to otworzyć na aplikacji w Domino Designer - klikamy z menu kolejno
Szukaj-plik
w plik - pattern - wpisujemy xsp.properties
dostajemy wynik - nazwa aplikacji-webcontent-web-inf
xsp.properties
po kliknięciu - dopisujemy na końcu linijki
xsp.html.doctype=ittd zgodnie ze składnią html
xsp.html.meta.contenttype=false lub true dodaje nam rzeczone wpisy o kodowaniu strony
oczywiście to tylko dwa proste przykłady - zachęcam do góóóóglania
różne analizatory-optymalizatory www - pokazują błąd przy automatycznie generowanej stronie .xsp
nie użyte style css, brak kodowania znaków itd
- jak jażdy dobry myk - ten również jest ukryty - musimy otworzyć xsp.properties i zmienić jedną linijkę
żeby to otworzyć na aplikacji w Domino Designer - klikamy z menu kolejno
Szukaj-plik
w plik - pattern - wpisujemy xsp.properties
dostajemy wynik - nazwa aplikacji-webcontent-web-inf
xsp.properties
po kliknięciu - dopisujemy na końcu linijki
xsp.html.doctype=ittd zgodnie ze składnią html
xsp.html.meta.contenttype=false lub true dodaje nam rzeczone wpisy o kodowaniu strony
oczywiście to tylko dwa proste przykłady - zachęcam do góóóóglania
Subskrybuj:
Komentarze (Atom)