lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

After 11 months of hard work since the lastest alpha, the first beta release of Ophal is finally available! The focus of this first release is what will define this beta cycle: stability and complementary features.

Let's see what we have now!

Read on-line:

## New features

The Ophal web platform started as a web framework, upon which basic CMS features are evolving so that complementary features are required than mere content CRUD:

- CMS modules: content, user, tag, menu, comment
- New hooks: content_render(), region(),
- New debug function: debug.log(), it logs what you pass to it into file $TEMP/ophal.log - New theme features: settings.lua for themes, render_t(), theme.file_info(), theme.progress(), theme.input(), theme.select_option(), - New JS features: extensible 'Ophal' object, Ophal.scroll_down(),, trigger ophal:comments:load()
- New documentation: How to create database schema for CMS modules
- New functions: page_not_found(), nopcall(), shutdown_ophal(), server_exit(), format_size(), user.current(), route_build_routes(), route_build_handler(), init_head(), add_head(), get_head(), db_limit(), sessions_path(), sessions_destroy_expired(), - Support error messages on JSON output format, so that errors don't break the output! - Route aliases with optional database storage, localize-able and with own CRUD API - Progressive file uploading relying on HTML5 FileReader API and metadata storage (optional)
- Configurable hashing algorithm of user passwords
- Support for vault.lua to store sensible settings outsite settings.lua (i.e: passwords), ignored by .gitignore of course!
- Better robots.txt
- Support more common file extensions on Nginx
- Proof of concept Ophal CLI
- Translatable texts with new function: t()
- Session files get deleted on cron with the new module: system, enable it if you want to have a healthy site!

## Refactoring

Some changes are required to make development experience a bit less complicated:

- Components refactored: Installation wizard, default settings builder,
- Components merged: 'menu' and 'path' are now just: 'route'
- Hooks can now break and trigger custom error.
- Routes (old menu callbacks) can now have default parameters and access callbacks, and being called from any other module - Password encryption removed from front-end. Use SSL my friend! and configure to 'https'
- Code rendering the user login form is more readable
- Database schema got more consistent object names
- Function arg() renamed to route_arg()
- Use _M to build and return core modules

## New defaults

New settings get added constantly, these are the new defaults:

- Default language: en (English)
- Default theme: basic

## Legal

Ophal is now Affero GPL version 3 (AGPLv3).

## Bug fixes

Let's list them in optimistic mood:

- Support LuaJIT!
- Function get_js() now renders inline Javascript
- missing settings.lua will not crash everything from now on
- Content-Length header is now present on JSON output format
- Fewer WSODs on theme rendering bugs
- Function user.access() can handle nil params!
- Tag module is less buggy
- Front-page now has a default title when paginated

Kind regards!

Fernando Paredes García

** Before printing this message, please consider your commitment with the environment ** Antes de imprimir este mensaje piensa en tu compromiso con el medio ambiente