BETA
My accountGet started
Apr 182017
Total.js Platform

New Total.js version 2.5

New improved version of the framework brings better performance, new features and some bug fixes.

New Total.js version 2.5

It's the best time to switch to Total.js. I can say that the framework is a professional tool for all web developers and their companies. Today it's Your last chance to buy Total.js Premium Account at 30% discount. Buy the premium with chat support now and start your business with Total.js platform, we'll change your view of web development in the next days.

What's new?

  • supports WebSocket DEFLATE compression algorithm
  • replaced EventEmitter with custom implementation in the framework core (this step increased performance)
  • rewritten handling of static files
  • improved overall performance about 2-5%
  • improved components, components now support groups
  • improved loading of framework dependencies
  • improved view rendering
  • Total.js apps can be handled via Passenger web server
  • improved responses
  • improved requests processing
  • improved WebSocket performance
  • improved a memory consumption for GraphicsMagick and ImageMagick (great news for weaker VPS)
  • and many small fixes and improvements


New global aliases

Events:

  • ON(name, fn) alias for F.on()
  • OFF(name, [fn]) alias for F.removeListener(name, fn) or F.removeAllListeners(name)
  • EMIT(name, arg1, arg..N) alias for F.emit()

Schemas:

  • $GET(schema, [options], callback) alias for GETSCHEMA(name).get()
  • $QUERY(schema, [options], callback) alias for GETSCHEMA(name).query()
  • $WORKFLOW(schema, name, [options], callback) alias for GETSCHEMA(name).workflow2()
  • $TRANSFORM(schema, name, [options], callback) alias for GETSCHEMA(name).transform2()
  • $OPERTION(schema, name, [options], callback) alias for GETSCHEMA(name).transform2()
  • $MAKE(schema, model, [filter], [callback], [novalidate], [argument]) alias for GETSCHEMA(name).make()

Other:

  • WAIT alias for U.wait()

A new alternative of schema declaration

An small example:

Debugging of Total.js application

I have added a debug logging into the framework. You can enable it via allow-debug : true in a config file or by passing options to http method:

Example of output:

  • the framework creates /usage.log file when it is initialized
  • at every service interval the file /usage.log is updated
  • created for critical situations

Scheduler

Now scheduler can be cleared via F.clearSchedule().

Components

The components mechanism supports groups to render all components from the group:

This mechanism can extend your web applications (e.g. Total.js Messenger uses this mechanism).

Consolidated config names

IMPORTANT: don't worry all older names will be work the next 3 versions, so you have time for replacing older values. I have updated more than 60 projects because of that.

Easy way to change SMTP server

I have added a new method for easy changing of SMTP server with a check via Mail.try(). More information in documentation.

Deferred functions

How it works?

Framework automatically parses all functions function DEFER and saves them to the helper variable.


With new version is also coming a new product Total.js Flow (I hope next week) and better functionality (coming soon) for Total.js Eshop, Messenger, SuperAdmin, Dashboard, etc..