Posted
almost 9 years
ago
by
Ocsigen team
Here are some news from the upcoming 2.0-rc1.
The last item on our TODO list for the 2.0 version was to optimize
memory usage. In particular, we wanted to be able to run client
application without any state on the server. To
... [More]
achieve this goal, we
made some incompatible changes detailled below. Our work may be found
on a temporary branch.
XML nodes representation is now the same on the server and the
client. Conversion from XML to Dom node must be explicit (see the
Eliom_client.Html5 module). So, when sending XML nodes to client
with the syntax :
{{ ... %id ... }}
(with 'id' being the name of a XML node on the server side), the
raw OCaml XML representation is sent.
By default, when converting a XML node to its Dom equivalent, a
fresh copy of the node is created. If you want to manipulate a
specific node "by reference", you must create a "unique node" with
the 'HTML5.M.unique' function (of type: 'a HTML5.M.elt -> 'a
HTML5.M.elt). The name "unique" may not be the best name,
suggestions are welcome.
Those nodes may be referenced by event handlers and, if they are
global in the application, they are preserved when the page
changes. For instance a "audio" player created with the "unique"
function will keep playing when the page changes. See the attached
files for an example.
Thanks to those changes, the application container is not needed
anymore. Application services now return a full html5 page. Hence it
is now possible to change the page headers (e.g. style and title).
Eliom_output.Any is compatible with eliom client application. It is
now possible to serve eliom application content and classical
content with the same service. The type of the "send" function has
been adapted to reflect those changes.
Ongoing works:
Adapt comet to the new architecture.
Add a notion of global comet channel.
Merge the ~scope and ~state_name parameters.
And, following the recent discussion on the list, we are also
preparing a bundle package that allows to build the full Ocsigen suite
with only one command, and provides "HOWTOS easily install external
dependencies" for common platforms (Debian, godi, etc).
[Less]
|
Posted
almost 9 years
ago
by
Ocsigen team
The Lwt team is pleased to announce the release of Lwt 2.3.0.
This release add a new "engine" system to allow integration with other event loops ( like ocamlnet ) and fixes compatibility problems with Windows.
Here is a
... [More]
list of changes from the previous version (2.2.1):
Add an extensible system of engines to:
allow the user to replace libev by another event system, such
as select
allow easier integration of external libraries supporting
asynchronous operations
Lots of improvements for windows:
use the ocaml select instead of libev by default on windows
make asynchronous operations on non-socket file descriptors
such as pipes to work
make glib integration to work
Better use of engines in Lwt_unix: now events are cached to minimize
the amount of calls to epoll_ctl
Use an eventfd when possible for notifications for faster delivery
Add modules:
Lwt_sys: allow to test availability of extra features
Lwt_react: replace Lwt_event and Lwt_signal
Allow to configure logging rules at runtime in Lwt_log
Add match_lwt and while_lwt to the syntax extension
Fixes:
syntax extension: handle "lwt ... = ... in ..." at toplevel
make the notification system fork-proof
fix an issue with stubs not raising correctly exceptions
[Less]
|
Posted
almost 9 years
ago
by
Ocsigen team
We are pleased to announce the second release candidate of Ocsigen-2.0.
It is available at:
http://ocsigen.org/eliom/install
There are almost only bugfixes in this release. The only feature
is that we are now using the history
... [More]
api: when available, urls of
applications will be normal when going from the service
some/service to other/page, the displayed url is
http://example.com/other/page and not
http://example.com/some/service#!/other/page
There were many fixes to make Eliom applications (with client side features) work on less
standard compliant browsers. Eliom was tested and worked on:
Firefox: version 4, 5 and 6 tested frequently, 3.0-3.6 sometimes,
Chromium: we are develloping using the last version,
Internet explorer 9 an 8 sometimes,
Safari 5 (once),
Opera 11.51 (once),
Konqueror using recent webkit (should work).
It was tested and didn't work on:
Konqueror using khtml (and we don't plan to solve that for now),
Internet explorer 7.
Eliom is frequently tested only with recent Firefox and Chromium on
linux, please help us test on other browsers and report bugs!
For more information about this release see full changelog at:
http://ocsigen.org/eliom/install
If you want to have quick answers to your questions or to discuss
anything about ocsigen, come to irc channel #ocsigen on freenode.
[Less]
|
Posted
almost 9 years
ago
by
Ocsigen team
The Ocsigen project has a new logo and a
new Web site.
We hope that you like them!
The design of the website has completely changed but the content is mostly the
same. The new website is using the upcoming Ocsigen 2.0
... [More]
and a pre version of
Ocsimore.
A few pages are still missing. We will try to solve all remaining problems very soon.
The old website is still available here,
but will not be updated any more.
[Less]
|
Posted
almost 9 years
ago
by
Ocsigen team
We are very happy to announce the release of the version 2.0 of the
Ocsigen framework. After more than 6 years of development, we achieved
our goal to provide a complete framework to program Web sites and
client/server Web applications
... [More]
fully in OCaml.
More information and download from http://ocsigen.org.
Main features:
Powerful mechanisms to implement traditional Web interaction very easily
(links, forms, bookmarks, back button ...).
A compiler from OCaml to Javascript to write the client side parts
of your programs in OCaml.
Integrated client/server programming in one single program, with
automatic communication between server and client.
Validation of HTML at compile time.
Powerful session mechanism
Persistant client side programs: you can mix client side features
with traditional Web interaction. The program does not stop when you press
a link!
The documentation is now mostly complete. We are currently working on
adding the few missing parts and proof reading everything. Current
version is available online and a more polished version will be released
as a PDF book in a few weeks. The good starting point for learning
Ocsigen is the tutorial.
Please report any problem with current version or in documentation
through the bug tracking system, the mailing list or the IRC channel.
The Ocsigen framework combines many software projects (all open source),
that can be used independently:
Ocsigen server: an extensible Web server
Eliom: a framework for Web programming in OCaml
Js_of_ocaml: a compiler from OCaml bytecode to Javascript
Lwt: a cooperative threading library
Macaque: a library for type safe database queries
O'Closure: a binding for the Google closure widget library
etc. The full list of our projects is available here:
http://ocsigen.org/projects
Ocsigen is a research project of the PPS laboratory (CNRS, université
Paris-Diderot), hosted by IRILL. It receives funding from the ANR (PWD project).
We hope that you'll enjoy this version!
[Less]
|
Posted
almost 9 years
ago
by
Ocsigen team
Bugfixes releases of ocsigenserver, eliom and
js_of_ocaml. Main changes:
improve the global compatibility with IE
add a mechanism to preload CSS and avoid a disgraceful
"flash" effect when changing page
|
Posted
almost 9 years
ago
by
Ocsigen team
The whole Ocsigen team wishes you a happy new year! We wish you the best for
your projects and we hope that plenty of them are OCaml and Ocsigen related!
In 2011, Server and Eliom both reached
... [More]
version 2. We hope you enjoy the
exciting new features. Since then, we improved a lot the documentation and
some features. If you haven't done so yet it is now time to start writing your
own client/server Web application, fully in OCaml!
2012 is full of projects. We are currently working on finding a more
sustainable model for continuing the development and offering support and
development for those who need it. Do not hesitate to contact us if you have
needs or if you want to collaborate on some development.
On a technical point of view, we are currently working mainly on Eliom 2.1 and
2.2. We hope to be able to simplify again some features like sessions, client
side html handling and client/server communications (this requires to make
possible to use some dynamic types in OCaml and also new serialization
features - we are working on it). We are also working on finding new solutions
for scalability and many other subjects and long term goals.
To keep informed of new features, and any event related to Ocsigen, follow
Ocsigen on Twitter, Facebook or Google+!
[Less]
|
Posted
almost 9 years
ago
by
Ocsigen team
New js_of_ocaml example available: Hyperbolic tree viewer. Game: find human beings!
This program has been fully written in OCaml and compiled to JS using the js_of_ocaml compiler.
You can find the source code in js_of_ocaml repository.
|
Posted
almost 9 years
ago
by
Ocsigen team
Ocsigen TyXML 2.0.2 has been released.
Tyxml is a library that makes it almost impossible for your OCaml programs to generate wrong XML ouput, using static typing.
Modules exist for XHTML1, HTML5 and SVG.
Tyxml also defines pretty printers for these types.
|
Posted
almost 9 years
ago
by
Ocsigen team
Ocsigen Server 2.0.4 has been released.
Ocsigen Server is a full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own
... [More]
OCaml modules for generating pages. Many extensions are already written, like a reverse proxy, content compression, access control, authentication, etc.
This version adds a means for a way to be notified of connections closed by the client (used internally by Eliom's Comet module).
[Less]
|