Frage

Ich bin mit Web-basierter Datenbank, für die ich brauche Tabellenkalkulationsfunktionen zu seinem vorderen Ende hinzuzufügen. Ich dachte, dass ich Google Docs Spreadsheets verwenden könnte. Ihre Google App Script scheint die funktionell zu haben, die ich brauche. Insbesondere kann ich den URLFetch Service mit onEdit Ereignissen kombiniert verwenden, um die Kalkulationstabelle und DB synchron zu halten - AJAX-Stil. Es erlaubt mir auch eine große Flexibilität bei der Konstruktion, Speichern und die gemeinsame Nutzung der Tabellen

Doch einige Dinge über Google App Script gab pausieren mich. Es läuft serverseitige, so dass es schwierig ist, lokal zu debuggen. Es muss nicht jede Art von Debugger mit Haltepunkten oder Schritt. Es kann nicht externe Module oder Bibliotheken importieren. Kein JSLint. Ohne diese begann ich immer das Gefühl „Uh, oh, dies schaden wird“.

Also ich frage mich, ob es ein besserer Weg, um geschraubten Browser zugänglich Tabellenkalkulationsfunktionen zu einer bestehenden Web-basierten Datenbank? Oder gibt es Best Practices für das Beste aus der Google App Script?

EDIT: Dies sind die möglichen Lösungen, um von dem, was wäre am besten für meine Anwendung:

  1. Browser-basierte JavaScript Tabelle Engine. (Mai gibt es nicht.)
  2. Python-Tabelle-Engine-Modul, dass ich auf Google App Engine installieren. (Ich habe dies auch nicht gesehen.)
  3. Ein robuster und Ajaxian Ansatz zu Google Text & Tabellen. (Siehe Original Frage.)
  4. Open-Source-Tabelle Motoren, dass ich auf EC2 installieren kann. (Diese scheinen zu existieren - möglicherweise SocialCalc oder Einfache Tabellenkalkulations Empfehlungen)
War es hilfreich?

Lösung

Wir verwenden Tabellenkalkulationsfunktionalität auf einer Webseite, sondern als alle die Eigenschaften eines Tabellenkalkulations scripting verwenden wir eine Berechnungs-Engine , die uns die programmatischen Herzen der Tabelle Funktionalität gibt. Eine Berechnungs-Engine weiß, wie Hunderte von Arten von Formeln zu berechnen, handelten Abhängigkeiten (und die Reihenfolge zwischen Abhängigkeiten), Zell Formatierung usw. In meinem speziellen Fall verwenden wir SpreadsheetGear - http://www.spreadsheetgear.com/products/ spreadsheetgear.net.aspx

Wir erstellen eine HTML-Darstellung einer Tabelle mit Zell Navigation und verschiedene andere Funktionen einige Javascript verwenden. Wenn wir das Blatt neu zu berechnen (zB F9 in Excel) müssen wir die gesamte Tabelle an den Server senden, fragen sie alles berechnet und dann wieder füllt die Webseite Darstellung mit den Ergebnissen. Dies kann auch in die Datenbank schreiben, je nachdem, was ist auf der Tabelle.

Vielleicht brauche ich Ihre Eingabe an dieser Stelle, um zu sehen, ob meine Antwort nicht zu weit weg von der Schiene ist.

Andere Tipps

Web-basierte Datenbank mit einer Tabellenkalkulations Front-End-Fähigkeit? Sounds wie Ragic .

Und Sie sagten, Sie müssen Ihre eigenen Backend entwickeln, ich glaube, Sie ihre HTTP-API verwenden können, um die Daten zu Ragic zu schreiben und Benutzer verwenden die Tabelle Front-End haben, während Sie API verwenden, um Ihre Daten zu synchronisieren.

So habe ich graben sich in das selbst, und es hat ein wenig verletzt. Hier sind die Angaben:

Die schlechte:

  1. Sie haben ihren Editor zu verwenden, keine JSLint.
  2. Keine Debugger. Die Skripte laufen Server-Seite, so Firebug und andere Browser-Tools sind Null-Hilfe. Die „View-> Execution Transkript“ und „View-> Logs“ sind ein wenig Hilfe. Aber sie scheinen nicht zu funktionieren in „onEdit“ Ereignisse.
  3. Die Verbindung zum Netz geht durch ihren UrlFetch Service, ist nicht einen asynchronen Modus. Und es funktioniert nicht überhaupt in „onEdit“ Ereignisse: http://code.google.com/p/google-apps-script-issues/issues/detail?id=185
  4. Sie haben grundsätzlich drei Ereignistypen. "OnLoad", "onInstall" und "onEdit". Insbesondere ich schlecht ein „onClick“ Ereignis verpasst haben.
  5. Keine externe Bibliothek Unterstützung.

Die gute:

  1. Es ist wirklich JavaScript, so dass es Funktionen vorhersagbar, und ich kann ein externes JSLint-Tool verwenden.
  2. Shallow Lernkurve. Verständnis Blätter, Bereiche und Set / get-Werte sind die Schlüsselbegriffe.
  3. Viel Funktionalität für Tabellenkalkulations Elemente zu manipulieren, Formatierung, etc.
  4. Google Data API-Unterstützung? Ich habe nicht verwendet, aber es sieht aus wie die Art und Weise für connnecting zu externen Web-Ressourcen zu gehen.
  5. Well integriert, scripted Updates auf meiner Tabelle sind sofort sichtbar für andere die Tabelle angezeigt wird.

Insgesamt ist dieses Umfeld hat eine Tonne Potenzial, mit vielen UI-Fähigkeiten, aber es scheint immer noch zu verpassen auf einigen wichtigen Funktionen für echte Produktionsentwicklung zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top