5.8 KiB
5.8 KiB
This page lists potential projects on EWF, this is open for contribution. If you are a student, don't hesitate to pick one, or even suggest a new project, or a project being a merge of several, in any case, you will get close support from EWF's team.
Studies/Analysis/Documentation
Evaluate EWF according to the following constraints ...
- Suggested by Javier
- See http://www.amundsen.com/blog/archives/1130
- Other option is take the following REST implementation toolkit as a guide to evaluate EWF http://code.google.com/p/implementing-rest/wiki/RESTImplementationToolkit.
Road to Hypermedia API
- Suggested by Javier
- describe differents types of Web API, and how you can build them using EWF.
- Describing Pros and Cons.
- based on 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
- (maybe based on our graphviz example) or and extension to RestBucksCRUD
Works related to EWF / framework / tools
Improve EWF
- Suggested by Jocelyn
- Improve encoding support ∗ Better MIME handler
- Support for configuration
- Ready to use logging facilities
- Smart handler for HEAD or similar
- Adding component to ease the caching functionalities
- Adding Session support
- URL rewriting ?
- Mass testing
- ...
Eiffel Web Nino
- Suggested by Javier & Jocelyn
- Implement persistent connection
- Complete implementation of Eiffel Web Nino using pool of threads
- Complete migration of Eiffel Web Nino to SCOOP
- Improve Nino to become a real solution to host any web services/sites
- ...
New EWF connectors
- Suggested by Jocelyn & Javier
- LightHTTP connector for EWF
- nginx connector for EWF
- ...
Concurrenty and EWF
- Suggested by Jocelyn
- Make sure EWF is compliant with concurrency, provide example
Design and build something like Ruby on Rails or Grails
- Suggested by Javier
- i.e a conventional MVC to create Web Sites
- Could be useful even if this is not the taste of everyone
Provide a Websocket implementation
- Suggested by Jocelyn
- See http://en.wikipedia.org/wiki/Websocket
Usage of EWF
HAL browser
- Suggested by Javier
- written in Eiffel inspired by http://haltalk.herokuapp.com/explorer/hal_browser.html#/
- see http://stateless.co/hal_specification.html
Collection-JSON browser
- Suggested by Javier
- similar to HAL browser but focused on Collection JSON
- see http://www.amundsen.com/media-types/collection/
Build a simple CMS with EWF
- Suggested by Jocelyn
- Build a simple CMS website with EWF
- features:
- user management (register, login, lost password -> send email)
- page editing
- blog
- template / theme
- persistency / storage / ...
- extension at compilation time
- The result should be used by any user to build his own CMS, and extend it easily.
Build P2P connector
- Suggested by Jocelyn
- Imagine you want to publish a website running on your machine (behing firewall). One would need to initiate the connection via a public website, this is common for P2P software such as remote assistance (i.e: join.me, teamviewer, showmypc, ...)
Libraries
Hypermedia API library to work with XHTML
- Suggested by Javier
- 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
- Being able to generate, and also consume RSS, ATOM, ...
Security: provide popular authentication mecanisms
- Suggested by Jocelyn
- OAuth: consumer and provider
- OpenID
- Google Connect
- Facebook Connect
- ...
Design a state machine to serve response
- Suggested by Jocelyn
- example: multipage web form
library: Template engine
- Suggested by Jocelyn
- Get inspired by any existing template engine, and build one for Eiffel
- This is not specific to EWF, but it will be very useful in website context
library: Wikitext, markdown parser and renderer
- Suggested by Jocelyn
- Support reading of wikitext, and markdown, and provide HTML rendering
- extension: render wikitext and markdown into Vision2 widget (not related to EWF, but could be useful to build editor)
library: Web component to build HTML5 widget
- Suggested by Jocelyn
- Build set of Eiffel component to ease development of websites
- table widget (with sorting ...)
- suggestive typing widget
- tab ...
- WYSIWYG textarea widget (could reuse existing JS solution ...)
- ...
Clients
Libraries: Reusable Client Design based on J.Moore Presentation
- Suggested by Javier
- Generic client that can be customized (see design in slide 12)
- http://s3.amazonaws.com/cimlabs/Oredev-Hypermedia-APIs.pdf
- video http://vimeo.com/20781278
Create a Client Cache based on Apache commons Client Cache.
- Suggested by Javier
- http://hc.apache.org/httpcomponents-client-ga/httpclient-cache/index.html
- http://labs.xfinity.com/benchmarking-the-httpclient-caching-module
Add SSL support to Eiffel Net
- Suggested by Jocelyn
- Currently Eiffel Net does not provide any support to SSL (thus no HTTPS). For now Eiffel application often use the Eiffel cURL wrapper, but it would be more convenient to use directly Eiffel Net.
Build clients to consume popular RESTful APIs
- Suggested by Jocelyn & Javier
- Requirement: OAuth client eiffel component
- Google Discovery APIs
- Github
- Flickr
- ... etc
- This should reuse and improve the "http_client" provided by EWF. Eventually also write the EiffelNet implementation to be independant from cURL