pax_global_header 0000666 0000000 0000000 00000000064 12553477153 0014526 g ustar 00root root 0000000 0000000 52 comment=bc95b3d58aa60f6e8bc88a9e7530d94361db43c8
eliom-4.2/ 0000775 0000000 0000000 00000000000 12553477153 0012500 5 ustar 00root root 0000000 0000000 eliom-4.2/.gitignore 0000664 0000000 0000000 00000000335 12553477153 0014471 0 ustar 00root root 0000000 0000000 *~
#*
*#
.#*
_build
eliom.install
src/**/*.mllib
src/**/*.mldylib
src/**/*.odocl
local/etc
local/var/run
local/var/lib
local/var/log
local/tmp
local/var/www/distillery-*
tests/distillery/distillery-*
ocsigen.org-data
eliom-4.2/.jenkins.sh 0000664 0000000 0000000 00000001313 12553477153 0014551 0 ustar 00root root 0000000 0000000 opam pin add --no-action eliom .
#opam pin add --no-action tyxml 'https://github.com/ocsigen/tyxml.git#master'
opam pin add --no-action ocsigenserver 'https://github.com/ocsigen/ocsigenserver.git#master'
#opam pin add --no-action js_of_ocaml 'https://github.com/ocsigen/js_of_ocaml.git#master'
opam install --deps-only eliom
opam install --verbose eliom
do_build_doc () {
make wikidoc
cp -Rf doc/manual-wiki/*.wiki ${MANUAL_SRC_DIR}
mkdir -p ${API_DIR}/server ${API_DIR}/client
cp -Rf _build/src/lib/server/api.wikidocdir/*.wiki ${API_DIR}/server/
cp -Rf _build/src/lib/client/api.wikidocdir/*.wiki ${API_DIR}/client/
cp -Rf doc/index.wiki ${API_DIR}/
}
do_remove () {
opam remove --verbose eliom
}
eliom-4.2/.ocp-indent 0000664 0000000 0000000 00000000052 12553477153 0014536 0 ustar 00root root 0000000 0000000 normal
with=0
syntax=lwt mll
max_indent=2
eliom-4.2/CHANGES 0000664 0000000 0000000 00000116772 12553477153 0013511 0 ustar 00root root 0000000 0000000 ===== 4.2 (2015-07-21) =====
* Add Manip.children, to get the html children of an element.
* Simplify Html5 and Svg signatures using tyxml's signature functors.
* Various logging improvements, in particular in Eliom_client.
* Fix eliomdep's exit code when calling option "-sort".
* Fix #168: call_ocaml_service always sends boolean true.
* Makes server function return types covariant.
* Restore compatibility with ocsigenserver 2.6 and lwt 2.4.7.
* Various bugfixes and wiki updates.
===== 4.1 (2014-10-01) =====
* Compatibility with js_of_ocaml-2.5 and tyxml-3.3.0
* Improvements:
** Simplify typing of services
** Use GADT to encode service parameters (Eliom_parameter)
Eliom need OCaml 4.00 at least.
** bugfixes for service parameters
** Various bugfixes and enhancement
===== 4.0 (2014-05) =====
* Main new features:
** Reactive DOM elements (thanks to a contribution by besport.com)
** PUT and DELETE services for RESTful Eliom Applications
(Contribution by Domoco)
** EXPERIMENTAL: Mobile apps with Eliom. By making it possible to start
the application from client-side.
** Documentation improvements
* Improvements:
** Improvements in typing of services (Contribution by Jacques-Pascal Deplaix)
** Filtering data from Eliom buses
** "caml" in value or type names now replaced by "OCaml" everywhere
** New module {{{Eliom_registration.File_ct}}} to make easier to send files with
their content type
** Now possible to define services in shared sections
** Adding function {{{Eliom_client.change_url}}} to change the URL without doing a request
** Adding function {{{Eliom_service.attach_coservice'}}} to attach a non-attached coservice to an URL
** Improving comet configurations: now possible to stay idle instead of being completely inactive
** Now using defaultprotocol option (from ocsigenserver) to compute URLs
** The default expiration date for cookies on client side is now 10 years
** Now possible to send files in {{{Eliom_client.call_ocaml_service}}}
** Various additions and bugfixes in {{{Manip}}}, {{{Eliom_request_info}}},
{{{Eliom_content.html5}}} (events) (contributions by besport.com)
** eliom-destillery renamed into eliom-distillery
** Templates for eliom-distillery
** New programs: eliomdoc and eliompp
** Ocamlbuild package
** Various bugfixes
And many other things (see git commits)
===== 3.0.0 (2012-12-10) =====
* Language
** Generalized client values in server code
** Injections into client sections
* Tools
** Added eliom-destillery for generating project scaffolds
** Support Eliom interface files (.eliomi) in eliomc, eliomdep
** eliomdep: Generate dependencies between eliom-modules
** eliomc: infer only with option -infer, drop option -noinfer
** eliomc: Basic support for -i on eliom-files
** eliom{c,dep,opt},js_of_eliom: -dump to output the intermediate code
** eliomc,js_of_eliom: always open Eliom_pervasives in eliom files
* API
** Eliom_pervasives.server_function to easily access the from the client
** Get current state of a scope
** Module to access values of Eliom references in external states (Eliom_state.Ext)
** Scope names are now named scope hierarchies
** Iterate the scope hierarchy (group > session > client > request)
** Adding Eliom_parameter.(type_checker, neopt)
** Add functions to insert html5 in atom feeds
** Eliom_tools.{F,D}.html to ease creation of head-tag
** Eliom_tools.wrap_handler as an easy alernative to Eliom_registration.Customize
** Test for initial request of a client on the server
* Changed server behaviour
** Eliom_state.discard_everything now also discards request state
** Don't send nodes as data when they are part of the document
* Changed client behaviour
** Show progress cursor during navigation with change_page
** Improved error messages
** Fail on the client when a [server_function] or call_caml_service fails on the server
* Bugfixes
** Allow % for injections directly after parentheses
* Support dropped for
** Xhtml
** OCamlDuce
** Eliom_compatibility_2_1
* A myriade of bugfixes
===== 2.2.2 (2012-06-11) =====
* Fix (re-disable) generation of API doc for ocamlduce modules
===== 2.2.1 (2012-06-07) =====
Addendum to the great renaming
* Eliom_cookies -> Eliom_cookie
* Eliom_comet.Channels -> Eliom_comet.Channel
===== 2.2 (2012-06-02) =====
The great renaming: Make Eliom's API more coherent
* Dropped Eliom_pervasives, split into
** Eliom_lib (extension of stdlib)
** Eliom_content (content creation)
* Moved all Html5,Xhtml content function to Eliom_content.{Html5,Xhtml}
** {HTML5,SVG,XHTML}.M -> Eliom_content.{Html5,Svg,Xhtml}.F
** {HTML5,SVG,XHTML}.DOM -> Eliom_content.{Html5,Svg,Xhtml}.D
** Eliom_output.{Html5,Xhtml}: form functions to Eliom_content.{Html5,Xhtml}
** Eliom_client.Html5 -> Eliom_content.Html5.To_dom
** Eliom_dom -> Eliom_content.Html5.Manip
** HTML5.of_element -> Eliom_content.Html5.Of_dom.of_element
* Removed default implementations in Eliom_content.{Html5,Svg,Xhtml} (was inclusion of DOM)
* Rename Eliom_output to Eliom_registration
* Rename Eliom_registration.Eliom_appl to Eliom_registration.App
* Conform naming conventions for modules (singular, lower-case)
** XML -> Xml
** SVG -> Svg
** XML_types -> Xml_types
** XHTML_types -> Xhtml_types
** HTML5_types -> Html5_types
** Eliom_services -> Eliom_service
** Eliom_parameters -> Eliom_parameter
** Eliom_references -> Eliom_reference
** Eliom_extensions -> Eliom_extension
* Approximating compatibility module for Eliom 2.1: Eliom_compatibility_2_1
===== 2.1.1 (2012-03-20) =====
* Server: Add Eliom references of scope site
* Server: Add an non-Lwt interface to volatile Eliom references
* Client: Add an option to restrict usage of XHR.
* Bugfixes:
** Client: More robust and portable history handling
** Client: More robust CSS preloading (change_page)
** Client: Better compatibility with Opera
===== 2.1.0 (2012-02-24) =====
* Page loading rewriten.
** We do not traverse the HTML tree anymore for retrieving links
and putting events handlers, it use querySelectorAll instead.
(with a fallback for older browsers)
*** We do not send a sparse tree along the page anymore.
*** It is faster and more resilient to ugly browser plugins
** Add css loading optimisations: It fetch the css included
using @include with XHR before changing page and construct only
one concatenated css. It avoids page blinking when the css change
and is faster (browsers tend to render the page once per css).
** Unwrapping hand rewritten in js.
** And a lot of other optimisations.
* Rework of unique nodes:
** Introduce new lightweight 'unique' node of scope request,
a.k.a. DOM nodes: use it through HTML5.DOM.{div,...} or its alias
HTML5.{div,...}.
** To create unique node of scope application, the function
'HTML5.M.unique ?copy' has been renamed 'HTML5.create_global_elt
?id'
** Abstract id for application node are created with
"HTML.new_global_elt_id"
** Node representation now differs between the client and the
server. They are unwrapped on the client to simplify the XML
representation: "unique" node that have already a "Javascript DOM
representation" only contains a reference to the DOM
representation.
* Server API Changes:
** Add Eliom_state.get_*_session_group_size to know the number of
session in a session group
** Parameters of type any can't be suffixes (semantic problem)
** Add Eliom_comet.wait_timeout to notify when a client isn't active
** Allow services to setup "Cache-policy: max-age" with Text, CssText and
Files modules.
** Eliom_state.discard and discard_data now accept scope request.
* Client API Changes:
** add an Eliom_dom module provinding imperative function on unique HTML5.elt.
(for instance {{{appendChild: ?before:'a elt -> 'b elt -> 'c elt -> unit}}}).
** HTML5.M.a_on{click,...} functions directly expect a
function as parameter (XML.event_handler_of_function isn't
required anymore).
** Eliom_comet: configuration option for time until timeout after the focus is lost
** Handling wrapping of int32 type.
** Onload event handlers on HTML elements are executed when they are converted to
DOM (using Eliom_client.of_ functions). This allows them to be added to nodes not
sent in the page.
** Calls to {{{Eliom_services.onload}}} are taken into account for services sending
caml values. The handlers are executed when the call to
{{{Eliom_client.caml_call_service}}} terminates.
* Eliom syntax:
** Event handlers can now access the current event using the _ev variable
inside {{ ... }} typed according to the attribute.
** Allow modules to be used inside client expr {{ ... }} and client_expr
{{ ... }} to be used inside modules
** Add -ppopt option to eliomc
* And a lot of bugfixes.
===== 2.0.2 (2001-11-30) =====
* Compatibility with js_of_ocaml-1.0.8 and tyxml-2.0.1
* API Changes:
** Eliom_output.Redirection: use 302 as default and introduce
abstract nome for all the 30x HTTP code
** Eliom_output.Customize: remove unrequired Functor parameters.
* Delayed URl computation: this allows relative links to be created
outside of service handler.
* Client: do not ignore "onload" events attached on Dom elements
other than window.
* Bugfixes:
** Client: do not execute change_page_uri when the middle button or
any modifier key is pressed.
** Client: update correctly the location when changing page with
forms.
** Server: displaying better dynlink error messages.
** Syntax extension: avoid infinite loop while parsing first-order
module expression
** Eliom_parameters: fixing wrong parameter names for list of list
** Eliom_parameters: fixing bug causing stack overflow when lists
parameter names were wrong
** Fixing bug with non-localized parameters and service not keeping
non-attached params
** Eliom_comet: stateless channels can be registered multiple times
(close #220)
===== 2.0.1 (2011-09-28) =====
* Bugfixes in eliom appl.:
** Preload css when changing page to avoid a disgraceful "flash" effect
** Use