incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Grobmeier <grobme...@gmail.com>
Subject Re: [PROPOSAL] Castafiore framework proposal to incubator
Date Thu, 05 Sep 2013 08:47:10 GMT
Am 05.09.13 07:09, schrieb Kureem Rossaye:
> Thank you very much,
> I have not included the proposal to the Incubator wiki yet.
> How can I do that?
Create an account here:
http://wiki.apache.org/incubator/

Then mail your username to this list, askinf for access. You'll be
granted then.

Then you can add your proposal here:
http://wiki.apache.org/incubator/ProjectProposals

I assume you know this link already:
http://incubator.apache.org/guides/proposal.html

Please try to make the proposal look similar to the others on the wiki.

Cheers!

Christian
> Thanks
> Kureem
>
>
> On 5 September 2013 00:09, Christian Grobmeier <grobmeier@gmail.com> wrote:
>
>> Nice!
>>
>> Have you included your proposal to the Incubator wiki?
>> I would like to forward it to the Struts team, some might be interested.
>>
>> I have no time to actually code, but I might help with incubation
>> (mentoring or championing). Before deciding on that, I would like to
>> hear if there is interest of others here.
>>
>> Am 04.09.13 15:04, schrieb Kureem Rossaye:
>>> "*once could use Castafiore
>>> in conjunction with Struts. In other terms, Castafiore could be used as
>>> a Struts plugin which then calls Struts Actions and replaces Tiles, JSP
>>> whatever. Is that correct?*"
>>>
>>> Correct!
>>> Actually I myself did not get the idea that it could be used like that.
>> Yes
>>> it can be used like that.
>>> Actually, a castafiore application (which can be a simple table) can be
>>> included on a page using a simple javascript or a jsp tag. So why not a
>>> struts plugin.
>>> Actually I have tried it as an echo2 framework component. It works just
>>> nice.
>>>
>>>
>>> Thanks for your interest
>>>
>>> Ragards,
>>> Kureem
>>>
>>>
>>> On 4 September 2013 15:32, Christian Grobmeier <grobmeier@gmail.com>
>> wrote:
>>>> Kureem,
>>>>
>>>> this sounds nice. As far as I understood it, once could use Castafiore
>>>> in conjunction with Struts. In other terms, Castafiore could be used as
>>>> a Struts plugin which then calls Struts Actions and replaces Tiles, JSP
>>>> whatever. Is that correct?
>>>>
>>>> Cheers
>>>>
>>>>
>>>>
>>>> Am 04.09.13 10:01, schrieb Kureem Rossaye:
>>>>> Hi,
>>>>> Indeed, I have read the incubation proposal guide. The only thing I
>> could
>>>>> not figure out is how to recruit a champion.
>>>>> However, after re-reading the guide, I missed something. I should have
>>>>> prefixed the subject of the mail with [PROPOSAL]. So I am resending the
>>>>> proposal with the proper subject.
>>>>>
>>>>> **********************************************************************
>>>>> PROPOSAL
>>>>> 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
>>>>>
>>>>>
>>>>> Regards,
>>>>> Kureem
>>>>>
>>>>> On 4 September 2013 11:42, 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%3DA7cIgY7uXc9fhSlhgyPtQ3odw9ckUjD8qzvzM6gGOlZGdVBKKg2%252Fojo9BgFWXieYd8ChwzLpil4FJnF3YGm%252FPMB1s4La4z9ERllcJrTb%252BOohGD8W32Z9jm9FWhC7VZtQB3e%252FjFyeL3%252FUnxJFNPD7tA%253D%253D%26key%3DW2AiTYUetCwnw12oW9MqdvyL700C%252BosmRuC4Bs7Ibbs%253D&tc_serial=15046099525&tc_rand=167615126&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=15046099525&tc_rand=167615126&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_ADD&utm_content=001
>>>>>> I think Kureem already knows the incubation process.
>>>>>> He is looking for a java champion. Since he already has a first draft
>> of
>>>>>> his proposal, I asked him to copy it
>>>>>> so people interessed could have an idea what the project is about.
>>>>>>
>>>>>> Sorry if my communication caused any inconvenience
>>>>>>
>>>>>>
>>>>>> On Wed, Sep 4, 2013 at 8:50 AM, David Crossley <crossley@apache.org>
>>>>>> wrote:
>>>>>>
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
>>>> For additional commands, e-mail: general-help@incubator.apache.org
>>>>
>>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
>> For additional commands, e-mail: general-help@incubator.apache.org
>>
>>
>


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


Mime
View raw message