Saturday, August 18, 2012

Sample project with WDK.API.CouchDb


Sample project with WDK.API.CouchDb

Здравейте приятели отново продължаваме с CouchDB само, че сега ще ви представя едно ново 
решение с което много лесно и бързо се правят динамични приложение.
Представям ви една библиотека WDK.API.CouchDb и JsonBridge.js
Ето и кода на JsonBridge.js


var JsonBridge = {
   useAuthorization: false,
   authorizationHandler: function (username, password) {
    return "";
   },

   url: '/jsonbridge/',
   execute: function (classpath, method, params, resultHandler, faultHandler) {
    var url = JsonBridge.url + classpath + '/';
    if (method != null && method != '')
     url += method;

    if (params != null) {
     $.ajax({
      url: url,
      beforeSend: function (xhr) {
       if (JsonBridge.useAuthorization) {
        xhr.setRequestHeader("Authorization", JsonBridge.authorizationHandler);
       }
      },
      contentType: 'application/json',
      data: JSON.stringify(params),
      dataType: 'json',
      type: "POST",
      success: resultHandler,
      error: faultHandler
     });
    }
    else {
     $.ajax({
      url: url,
      beforeSend: function (xhr) {
       if (JsonBridge.useAuthorization) {
        xhr.setRequestHeader("Authorization", JsonBridge.authorizationHandler);
       }
      },
      contentType: 'application/json',
      dataType: 'json',
      processData: false,
      type: "GET",
      success: resultHandler,
      error: faultHandler
     });
    }
   }
  };

за да създадете документ в CouchDB имаме следния код:



JsonBridge.execute('WDK.API.CouchDb', 'createDocument', ['users', 'hello'], function (data) {
  // you code is here
});

сега нека разгледаме параметрите на JsonBridge.execute:

WDK.API.CouchDb ви е библиотеката WDK.API.CouchDb.dll

createDocument ви е метод от тази библиотека 

['users', 'hello'] - параметри за метода createDocument където 
users е базата данни 'hello' е новото поле за вашия документ.

за повече информация 
http://jsonbridge.com/

Поздрави Мехмедов


Monday, August 13, 2012

Web Application с CouchDB база данни

Здравейте, сигурно вече сте запознати с една от последните и нови технологии NoSql база данни или по точно документно ориентирани където нямате таблици, релации и др. подобни както в Sql ако все още не знаете за какво става въпрос прочетете тук.



А сега  какво направих за няколко часа 


Опитах се първо да извикам  view която имаше само една map функция на java script, но
се оказа че с ajax не може да се прави cross domain.

Ето как реших проблема:

създадох си база tasks в https://cloudant.com/
След което създадох нов документ и в него Upload-нах 
Index.html, Serve.js и Style.css


Използвани технологии:
Cloud computing - Html5, JQuery, Css, Ajax, Json

Поздрави Мехмедов




Wednesday, August 8, 2012

CouchDB lists function

Вече два месеца се занимавам с CouchDB и все повече започва да ми харесва.
Преди седмица прочетох за lists функциите поиграх си малко с тях и видях колко полезни са те когато искаме да си направим custom JSON документи.


И така нека да дам един прост пример за list функция:



{
   "_id": "_design/recipes",
   "_rev": "1-7e06eea8045779c50e28a658cfc8b639",
   "lists": {
       "all_documents": "function(head, req){
            var row;
            while(row = getRow()) {
              log(row.key);
             send(toJSON(row.value));
           }
        }"
   }
}

както се вижда от примера list функцията е подобна на view но в нея може да сe обхождат документите и да задавате някакви условия чрез които да си правите custom json документи.

с една дума може да имаме масив в който трупаме документи и да върнем този резултат.

после остава само да се парсне в jquery и да си генерирате динамично съдържание на html

Поздрави
Мехмедов