Question

J'utilise la base de données basée sur le Web pour lequel je dois ajouter des fonctionnalités de tableur à son extrémité avant. Je pensais que je pouvais utiliser Google Docs Spreadsheets. Leur application Google Script semble avoir le plan fonctionnel que j'ai besoin. En particulier, je peux utiliser le service URLFetch combiné avec les événements onEdit pour maintenir la feuille de calcul et DB synchronisé - le style AJAX. Cela me permet aussi beaucoup de flexibilité dans la construction, l'enregistrement et le partage des feuilles de calcul

Cependant, certaines choses sur Google App Script m'a donné une pause. Il fonctionne côté serveur donc il est difficile de déboguer localement. Il n'a pas toute sorte de débogueur avec des points d'arrêt ou pas à pas. Il ne peut pas importer des modules ou des bibliothèques externes. Non JSLint. Sans cela, je commencé à obtenir que « Uh, oh, ça va faire du mal » sentiment.

Je me demande s'il y a une meilleure façon de boulon sur la fonctionnalité du navigateur tableur accessible à une base de données basée sur le Web existant? Ou sont les meilleures pratiques là pour tirer le meilleur parti de Google App Script?

EDIT: Ce sont les solutions possibles afin de ce qui serait le mieux pour ma demande:

  1. navigateur basé sur le moteur tableur JavaScript. (Mai existe pas.)
  2. module de moteur tableur Python que je peux installer sur Google App Engine. (Je ne l'ai pas vu non plus.)
  3. Une approche plus robuste et Ajaxian à Google Spreadsheets. (Voir la question d'origine.)
  4. Ouvrir les moteurs de tableur source que je peux installer sur EC2. (Ceux-ci semblent exister - peut-être SocialCalc ou simple feuille de calcul Recommandations)
Était-ce utile?

La solution

Nous utilisons la fonctionnalité de feuille de calcul sur une page Web, mais plutôt que les scripts toutes les caractéristiques d'une feuille de calcul, nous utilisons un moteur de calcul qui nous donne le cœur programmatique de la fonctionnalité de feuille de calcul. Un moteur de calcul sait comment calculer des centaines de types de formules, les dépendances de poignée (et l'ordre entre les dépendances), cellule mise en forme, etc. Dans mon cas particulier, nous utilisons SpreadsheetGear - http://www.spreadsheetgear.com/products/ spreadsheetgear.net.aspx

Nous créons une représentation HTML d'une feuille de calcul avec la navigation cellulaire et diverses autres fonctionnalités en utilisant javascript. Lorsque nous avons besoin de la feuille de recalcul (par exemple F9 dans Excel) nous envoyons tout le tableur au serveur, demander à tout calculer, puis remplissez la représentation de la page Web avec les résultats. Cela peut également écrire à la base de données en fonction de ce qui est sur la feuille de calcul.

Peut-être que j'ai besoin de vos commentaires à ce stade, pour voir si ma réponse est pas trop loin sur la bonne voie.

Autres conseils

base de données basée sur le Web avec une capacité feuille de calcul frontal? Sons comme Ragic .

Et vous avez dit que vous devez développer votre propre back-end, je pense que vous pouvez utiliser leur API HTTP pour publier les données sur Ragic et ont l'utilisation de l'utilisateur la feuille de calcul frontal pendant que vous utilisez l'API pour synchroniser vos données.

Je l'ai fait creuser dans moi-même, et il a fait mal un peu. Voici les détails:

La mauvaise:

  1. Vous devez utiliser leur éditeur, pas JSLint.
  2. Aucun débogueur. Les scripts exécutés côté serveur, Firebug et d'autres outils de navigateur sont nuls aide. Le « Affichage-> transcription d'exécution » et « Affichage-> Journaux » sont un peu d'aide. Mais ils ne semblent pas fonctionner dans les événements de « onEdit ».
  3. La connexion à Internet passe par leur service UrlFetch qui est ne dispose pas d'un mode asynchrone. Et il ne fonctionne pas du tout dans les événements « onEdit »: http://code.google.com/p/google-apps-script-issues/issues/detail?id=185
  4. Ils ont essentiellement trois types d'événements. "OnLoad", "onInstall" et "onEdit". En particulier, je manqué un événement mal « onclick ».
  5. Pas de support de bibliothèque externe.

Le bon:

  1. Il est vrai JavaScript, donc il fonctionne on pouvait s'y attendre, et je peux utiliser un outil de JSLint externe.
  2. courbe d'apprentissage peu profonde. feuilles Comprendre, gammes et set / get valeurs sont les concepts clés.
  3. Beaucoup de fonctionnalités pour manipuler des éléments de la feuille de calcul, le formatage, etc.
  4. Google Data API de soutien? Je ne l'ai pas utilisé, mais il semble que le chemin à parcourir pour connnecting aux ressources Web externes.
  5. Eh bien intégré, des mises à jour sur ma feuille de calcul scriptées sont immédiatement visibles pour les autres visualisent la feuille de calcul.

cet environnement a l'ensemble une tonne de potentiel, avec beaucoup de capacités interface utilisateur, mais il semble encore manquer sur certaines fonctionnalités clés pour faire un véritable développement de la production.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top