djangogoogle-app-enginegwtspring-roowcm

Which technology (Spring Roo / Django) to build my 'CMS-like' application on GAE?


I would like to create my company based upon a tourism project (WEB 2.0 / CMS like).

Firstly, I want to argue why I think, in my case, that I should develop it (from scratch, but with a good plateform or tool). Indeed, I think that today (but maybe I am wrong...), some tools (or plateform...) are very powerfull and we can be very productive with it.

Moreover, these requesite 'could' jutify to implement my own software : - my software may interact with other applications (or other tourism database) - I need to do an 'inline administration' such as MAGNOLIA (not all CMS have it I think) - I have no monney to buy one good CMS doing the work I need (such as Alfresco, or Magnolia or Liferay...) - I think that for a long term project, it could be more rentable to develop it in order to have a better control on its evolution. - I would like to use GAE because it is a cheaper and more flexible solution for the hosting (I do not think that all CMS work on it)

Secondly, now, if you agree with me (but if I am wrong about the liscence, or other solution, tell me please), I really like some help about the technologies...I think that SPRING ROO is a very good tool to develop my CMS. But maybe I should use DJANGO (can you argue about the choice between these 2 solutions to develop my software ?).

My CMS functionalities needed are mainly : - versionning of the articles (talking about touristic places...) and a repository for them. - a search (Solr is include in Spring Roo) - using the AJAX technology (quick refresh)...I would like to use GWT - permissions (administrator, visitor, contributor, manager...) - multi-langage and maybe multi-domain websites (or I should have a big portal that give acces to all countries) - a Backend management for the adverts (I am not sur if delegating this task to dfp (DoubleClick For Publisher) is a good idea ? - User authentication (LDAP)...I do not know if SPRING ROO manage this ? - Having simple workflow (such as editing, validating then publishing the article...) - Think about Mobile App (Android)...so I think that if I choose JAVA, it will be easier to 'translate' on the Android Plateform...

Then, I am sorry if there is a lot of 'topics' in my thread but it is very complicated for me. So I would like to know if, as supposed, I used SPRING ROO + GAE + GWT, so I should use BIGTABLE (the Google NoSQL) ?

At last but not least, I have not found a website that explain how to create my own CMS...what I want to know is how to do the architecture of the software, because there is a lot of technologies interacting (OSGi, Solr, JPA...) and I do not masterize them, so I would know in what order do I need to process...

For the security part, do you think that taking care about the XSS injection is enought ?

To conclude, I know that it is difficult to help me because I ask a lot of things, but here I am now...and in order to explain in what context I am, I would like to take the time to learn 'interesting technologies' because if my project fail, I would reconvert myself in an 'expert' of the tool I have learned (ready to spend until 6 month, 24/24, 7/7 :D to create my CMS-LIKE).

Thank you,


Solution

  • I would suggest to avoid inserting too much information in your question :) Better throw smaller questions so people answer's are more suitable to your problem.

    If you plan to deploy on GAE, well my answer is:

    Optionally, you could use a framework to assist your presentation layer like GWT-platform which is really great. They also offer a nice command pattern implementation. The framework as it's limitations but the guys working for the project are just great.

    Try to stay away from Spring-Roo for production app. I tried a few prototypes, buy going further is hard. At least it was in my experience.