From a16bca2f29e4cfea1c10486a7a15a3fc3b6631b6 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 05:48:02 -0700 Subject: [PATCH 01/33] Links --- Community-collaboration.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Community-collaboration.md b/Community-collaboration.md index 13819d95..0be32409 100644 --- a/Community-collaboration.md +++ b/Community-collaboration.md @@ -1,13 +1,13 @@ This project is a community project ## Mailing list ## -- Google group: http://groups.google.com/group/eiffel-web-framework +- Google group: [http://groups.google.com/group/eiffel-web-framework](http://groups.google.com/group/eiffel-web-framework) ## Materials ## -- wiki: github wiki at https://github.com/Eiffel-World/Eiffel-Web-Framework/wiki -- Shared documents: on google docs at http://goo.gl/M8WLP -- source code: git repository at https://github.com/Eiffel-World/Eiffel-Web-Framework -- Proposal from Paul Cohen for a EWSGI spec at http://eiffel.seibostudios.se/wiki/EWSGI +- wiki: github wiki at [https://github.com/Eiffel-World/Eiffel-Web-Framework/wiki](https://github.com/Eiffel-World/Eiffel-Web-Framework/wiki) +- Shared documents: on google docs at [http://goo.gl/M8WLP](http://goo.gl/M8WLP) +- source code: git repository at [https://github.com/Eiffel-World/Eiffel-Web-Framework](https://github.com/Eiffel-World/Eiffel-Web-Framework) +- Proposal from Paul Cohen for a EWSGI spec at [http://eiffel.seibostudios.se/wiki/EWSGI](http://eiffel.seibostudios.se/wiki/EWSGI) ## Main contributors ## - **jfiat**: Jocelyn Fiat (Eiffel Software) From 65c613d0a4233453ee314e65a69467c8f00a52b9 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:01:52 -0700 Subject: [PATCH 02/33] Links --- EWSGI.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EWSGI.md b/EWSGI.md index 7258848c..8900549b 100644 --- a/EWSGI.md +++ b/EWSGI.md @@ -1,5 +1,5 @@ -- See proposed specifications: [[EWSGI specification| EWSGI-specification]] -- See [[Open questions| EWSGI-open-questions]] +- See proposed specifications: [EWSGI specification](./EWSGI-specification) +- See [Open questions](./EWSGI-open-questions) - And below the various proposals and associated decision ---- From 4f0567ad88d9768577f111ed050e2d58a016cec3 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:05:10 -0700 Subject: [PATCH 03/33] Updated EWSGI (markdown) --- EWSGI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EWSGI.md b/EWSGI.md index 8900549b..42a4fbbc 100644 --- a/EWSGI.md +++ b/EWSGI.md @@ -1,5 +1,5 @@ - See proposed specifications: [EWSGI specification](./EWSGI-specification) -- See [Open questions](./EWSGI-open-questions) +- See [Open questions](./EWSGI-Open-Questions) - And below the various proposals and associated decision ---- From 294ccb04d3e2424f5802f55e8c41726dabf99a87 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:06:49 -0700 Subject: [PATCH 04/33] Updated EWSGI specification (markdown) --- EWSGI-specification.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EWSGI-specification.md b/EWSGI-specification.md index 750c1874..b4936da6 100644 --- a/EWSGI-specification.md +++ b/EWSGI-specification.md @@ -4,7 +4,7 @@ ## Preface This specification is a proposition based on recent discussion on the mailing list. This is work in progress, so far nothing had been decided. -You can find another proposal at http://eiffel.seibostudios.se/wiki/EWSGI , it has common background and goal, however still differ on specific parts. +You can find another proposal at [http://eiffel.seibostudios.se/wiki/EWSGI](http://eiffel.seibostudios.se/wiki/EWSGI) , it has common background and goal, however still differ on specific parts. The main goal for now is to unified those 2 specifications. --- @@ -12,7 +12,7 @@ Note the following is work in progress, and reflect a specification proposal, ra 2011-08-01 --- For now, the specification from EWF is done in Eiffel interface -please see: https://github.com/Eiffel-World/Eiffel-Web-Framework/tree/master/library/server/ewsgi/specification +please see: [https://github.com/Eiffel-World/Eiffel-Web-Framework/tree/master/library/server/ewsgi](https://github.com/Eiffel-World/Eiffel-Web-Framework/tree/master/library/server/ewsgi)/specification WGI_APPLICATION From 4de85df5b6c6c4378568476c336125dff2cbb3bb Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:07:26 -0700 Subject: [PATCH 05/33] Updated EWSGI specification (markdown) --- EWSGI-specification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EWSGI-specification.md b/EWSGI-specification.md index b4936da6..734613f5 100644 --- a/EWSGI-specification.md +++ b/EWSGI-specification.md @@ -12,7 +12,7 @@ Note the following is work in progress, and reflect a specification proposal, ra 2011-08-01 --- For now, the specification from EWF is done in Eiffel interface -please see: [https://github.com/Eiffel-World/Eiffel-Web-Framework/tree/master/library/server/ewsgi](https://github.com/Eiffel-World/Eiffel-Web-Framework/tree/master/library/server/ewsgi)/specification +please see: [https://github.com/Eiffel-World/Eiffel-Web-Framework/tree/master/library/server/ewsgi/specification](https://github.com/Eiffel-World/Eiffel-Web-Framework/tree/master/library/server/ewsgi/specification) WGI_APPLICATION From 4ff29e1fb341b65a0846ec6aa0206974e9f43588 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:11:23 -0700 Subject: [PATCH 06/33] Updated Home (markdown) --- Home.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Home.md b/Home.md index 31bea4d9..9073cf4d 100644 --- a/Home.md +++ b/Home.md @@ -1,26 +1,26 @@ # Eiffel-Web-Framework # ## Location ## -The official documentation/wiki is located at https://github.com/EiffelWebFramework/EWF/wiki , if you are visiting a "clone/fork", please always check the [[official wiki|https://github.com/EiffelWebFramework/EWF/wiki]]. +The official documentation/wiki is located at [https://github.com/EiffelWebFramework/EWF/wiki](https://github.com/EiffelWebFramework/EWF/wiki) , if you are visiting a "clone/fork", please always check the [official wiki](https://github.com/EiffelWebFramework/EWF/wiki). ## Organization ## -- Mailing list: please visit and subscribe to the mailing list page [[http://groups.google.com/group/eiffel-web-framework]] ![logo](http://groups.google.com/intl/en/images/logos/groups_logo_sm.gif) +- Mailing list: please visit and subscribe to the mailing list page [http://groups.google.com/group/eiffel-web-framework](http://groups.google.com/group/eiffel-web-framework) ![logo](http://groups.google.com/intl/en/images/logos/groups_logo_sm.gif) - Most of the topics are discussed on the mailing list (google group). -- For time to time we have [[web meetings|meetings]], and less frequently [[physical meetings|meetings]] that occurs usually during other Eiffel related events. +- For time to time we have [web meetings](./meetings), and less frequently [physical meetings](./meetings) that occurs usually during other Eiffel related events. ## Documentation ## - to redo ## Contributions ## -- You want to contribute or follow the progress/discussion, see the [[collaboration page| Community-collaboration]] -- Potential tasks/projects on EWF: [[Projects page| Projects]] +- You want to contribute or follow the progress/discussion, see the [collaboration page](./Community-collaboration) +- Potential tasks/projects on EWF: [Projects page](./Projects) ## See also ## - - [[list of tasks, and a potential roadmap| Tasks-Roadmap]] - - [[General source structure of this project| Source-structure]] - - EWSGI: [[Eiffel Web Server Gateway Interface| EWSGI]] - - [[Overview of the server side architecture| Spec-Server-Architecture]] - - This project is also a collection of [[Libraries]] related to the Web + - [list of tasks, and a potential roadmap](./Tasks-Roadmap) + - [General source structure of this project](./Source-structure) + - EWSGI: [Eiffel Web Server Gateway Interface](./EWSGI) + - [Overview of the server side architecture](./Spec-Server-Architecture) + - This project is also a collection of [Libraries](./Libraries) related to the Web ## Note ## - - This wiki needs to be updated, in the meantime, please have a look at the presentation: https://docs.google.com/presentation/pub?id=1GPFv6aHhTjFSLMnlAt-J4WeIHSGfHdB42dQxmOVOH8s&start=false&loop=false&delayms=3000 \ No newline at end of file + - This wiki needs to be updated, in the meantime, please have a look at the presentation: [https://docs.google.com/presentation/pub?id=1GPFv6aHhTjFSLMnlAt-J4WeIHSGfHdB42dQxmOVOH8s&start=false&loop=false&delayms=3000](https://docs.google.com/presentation/pub?id=1GPFv6aHhTjFSLMnlAt-J4WeIHSGfHdB42dQxmOVOH8s&start=false&loop=false&delayms=3000) \ No newline at end of file From 9449f0d16ea6279a1eda4030f5aabe192c370a6e Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:12:00 -0700 Subject: [PATCH 07/33] Updated Home (markdown) --- Home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Home.md b/Home.md index 9073cf4d..384afd53 100644 --- a/Home.md +++ b/Home.md @@ -6,7 +6,7 @@ The official documentation/wiki is located at [https://github.com/EiffelWebFrame ## Organization ## - Mailing list: please visit and subscribe to the mailing list page [http://groups.google.com/group/eiffel-web-framework](http://groups.google.com/group/eiffel-web-framework) ![logo](http://groups.google.com/intl/en/images/logos/groups_logo_sm.gif) - Most of the topics are discussed on the mailing list (google group). -- For time to time we have [web meetings](./meetings), and less frequently [physical meetings](./meetings) that occurs usually during other Eiffel related events. +- For time to time we have [web meetings](./Meetings), and less frequently [physical meetings](./Meetings) that occurs usually during other Eiffel related events. ## Documentation ## - to redo From e77ee9bdf34fe9fb8783e3c5b96a861b53782e85 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:15:49 -0700 Subject: [PATCH 08/33] Updated Home (markdown) --- Home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Home.md b/Home.md index 384afd53..5a10f764 100644 --- a/Home.md +++ b/Home.md @@ -6,7 +6,7 @@ The official documentation/wiki is located at [https://github.com/EiffelWebFrame ## Organization ## - Mailing list: please visit and subscribe to the mailing list page [http://groups.google.com/group/eiffel-web-framework](http://groups.google.com/group/eiffel-web-framework) ![logo](http://groups.google.com/intl/en/images/logos/groups_logo_sm.gif) - Most of the topics are discussed on the mailing list (google group). -- For time to time we have [web meetings](./Meetings), and less frequently [physical meetings](./Meetings) that occurs usually during other Eiffel related events. +- For time to time we have [web meetings](./wiki/Meetings), and less frequently [physical meetings](./wiki/Meetings) that occurs usually during other Eiffel related events. ## Documentation ## - to redo From 6c83639149113853906647748ee9a62c4c67258f Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:16:24 -0700 Subject: [PATCH 09/33] Updated Home (markdown) --- Home.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Home.md b/Home.md index 5a10f764..fdb4420a 100644 --- a/Home.md +++ b/Home.md @@ -12,15 +12,15 @@ The official documentation/wiki is located at [https://github.com/EiffelWebFrame - to redo ## Contributions ## -- You want to contribute or follow the progress/discussion, see the [collaboration page](./Community-collaboration) -- Potential tasks/projects on EWF: [Projects page](./Projects) +- You want to contribute or follow the progress/discussion, see the [collaboration page](./wiki/Community-collaboration) +- Potential tasks/projects on EWF: [Projects page](./wiki/Projects) ## See also ## - - [list of tasks, and a potential roadmap](./Tasks-Roadmap) - - [General source structure of this project](./Source-structure) - - EWSGI: [Eiffel Web Server Gateway Interface](./EWSGI) - - [Overview of the server side architecture](./Spec-Server-Architecture) - - This project is also a collection of [Libraries](./Libraries) related to the Web + - [list of tasks, and a potential roadmap](./wiki/Tasks-Roadmap) + - [General source structure of this project](./wiki/Source-structure) + - EWSGI: [Eiffel Web Server Gateway Interface](./wiki/EWSGI) + - [Overview of the server side architecture](./wiki/Spec-Server-Architecture) + - This project is also a collection of [Libraries](./wiki/Libraries) related to the Web ## Note ## - This wiki needs to be updated, in the meantime, please have a look at the presentation: [https://docs.google.com/presentation/pub?id=1GPFv6aHhTjFSLMnlAt-J4WeIHSGfHdB42dQxmOVOH8s&start=false&loop=false&delayms=3000](https://docs.google.com/presentation/pub?id=1GPFv6aHhTjFSLMnlAt-J4WeIHSGfHdB42dQxmOVOH8s&start=false&loop=false&delayms=3000) \ No newline at end of file From b73939d0a06630b253988b045feb496c2bda3605 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:21:00 -0700 Subject: [PATCH 10/33] Updated Meetings (markdown) --- Meetings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Meetings.md b/Meetings.md index a75a124f..05faf598 100644 --- a/Meetings.md +++ b/Meetings.md @@ -1,4 +1,4 @@ # Previous and future meetings -* [[Web-meeting: 2012-09-18|Web-meeting-2012-09-18]] +* [Web-meeting: 2012-09-18](./Web-meeting-2012-09-18) * For previous meetings, check the ["meeting" topics](https://groups.google.com/forum/?fromgroups=#!tags/eiffel-web-framework/meeting) on the [forum](http://groups.google.com/group/eiffel-web-framework) From ecb49619da804e770878f5b9cd539be962ff57c9 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:25:31 -0700 Subject: [PATCH 11/33] Updated Projects (markdown) --- Projects.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Projects.md b/Projects.md index 2aaa7a50..c1e34e99 100644 --- a/Projects.md +++ b/Projects.md @@ -6,13 +6,13 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, ## Evaluate EWF according to the following constraints ... * _Suggested by **Javier**_ -* _Description_: According to http://www.amundsen.com/blog/archives/1130 , evaluate the current design of EWF to see if this match the different points. An other option would be to take the following REST implementation toolkit as a guide to evaluate EWF http://code.google.com/p/implementing-rest/wiki/RESTImplementationToolkit. +* _Description_: According to [http://www.amundsen.com/blog/archives/1130](http://www.amundsen.com/blog/archives/1130) , evaluate the current design of EWF to see if this match the different points. An other option would be to take the following REST implementation toolkit as a guide to evaluate EWF [http://code.google.com/p/implementing-rest/wiki/RESTImplementationToolkit](http://code.google.com/p/implementing-rest/wiki/RESTImplementationToolkit). ## Road to Hypermedia API * _Suggested by **Javier**_ * _Supervisor_: * _Suitability_: -* _Description_: describe differents types of Web API, and how you can build them using EWF. Describing Pros and Cons. This should be on http://martinfowler.com/articles/richardsonMaturityModel.html +* _Description_: describe differents types of Web API, and how you can build them using EWF. Describing Pros and Cons. This should be on [http://martinfowler.com/articles/richardsonMaturityModel.html](http://martinfowler.com/articles/richardsonMaturityModel.html) ## Build a video to demonstrate how an Hypermedia API works, and how to build it using EWF * _Suggested by **Javier**_ @@ -55,8 +55,8 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Supervisor_: * _Suitability_: TODO * _Description_: EWF is relying on the notion of "connector" to achieve portability on various platform and underlying httpd server, currently EWF support any CGI or libFCGI system (i.e apache, IIS, ...), and provide a standalone version thanks to Eiffel Web Nino. The goal now, would be to support specific connector for: -** LightHTTP (http://www.lighttpd.net/) -** nginx (http://nginx.org/en/) +** LightHTTP ([http://www.lighttpd.net/](http://www.lighttpd.net/)) +** nginx ([http://nginx.org/en/](http://nginx.org/en/)) ## Concurrenty and EWF * _Suggested by **Jocelyn**_ @@ -75,7 +75,7 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Supervisor_: * _Suitability_: TODO * _Description_: Provide an implementation of websocket with EWF and eventually Eiffel Web Nino, then demonstrate it on a simple example. WebSocket is a web technology providing for bi-directional, full-duplex communications channels over a single TCP connection. -* See http://en.wikipedia.org/wiki/Websocket +* See [http://en.wikipedia.org/wiki/Websocket](http://en.wikipedia.org/wiki/Websocket) ---- # Usage of EWF @@ -84,13 +84,13 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Suggested by **Javier**_ * _Supervisor_: * _Suitability_: TODO -* _Description_: Build a HAL browser to discover an API using HAL mediatype. The browser will be able to follow the links, and display the transmitted data. This could be a vision2 application inspired by http://haltalk.herokuapp.com/explorer/hal_browser.html#/. HAL stands for Hypertext Application Language see http://stateless.co/hal_specification.html. +* _Description_: Build a HAL browser to discover an API using HAL mediatype. The browser will be able to follow the links, and display the transmitted data. This could be a vision2 application inspired by [http://haltalk.herokuapp.com/explorer/hal_browser.html#/](http://haltalk.herokuapp.com/explorer/hal_browser.html#/). HAL stands for Hypertext Application Language see [http://stateless.co/hal_specification.html](http://stateless.co/hal_specification.html). ## Collection-JSON browser * _Suggested by **Javier**_ * _Supervisor_: * _Suitability_: TODO -* _Description_: Build a Collection/JSON browser to discover an API using Collection/JSON mediatype. The browser will be able to follow the links, and display the transmitted data. This could be a vision2 application inspired by http://haltalk.herokuapp.com/explorer/hal_browser.html#/. Collection+JSON is a JSON-based read/write hypermedia-type, see http://www.amundsen.com/media-types/collection/ +* _Description_: Build a Collection/JSON browser to discover an API using Collection/JSON mediatype. The browser will be able to follow the links, and display the transmitted data. This could be a vision2 application inspired by [http://haltalk.herokuapp.com/explorer/hal_browser.html#/](http://haltalk.herokuapp.com/explorer/hal_browser.html#/). Collection+JSON is a JSON-based read/write hypermedia-type, see [http://www.amundsen.com/media-types/collection/](http://www.amundsen.com/media-types/collection/) ## Build a simple CMS with EWF * _Suggested by **Jocelyn**_ @@ -119,7 +119,7 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Suggested by **Javier**_ * _Supervisor_: * _Suitability_: TODO -* _Description_: Use XHTML as a media type to for hypermedia API. See http://codeartisan.blogspot.com.ar/2012/07/using-html-as-media-type-for-your-api.html +* _Description_: Use XHTML as a media type to for hypermedia API. See [http://codeartisan.blogspot.com.ar/2012/07/using-html-as-media-type-for-your-api.html](http://codeartisan.blogspot.com.ar/2012/07/using-html-as-media-type-for-your-api.html) ## Add support for Mediatype such as RSS, ATOM, ... * _Suggested by **Jocelyn**_ @@ -163,16 +163,16 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Supervisor_: * _Suitability_: TODO * _Description_: Get inspired by any existing template engine, and build one for Eiffel, this should be easily usable within a web application. This could be inspired, or implementation of standard template engine, this way people can reuse existing content, or migrate easily their application to EWF. For inspiration, one can look at: - - http://www.smarty.net/ - - http://mustache.github.com/ - - http://en.wikipedia.org/wiki/Template_engine_(web) ... they are plenty of them, a comparison of the different engine would help. + - [http://www.smarty.net/](http://www.smarty.net/) + - [http://mustache.github.com/](http://mustache.github.com/) + - [http://en.wikipedia.org/wiki/Template_engine_(web)](http://en.wikipedia.org/wiki/Template_engine_(web)) ... they are plenty of them, a comparison of the different engine would help. * This is not specific to EWF, but it will be very useful in website context. ## library: Wikitext, markdown parser and render engine * _Suggested by **Jocelyn**_ * _Supervisor_: * _Suitability_: TODO -* _Description_: Build component to support (read and write, and why not convert), lightweight markup language (see http://en.wikipedia.org/wiki/Lightweight_markup_language) such as wikitext, markdown, and other. The component should be able to read/scan, but also produce an HTML output. Focus first on wikitext, and markdown since they seems to be the most popular. +* _Description_: Build component to support (read and write, and why not convert), lightweight markup language (see [http://en.wikipedia.org/wiki/Lightweight_markup_language](http://en.wikipedia.org/wiki/Lightweight_markup_language)) such as wikitext, markdown, and other. The component should be able to read/scan, but also produce an HTML output. Focus first on wikitext, and markdown since they seems to be the most popular. * Then , a nice addition would be to render those lightweight markup lang into Vision2 widget (not related to EWF, but could be useful to build (editor) desktop application) ## library: Web component to build HTML5 widget @@ -195,7 +195,7 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Suitability_: TODO * _Description_: TODO * Generic client that can be customized (see design in slide 12) -* http://s3.amazonaws.com/cimlabs/Oredev-Hypermedia-APIs.pdf +* [http://s3.amazonaws.com/cimlabs/Oredev-Hypermedia-APIs.pdf](http://s3.amazonaws.com/cimlabs/Oredev-Hypermedia-APIs.pdf) * video http://vimeo.com/20781278 ## Create a Client Cache based on Apache commons Client Cache. @@ -203,8 +203,8 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Supervisor_: * _Suitability_: TODO * _Description_: TODO -* http://hc.apache.org/httpcomponents-client-ga/httpclient-cache/index.html -* http://labs.xfinity.com/benchmarking-the-httpclient-caching-module +* [http://hc.apache.org/httpcomponents-client-ga/httpclient-cache/index.html](http://hc.apache.org/httpcomponents-client-ga/httpclient-cache/index.html) +* [http://labs.xfinity.com/benchmarking-the-httpclient-caching-module](http://labs.xfinity.com/benchmarking-the-httpclient-caching-module) ## Add SSL support to Eiffel Net * _Suggested by **Jocelyn**_ @@ -231,9 +231,9 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Supervisor_: * _Suitability_: TODO * _Description_: TODO -* See: http://en.wikipedia.org/wiki/Edge_Side_Includes +* See: [http://en.wikipedia.org/wiki/Edge_Side_Includes](http://en.wikipedia.org/wiki/Edge_Side_Includes) ---- # Feel free to add new idea below this line ---- -Use the following page [[Projects new suggestions]] to suggest new project, or request a feature. \ No newline at end of file +Use the following page [Projects new suggestions](./Projects new suggestions) to suggest new project, or request a feature. \ No newline at end of file From 600ee095cce1a772e5724981696a1fd7d2dd6568 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:27:03 -0700 Subject: [PATCH 12/33] Updated Projects (markdown) --- Projects.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Projects.md b/Projects.md index c1e34e99..7c762eac 100644 --- a/Projects.md +++ b/Projects.md @@ -155,8 +155,8 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Suitability_: TODO * _Description_: Design and build a Single Sign On implementation for Eiffel. That should include the authentication server, and at least one Eiffel client component (it would be convenient to also provide php, js, ...). In the same spirit, having Eiffel client for popular SSO server would be appreciated as well. * _Reference_: - - http://en.wikipedia.org/wiki/Single_sign-on - - http://en.wikipedia.org/wiki/List_of_single_sign-on_implementations + - [http://en.wikipedia.org/wiki/Single_sign-on](http://en.wikipedia.org/wiki/Single_sign-on) + - [http://en.wikipedia.org/wiki/List_of_single_sign-on_implementations](http://en.wikipedia.org/wiki/List_of_single_sign-on_implementations) ## library: Template engine * _Suggested by **Jocelyn**_ From 065318749bd6fc2b9365f53aa74461f89b842568 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:28:49 -0700 Subject: [PATCH 13/33] Updated Projects (markdown) --- Projects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Projects.md b/Projects.md index 7c762eac..df8b7cf4 100644 --- a/Projects.md +++ b/Projects.md @@ -165,7 +165,7 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Description_: Get inspired by any existing template engine, and build one for Eiffel, this should be easily usable within a web application. This could be inspired, or implementation of standard template engine, this way people can reuse existing content, or migrate easily their application to EWF. For inspiration, one can look at: - [http://www.smarty.net/](http://www.smarty.net/) - [http://mustache.github.com/](http://mustache.github.com/) - - [http://en.wikipedia.org/wiki/Template_engine_(web)](http://en.wikipedia.org/wiki/Template_engine_(web)) ... they are plenty of them, a comparison of the different engine would help. + - [http://en.wikipedia.org/wiki/Web_template_system](http://en.wikipedia.org/wiki/Web_template_system) ... they are plenty of them, a comparison of the different engine would help. * This is not specific to EWF, but it will be very useful in website context. ## library: Wikitext, markdown parser and render engine From 59b2163a62cf5ed0a81e5139d150364b4b830d51 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:29:39 -0700 Subject: [PATCH 14/33] Updated Projects (markdown) --- Projects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Projects.md b/Projects.md index df8b7cf4..92bce9d8 100644 --- a/Projects.md +++ b/Projects.md @@ -196,7 +196,7 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Description_: TODO * Generic client that can be customized (see design in slide 12) * [http://s3.amazonaws.com/cimlabs/Oredev-Hypermedia-APIs.pdf](http://s3.amazonaws.com/cimlabs/Oredev-Hypermedia-APIs.pdf) -* video http://vimeo.com/20781278 +* video [http://vimeo.com/20781278](http://vimeo.com/20781278) ## Create a Client Cache based on Apache commons Client Cache. * _Suggested by **Javier**_ From 2870df84786154abb4bdda9cb97f37b8d7812433 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:30:45 -0700 Subject: [PATCH 15/33] Updated Projects new suggestions (markdown) --- Projects-new-suggestions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Projects-new-suggestions.md b/Projects-new-suggestions.md index 6093b9c9..e1eea9c9 100644 --- a/Projects-new-suggestions.md +++ b/Projects-new-suggestions.md @@ -1,5 +1,5 @@ Use this to suggest new projects, or request features. -The content of this page will be moved to the main [[Projects]] page for time to time. +The content of this page will be moved to the main [Projects](./Projects) page for time to time. For any entry, please use this template ---- From 611ce6eb9c1d8a6ad67b0ecc0fb196152d16c43a Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:31:09 -0700 Subject: [PATCH 16/33] Updated Projects new suggestions (markdown) --- Projects-new-suggestions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Projects-new-suggestions.md b/Projects-new-suggestions.md index e1eea9c9..8ebc7ea9 100644 --- a/Projects-new-suggestions.md +++ b/Projects-new-suggestions.md @@ -15,6 +15,6 @@ For any entry, please use this template ## Add support for Swagger * _Suggested by **Olivier**_ * _Description_: Build a Swagger Eiffel implementation -* _References_: http://swagger.wordnik.com/ +* _References_: [http://swagger.wordnik.com/](http://swagger.wordnik.com/) ---- From 1276ea0d1b85950b9ddf091a7651321db3b5b413 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:37:46 -0700 Subject: [PATCH 17/33] Updated Tasks Roadmap (markdown) --- Tasks-Roadmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tasks-Roadmap.md b/Tasks-Roadmap.md index 7bb685de..0f0dea34 100644 --- a/Tasks-Roadmap.md +++ b/Tasks-Roadmap.md @@ -31,5 +31,5 @@ * Installation scripts ## Contributors ## - - See [[the collaboration page|Community-collaboration]] + - See [the collaboration page](./Community-collaboration) From 771c91227e172b6431492dccc7814eb499008cf3 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:38:37 -0700 Subject: [PATCH 18/33] Updated Useful links (markdown) --- Useful-links.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Useful-links.md b/Useful-links.md index 29c810b7..715ddd2d 100644 --- a/Useful-links.md +++ b/Useful-links.md @@ -1,14 +1,14 @@ ## Eiffel -* http://www.scoop.it/t/eiffel-resources -* http://www.scoop.it/t/eiffel +* [http://www.scoop.it/t/eiffel-resources](http://www.scoop.it/t/eiffel-resources) +* [http://www.scoop.it/t/eiffel](http://www.scoop.it/t/eiffel) ## Hypermedia -* http://www.scoop.it/t/hyper-media-apis -* http://www.scoop.it/t/hypermedia-api +* [http://www.scoop.it/t/hyper-media-apis](http://www.scoop.it/t/hyper-media-apis) +* [http://www.scoop.it/t/hypermedia-api](http://www.scoop.it/t/hypermedia-api) ## ETags -* http://www.mnot.net/blog/2007/08/07/etags -* http://bitworking.org/news/150/REST-Tip-Deep-etags-give-you-more-benefits \ No newline at end of file +* [http://www.mnot.net/blog/2007/08/07/etags](http://www.mnot.net/blog/2007/08/07/etags) +* [http://bitworking.org/news/150/REST-Tip-Deep-etags-give-you-more-benefits](http://bitworking.org/news/150/REST-Tip-Deep-etags-give-you-more-benefits) \ No newline at end of file From cc1abfd1f98e0120431fa5abb222ae15884f7340 Mon Sep 17 00:00:00 2001 From: oligot Date: Fri, 23 Aug 2013 06:39:41 -0700 Subject: [PATCH 19/33] Updated Web meeting 2012 09 18 (markdown) --- Web-meeting-2012-09-18.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Web-meeting-2012-09-18.md b/Web-meeting-2012-09-18.md index 65f538af..50cda2e2 100644 --- a/Web-meeting-2012-09-18.md +++ b/Web-meeting-2012-09-18.md @@ -8,14 +8,14 @@ ## Information ### When ? -* Tuesday 18th of september, 19:00 - 20:00 UTC/GMT time (see 3rd time in http://www.doodle.com/8v2sekiyebp4dpyh) +* Tuesday 18th of september, 19:00 - 20:00 UTC/GMT time (see 3rd time in [http://www.doodle.com/8v2sekiyebp4dpyh](http://www.doodle.com/8v2sekiyebp4dpyh)) ### Where ? Web meeting using webex -* Short url: http://goo.gl/wBz11 -* Long url: https://eiffel.webex.com/eiffel/j.php?ED=211265702&UID=0&PW=NZWNiMjBiZWIz&RT=MiMyMA%3D%3D -* Related Google group topic: https://groups.google.com/d/topic/eiffel-web-framework/A7ADPAT3nj8/discussion +* Short url: [http://goo.gl/wBz11](http://goo.gl/wBz11) +* Long url: [https://eiffel.webex.com/eiffel/j.php?ED=211265702&UID=0&PW=NZWNiMjBiZWIz&RT=MiMyMA%3D%3D](https://eiffel.webex.com/eiffel/j.php?ED=211265702&UID=0&PW=NZWNiMjBiZWIz&RT=MiMyMA%3D%3D) +* Related Google group topic: [https://groups.google.com/d/topic/eiffel-web-framework/A7ADPAT3nj8/discussion](https://groups.google.com/d/topic/eiffel-web-framework/A7ADPAT3nj8/discussion) ## Agenda From 3e43fd52aef0ac1e76bfec76a3a069d4b192c95b Mon Sep 17 00:00:00 2001 From: oligot Date: Wed, 4 Sep 2013 04:52:22 -0700 Subject: [PATCH 20/33] Created Connectors (markdown) --- Connectors.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Connectors.md diff --git a/Connectors.md b/Connectors.md new file mode 100644 index 00000000..d49fcb6a --- /dev/null +++ b/Connectors.md @@ -0,0 +1,5 @@ +# Nino + +# FastCGI + +# CGI \ No newline at end of file From d6333362a783f0c057871dc294cb732a1316006c Mon Sep 17 00:00:00 2001 From: oligot Date: Wed, 4 Sep 2013 04:53:30 -0700 Subject: [PATCH 21/33] Created Request and response (markdown) --- Request-and-response.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Request-and-response.md diff --git a/Request-and-response.md b/Request-and-response.md new file mode 100644 index 00000000..ddcbc3ef --- /dev/null +++ b/Request-and-response.md @@ -0,0 +1 @@ +TODO: describe the request (WSF_REQUEST) and response (WSF_RESPONSE) interface \ No newline at end of file From 8269f3ea5b39a62db4d9004ce9940bc27dd0db3c Mon Sep 17 00:00:00 2001 From: oligot Date: Wed, 4 Sep 2013 04:54:04 -0700 Subject: [PATCH 22/33] Updated Connectors (markdown) --- Connectors.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Connectors.md b/Connectors.md index d49fcb6a..b491ad64 100644 --- a/Connectors.md +++ b/Connectors.md @@ -1,5 +1,11 @@ # Nino +TODO: ... + # FastCGI -# CGI \ No newline at end of file +TODO: ... + +# CGI + +TODO: ... \ No newline at end of file From 5a94264dc02b34eaf95bda27d5b140946bc2072a Mon Sep 17 00:00:00 2001 From: oligot Date: Wed, 4 Sep 2013 04:55:14 -0700 Subject: [PATCH 23/33] Created Router (markdown) --- Router.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Router.md diff --git a/Router.md b/Router.md new file mode 100644 index 00000000..048b97c8 --- /dev/null +++ b/Router.md @@ -0,0 +1 @@ +TODO: describe the router (WSF_ROUTER) interface \ No newline at end of file From 718c0af085556d8bb361816608f1da8a8c64bdfd Mon Sep 17 00:00:00 2001 From: oligot Date: Wed, 4 Sep 2013 04:59:04 -0700 Subject: [PATCH 24/33] Updated Request and response (markdown) --- Request-and-response.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Request-and-response.md b/Request-and-response.md index ddcbc3ef..77ced904 100644 --- a/Request-and-response.md +++ b/Request-and-response.md @@ -1 +1,9 @@ -TODO: describe the request (WSF_REQUEST) and response (WSF_RESPONSE) interface \ No newline at end of file +# Request +The class WSF_REQUEST can be used to access data related to the HTTP request. + +TODO: describe the request (WSF_REQUEST) interface + +# Response +The class WSF_REQUEST is the media to send data back to the client. + +TODO: describe the response (WSF_RESPONSE) interface \ No newline at end of file From 0d8090b6f4325e328d285be9e2ae9ca72395f5a6 Mon Sep 17 00:00:00 2001 From: oligot Date: Wed, 4 Sep 2013 04:59:14 -0700 Subject: [PATCH 25/33] Updated Request and response (markdown) --- Request-and-response.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Request-and-response.md b/Request-and-response.md index 77ced904..1aab8346 100644 --- a/Request-and-response.md +++ b/Request-and-response.md @@ -1,9 +1,9 @@ # Request The class WSF_REQUEST can be used to access data related to the HTTP request. -TODO: describe the request (WSF_REQUEST) interface +**TODO**: describe the request (WSF_REQUEST) interface # Response The class WSF_REQUEST is the media to send data back to the client. -TODO: describe the response (WSF_RESPONSE) interface \ No newline at end of file +**TODO**: describe the response (WSF_RESPONSE) interface \ No newline at end of file From 625b8803dfeb5b0389a12f4dc98b87c2919b9824 Mon Sep 17 00:00:00 2001 From: oligot Date: Wed, 4 Sep 2013 04:59:59 -0700 Subject: [PATCH 26/33] Updated Request and response (markdown) --- Request-and-response.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Request-and-response.md b/Request-and-response.md index 1aab8346..dbeaa8c9 100644 --- a/Request-and-response.md +++ b/Request-and-response.md @@ -1,9 +1,9 @@ # Request -The class WSF_REQUEST can be used to access data related to the HTTP request. +The class _WSF_REQUEST_ can be used to access data related to the HTTP request. -**TODO**: describe the request (WSF_REQUEST) interface +**TODO**: describe the request interface # Response -The class WSF_REQUEST is the media to send data back to the client. +The class _WSF_RESPONSE_ is the media to send data back to the client. -**TODO**: describe the response (WSF_RESPONSE) interface \ No newline at end of file +**TODO**: describe the response interface \ No newline at end of file From bbc32492122376e0ab4748e118e3941d9dbb1aeb Mon Sep 17 00:00:00 2001 From: oligot Date: Wed, 4 Sep 2013 05:01:42 -0700 Subject: [PATCH 27/33] Updated Router (markdown) --- Router.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Router.md b/Router.md index 048b97c8..629c8002 100644 --- a/Router.md +++ b/Router.md @@ -1 +1,3 @@ -TODO: describe the router (WSF_ROUTER) interface \ No newline at end of file +The primary goal of the router (_WSF_ROUTER_ class) is to dispatch requests according to the request URI. + +**TODO**: describe the router interface \ No newline at end of file From f5d5381fae25435d8336b7184082e07a4c8b2f87 Mon Sep 17 00:00:00 2001 From: oligot Date: Wed, 4 Sep 2013 05:04:21 -0700 Subject: [PATCH 28/33] Updated Router (markdown) --- Router.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Router.md b/Router.md index 629c8002..0b208861 100644 --- a/Router.md +++ b/Router.md @@ -1,3 +1,3 @@ -The primary goal of the router (_WSF_ROUTER_ class) is to dispatch requests according to the request URI. +The primary goal of the router (class _WSF_ROUTER_) is to dispatch requests according to the request URI. **TODO**: describe the router interface \ No newline at end of file From 44d8903a10d68229f1390b3a40d83d569a9beebc Mon Sep 17 00:00:00 2001 From: oligot Date: Thu, 12 Sep 2013 02:18:05 -0700 Subject: [PATCH 29/33] Created Filter (markdown) --- Filter.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Filter.md diff --git a/Filter.md b/Filter.md new file mode 100644 index 00000000..20f22149 --- /dev/null +++ b/Filter.md @@ -0,0 +1,27 @@ +# Introduction + +The basic idea of a filter is to pre-process incoming data and post-process outgoing data. +Filters are part of a filter chain, thus following the [chain of responsability design pattern](http://en.wikipedia.org/wiki/Chain-of-responsibility_pattern). + +Each filter decides to call the next filter or not. + +# Levels + +In EWF, there are two levels of filters. + +## WSF_FILTER + +Typical examples of such filters are: logging, compression, routing (WSF_ROUTING_FILTER), ... + +## WSF_FILTER_HANDLER + +Handler that can also play the role of a filter. + +Typical examples of such filters are: authentication, ... + +# References + +Filters (also called middelwares) in other environments: +* in Python: http://www.wsgi.org/en/latest/libraries.html +* in Node.js: http://expressjs.com/guide.html#middleware +* in Apache: http://httpd.apache.org/docs/2.2/en/filter.html \ No newline at end of file From d26c68cd1ed896b821fa996b674dfea211d528ef Mon Sep 17 00:00:00 2001 From: Olivier Ligot Date: Sat, 28 Sep 2013 16:40:02 +0200 Subject: [PATCH 30/33] Start to write documentation about connectors --- Connectors.md | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/Connectors.md b/Connectors.md index b491ad64..c3d8f646 100644 --- a/Connectors.md +++ b/Connectors.md @@ -1,11 +1,48 @@ +The main goal of the connectors is to let you choose a target at compile time. +This allows you to concentrate on your business during development time and then decide which target you choose at deployment time. +The current connectors are: +* Nino +* FastCGI +* CGI +* OpenShift + +The most widely used workflow is to use Nino on your development machine and FastCGI on your production server. +Nino being a web server written entirely in Eiffel, you can inspect your HTTP requests and respones in EiffelStudio which is great during development. +On the other hand, FastCGI is great at handling concurrent requests and coupled with Apache (or another web production server), you don't even need to worry about the lifecyle of your application (creation and destruction) as Apache will do it for you! + +Let's now dig into each of the connecters. + # Nino -TODO: ... +Nino is a web server entirely written in Eiffel. +The goal of Nino is to provide a simple web server for development (like Java, Python and Ruby provide). +Nino is currently maintained by Javier Velilla and the repository can be found here: https://github.com/jvelilla/EiffelWebNino # FastCGI -TODO: ... +FastCGI is a protocol for interfacing an application server with a web server. +It is an improvement over CGI as FastCGI supports long running processes, i.e. processes than can handle multipe requests during their lifecyle. CGI, on the other hand, launches a new process for every new request which is quite time consuming. +FastCGI is implemented by every major web servers: Apache, IIS, Nginx, ... +We recommend to use FastCGI instead of CGI as it is way more faster. +You can read more about FastCGI here: http://www.fastcgi.com/ # CGI -TODO: ... \ No newline at end of file +CGI predates FastCGI and is also a protocol for interfacing an application server with a web server. +His main drawback (and the reason why FastCGI was created) is that it launches a new process for every new request, which is quite time consuming. +We recommend to use FastCGI instead of CGI as it is way more faster. + +# OpenShift + +OpenShift is a cloud computing platform as a service product from Red Hat. +It basically let's you run your application in the cloud. +More informations are available here: https://www.openshift.com + +# Writing your own + +It's fairly easy to write your own connector. Just inherit from these classes: +* WGI_CONNECTOR +* WGI_ERROR_STREAM +* WGI_INPUT_STREAM +* WGI_OUTPUT_STREAM +* WSF_SERVICE_LAUNCHER From 9329ea946e717810b529b7b7487440bd03ecc0dd Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Mon, 21 Oct 2013 02:51:37 -0700 Subject: [PATCH 31/33] Created roadmap (markdown) --- roadmap.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 roadmap.md diff --git a/roadmap.md b/roadmap.md new file mode 100644 index 00000000..bb50a66e --- /dev/null +++ b/roadmap.md @@ -0,0 +1,4 @@ +# Upcoming versions + +# Current state: oct-2013 +- check previous wiki page: [Tasks roadmap](./wiki/Tasks roadmap) \ No newline at end of file From 250d41c2d73d25de8a2f4f594ac52a5f7c1c2d18 Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Mon, 21 Oct 2013 02:51:50 -0700 Subject: [PATCH 32/33] Updated roadmap (markdown) --- roadmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roadmap.md b/roadmap.md index bb50a66e..a0b733b5 100644 --- a/roadmap.md +++ b/roadmap.md @@ -1,4 +1,4 @@ # Upcoming versions # Current state: oct-2013 -- check previous wiki page: [Tasks roadmap](./wiki/Tasks roadmap) \ No newline at end of file +- check previous wiki page: [Tasks roadmap](./Tasks roadmap) \ No newline at end of file From 373e13208f46909fb90195dbf03758e95b2c8639 Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Mon, 21 Oct 2013 02:52:38 -0700 Subject: [PATCH 33/33] Updated Tasks Roadmap (markdown) --- Tasks-Roadmap.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Tasks-Roadmap.md b/Tasks-Roadmap.md index 0f0dea34..1a1a1a75 100644 --- a/Tasks-Roadmap.md +++ b/Tasks-Roadmap.md @@ -1,3 +1,4 @@ +Check new roadmap wiki page: [roadmap](./roadmap) ## Future * Focus on REST API - Hypermedia API