incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Crossley <cross...@apache.org>
Subject Re: Castafiore framework proposal to incubator
Date Wed, 04 Sep 2013 06:50:58 GMT
Kureem Rossaye wrote:
>  Hello community,
> 
> please find below a proposal I wish to submit to the ASF. I am new here and
> was told that I could paste the proposal here. So here we are.

That was misleading to simply say that. There is quite a process
which will all be beneficial.

> Awaiting reply, recommendation and feedback and will be pleased to answer
> any questions.

Please review the Incubator website. There are instructions
about the process for Proposals.
http://incubator.apache.org/
In the top-left see the link to the "Proposal Guide".

-David

> Thanks in advance
> 
> 
> Kind regards,
> 
> Kureem Rossaye
> Abstract
> 
> Castafiore framework is a web frameworks, fully component oriented, ajax
> based, one page appplication. Although the framework can be viewed as a
> classical component oriented web framework like GWT, it has been designed
> and implemented with a particular goal in mind. It is to be able to make
> existing javascript libraries "java-able". Meaning that the framework
> allows to easily take a javascript library like e.g jquery ui and use the
> components and features via java. The integration of the javascript
> libraries need to be easy and natural.
> 
> Actually companies like ext js and smartgwt have made their components
> "java-able" using GWT. I wish to provide an alternative to gwt that is much
> easier, fast, lightweight, and much more productive.
> Proposal
> 
> Castafiore framework has been designed and implemented with the following
> goals in mind
> 
>    1.
> 
>    Fully object oriented
>    2.
> 
>    Simple API that is very close to html itself
>    We wanted an API that is closer to html markup and javascripts event
>    model. I believe that this would help web developers easily visualize the
>    rendering when reading source code.
>    3.
> 
>    Write a full application with only java
>    4.
> 
>    No need for compiler to convert to javascript like gwt.Javascript is
>    rendered at runtime.
>    5.
> 
>    The same API can be used to make an software that is server centric and
>    or client centric. Meaning that the user can make part of his application
>    server centric and part of his application client centric. He can of course
>    choose to make the whole application client centric or server centric
>    depending on the requirement. All of this using the same API.
>    6.
> 
>    Low memory footprint
>    7.
> 
>    Easy packaging of application. Everything can be packaged in a single
>    jar. This includes images, css or javascript as well
>    8.
> 
>    Same API used to create custom components. No need to external set of
>    API or specific programming technique to create custom components. Creating
>    a custom components should be done only the same way as writing an
>    application.
>    9.
> 
>    No need for javascript to create custom components.
>    10.
> 
>    Although there is no need for javascript to create an application, it
>    should be easy to integrate external javascript libraries and use them in
>    java codes itself. This should be done is a natural way just like we would
>    do in an HTML page. This should be like this so that javascript library
>    authors with some java skills find it natural and easy to provide a
>    castafiore component together with the library. e.g. The author of flexgrid
>    should should find it easy to create a castafiore component thus making his
>    library usable directly in java.
> 
>  *Actually, I wanted to create a java web framework for javascript
> programmers. They should find it easy and fun to integrate and distribute
> their js libraries as a castafiore component. They will be able to
> distribute their libraries as a single jar. This is very convenient for
> java developers to just download the jar, include in classpath, and using
> the library, components and feature right away in their web application in
> pure java. Furthermore the castafiore framework itself is very lightweight
> with just 2 libraries and 1 web.xml entry. Even if the java developer is
> not using castafiore in his project, he should find it easy to just drop
> the 2 libraries + web.xml entry in classpath and start using it right away.
> Very practical.*
> 
>    1.
> 
>    Load external resources like css and javascript lazily and efficiently
>    only when needed.
>    2.
> 
>    Loading of external resources can be done eagerly if the API user wish
>    so.
>    3.
> 
>    The framework does not own the whole page. Meaning that an application
>    created with the framework can be used in an already created page. This
>    allows API developer to use the framework only for very specific purposes
>    like for example a dynamic table, while at the same time using other web
>    framework like struts for the other sections of the application.
>    4.
> 
>    Although a whole application can be created using pure java, the
>    framework should be able to integrate templates.
>    5.
> 
>    By default, there should be 100% separation of logic and presentation.
>    Meaning that the API user should be able to take an html template, and
>    dynamise it without needing to add any modification in the template.
>    6.
> 
>    On the other hand, if an API user is more script centric, he is able to
>    write groovy template, jstl templates or any other template engine.
>    7.
> 
>    The API user should be able to easily use any template engine he wishes
>    easily and naturally.
>    8.
> 
>    Event model is in 3 phase. Client-> server->back to client. API user
>    should be able to write events in java that starts executing on the
>    browser, then goes on the server if he wishes, then continue executing on
>    the browser. e.g. We should be able to add an event on a button that starts
>    by executing some javascript codes, then take some parameters and execute
>    codes on the server, then continue back with some parameter from the server
>    to execute some more javascript codes on the client. This technique if used
>    skillfully helps to create very smooth application that constantly
>    communicates with the server without any flicker
>    9.
> 
>    Support for websocket when the browser supports it.
>    10.
> 
>    Support for HTML5
>    11.
> 
>    Same API to write SVG applications.
>    12.
> 
>    Same API to write html5 canva application.
>    13.
> 
>    Support for browser back button
>    14.
> 
>    Crawlable by google crawler
>    15.
> 
>    Ultimately, the framework will come with a very rich set of re-usable
>    components
>    16.
> 
>    Handle browser quirks
>    17.
> 
>    Built in validation
> 
> Background
> 
> The initial development of castafiore framework started back 3years ago by
> Kureem Rossaye. Later it was mature enough to be used in production. A
> whole web based platform was created. It consists of applications like
> Inventory system, CMS, DMS, account system, organization management system
> and also an advanced WYSIWYG online application builder. Many websites
> ranging from simple catalog website to advanced e-commerce website were
> also created using the framework.
> 
> Now I wish to donate this framework to the ASF in the hope to build a
> community and see it strive
> Rationale
> 
> While there exists many web frameworks, there are very few that address all
> the requirements at the same time. There is a need for a web applications
> that at the same time can free user from javascript, html and css and at
> the same time easily integrate them when needed. There is also the need for
> a web framework that at the same time can be server centric and client
> centric. For example, the front-end of a web site should be made client
> centric and the back end server centric. While the whole application can be
> written in java, the web framework allows to create a whole application
> using traditional methods like html css javascript and page oriented
> framework like struts or spring mvc and at the same time implement only
> very specific parts using the framework.
> 
> Today many javascript library providers and making their libraries
> “java-able”. e.g. SmartGWT or extjs
> 
> They are using GWT for this purpose. Writing custom components with GWT can
> be extremely complex, error prone, difficult to debug and stabilize. Not
> mentioning the compilation nightmare. And GWT is exclusively client
> centric. Connection with the server is done exclusively via web services.
> On the other hand, castafiore framework helps to make javascript libraries
> “java-able” very easily. It is easy to debug and stabilize components since
> there is no such thing as compiler to generate javascript.
> 
> The framework is built upon jquery. Indeed jquery is an excellent
> javascript library. The framework basically acts as a thin layer over
> jquery. The result is a very simple and intuitive api which helps to write
> highly dynamic applications with lesser code. Just like jquery.
> 
> The 3 phase event model helps to bring the server very close to the
> browser. Meaning that with the same API, it is easy to interact with the
> browser and interact with the server. This helps to create very smooth
> running applications and at the same time interacting with the server and
> progressively render new components.
> 
> Thanks to the framework we will be able to harness the new HTML 5 api like
> websocket, workers, storage system, canvas and others using pure java. This
> is pretty exciting.
> 
> And hopefully, thanks to the ease at which we can integrate js libraries as
> a castafiore components, we will be able to use already mature js libraries
> in our java codes and interact with the server easily
> Current Status
> 
> The rendering engine of the framework is completed and is being used in
> production. A large set of components are also being used. The javadocs and
> documentations are 90% completed. However there are many components that
> need to be stabilized and of course, there is the need to create more
> interesting, useful and sexy components for the pleasure of every
> programmer.
> 
> We need to create a good set of demo and sample codes
> 
> There is also a need to create a website where contributors can publish
> their custom components together with their license and demo
> 
> I intend to donate the WYSIWYG application builder to the ASF and host it
> online. This will be used as a sandbox or even can be used to create custom
> components and publish them online itself, without the need to download or
> install anything. I believe that this will help javascript library authors
> to make their libraries “java-able”. To attain this objective, we need to
> stabilize and increase security level on the application.
>  Meritocracy
> 
> By submitting this incubator proposal, we’re expressing our intent to build
> a diverse developer community around Castafiore that will conduct itself
> according to The Apache Way and use meritocratic means of accepting
> contributions.
> Community
> 
> Castafiore is actively being developed and maintained within Archnet Ltd by
> myself. By open sourcing it, I hope to attract contributors and build a
> vibrant community around the project. I will do my best to provide all
> necessary documentation and helps as swiftly as possible to help anybody
> interested in contributing on the project.
> Core Developers
> 
> Castafiore is currently being developed by only Kureem Rossaye
> Alignment
> 
> The ASF is a natural choice to host the Castafiore project, given the goal
> of open sourcing the project and fostering a community to grow and support
> the software.
> 
> Castafiore is a web framework tested and developed on apache-tomcat and
> websocket features uses implementation provided by tomcat7
> Known Risks Orphaned Products
> 
> There is currently one single developer for this project. However, this is
> the main reason why I want to host this project to ASF in order to create a
> community in order make the project less dependent on only myself. I also
> express my intention to provide all necessary help and documentation to
> help those interested to get started with the project.
> 
> Every aspect of the framework will be heavily documented to give clear
> understanding of the rendering engine in order to help anybody modify,
> enhance it.
> 
> Furthermore, the framework is being used in production in my company
> Archnet ltd and has been deployed in several companies in Mauritius.
> Inexperience with Open Source
> 
> Indeed, I have low level of experience in open source and has never
> contributed in any opensource, although I have always wanted to do so.
> However, by working with our mentor and the Apache community I believe I
> will be able to conduct myself in accordance with the Apache Incubator
> guidelines.
> 
> 
> 
>  Homogenous Developers
> 
> Actually there is only myself who is developing this project. This is
> actually one of the reasons why I want to submit this proposal. In order to
> be able to attract developers from various countries and companies. As I
> have already mentioned, I will be dedicated to provide everything required
> to help get started with contributing on this project.
> Reliance on Salaried Developers
> 
> I am the sole developer of this project. I am the director of my company,
> Archnet ltd. So there is no reliance on salaried developers for this
> project.
>  Relationships with Other Apache Products
> 
> The project is a web frameworks that has been developed and tested on
> apache tomcat. Furthermore, the websocket feature actually uses exclusively
> the implementation provided by apache 7
> 
> 
> 
>  An Excessive Fascination with the Apache Brand
> 
> While we respect the reputation of the Apache brand and have no doubts that
> it will attract contributors and users, our interest is primarily to give
> Castafiore a solid home as an open source project following an established
> development model. We have also given reasons in the Rationale and
> Alignment sections.
> Documentation
> 
> Project documentation exists and will be update online soon
> Initial Source
> 
> https://github.com/archnetltd/castafioreframework
>  Source and Intellectual Property Submission Plan
> 
> All the codes are available online on github.
> https://github.com/archnetltd/castafioreframework/tree/elie/ui
> 
> 
> Since I am actually the only developer on this project, it is very easy for
> me to change the license to whatever license that best suits the ASF.
> 
> 
> 
>  External Dependencies
> 
> Castafiore depends on spring framework and commons-fileupload. They are all
> Apache compatible.
> Cryptography
> 
> Not applicable.
> Required Resources Mailing Lists
> 
>    -
> 
>    castafiore-private for private PMC discussions
>    -
> 
>    castafiore-dev
>    -
> 
>    castafiore-commits
>    -
> 
>    castafiore-user
>    -
> 
>    castafiore-issues
> 
> Subversion Directory
> 
> We prefer to use Git as our source control system: git://
> git.apache.org/castafiore
> Issue Tracking
> 
> JIRA Castafiore
> Initial Committers
> 
>    -
> 
>    Kureem Rossaye (kureem at gmail dot com)
> 
> Affiliations
> 
> Archnetltd
> Interested Parties
> 
>    -
> 
> 
> Sponsors Champion Nominated Mentors
> 
>    -
> 
> 
> Sponsoring Entity
> 
> Incubator PMC
> 
> 
> 
> 
> On 30 August 2013 11:55, Kureem Rossaye <kureem@gmail.com> wrote:
> 
> > Thank you
> >
> >
> > On 30 August 2013 10:26, Andy Van Den Heuvel <andy.vandenheuvel@gmail.com>wrote:
> >
> >>  [image: Boxbe] <https://www.boxbe.com/overview> This message is
> >> eligible for Automatic Cleanup! (andy.vandenheuvel@gmail.com) Add
> >> cleanup rule<https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Ftoken%3DLK4DF6Zs01UeB4%252FoCwofDbHomqBqXAUD6TYuhBUJ3RV5HDPOXTN21VCBDkxuVKdfcsP4aI9%252FpEMWuRYoPDtVj5VYCyM4i8diwx5Q3T%252FhNHxI9iYGKhU9WVpH4O5sAWILuHv26s4Avib72hSHpe7Ymw%253D%253D%26key%3DurjvzkAYjBX6HETnLJA7bQnJ4%252BG5NKGFYaSvtHdDjBs%253D&tc_serial=15008921599&tc_rand=329277911&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_ADD&utm_content=001>|
More
> >> info<http://blog.boxbe.com/general/boxbe-automatic-cleanup?tc_serial=15008921599&tc_rand=329277911&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_ADD&utm_content=001>
> >>
> >> Kureem,
> >>
> >> I think it's best to copy your proposal here, so people can see what you
> >> are exactly trying to solve.
> >>
> >>
> >>
> >> On Fri, Aug 30, 2013 at 6:45 AM, Kureem Rossaye <kureem@gmail.com> wrote:
> >>
> >> > Hi,
> >> >
> >> > I am Kureem Rossaye. I have create a web framework which is already
> >> being
> >> > used in production. Now I would like to give the framework opensource
> >> and
> >> > of course the most natural place to start is Apache. I have already
> >> written
> >> > a proposal to submit to the incubation. However, I have the following
> >> > questions.
> >> > 1. If I am not mistaken I need to hire a champion. Could you please
> >> help me
> >> > how to do this
> >> > 2. How I submit the proposal?
> >> >
> >> > Thanks in advance
> >> >
> >> > --
> >> > Kureem Rossaye
> >> > Managing Director
> >> >
> >> > ArchNet ltd
> >> > R. Tagore Avenue, Mesnil
> >> > Mauritius
> >> > Mobile :+230 7159028 / Tel :+230 6867326
> >> > Skype : arkureem
> >> > http://www.archnetltd.com
> >> >
> >>
> >>
> >
> >
> > --
> > Kureem Rossaye
> > Managing Director
> >
> > ArchNet ltd
> > R. Tagore Avenue, Mesnil
> > Mauritius
> > Mobile :+230 7159028 / Tel :+230 6867326
> > Skype : arkureem
> > http://www.archnetltd.com
> >
> >
> 
> 
> -- 
> Kureem Rossaye
> Managing Director
> 
> ArchNet ltd
> R. Tagore Avenue, Mesnil
> Mauritius
> Mobile :+230 7159028 / Tel :+230 6867326
> Skype : arkureem
> http://www.archnetltd.com

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Mime
View raw message