Welcome to Documentation for Tantalim
Overview
Learn how to create feature-rich, legacy-friendly, web-powered applications in a fraction of time it takes using traditional software developers.
Social
Q&A will be done on StackOverflow in the future. TODO - Need someone with
1500+ reputation to create a tag for tantalim.
Architecture
Page Layer
Rich functionality, custom scripts, and business logic.
Model Layer
Security. Join across multiple tables using one-to-many relationships, many-to-one relationships, or both.
Table Layer
Tantalim's advanced ORM and rich meta data.
Database
Relational databases such as MySQL, Oracle and SQL Server. Coming later, No SQL databases such as MongoDB and Cassandra.
Page Flow
- Browser
- GET http://localhost:3000/page/BuildTable/ (cacheable only for anonymous use)
- tantalim-server
server.jsroutes/index.jscontrollers/pageControllers.jsdesktop()views/desktop.html- Very lightweight shell, besides the need for future security, this could be done 100% client side
-
Browser (HTML)
- GET http://localhost:3000/page-definition/BuildTable (cacheable)
- tantalim-server
server.jsroutes/index.jscontrollers/pageControllers.jspageDefinition()services/pageService.jsservices/modelService.jspage/pageDefinition.js- Compiled JavaScript for the custom model and the page objects. This is the "Tantalim bytecode" that is used to generate the pages.
-
Browser (AngularJS)
- /lib/tantalim-client/public/js/tantalim-desktop.js (cacheable)
tantalim.desktop.$routeProvider- GET http://localhost:3000/page/BuildTable/html (cacheable)
- tantalim-server
server.jsroutes/index.jscontrollers/pageControllers.jshtmlBody()- HTML partial used by AngularJS to display the content.
- static HTML content or
page/htmlBodypartial
tantalim.desktop.PageControllertantalim.common.PageServicetantalim.common.ModelCursortantalim.common.ModelSavertantalim.desktop.PageCursor- ...and more
- GET http://localhost:3000/data/BuildTable (dynamic)
- tantalim-server
- /lib/tantalim-client/public/js/tantalim-desktop.js (cacheable)