diff --git a/doc/wiki/Doc_Getting_Started.mediawiki b/doc/wiki/Doc_Getting_Started.mediawiki new file mode 100644 index 00000000..550862d8 --- /dev/null +++ b/doc/wiki/Doc_Getting_Started.mediawiki @@ -0,0 +1,57 @@ +Menu :: [[Doc_Getting_Started|Getting Started]] :: [[Doc_Community|Community]] + += Getting Started = +This page will help you to get started with EWF. We will first see how to install EWF and then how to compile and run the venerable Hello World example. + +== Installation == +=== EiffelStudio 7.2 === +EWF is already included in EiffelStudio 7.2: you don't have to do anything in this case! This is the recommanded solution if you are a new developer or are new to Eiffel. + +=== Other EiffelStudio versions === +If you have another version of EiffelStudio than 7.2, you have to + +* dowload EWF +* create a directory where you will put your custum Eiffel libraries +* extract EWF in the newly created directory +* define the environment variable EIFFEL_LIBRARY to point to the newly created directory + +=== Source code === +The source code is available on Github. You can get it by running the command: + +git clone git://github.com/EiffelWebFramework/EWF.git + +== Hello World == +The hello world example is located in the directory $ISE_EIFFEL/contrib/examples/web/ewf/simple. Just double click on the simple.ecf file and select the simple target or if you prefer the command line, run the command: +estudio -config simple.ecf -target simple + +Once the project is compiled, we will adapt the root class to point to port number 9090. + +'''Note''': By default, the application listens on port 80, which is often already used by standard webservers (Apache, nginx, ...). Moreover, on Linux, ports below 1024 can only be opened by root. + +To do this, we will redefine the feature initialize as follows: + + + class + APPLICATION + + inherit + WSF_DEFAULT_SERVICE + redefine + initialize + end + + create + make_and_launch + + feature {NONE} -- Initialization + + initialize + -- Initialize current service + do + set_service_option ("port", 9090) + end + end + + +After one more compile, you can now launch the application and point your browser to [http://localhost:9090]. +You should now see a simple page with Hello World. \ No newline at end of file diff --git a/doc/wiki/Doc_Index.mediawiki b/doc/wiki/Doc_Index.mediawiki new file mode 100644 index 00000000..90016448 --- /dev/null +++ b/doc/wiki/Doc_Index.mediawiki @@ -0,0 +1,7 @@ +Menu :: [[Doc_Getting_Started|Getting Started]] :: [[Doc_Community|Community]] + += Eiffel Web Framework = +Framework to build web applications in Eiffel + +[ [http://github.com/EiffelWebFramework/EWF/zipball/ Download Current] ] +[ [http://github.com/EiffelWebFramework/EWF/zipball/release-0.3 Download v0.3] ] \ No newline at end of file diff --git a/doc/wiki/Home.md b/doc/wiki/Home.md index 4da5d7b7..23fa81e5 100644 --- a/doc/wiki/Home.md +++ b/doc/wiki/Home.md @@ -6,7 +6,7 @@ The official documentation/wiki is located at https://github.com/EiffelWebFramew ## 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) - Most of the topics are discussed on the mailing list (google group). -- For time to time we have web meeting, and less frequently physical 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 diff --git a/doc/wiki/Meetings.md b/doc/wiki/Meetings.md new file mode 100644 index 00000000..a75a124f --- /dev/null +++ b/doc/wiki/Meetings.md @@ -0,0 +1,4 @@ +# Previous and future meetings + +* [[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) diff --git a/doc/wiki/Projects-new-suggestions.md b/doc/wiki/Projects-new-suggestions.md index b7278fee..6093b9c9 100644 --- a/doc/wiki/Projects-new-suggestions.md +++ b/doc/wiki/Projects-new-suggestions.md @@ -12,3 +12,9 @@ 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/ + +---- diff --git a/doc/wiki/Projects.md b/doc/wiki/Projects.md index ad4f235f..2aaa7a50 100644 --- a/doc/wiki/Projects.md +++ b/doc/wiki/Projects.md @@ -96,6 +96,7 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * _Suggested by **Jocelyn**_ * _Supervisor_: * _Suitability_: TODO +* _Status_: started, and open for contribution, collaboration, please contact Jocelyn. * _Description_: Using EWF, Build a simple CMS (Content Management System) framework and then an example. It should provide common features such as: - user management (register, login, lost password -> send email) - page editing @@ -225,6 +226,13 @@ If you are a student, don't hesitate to pick one, or even suggest a new project, * This should reuse and improve the "http_client" provided by EWF. Eventually also write the EiffelNet implementation to be independant from cURL * **Requirement**: OAuth client eiffel component +## Build a ESI preprocessor, or proxy +* _Suggested by **Jocelyn**_ +* _Supervisor_: +* _Suitability_: TODO +* _Description_: TODO +* See: http://en.wikipedia.org/wiki/Edge_Side_Includes + ---- # Feel free to add new idea below this line ---- diff --git a/doc/wiki/Useful-links.md b/doc/wiki/Useful-links.md new file mode 100644 index 00000000..29c810b7 --- /dev/null +++ b/doc/wiki/Useful-links.md @@ -0,0 +1,14 @@ +## Eiffel + +* http://www.scoop.it/t/eiffel-resources +* http://www.scoop.it/t/eiffel + +## Hypermedia + +* http://www.scoop.it/t/hyper-media-apis +* 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 diff --git a/doc/wiki/Web-meeting-2012-09-18.md b/doc/wiki/Web-meeting-2012-09-18.md new file mode 100644 index 00000000..65f538af --- /dev/null +++ b/doc/wiki/Web-meeting-2012-09-18.md @@ -0,0 +1,62 @@ +## Participants + +* Jocelyn Fiat +* Berend de Boer +* Olivier Ligot +* Javier Velilla + +## Information + +### When ? +* Tuesday 18th of september, 19:00 - 20:00 UTC/GMT time (see 3rd time in 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 + +## Agenda + +* Current status of EWF + * Focus on new design for the router system, and take decision + * decide if this replace the previous system, + * or if this is provided as another solution (we would then have 2 routers system). + * It might be possible to implement the previous uri and uri-template router with the new design, and mark them obsolete, this would avoid breaking existing code, but if no-one ask for it, no need to spend time doing it. + * Current activities + * Technology forecasting about REST, Hypermedia API, Collection/JSON, HAL, ... + * Building a CMS framework inspired by Drupal, and using EWF + * Libraries in-progress or draft: OAuth (consumer), Google API, Github API, Template engine, Wikitext parser, CMS (including sub libraries which will be part of EWF, such as session handling, mailer, ...) + * Documentation + * Remaining issues + * Review design in relation to concurrency, and provide example demonstrating concurrency with EWF + * Review design to allow easier extension/customization of EWF, such as using its own MIME handlers. + * Demo for a CMS built with EWF (inspired by Drupal) +* Future tasks + * [graphviz-server](https://github.com/EiffelWebFramework/graphviz-server) + * Improving Eiffel Web Nino: to support persistent connection, and better concurrency design. + * Provide friendly components to generate HTML (DHTML, HTML5, ...), (coders do not want to learn HTML and +CSS) +* Users feedback, suggestions and requests + * ... +* Next meeting + +## Materials + +## Minutes +* swagger: see if we could generate EWF code from a swagger specification +* Jocelyn will publish its attempt to build a CMS with EWF + * CMS demo: ... as announced ... some parts look very like drupal. +* Jocelyn will publish a few in-progress draft libraries +* Javier will focus on graphviz-server and hypermedia API +* Berend may send a short note on how he uses EWF (and generate code from description) +* Jocelyn will try to find time to complete the thread and SCOOP implementation of Eiffel Web Nino +* Olivier will have a closer look at swagger +* EWF will adopt the new WSF_ROUTER design as no-one expressed opposition. Olivier said converting his code is not a big task. Same for other users. +* The current state of EWF/WSF seems to be ok for users, we can focus on libraries on top of EWF/WSF +* We might need an HTML parser, if we want to support HTML as an hypermedia API (maybe we can require XHTML for now) +* No high priority to improve Eiffel Web Nino , for now it is mainly used during development. + +* It seems RESTful + Hypermedia API is the top priority for EWF. +