Building Custom Document Editor on Google App Engine - Integration Options

I’m developing a web application for a school robotics team using Google App Engine and need advice on implementing a document editing feature.

Currently, our team relies on Google’s collaboration tools. I’m curious if there’s a method to integrate with the Google Docs API that would let members edit documents directly through our custom interface without requiring them to have Google accounts or navigate to the actual Google Docs platform.

From my research so far, this approach seems challenging to implement. As an alternative, I’m considering building a native editor within our application using something like a rich text editor (maybe TinyMCE) combined with AJAX calls and App Engine’s datastore for persistence.

Has anyone worked with JavaScript-based editors that offer comprehensive formatting capabilities similar to what you’d find in Google Docs, Microsoft Word, or LibreOffice? I’m particularly interested in features like custom fonts, line spacing controls, text alignment options, and paragraph justification. What would be the most practical approach for this type of implementation?

tinyMCE is good, but quill.js is super lightweight and easier to tweak. i used it on a project with decent formatting. just a heads up: handling real-time collaboration with app engine’s datastore can get complicated without websockets.

I’ve done something similar with CKEditor and Google App Engine. You’re right about the Google Docs API - users still need Google accounts for write access even with embedding, which is unfortunate. CKEditor 5 handles all those formatting features pretty well. The collaboration part can get messy though. I used operational transforms for concurrent edits and stored document deltas instead of full snapshots in the datastore. This approach performed better than syncing complete document states constantly. Be cautious of App Engine’s request timeouts, as they’ll disrupt long editing sessions. I implemented periodic auto-saves and ensured that connection drops didn’t compromise functionality. Once I refined the datastore structure, formatting persistence was smooth, although user permissions and document versioning added complexity to the backend.

Building a custom editor is doable, but you’ll hit some architectural choices right away. I used Slate.js for something similar - it gives you way more control over the document model than typical WYSIWYG editors. Steeper learning curve, but you can build exactly what you need without extra junk. For App Engine persistence, try a hybrid approach: cache changes locally and batch sync to the datastore every few seconds. Cuts backend load and handles spotty connections better. Watch out for font rendering - it’s inconsistent across browsers and devices. Start with web-safe fonts or Google Fonts with solid fallbacks. Your document structure matters big time once you add complex formatting, so nail down your data model early.