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 <[email protected]> wrote: > > > Thank you > > > > > > On 30 August 2013 10:26, Andy Van Den Heuvel > > <[email protected]>wrote: > > > >> [image: Boxbe] <https://www.boxbe.com/overview> This message is > >> eligible for Automatic Cleanup! ([email protected]) 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 <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
