New version of Total.js framework brings great new features and a lot of improvements. Read more.
Total.js v3.3.0
Big day is here! I'm very happy to announce a new version of Total.js framework. This version brings really great new features, bug fixes and core elements for Total.js v4. Total.js is very complex Node.js framework, maybe without any direct competition (due to features). So enjoy this version with more than a hundred changes!
- Full changelog
- How to update framework?
$ npm install total.js
- Total.js Documentation
- Total.js Examples
- Homepage: www.totaljs.com
This version of Total.js framework is sponsored by LabLynx, Inc.
New features
Session module
Finally, this version of Total.js framework supports session module. The module is very sophisticated and designed for the best performance and usage. In dozens of applications, we needed the users to have full control of managing their open sessions. So, with the session module, the users are able to cancel their existing sessions for a specific device or browser.
- May work in
Cluster
- Can be optimized for e.g.
Redis
- Documentation
- Example
The module is a bit specific because it works only with two identifiers id
(e.g. userid
) and sessionid
. Session data is loaded when needed, so the module stores only the identifiers, with some additional data, to HDD. Read the documentation for more information or learn from examples.
Example of real usage:
Improved routing
We have improved routing with few details.
Simplified Authorize/Unauhorize flags:
Improved dynamic schemas:
Better handling (404) not existing static files:
Improved schemas
Schemas have been improved a lot. We have added new methods, properties and functionality, which make coding more convenient, than ever before.
- new type
Number2
with default valuenull
, not0
- improved default values, for example:
schema.define('parentid', UID)(null)
Patch
method
v3.3.0
finally brings PATCH
HTTP method support in Total.js schemas. If the request contains PATCH
method, the framework enables a special validation for received data only (not for the entire schema).
Schemas support middleware:
Preferences
This was a missing feature for most of Total.js products. Preferences are a simple object for storing persistent data. Preferences are persistent and they work in Cluster
.
Usage:
Total.js Components support Parts
This was great idea. Primary we use Total.js components for extending of existing apps. Now a developer can specify parts in the views, where the parts from components will be rendered.
A component declaration:
Usage in views:
Audit logs for all operations
Very helpful method for logging operations. More information in documentation. The method stores the data below:
- message
- type if exists
- parsed user id as userid (if exists)
- parsed user name as username (if exists)
- parsed user-agent as ua
- creation date
- IP address
Auto-localization of all .html
static files
Very important change, you don't need to use LOCALIZE()
method. This version performs localization
and minification
for all .html
static files automatically. You can disable this behavior in config
file:
Proxy server
Finally, we have extended Total.js framework by adding PROXY()
method, which can register proxy routing to external source. Example:
New global variables
ACTION()
simulates a request to a route, read documentationMAIN
for storing of some main data of the applicationREPO
for storing of some repository data of the applicationFUNC
for storing of global functionsSESSION()
for obtaining of session instanceMODIFY()
as alias forF.modify()
VIEWCOMPILE()
as alias forF.view_compile()
$ACTION()
executes a schema operation directly, read documentation
New utitilies
String.parseCSV([delimiter])
for parsing CSV filesString.parseUA([structured])
for parsing user-agent
Updates
Updated UID()
This version brings a new generator for unique identificators with 100% backward compatibilty. Example:
RESTBuilder supports keep-alive
Works only with http
protocol, but can increase performance for repeated requests.
ImageMagick 7
We have added a support for ImageMagick v7, but you need to enable it:
Fixes
We have fixed small bugs (not critical). All fixes are mentioned in changelog.
Future
We will prepare Total.js v4. Currently, we are working on new open-source products. Stay tuned and Follow us on Twitter.
Become our sponsor
We are looking for sponsors who can help us improve Total.js platform. We have created a lot of great open-source products which you can use without any fees. Are you interested? Contact us.
Other posts from Total.js Platform
- 2024-11-13Benchmarking Node.js Frameworks: selecting your framework for 2025!
- 2024-11-01October report 2024
- 2024-10-22Performance Testing: Total.js vs. NestJS
- 2024-10-01September report 2024
- 2024-09-27Total.js UI Builder: #2 designing your first interface
- 2024-09-26Total.js V5: Middlewares
- 2024-09-23Beginner Guide to Total.js UI: # 05 Client-side routing
- 2024-09-23Total.js UI #4: Data Binding (Part 2 – Practical Example)
- 2024-09-20Introduction to Total.js UI Builder: A Beginner’s Guide
- 2024-09-13Total.js v5: #06 Understanding File Routing