czwartek, 7 października 2010

Dojowe Datastore nie lubi obiektów w elementach danych (items)

Jeśli na taki trafi, to się wywala.
Przykład:

{
    "identifier": "id",
    "label": "name",
    "items": [{
        "itemType": "dbDef",
        "id": "0INDEX",
        "path": "index_clean.nsf"
    }]
}


Jeśli teraz ta definicja będzie wyglądać np. tak:

{
    "identifier": "id",
    "label": "name",
    "items": [{
        "itemType": "dbDef",
        "id": "0INDEX",
        "path": "index_clean.nsf",
         "foo": {
            "bar": "barValue"
        }
    }]
}

To dojo nie będzie potrafiło posługiwać się takim DataStorem
Chyba, że tym obiektem będzie jedna ze specjalnych konstrukcji. Np. referencja, albo definicja elementu określonego typu:

{
    "identifier": "id",
    "label": "name",
    "items": [{
        "itemType": "dbDef",
        "id": "0INDEX",
        "path": "index_clean.nsf",
         "foo": {
            "_reference": "barValue"
        }
    }]
}


{
    "identifier": "id",
    "label": "name",
    "items": [{
        "itemType": "dbDef",
        "id": "0INDEX",
        "path": "index_clean.nsf",
         "foo": {
            "_type": "barType",
            "_value": "barValue"
        }
    }]
}

niedziela, 12 września 2010

Pułapka na żaby

Wykonanie testu przepuszczalności gruntu okazało się wykonaniem pułapki na żaby. Trzy dziury w ziemi, o głębokości jakichś 70 cm, wypełnione wodą, okazały się przeszkodą nie do pokonania dla żab, które tam wpadły (wskoczyły celowo?)

A to niektóre okazy:

Kumak nizinny:
- Spokojny

- przestraszony


Jakieś inne trio (nazw nie znam, ale są urocze):


Oczywiście po sesji, żabki wróciły na wolność :)

niedziela, 5 września 2010

Pobieranie wszystkich kategorii występujących w widoku

Czasem potrzeba wiedzieć jakie w widoku występują kategorie.

Najstarszym sposobem dowiedzenia się tego, jest oczywiście wykorzystanie @Formuł:
@Unique(@DBColumn("":""; "":""; "Widok", n))

n = Numer kolumny z kategorią
W skrypcie można powyższą formułę umieścić w komendzie Evaluate

Problem się pojawia, gdy wynik @DBColumn przekroczy 64KB.
Można wtedy sobie poradzić na dwa sposoby:
  1.  Pobrać kolekcję wszystkich entries z widoku i przeglądać je w pętli, zbierając w jakiejś tablicy nazwy tych, które mają isCategory ustawione na True. Niestety, w przypadku, gdy widok zawiera tysiące dokumentów, to rozwiązanie z oczywistych powodów odpada.
  2.  Zrobić drugi widok, z identyczną formułą selekcji, który będzie zawierał tylko jedną kolumnę - tę kategoryzowaną. We właściwościach widoku należy jeszcze zaznaczyć opcję Generate unique keys in index. W efekcie otrzymamy widok, który będzie zawierał tylko listę kategorii występujących w widoku oryginalnym.

wtorek, 31 sierpnia 2010

Domyślny przycisk Submit w formularzach webowych Domino

Jak go usunąć?

W starszych wersjach Domino trzeba było kombinować z lipnym przyciskiem albo zakomentowanym fragmentem HTML, zawierającym hotspot typu button.

Od wersji 4.6 wystarczy zaznaczyć opcję "Use JavaScript when generating pages" we właściwościach bazy.

niedziela, 29 sierpnia 2010

Niebo nad Podlasiem

Warto czasem spojrzeć w górę. Zwłaszcza wieczorami. Zazwyczaj jest na co popatrzeć.

Widok z naszego balkonu :)



Widok z drugiego balkonu


I jeszcze raz z tego samego balkonu

środa, 25 sierpnia 2010

Przeglądanie obiektu JS

Szybki sposób na przeglądanie obiektów JS. Metoda dojo.forEach zdaje się działać niestety tylko dla tablic.

for(i in obj){
    console.log(i, " - ", obj[i]);
}


Inny patent (za Stack Overflow):

function process(key, value) {
    console.log(key + " : " + value);
}

function traverse(o, func) {
    for(i in o) {
        func.apply(this, [i, o[i]]); 
        if(typeof(o[i]) == "object") {
            traverse(o[i], func);
        }
    }
}

traverse(o, process);


Zimno

Niecałe 20°C i  piź...  wieje jak  jasna cho...  diabli. Idzie jesień?

Szybko coś...