Sailor v0.5 - Pluto

@Etiene Etiene released this Dec 2, 2015 · 140 commits to master since this release

Sailor MVC Lua Framework v0.5 - Pluto

Sailor is an MVC Framework and you can use it to make web development in Lua.

What's new from Sailor v0.4 Chibi?

  • More tests for Sailor itself and integration with Travis CI
  • Transactions for some major databases (MySQL, PostgreSQL, SQLite3)
  • Integration with multiple Lua->JS virtual machines for using Lua on the browser
  • General improvements on using Lua on the browser
    • Requiring of Lua modules
    • Accessing JS functions and passing callbacks
    • Better DOM manipulation
    • Accessing JS libraries (e.g. JQuery) and using them from Lua
  • Integration with internal OpenResty's MySQL DB API
  • Simulated OpenResty environment on automated tests (Depends on OpenResty)
  • Improvements on OpenResty compatibility
  • Improvements on Lighttpd compatiblity
  • Some bugfixes
    • Queries when using PostgreSQL and SQLite3
    • Route paths on Xavante and Apache webservers
    • Adds missing db.close on model:find_all
  • Breaking changes
    • sailor is no longer on global namespace, if you are accessing sailor attributes now you need to require
  • Deprecations
    • sailor.make_url has been copied to page:make_url and will be removed on next versions
    • sailor.model has been copied to a call metamethod on the model module and will be removed on next version

For more details, read the complete changelog.

What do we intend for coming next?

  • A rework on friendly urls
  • Have a way to easily integrate ready-to-go external sailor extensions / plugins
  • Rework how Sailor deals with views, allowing to use templates other than Lua Pages
  • Review the session manager
  • Integration with mod_lua's DB API and DB module refactor

Call for contributors!

Would you like to participate in the future of Sailor or contribute to a Lua tool for web development? Sailor wants your help to make our next release a 1.0 release, we are now very close! :) Please consider contributing with code, tests, documentation, translation or spreading the word. For more details, read the complete Contribution Guide.

Quick install example for Unix, using Xavante web server:

luarocks install sailor
sailor create "my app" /var/www
cd /var/www/my_app
lua start-server.lua

ATTENTION: If you are upgrading from a previous version you might have an issue with shared files during app creation. If it's the case, then you need to remove the current sailor version before installing the new one.

Different environments and more info

Take a look at our docs for installations for Windows, Linux or Mac + First app tutorial + Reference Manual - http://sailorproject.org/?r=docs

Supported Environments

OS - Windows, Mac and Linux
Servers - Apache2 with mod_lua, Nginx distro OpenResty, Mongoose, Xavante, Lwan and Lighthttpd
Databases - MySQL, PostgreSQL, SQLite and all databases supported by the luasql library + OpenResty native MySQL API

More information about stuff we use:

LP Templates - http://keplerproject.github.io/cgilua/manual.html#templates
Lua at client - https://github.com/felipedaragon/lua_at_client
Valua - https://github.com/Etiene/valua
Moonshine - http://moonshinejs.org/
Lua5.1.js - https://github.com/logiceditor-com/lua5.1.js
Lua.vm.js - https://kripken.github.io/lua.vm.js/lua.vm.js.html
Starlight - https://github.com/paulcuth/starlight

Do I have to pay for this?

No. Sailor is free software, we use the MIT License. Your help is appreciated though on testing the software and providing comments and feedback or contributing to the project's code. If you like Sailor, you can also consider making a donation: http://sailorproject.org/?r=main/donate

Copyright (c) 2014-2015, Etiene Dalcol

Sailor contains free software licensed third-party code from Lua at Client, Remy, CGILua, Starlight, Moonshine, Lua5.1.js, Lua.vm.js. For detailed credits and licenses, check the source files.

http://sailorproject.org

dalcol@etiene.net

http://twitter.com/sailor_lua

Downloads

Pre-release

Sailor v0.4 - Chibi

@Etiene Etiene released this Jul 6, 2015 · 291 commits to master since this release

Sailor MVC Lua Framework v0.4 - Chibi

Sailor is an MVC Framework and you can use it to make web development in Lua.

What's new from Sailor v0.3 Jupiter?

  • Integration with Busted and a test module to provide unit and functional tests for your app.
  • Some bug fixes and general improvements

What's coming on next?

  • Improvements of Lua on the client side
  • Integration with mod_lua's DB API and DB module refactor
  • Improvements in the ORM

Quick install example for Unix, using Xavante web server:

luarocks install sailor
sailor create "my app" /var/www
cd /var/www/my_app
lua start-server.lua

ATTENTION: If you are upgrading from a previous version you might have an issue with shared files during app creation. If it's the case, then you need to remove the current sailor version before installing the new one.

Different environments and more info

Take a look at our docs for installations for Windows, Linux or Mac + First app tutorial + Reference Manual - http://sailorproject.org/?r=docs

Supported Environments

OS - Windows, Mac and Linux
Servers - Apache2 with mod_lua, Nginx distro OpenResty, Mongoose, Xavante, Lwan and Lighthttpd
Databases - MySQL, PostgreSQL, SQLite and all databases supported by the luasql library

More information about stuff we use:

LP Templates - http://keplerproject.github.io/cgilua/manual.html#templates
Lua at client - https://github.com/felipedaragon/lua_at_client
Valua - https://github.com/Etiene/valua

Do I have to pay for this?

No. Sailor is free software, we use the MIT License. Your help is appreciated though on testing the software and providing comments and feedback. If you like Sailor, you can also consider making a donation: http://sailorproject.org/?r=main/donate

Copyright (c) 2014-2015, Etiene Dalcol

Sailor contains the following MIT-licensed, third-party code from Lua at Client, Remy and CGILua. For detailed credits and licenses, check the source files.

http://sailorproject.org

dalcol@etiene.net

http://etiene.net

http://twitter.com/etiene_d

Downloads

Pre-release

Sailor v0.3 - Jupiter

@Etiene Etiene released this May 15, 2015 · 320 commits to master since this release

Sailor MVC Lua Framework v0.3 - Jupiter

Sailor is an MVC Framework and you can use it to make web development in Lua.

What's new from Sailor v0.2 Mars?

  • Friendly urls
  • Inspect function for better debugging => similar to a var dump
  • Custom 404 pages
  • Runs over Lighttpd, Xavante and Lwan web servers
  • Relations
  • Model generation (reading from DB)
  • CRUD generation (reading from model)
  • Theme and layout (now you can have multiple layouts inside a theme. e.g. 1-column and 2-column)
  • Bug fixes and general improvements

What's coming on next?

  • Integration with a test suite
  • Improvements of Lua on the client side
  • Integration with mod_lua's DB API and DB module refactor
  • Improvements in the ORM

Quick install example for Unix, using Xavante web server:

luarocks install sailor
sailor_create "my app" /var/www
cd /var/www/my_app
lua start-server.lua

ATTENTION: If you are upgrading from version 0.2.1 to 0.3 you might have an issue with shared files during app creation. If it's the case, then you need to remove the current sailor version before installing the new one.

Different environments and more info

Take a look at our docs for installations for Windows, Linux or Mac + First app tutorial + Reference Manual - http://sailorproject.org/?r=docs

Supported Environments

OS - Windows, Mac and Linux
Servers - Apache2 with mod_lua, Nginx distro OpenResty, Mongoose, Xavante, Lwan and Lighthttpd
Databases - MySQL, PostgreSQL, SQLite and all databases supported by the luasql library

More information about stuff we use:

LP Templates - http://keplerproject.github.io/cgilua/manual.html#templates
Lua at client - https://github.com/felipedaragon/lua_at_client
Valua - https://github.com/Etiene/valua

Do I have to pay for this?

No. Sailor is free software, we use the MIT License. Your help is appreciated though on testing the software and providing comments and feedback. We also accept donations: http://sailorproject.org/?r=main/donate

Copyright (c) 2014-2015, Etiene Dalcol

Sailor contains the following MIT-licensed, third-party code from Lua at Client, Remy and CGILua. For detailed credits and licenses, check the source files.

http://sailorproject.org

dalcol@etiene.net

http://etiene.net

http://twitter.com/etiene_d

Downloads

Pre-release

Sailor v0.2 - Mars

@Etiene Etiene released this Apr 9, 2014 · 437 commits to master since this release

Sailor MVC Lua Framework v0.2 - Mars

Sailor is a MVC Framework and you can use it to make web development writing code in Lua.

Hi! I'm Etiene, I wanted to learn Lua and decided to go kamikaze and build a MVC framework. We are still in pre-pre alpha, but flourishing nicely. Thankfully, I have been having help from collatorators like @felipedaragon and from mentors like @hishamhm.

What's new from Sailor v0.1 Venus?

  • Validation
  • Lua at client - run Lua code on client-side
  • Basic form generation
  • LuaRocks setup
  • Layouts and Twitter Bootstrap integration
  • Windows compatibility
  • Include and redirect
  • Sessions and cookies
  • Basic login and authentication
  • Models improvements and some injection checks
  • Separation from app and libs
  • Easier Linux deployment
  • Compatibility with several webservers (e.g. nginx, mongoose)
  • Many bugfixes and general improvements

What's coming on next?

  • More safety measures
  • Session manager review
  • Integration with mod_lua's DB API and DB module refactor
  • Compatibility with DBs other than MySQL
  • Mac install
  • More features to our ORM
  • More features to our form generation

How do I use this thing?

This is the install manual for Linux: https://github.com/Etiene/sailor/blob/master/docs/INSTALL_LINUX.md

This is the install manual for Windows:
https://github.com/Etiene/sailor/blob/master/docs/INSTALL_WIN.md

Sailor also works on Mac, we tested installing Apache from brew but we didn't make a manual yet! For now you can try following the Linux manual and adapting. I hope it works! If it doesn't, contact me and I'll try to help =)

More information about stuff we use:

LP Templates - http://keplerproject.github.io/cgilua/manual.html#templates
Mod_lua - http://modlua.org/
Lua at client - https://github.com/felipedaragon/lua_at_client

Do I have to pay for this?

No. Sailor is free to use and open source, we use the MIT License. Your help is appreciated though on testing the software and providing comments and feedback.

Copyright (c) 2013-2014, Etiene Dalcol

Sailor contains the following MIT-licensed, third-party code from Valua, Lua at Client, Remy and CGILua. For detailed credits and licenses, check the source files.

http://sailorproject.org

dalcol@etiene.net

http://etiene.net

http://twitter.com/MulherCerebro

Downloads

Sailor v0.1 - Venus

@Etiene Etiene released this Jan 10, 2014 · 555 commits to master since this release

Sailor MVC Lua Framework v0.1 - Venus

Sailor currently supports parsing of Lua Pages, routing, email sending and ORMs. Our models currently have the following pre-made methods:

  • :new() - instantiates an object
  • :save() - saves it to the database. If it is a new object it will insert, if not, it will update. (currently tested on MySQL, but should work on PostgreSQL too)
  • :find(where_string) - finds one object based on a where clause
  • :find_by_id(id) - finds one object using primary key
  • :delete() - deletes an object from db
  • :find_all() or :find_all(where_string) - finds all objects of that model and returns a table of objects, can restrict them based on where_string clause.

Warning: this is a tech preview and the model class does not avoid SQL injections yet.

Sailor currently requires the following dependencies:

  • LuaSocket - get it with luarocks (If you want to send emails)
  • LuaSec - get it with luarocks (If you want to send emails)
  • LuaSQL - get it with luarocks (If you want to persist your models. You should also install a db server supportted by LuaSQL.)
  • Apache2 - (mandatory)
  • mod_lua - get it with a2enmod (mandatory)

More information about stuff we use:

http://keplerproject.github.io/cgilua/manual.html#templates
https://httpd.apache.org/docs/trunk/pt-br/mod/mod_lua.html
http://w3.impa.br/~diego/software/luasocket/smtp.html
http://keplerproject.org/luasql/

What's coming on next?

  • Safety Measures
  • Form - Model Validation
  • Basic layout
  • Redirects
  • General Improvements and other new stuff! :D

How do I use this thing?

Install the dependencies and copy these contents to the directory that your apache is reading from! :) If you have any trouble doing that, tell me so I can improve the manual.

Do I have to pay for this?

No. Sailor is free to use and open source, we follow MIT License. Your help is appreciated though on testing the software and providing comments and feedback.

http://sailorproject.org

dalcol@etiene.net

Downloads