Tag Archives: jquery

Simple reset connection of ZTE MF60 router for aero2 users in Poland

Aero2 service is very popular free internet access in Poland. It has one problem. Every hour you must put caputcha code and after this restart your modem to reset your session for next hour of internet browsing.

This is very annoying to restart device and then connect to network or each time to go to network settings in the device and then go to WAN settings and switch of and on connection again. So today i did small check how resetting connection from browser works in background and I created small jQuery script for everyone who want to have something easier.

This is quite easy solution, but unfortunately only one way – i can send a command but have no return from modem so you have to check your modem screen to see i connection is restarted. I hope it is not a big problem for you 😀

Ok, so now little piece of javaScript:

$.post(“http://192.168.0.1/goform/goform_process”,{goformId:”LOGIN”, lucknum:”48636″, systemDate:””, save_login:”1″, languageSelect:”pl”, user:”admin”, psw:”admin”, save_login_enablebox:”on”});

$.post(“http://192.168.0.1/goform/goform_process”,{goformId:”NET_CONNECT”, lucknum_NET_CONNECT:”48636″, dial_mode:”manual_dial”, action:”disconnect”, Submit_linkset:”Zastosuj”});

setTimeout(function(){ $.post(“http://192.168.0.1/goform/goform_process”,{goformId:”NET_CONNECT”, lucknum_NET_CONNECT:”48636″, dial_mode:”auto_dial”, action:”connect”, Submit_linkset:”Zastosuj”}); },3000);

And this is all, just add this to small page when you link to jQuery and it is done.

In my example user and password is standard. admin/admin.

[apps] Public test of speedway app on Android / publiczne testy aplikacji żużla na androida

If you want to test my speedway application on Android here is good time for it. Just download this apk and install it on your phone. Have fun and leave a comment here if you have any ideas or comments.

Polish:

Jeżeli chcecie testować moją aplikację do żużla na Androidzie to teraz już możecie. Wystarczy ściągnąć ten plik apk i zainstalować go na swoim telefonie. Miłej zabawy i proszę o komentarze, jeżeli macie jakieś problemy lub sugestie.

Zrzut_ekranu_19.05.2013_11_13

Previous posts in this subject:

[SAP JSON proxy] First public information – BAPI calls and SE37 HTML equivalent

Today i finally prepared test environment for SAP JSON proxy and i’d like to present all of you some of ideas.

First – why this project?

Right now i’m working on few applications which works with SAP but all of them are .net apps and fat client.  Because i’m last time fascinated web and mobile programming again i was wondering how to easy build simple applications interacting with SAP. Usually it was quite easy – i was building web service which was exchanging data with my application. This was good idea and everything was working really nice and smooth, but problem was that first i have to do something on server and then in my app (web or mobile). Then i asked myself what if i will simply put universal application on web which will somehow understand some queries from my app and then will execute my calls on SAP and return data back.

I was wondering about exchanging data in xml but json seams to be better so i decided to use json.

How it works?

application is sending json object with definition of process which want to call on SAP, then proxy analyze this object and prepare RFC call for SAP. After call is executed and return is converted to json and send back to application.

What are benefit so this approach?

First of all – you don’t need to care about any special sap connectors for web and mobile devices. Second you don’t need to care about server side any more, you have to focus only on side of your application. Third it is secure because applications doesn’t have any direct access to SAP server so you can extend proxy by adding some security filters or limitations on calls

So now an example

Example works on bank accounts settings. On SAP we have BAPI_BANK_GETLIST bapi which looks this way:

sap1

it expect import parameter BANK_CTRY – which in our example will be PL and returns BANK_LIST table which in our example looks this way:

sap2

As you can see there is one row with one example bank.

my JSON query looks this way:

{ "bapiName" : "BAPI_BANK_GETLIST",
 "errorMessage" : "",
 "exportFields" : [ { "name" : "BANK_CTRY",
 "value" : "PL"
 },
 { "name" : "MAX_ROWS",
 "value" : "0"
 }
 ],
 "exportStructures" : [ ],
 "importFields" : [ ],
 "importStructures" : [ { "fields" : [ { "name" : "TYPE",
 "value" : " "
 },
 { "name" : "ID",
 "value" : " "
 },
 { "name" : "NUMBER",
 "value" : "000"
 },
 { "name" : "MESSAGE",
 "value" : " "
 },
 { "name" : "LOG_NO",
 "value" : " "
 },
 { "name" : "LOG_MSG_NO",
 "value" : "000000"
 },
 { "name" : "MESSAGE_V1",
 "value" : " "
 },
 { "name" : "MESSAGE_V2",
 "value" : " "
 },
 { "name" : "MESSAGE_V3",
 "value" : " "
 },
 { "name" : "MESSAGE_V4",
 "value" : " "
 },
 { "name" : "PARAMETER",
 "value" : " "
 },
 { "name" : "ROW",
 "value" : "0"
 },
 { "name" : "FIELD",
 "value" : " "
 },
 { "name" : "SYSTEM",
 "value" : " "
 }
 ],
 "name" : "RETURN"
 } ],
 "result" : "OK",
 "tables" : [ { "columns" : [ "BANK_CTRY",
 "BANK_KEY",
 "BANK_NAME",
 "CITY"
 ],
 "name" : "BANK_LIST",
 "rows" : [ ]
 } ]
}

and proxy response is this:

{ "bapiName" : "BAPI_BANK_GETLIST",
 "errorMessage" : "",
 "exportFields" : [ { "name" : "BANK_CTRY",
 "value" : "PL"
 },
 { "name" : "MAX_ROWS",
 "value" : "0"
 }
 ],
 "exportStructures" : [ ],
 "importFields" : [ ],
 "importStructures" : [ { "fields" : [ { "name" : "TYPE",
 "value" : ""
 },
 { "name" : "ID",
 "value" : ""
 },
 { "name" : "NUMBER",
 "value" : "000"
 },
 { "name" : "MESSAGE",
 "value" : ""
 },
 { "name" : "LOG_NO",
 "value" : ""
 },
 { "name" : "LOG_MSG_NO",
 "value" : "000000"
 },
 { "name" : "MESSAGE_V1",
 "value" : ""
 },
 { "name" : "MESSAGE_V2",
 "value" : ""
 },
 { "name" : "MESSAGE_V3",
 "value" : ""
 },
 { "name" : "MESSAGE_V4",
 "value" : ""
 },
 { "name" : "PARAMETER",
 "value" : ""
 },
 { "name" : "ROW",
 "value" : "0"
 },
 { "name" : "FIELD",
 "value" : ""
 },
 { "name" : "SYSTEM",
 "value" : ""
 }
 ],
 "name" : "RETURN"
 } ],
 "result" : "OK",
 "tables" : [ { "columns" : [ "BANK_CTRY",
 "BANK_KEY",
 "BANK_NAME",
 "CITY"
 ],
 "name" : "BANK_LIST",
 "rows" : [ { "values" : [ { "name" : "BANK_CTRY",
 "value" : "PL"
 },
 { "name" : "BANK_KEY",
 "value" : "TESTPL1"
 },
 { "name" : "BANK_NAME",
 "value" : "Test bank pl"
 },
 { "name" : "CITY",
 "value" : "test"
 }
 ] } ]
 } ]
}

And this is how it looks in my HTML tester page which works similar to SE37 transaction

sap4

 

And here is another example:

Details of this bank account:

sap3And my data

sap5

This is current stage, if you have any questions for this project, then please let me know in comments or send an email.

 

[Web apps] Voli.Faktury

If you have a small company in Poland and you need to create an invoice sometimes maybe you are looking for an simple and easy tool when you can do this from web.

I also have this problem, but because i’m a software developer, i don’t like to use existing software and i like to do something my own. Specially if there is good occasion to build something interesting and test some exiting technologies 😀

So i did invoicing software which is available here and here is a screen.

faktura

In this tool you can create your invoice, save it and use it later. You don’t need to create database of clients or products, because if you want to create an invoice for someone who you already did just copy this invoice and paste it in new one. Idea is to have as less functionality as possible and make it to use as easy as it is.

Because it is still in beta stage, if you will register and want to use it, then let me know this because i need to know if i should care about your data.

Ok, some technical information. Here is done some of my favorite (for now;)) software technic and i did something what i personally call “onion programming”. We have following liers:

1. Data – data are stored in NoSQL Document database called Ndatabase. It is easy and great solution for embeded concept – just one library try it!!!

2. data access lier is ASP.NET MVC 4 application

3. data exchange lier it is JSON communication

4. data presentation lier is HTML with Bootstrap and jQuery

5. data binding is MVVM model supported by Knockout-js – great option if you have an experience with WPF or silverlight. Using Knockout and jQuery programming web applications is so easy as building fat client applications in WPF or WindowsForms.

If you have any technical questions or suggestions to this project, please let me know and i will try to answer you.

 

[New ideas] second approach to shopping presentation software

Second version of my idea about shop presentation software. This time it is small parser of web shop of polish H&M, Just go there and hit F4 and put H&M product number, Or – this is coolest – scan QR code with your mobile phone and you can select one of few example codes to display. Have fun 🙂
Only one note – remember it is still prototype and only a presentation of idea.

Here is link to find and test this software

Zrzut_ekranu_08.02.2013_20_10when you will open mobile application just select one of example article numbers and information of it will be shown for 10 seconds on monitor screen remotely

Here is how mobile page looks like.

20130209-213934.jpg
When you will select category from main menu then you will see products from this category.

20130209-213945.jpg
Now you need to select product which you want to see on big screen.

Of course your “big screen” can be whatever from 80 inches TV set to iPad.

Plan lekcji na iPhone już trafił do App store

Od jakiegoś czasu pracowałem nad odświeżoną wersją mojego programu do planu lekcji i dzisiaj w końcu trafił on do App Store.

Mamy nowy design in nową funkcjonalność, więc tutaj krótka lista co teraz program potrafi:

  • Obsługuje dowolną liczbę uczniów (dzieci)
  • każdy z uczniów może mieć zdefiniowany dowolny plan godzin lekcyjnych (kiedy lekcje się kończą lub zaczynają)
  • przy tworzeniu planu lekcji na konkretny dzień można rozpocząć od wstawienia standardowego planu godzin i wtedy tylko wypełnić już kolejne lekcje, a niepotrzebne godziny usunąć
Teraz kilka screenów z aplikacji:
Czekam na wasze opinie, komentarze i pomysły co by tu jeszcze zmienić.