Bovitmenybolt (avagy bye-bye Google Docs)

 ( khiraly | 2015. május 7., csütörtök - 9:18 )

Hattersztori:

Tortent egyszer, hogy irtam egy kis szkriptet google docs-hoz.

Lenyegeben annyit csinal, hogy van ket tablazat,
es az egyiket a masikkal szinkronban tartja
aszerint, hogy mi az elso cella erteke.

A ket tablazat az ket felhasznaloe.
Az egyik lenyegeben a masik egyszerusitett nezete. Persze szinez is.
Van feher, sarga, narancs, zold, piros hatterszin.
Ezt is az elso cellaba irt szoveg hatarozza meg.

Persze irtam hozza egy pdf generalo kis programot is:)
Megfogta a tablazatot, letoltotte, es csinalt belole egy-ket dolgot
(osszesitest, matricat, plusz kimutatast), majd megjelolte maganak (plusz egy oszlop),
hogy abbol a sorbol mar tortent kimutatas, igy mindig csak az ujakbol csinalt.

Igazabol amire kellett, arra megfelelt. De mindig gondolkodtam egy celprogram irasan.
Ez olyan "exceles" megoldasa a problemanak.

Rendszeresen bugzott.
Kuldott gugli egy-egy levelet, hoyg hiba a szkript futtatasa kozben.
Volt ugy, hogy percenkent.
Lenyegeben, amikor le volt terhelve a google szervere, arrol en kaptam "ertesitest".

De amint rendezodott a helyzet a guglinal, ugy szepen tudta szinkronizalni a ket tablat.
Ez ilyen max 1 ora kesleltetest vitt a dologba hetente kb. 2-3x.
(meg felevente egyszer kitiltottak 1 napra, mert tul sok hibauzenetet generaltam.:)

Eddig a hattersztori:)

Mostanaban rendszeresen kapok uzenetet, hogy nem lehet szinkronizalni a ket tablat,
azzal a kulonbseggel, hogy most tenyleg nem mukodik.
Marmint csak egyik iranyba mukodik
(Fotablabol atveszi a sorokat a mellektablaba, de miutan
ott vegeztek a "munkaval", mar nem teszi vissza a fotablaba).

Ma ugy gondoltam ranezek, hogy megis mi nyugje van...

Hat lenyegeben a google beszuntette a sajat szkriptek irasat. Mostmar Bovitmenybolt van.
Publikaljam a szkriptemet a bovitmenyboltba, ahhoz, hogy en tudjam tovabb hasznalni.

Gondoltam publikalom. De ott vesztettek el vegleg,
amikor 5$-t kellett volna fizetnem az *elozetes* adategyeztetesert.
Plusz 2 uj szabalyzatot kellett volna elfogadnom
(egyikben lenyegeben az van, hogy a google nem vallal felelosseget szellemi termekem biztonsagaert:)

Mindigis kulon ugyeltem arra, hogy sose adjak meg szemelyes adatokat a guglinak.

Ami meg negativum:
* kb. 1.5 honapja nem lehet megnyitni a tablazatot mobilon, mivel "elavult" (android 4.4)
* kb. 8 honapja copy-paste nem mukodik egyik regebbi gepemen.
* kb. 1 eve nem viszi az n900-asom se
* idonkent sorokat nem lehet kivagni es atvinni ugyanazon a tablazaton belul uj fulre(tabra).
* semmifele indikator, hogy mennyi valtoztatast nem sikerult elmentenie. Arra sincs indikator, amikor minden sikeres volt. Csak nem engedi bezarni az ablakot, ha szerinte van meg nyugje.
* a szkript miatt az undo sose mukodott.

Szoval ennyit a google docsrol. Ugyis ujra akartam volna irni. Egyebkent is bugzott miattuk.

A pozitiv oldala, hogy 4 evig mukodott.
Nagyjabol ez a maximalis ido, amit a google tud nyujtani.

A virtualis kopjafamat mar nem tudom a google szolgaltatasaira alapozni, az mar tuti:)

Gondolom az elso hozzaszolas az lesz, hogy oruljek, hogy eddig is "ingyen" hasznalhattam a szolgaltatasukat.
A negativuma, hogy raszoktatjak a szolgaltatasukra a "fejlesztoket", aztan hidegzuhany.

En meg emlekszem, amikor a sajat domain emailcime ingyenes volt, most pedig 4EUR/ho/emailcim.

A tanulsag annyi, hogy az ember a sajat cokmokjaiban bizzon. Masra ne alapozzon.
Felhoszolgaltatasokra triplan igaz.

Jolesett kiereszteni a gozt:)

Szoval viszlat Google Docs!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Bennem fel sem merül, hogy másra bízzam a dolgaimat. Saját infrastruktúrán azt teszek, amit jónak látok. Más meg úgy változik, ahogy akar, nincs rá befolyásom.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Akkor gondolom sajat csonakkal/kisrepulovel utazol at az oceanon.

A saját dolgok csak akkor jobbak, ha a funkcionalitasuk,ár/érték arányuk osszehasonlithato a szolgaltataskent elerheto dolgokeval.

--
Live free, or I f'ing kill you.

vagy biztos lehetsz benne, hogy X ev mulva is elerheto, es nem vagy kiszolgaltatva.
Feleslegesen kellene ujrairnom a programomat.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Nem, de mindig az a kérdés, mi az elérendő cél, milyen eszközeink, forrásaink vannak ehhez. A kiszolgáltatottság sokat ront a felhő melletti döntés esélyein. Mind a privát szféra védelme okán, mind pedig a kiszámíthatóság miatt. Saját infrastruktúrával is haladni kell a korral, csak odázható a dolog, nincs külső kényszer.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

amikor 5$-t kellett volna fizetnem az *elozetes* adategyeztetesert.

nice. Ugy ertem, fakkju nekik :-)

--
"Tudom én hogy nem biztonságos, de le van szarva az egész [...] A WoW jelszavam maradjon titokban csak az a lényeg!" (BlinTux)

Office365 esetleg? :) Na viccet félre téve, írnál arról hogy milyen adatokat tartalmaztak a táblák (csak általában, konkrétumok nélkül)?

LOL@office365. Ott fix 1 evre lehet tervezni....

A tablazat munkakat tartalmazott, csak mindenki a ra tartozo reszt lathatta a tablazatbol.
Tobb szereplos is lehetett volna, de vegulis ket fel dolgozott igy ossze.

Atlagban 30-50 sora volt (ami szinkronizalodott), es az archivalas pedig olyan 4-5000 sor (miutan befejezodott).
Szoval relative kicsi. Kb szegeny ember mysql-je volt.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Ez a fix egy évre tervezés azért kicsit túlzás, különösen hogy minden változást jóval előre (de visszamenőleg is, nyilván) meg lehet nézni itt: http://roadmap.office.com/en-us

Az office365 az atb@szas kategoria.
Egy felhoszolgaltatast eroltetnek rad, egy asztali program igeretevel,
amit fel-egy evig berelhetsz (aprobetu).

Abszolut felrevezetoen hirdetik minden uj laptop melle.
Nezd meg sajat szemeddel, ha nem hiszed.

A masik, hogy lehet-e ilyen szintu szkriptet irni.
Biztos nem en leszek az aki office365 alatt elszuttyogok egy ilyennel.
Most egettem meg a kezeimet. En inkabb irok egy sajat tablazatkezelot,
ha a tablazatkezeloseg igeny, de egy custom weboldal is osszejon.
Kb. ugyanaz fejlesztesi idoben nezve.
A google tablazata nagyon bugzott, lehet itt is a limitaciokba beleutkoznek eleg hamar.

Amikor ezt csinaltam, akkor meg a linuxos kontenerek tervbe se voltak veve.
Ma mar 1000x betennem az egesz cuccot egy kontenerbe,
es mentenem az egeszet automatan, es barmikor ujraindithatnam.

Van is annyi VPS-em, hogy barhova elfer, es senkit se zavar.
Kb. napi 2-3x update volt a tablan, teljesen elhanyagolhato terheles igazabol.

En alapvetoen mindenkit lebeszelnek a felhozgetesrol.
Itt is irtam egy programot a google docs ala,
konkretan lehet ujrairni az egeszet, abszolut nem portolhato,
sajat google segedfuggvenyeket hivogat.

Egyebkent tobbszor elofordult az is, hogy kompletten kitiltottak a googlebol, egy napig a gmail fiokomat se nezhettem meg. Igaz ez csak 3x fordult elo, de kulonosen idegesito.
Szoval tenyleg a limiten mozogtam.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

En alapvetoen mindenkit lebeszelnek a felhozgetesrol.

egy kicsit tulreagalod...

--
"Tudom én hogy nem biztonságos, de le van szarva az egész [...] A WoW jelszavam maradjon titokban csak az a lényeg!" (BlinTux)

Felho szolgaltatasra fejleszteni eleg lutri...
Kb. mint mobilplatformra fejleszteni.

Mondjuk az igaz, hoyg kell par het, hogy lenyugodjak, es tisztan lassak.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

gondolom, az adott szolgaltatas felhasznalasi felteteleivel osszhangban csinaltad a dolgaidat...

--
"Tudom én hogy nem biztonságos, de le van szarva az egész [...] A WoW jelszavam maradjon titokban csak az a lényeg!" (BlinTux)

Ez nem segit...
(ilyenkor szokott az elso pofon elcsattanni :)

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

ne felj, nem bantalak ;-)

--
"Tudom én hogy nem biztonságos, de le van szarva az egész [...] A WoW jelszavam maradjon titokban csak az a lényeg!" (BlinTux)

"Hat lenyegeben a google beszuntette a sajat szkriptek irasat. "
Erre tudsz egy linket dobni? Mert nem hallottam róla, viszont az előbb írtam egy saját szkriptet.

linket nek tudok, de fokozatodan vezetik be. Mostmar a masik account szkriptje se megy...

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

csak hogy jol ertem-e:
- a szkripted egy spreadsheethez kotott szkript volt, nem onallo, nem is konyvtarkent hasznaltad.
- egyszer csak egyik naprol a masikra nem fut le

erdekel a dolog mert sok dologra hasznalom az apps scriptet, nem szeretnem, ha meglepetes erne...

milyen uzenetet kapsz, ha le akarod futtatni? Vagy mar nem is elerheto a szkript?

pontosan igy van.

Email ertrsitest kapok. A googlw apps script termekkel kapcsolatos hibak osszegezese

A muvelet vegrehajtasahoz engedely szukseges. Darabszam: 413

Tovabbi hibak meg:

A(z) 1W0KlWLlbZhn7lCajhtXWLh70KOzGY-QKRmIZZtiKCSs dokumentum hiányzik (talán törölték?) (41. sor a(z) „Code” fájlban)

Sajnáljuk, szerverhiba történt. Kérjük, várjon egy kicsit, majd próbálkozzon újra. (43. sor a(z) „Code” fájlban)

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Ez több mint gyanús. Aktívan használok Apps scriptet, minden formában (standalone, library, dokumentumhoz csatolt), gmailes es GAPPS-os kontón, naponta + triggerekkel indítgatva össze-vissza. Sehol nem jött elő ilyen a gond.
A munkám miatt a google feedeken is lógok, sehol nem írták, hogy megszűnne bármi is.

Még egy tippem van: nem használtál véletlenül olyan API-t, ami azóta megszűnt? Pl. a Documents List API-t most áprílis 20-án kapcsolták le (a Drive API-ra kellett migrálni róla).

te erdelyi vagy, igaz?

--
"Tudom én hogy nem biztonságos, de le van szarva az egész [...] A WoW jelszavam maradjon titokban csak az a lényeg!" (BlinTux)

hogy jön ez ide? :)

csak a "konto" szo verte ki a szemem. Errefele senki nem hasznalja igy ezt a szot...

--
"Tudom én hogy nem biztonságos, de le van szarva az egész [...] A WoW jelszavam maradjon titokban csak az a lényeg!" (BlinTux)

Ettől még lehetne német is. ;)

lol...

--
"Tudom én hogy nem biztonságos, de le van szarva az egész [...] A WoW jelszavam maradjon titokban csak az a lényeg!" (BlinTux)

Neked van "Bovitmenyek->Bovitmenyek beszerzese" a menudben?
Tovabba a szkriptszerkesztonel "Bevezetes Internetalkalmazaskent" ikon.

Egyebkent ha annyira erdekel, ezeket a fuggvenyeket hivom meg:

[15-05-12 08:12:10:927 CEST] Végrehajtás elkezdése
[15-05-12 08:12:11:216 CEST] SpreadsheetApp.openById([0AqmhkqXUKWHddFFSTHdKLXl0cmVkMHE5Z3VpdlRaaXc]) [0,28 másodperc]
[15-05-12 08:12:11:217 CEST] Spreadsheet.getSheetByName([wip]) [0 másodperc]
[15-05-12 08:12:11:347 CEST] SpreadsheetApp.getActiveSheet() [0,129 másodperc]
[15-05-12 08:12:11:479 CEST] Sheet.getDataRange() [0,131 másodperc]
[15-05-12 08:12:11:479 CEST] Range.getLastColumn() [0 másodperc]
[15-05-12 08:12:11:610 CEST] Sheet.getDataRange() [0,13 másodperc]
[15-05-12 08:12:11:610 CEST] Range.getLastColumn() [0 másodperc]
[15-05-12 08:12:11:611 CEST] Range.getRow() [0 másodperc]
[15-05-12 08:12:11:611 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:11:611 CEST] Range.offset([1, 0]) [0 másodperc]
[15-05-12 08:12:11:810 CEST] Range.getValue() [0,198 másodperc]
[15-05-12 08:12:11:810 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:11:811 CEST] Range.offset([2, 0]) [0 másodperc]
[15-05-12 08:12:11:811 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:11:812 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:11:812 CEST] Range.offset([3, 0]) [0 másodperc]
[15-05-12 08:12:11:812 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:11:812 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:11:813 CEST] Range.offset([4, 0]) [0 másodperc]
[15-05-12 08:12:11:813 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:11:813 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:11:814 CEST] Range.offset([5, 0]) [0 másodperc]
[15-05-12 08:12:11:814 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:11:814 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:11:815 CEST] Range.offset([6, 0]) [0 másodperc]
[15-05-12 08:12:11:815 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:11:815 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:11:816 CEST] Range.offset([7, 0]) [0 másodperc]
[15-05-12 08:12:11:816 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:11:816 CEST] Range.offset([7, 15]) [0 másodperc]
[15-05-12 08:12:11:817 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:11:949 CEST] Sheet.getDataRange() [0,132 másodperc]
[15-05-12 08:12:11:950 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:11:950 CEST] Range.offset([1, 10]) [0 másodperc]
[15-05-12 08:12:12:019 CEST] Range.getValue() [0,068 másodperc]
[15-05-12 08:12:12:019 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:020 CEST] Range.offset([2, 10]) [0 másodperc]
[15-05-12 08:12:12:020 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:020 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:021 CEST] Range.offset([3, 10]) [0 másodperc]
[15-05-12 08:12:12:021 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:021 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:022 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:022 CEST] Range.offset([8, 0]) [0 másodperc]
[15-05-12 08:12:12:022 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:023 CEST] Range.offset([8, 15]) [0 másodperc]
[15-05-12 08:12:12:023 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:154 CEST] Sheet.getDataRange() [0,13 másodperc]
[15-05-12 08:12:12:154 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:154 CEST] Range.offset([1, 10]) [0 másodperc]
[15-05-12 08:12:12:155 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:155 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:155 CEST] Range.offset([2, 10]) [0 másodperc]
[15-05-12 08:12:12:156 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:156 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:156 CEST] Range.offset([3, 10]) [0 másodperc]
[15-05-12 08:12:12:157 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:157 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:157 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:158 CEST] Range.offset([9, 0]) [0 másodperc]
[15-05-12 08:12:12:158 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:158 CEST] Range.offset([9, 15]) [0 másodperc]
[15-05-12 08:12:12:159 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:292 CEST] Sheet.getDataRange() [0,132 másodperc]
[15-05-12 08:12:12:292 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:293 CEST] Range.offset([1, 10]) [0 másodperc]
[15-05-12 08:12:12:293 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:293 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:294 CEST] Range.offset([2, 10]) [0 másodperc]
[15-05-12 08:12:12:294 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:294 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:295 CEST] Range.offset([3, 10]) [0 másodperc]
[15-05-12 08:12:12:295 CEST] Range.getValue() [0 másodperc]
[15-05-12 08:12:12:295 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:296 CEST] Range.getLastRow() [0 másodperc]
[15-05-12 08:12:12:296 CEST] Sheet.getMaxColumns() [0 másodperc]
[15-05-12 08:12:12:296 CEST] Sheet.getMaxColumns() [0 másodperc]
[15-05-12 08:12:12:297 CEST] A végrehajtás sikeresen véget ért (összesen 1.361 másodpercig futott)

Melyik szunt meg?:)

És hogy visszatérjek a mely program milyen nyelvu hibauzenetet jelenitsen meg szavazáshoz:
"A művelet végrehajtásához engedély szükséges."
Erre konkretan semmi talalat nincs.

Ez vajon mi lehet az angol google-ben?
"This action requires authorization" ?, vagy mirol fordithattak?
Eselytelen barmit is talalni a neten...

A szkriptszerkesztonel a "Közzététel" menüben:
- Bevezetés internetes alkalmazásként
- Telepítés táblázatok-bővítményként
- Tesztelés bővítményként

Ha rákattintok a "Telepites tablazatok-bovitmenykent", akkor a kovetkezo felugro ablak jon elo:
(fent pici sargaban: Kommunikacio a CHrome internetes aruhazzal)

------
Chrome internetes aruházi adat
....
...
[Próba webáruház létrehozása] [Bezárás]
-----

Szóval nem tudok már úgy szkriptet írni, hogy ne kelljen alkalmazásként publikálnom.
De lehet, hogy egyedi eset, es CSAK NEKEM ilyen :)

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Az APPS script neha nagyon gyanus dolgokat tud csinalni, es eleg nehez rajonni mi is a gondja, ez igaz :D

Megprobalom megfejteni amit irtal, ha lesz egy kis idom, a magyar hibauzenetek nekem is ujak.

"Ez a tablazat nemreg megkapta az uj Google Urlapok formatumat"

Most ott jarok, hogy kulso program betette az egyik tablazatba az adatot, amit aztan google tablazatok frissitettek ossze egymas kozott.

Eddig az osszefrissites nem ment, de mostmar 3 napja betenni se tudja a kulso programom.
Szerintem ilyenkor kell feladni. Ha auto lenne a gyufat most dobnam be a tankba es kopnek egyet.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Úgy három éve nem bízok a gógel felhőjében. XML file-okat töltögettem fel, semmi veszélyes dolog nem volt benne, csak a benne lévő szöveget kellett magyarra fordítanom egy klienshez. Sokszor csak oda mentettem, mivel nem a saját rendszeremen, csak live-on teszteltem, hogy ne zavarjon bele semmi ami a gépemen van. Akkoriban bevett szokásként használták/tuk. Pár hét után szóltak, hogy nem érik el. Gugel törölte, 'merhogy szerinte veszélyes volt. A jó édes felmenőjük volt az, amikor megesett...
(Live=szegény ember virtuálgépe ;) )
☼☆♫♪♫♪☆☼
AGA@
Fork portal és az egyik logóm :)

En inkabb arra szavazok, hogy mindenkinek legyen egy kis vps-e.
Kellene egy minden csaladnak egy VPS-t kampany!:)

Eegen, csak akkor kéne egy rendszergazda is minden családba. :)