5

Utilizzo un database basato sul Web per il quale è necessario aggiungere funzionalità di foglio di calcolo al suo front-end. Stavo pensando che potrei utilizzare fogli di lavoro di Google Documenti. Il loro script per app di Google sembra avere la funzionalità di cui ho bisogno. In particolare, posso utilizzare il servizio URLFetch combinato con gli eventi onEdit per mantenere sincronizzati foglio di calcolo e DB - stile AJAX. Inoltre, mi consente molta flessibilità nella creazione, salvataggio e condivisione dei fogli di calcoloIl modo migliore per collegare un foglio di calcolo al database web

Tuttavia alcune informazioni su Google App Script mi ​​hanno dato una pausa. Funziona lato server quindi è difficile eseguire il debug in locale. Non ha alcun tipo di debugger con breakpoint o stepping. Non può importare moduli o librerie esterne. No JSLint. Senza questi ho iniziato a sentire "Uh, oh, questo farà del male".

Quindi mi chiedo se c'è un modo migliore per svuotare le funzionalità del foglio di calcolo accessibile da browser a un database basato sul Web esistente? O ci sono le migliori pratiche per ottenere il massimo da Google App Script?

EDIT: Queste sono le possibili soluzioni in ordine di ciò che sarebbe meglio per la mia domanda:

  1. browser basato motore di foglio di calcolo JavaScript. (Potrebbe non esistere.)
  2. Modulo motore di foglio di calcolo Python che posso installare su Google App Engine. (Non ho visto neanche questo.)
  3. Un approccio più robusto e AJAXiano a Google Spreadsheets. (Vedere la domanda originale)
  4. Motori di foglio di calcolo open source che posso installare su EC2. (Queste sembrano esistere -. Possibilmente SocialCalc, o Simple Spreadsheet Raccomandazioni?)
+0

In particolare quale funzionalità del foglio di calcolo è necessaria? I fogli di calcolo fanno molto in questi giorni! – RedFilter

+0

@RedFilter. Principalmente solo formule di base, riferimenti di celle, dipendenze, formattazione di base delle celle. Tutto il resto sarebbe un vantaggio: fogli multipli, formattazione di celle di fantasia. Le carte probabilmente non sono necessarie. La cosa più importante è essere in grado di fare richieste di tipo XHR al mio database. – mjhm

+1

Hai scontato utilizzando lo stesso foglio di calcolo di Google come visualizzazione del browser. Mettere i dati in un foglio con una singola formula ImportData (URL) restituendo un CSV? – DavidF

risposta

2

Utilizziamo la funzionalità di foglio di calcolo su una pagina Web, ma anziché lo scripting di tutte le funzionalità di un foglio di calcolo, utilizziamo un motore di calcolo che ci fornisce il cuore pulsante della funzionalità del foglio di calcolo. Un motore di calcolo sa come calcolare centinaia di tipi di formule, gestire le dipendenze (e l'ordine tra le dipendenze), la formattazione delle celle ecc Nel mio caso particolare, usiamo SpreadsheetGear - http://www.spreadsheetgear.com/products/spreadsheetgear.net.aspx

Creiamo una rappresentazione HTML di un foglio di calcolo con la navigazione cellulare e varie altre funzionalità usando alcuni javascript. Quando abbiamo bisogno di ricalcolare il foglio (ad es. F9 in Excel), inviamo l'intero foglio di calcolo al server, chiediamo di calcolare tutto e quindi di riempire la rappresentazione della pagina web con i risultati. Questo può anche scrivere nel database a seconda di cosa c'è nel foglio di calcolo.

Forse ho bisogno del vostro input a questo punto, per vedere se la mia risposta non è troppo lontana.

+0

Questo è sicuramente sulla buona strada. Se non viene visualizzato nessun altro, ottieni questo solo per i termini di ricerca "motore di calcolo" e "motore di calcolo". Questi hanno suscitato molte idee promettenti. Aggiornerò la domanda con qualche altro dettaglio – mjhm

0

così ho fatto scavare in questo me stesso, e ha fatto male un po '. Qui sono i particolari:

La cattiva:

  1. Devi usare loro editore, non JSLint.
  2. Nessun debugger. Gli script eseguono il lato server, quindi Firebug e altri strumenti del browser non sono di aiuto. "Visualizza-> Trascrizione di esecuzione" e "Visualizza-> Registri" sono un piccolo aiuto. Ma non sembrano funzionare negli eventi "onEdit".
  3. La connessione al Web passa attraverso il loro servizio UrlFetch che non ha una modalità asincrona. E non funziona affatto negli eventi "onEdit": http://code.google.com/p/google-apps-script-issues/issues/detail?id=185
  4. Fondamentalmente hanno tre tipi di eventi. "onLoad", "onInstall" e "onEdit". In particolare, ho perso un evento "onClick".
  5. Nessun supporto di libreria esterna.

La buona:

  1. E 'vero JavaScript, in modo che funzioni prevedibile, e posso utilizzare uno strumento JSLint esterna.
  2. Curva di apprendimento ridotta. Capire i fogli, gli intervalli e impostare/ottenere valori sono i concetti chiave.
  3. Un sacco di funzionalità per la manipolazione di elementi del foglio di calcolo, formattazione, ecc.
  4. Supporto dell'API dati di Google? Non ho usato questo, ma sembra il modo di connettersi a risorse web esterne.
  5. Gli aggiornamenti ben integrati e con script sul mio foglio di lavoro sono immediatamente visibili agli altri che visualizzano il foglio di calcolo.

Nel complesso questo ambiente ha un sacco di potenziale, con molte funzionalità di interfaccia utente, ma sembra che manchi ancora alcune funzionalità chiave per lo sviluppo della produzione reale.

1

Database basato sul Web con una funzionalità di front-end del foglio di calcolo? Sembra Ragic.

E lei ha detto che è necessario sviluppare il proprio back-end, penso che si possa usare la propria API HTTP per inviare i dati a Ragic e avere l'utente utilizzare il foglio di calcolo front-end mentre si utilizza l'API per sincronizzare i dati.