This commit is contained in:
2013-07-04 17:29:25 +02:00
8 changed files with 159 additions and 1 deletions

View File

@@ -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:
<code>git clone git://github.com/EiffelWebFramework/EWF.git</code>
== 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:
<code>estudio -config simple.ecf -target simple</code>
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.

View File

@@ -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] ]

View File

@@ -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

4
doc/wiki/Meetings.md Normal file
View File

@@ -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)

View File

@@ -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/
----

View File

@@ -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
----

14
doc/wiki/Useful-links.md Normal file
View File

@@ -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

View File

@@ -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.