Re: [PROPOSAL] i18n4data Proposal
Neng Geng Huang wrote: I reviewd commons-i18n. It is a different implementatoin with different purpose. I could not find any source at this address [1] Could you show me the source, I think I don't get exactly what your i18n4data does. I am new here, but I think it would be better to merge whatever features you have into commons-i18n and try to move it outside commons-sandbox to commons-proper so it becomes an active/stable component. It would probably be faster that way, and it would make more sense as a commons-X project rather than a standalone project. [1] http://i18n4data.cvs.sourceforge.net/i18n4data/ Regards, Ahmad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [PROPOSAL] i18n4data Proposal
Neng Geng Huang wrote: The key of i18n4data is to i18n user's data, not interface message. For example, if you are developing an e-shop web site to support two languages (English and French), you might have a table to store your goods item when you design the data structure: I don't see the difficulty localizing user data with bundles if you're talking about single strings. The limitation I see in bundles are the Key/Value per Lanuage design. You can not add more attributes to an item, or have multi values per item. If you just want to move the key/value data from bundles to database tables, then perhaps you should check out commons-i18n which, as far as I understand, does exactly what you propose and maybe even a little more. [1] commons-i18n http://commons.apache.org/sandbox/i18n/ Regards, Ahmad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [PROPOSAL] i18n4data Proposal
Neng Geng Huang wrote: Currently I cannot find any sponsors for this project, so if anyone reading this message would like to get on board, it will be really appreciated. I am not a sponsor/mentor, but I would be interested in participating. I ran into this issue before, when working on this [1]. My main problem was how to i18n a dropdown menu. Resource Bundles did not allow you to store multiple values per key, and they did not have a reverse lookup, i.e. from french value to key. The solution that I was going to work on, was to move the messages from ResourceBundles to a database table. Is this a similar approach? [1] - Business Application Framework. http://mail-archives.apache.org/mod_mbox/incubator-general/200801.mbox/[EMAIL PROTECTED] Regards, Ahmad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Business Framework Project
The source is available with some instructions on how to build and use. http://www.khalifa.ws/files/mechanix/mechanix-0.1.zip Remeber, this is an actual working application, but some features might be broken for now because I changed the folder structure a little. Niclas Hedhman wrote: I.e. the most important part is whether you (and any buddies of yours) are the creator(s) of the original work, and not 'borrowed' without following licensing restrictions. I did what I think is appropriate, but I think there would be a need for further review by someone else. Some cases that I'm sure might need extra attention would be: 1. I'm using GPL javascript html-editor (Tiny MCE). As far as I can tell, It's OK to use it, as it resembles dynamic linking. 2. I'm using commons-el in source form and performed some changes to it. I'm confused as to wether the 2-liner NOTICE file suffices here?! Or do I need to remove the apache name from it?! 3. I include the MySQL/Oracle JDBC driver. Not sure what to do here. Regards, Ahmad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Business Framework Project
Alex Karasulu wrote: On Jan 26, 2008 3:50 AM, Niclas Hedhman <[EMAIL PROTECTED]> wrote: On Tuesday 22 January 2008 22:20, Ahmad Khalifa wrote: Note, The project has a working codebase. Perhaps a good first step is to make it publicly available ;o) Niclas makes an excellent point, then we can start looking and kicking the tires. Well, is there anything I need to know before making the source available online? I mean, license-wise? Regards, Ahmad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Business Framework Project
David E Jones wrote: As you mentioned, yes, there *are* various commercial vendors doing this, but no open source has this capability. I'd be interested to hear more of what you had in mind for "this capability". The ability to customize anything and everything in the application at a higher level than Java and XML. Consider a small-medium business that has an ERP system, and one day decides that they want to get a CRM system to track their sales force. Which would be the best scenario of those? (A) - A typical CRM implementation with data migration/integration work, user training, More systems to support. -OR- (B) - A small CRM implementation with no data migration/integration, not much user training, no more systems to support. You've lost me a bit here It is definitely nice to avoid things like data migration and integration and user training and support of systems. I certainly didn't mean that scenario (B) will make the costs Zero. I meant that with the second system -- CRM -- there will be much less work to do outside of the implementation of the CRM itself. What do you mean by 'start looking at data modeling'? What I mean is actually designing how to store information for things like products, orders, invoices, payments, shipments, customers/employees/suppliers/etc, quotes, requests, and so on. Well, thats already done. I have looked at how exactly to model and extend several business scenarios. Remember, in my first post I mentioned: Note, The project has a working codebase. Or is your intent to just create a framework and not get into business level artifacts? Don't read too much into that question: that's a very common and valid approach and I don't mean to suggest that you should if it's not your intent. Remember, in my first post I mentioned: There is also an incomplete CRM-like implementation. It *is* my intent to build several apps on top of this framework, to make is easier to implement. That is what I think that this project could benefit from OFBiz. Are you still skeptical about using database to store application objects? Consider moving the component-load.xml file to the database and having a load-on-demand button somewhere. How much easier would it be for users to activate/deactivate/upgrade components? and no downtime! This would be exactly like Drupal's Module management system. I am still skeptical about it, yes. It definitely sounds nice at first, but I've been through cost/benefit comparisons for doing this with all sorts of different types of data and even tried a number of these things. Some things just seem to work better in files and other things seem to work better in database records. Perhaps more details into how this framework does things would help convince you?? I think you're looking at going in the same direction that we are with OFBiz. That's a great thing to see even if, or rather especially if, the approach for getting there is very different. Yup, same direction. I'm trying to propose a different approach to doing things that IMO would be much easier than OFBiz. If you're not sure that the approach itself would be able to deliver the same functionality, then we need to discuss that before getting into which is best. Regards, Ahmad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Business Framework Project
David E Jones wrote: The idea of putting all business level stuff in the database is interesting, but I'm still a skeptic. You can certainly build revision control around it, but how do you get the same combination of off-line and remote work along with team collaboration and group effort synchronization? I guess you could build that too, ie some sort of database sync/merge. I have never done this formally, but based on discussions and informal cost/benefit comparison... well... I guess it is enough to say that I'm still a skeptic. ;) Basically object definitions are grouped together in /Projects/. For an application developer to start working on any object definition, he has to have the project that they reside in locked. Add to that a 'Project' import/export feature, and you can have team collaboration. A typical scenario would be developer A wants to work on the /Contact/ objects. First he locks the project on the DEV server, imports latest version to his local environment, works on it, exports working copy back to the DEV server, unlocks the project. This is also how you would migrate between different environments. i.e development to production. Import/Export operations are saved as files on the server automatically, but in the future, there could be some sort of revision control integrated with it. The import/export files are readable XML files :) There are various commercial vendors doing this sort of thing. Most are aimed at having doing infrastructure for a centralized ASP-style environment, ie where there is one big application and people build or extend apps through web-based interfaces and everything lives on the server. The ultimate in lock-in, and an nice enabler of over-centralization (which I think most open source proponents realize the danger and downside of...). That's a good motivation for database driven business data structures, logic, screens, etc. What could be considered as lock-in or over-centralization from one perspective, could be looked at as being simplifying things or reducing costs from another perspective. Think of CRM/ERP/Accounting/Payroll/HR/etc.. just compressed into one system, this would certainly promote less Excel sheet usage :) The basic model of having 1 repository of customers is inherently better than having multiple repositories at several systems, with data fragmented allover, and backend migration/integration processes running. As you mentioned, yes, there *are* various commercial vendors doing this, but no open source has this capability. Consider a small-medium business that has an ERP system, and one day decides that they want to get a CRM system to track their sales force. Which would be the best scenario of those? (A) - A typical CRM implementation with data migration/integration work, user training, More systems to support. -OR- (B) - A small CRM implementation with no data migration/integration, not much user training, no more systems to support. Anyway, the two commercial companies that come to mind who are doing things this way are Tenfold Software and Bungee Labs. Tenfold is similar, they have the same concept of a repository stored in a database, with multiple applications residing in that repository. Bungee labs, are doing something that is somewhat different. From what I understand, It's a tool that is similar to what MS Visual Studio gives you when developing ASP.NET applications. BTW, Compiere actually works more or less this way. Ie, things are heavily database-driven. Yup, but they're mainly ERP, and they work with Oracle databases and some postgreSQL fork. Plus, they don't have the extreme customization abilities discussed. If you get to the point where you start looking at data modeling and the logic tier stuff, feel free to collaborate with us at OFBiz. More eyes on this stuff is always a good thing! Okay, well 98% of the time. ;) What do you mean by 'start looking at data modeling'? Are you still skeptical about using database to store application objects? Consider moving the component-load.xml file to the database and having a load-on-demand button somewhere. How much easier would it be for users to activate/deactivate/upgrade components? and no downtime! This would be exactly like Drupal's Module management system. Anyway, I really hate the idea of having /Yet Another Framework/, but as we discussed, there is no open source alternative. This is only found in commercial applications. Regards, Ahmad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Business Framework Project
J Aaron Farr wrote: Ahmad Khalifa <[EMAIL PROTECTED]> writes: Ultimately, what this would be good for, is to offer several pre-built applications along the lines of CRM, ERP, Accounting, POS, etc... just like some already available applications, but the extra customization features would make it much more adaptable/extendable to organizations, and much easier to extend to more business domains. I understand it's technically different from OFBiz, but have you looked at Apache OFBiz? Would it be something that team could use? http://ofbiz.apache.org/ I have taken a look at OFBiz. From what I understand in OFBiz you create your entities, views, db table mappings, and business logic in Java, and XML. This approach is much different. It defines those things in the database and interprets them at runtime from the database. i.e. there is no such thing as 'Accounts.xml' or 'Employees.java', etc... I don't see OFBiz benefiting from this at all. Unless they're willing to do a huge re-write. On the other hand, what this project could use from the OFBiz project, is the already developed logic they have. It is much more mature in terms of the already created business functionality. Regards, Ahmad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Business Framework Project
Antonio Petrelli wrote: 2008/1/22, Ahmad Khalifa <[EMAIL PROTECTED]>: The application is a framework for creating business applications. Unlike some business application frameworks, this one does not generate Java code or XML, instead it has a repository to store object definitions, and the runtime interprets those object definitions to views, records, logic, SQL, etc... It seems a lot like Naked Objects: http://www.nakedobjects.org/home/index.shtml Or "Roma Framework": http://romaframework.xwiki.com/xwiki/bin/view/Main/WebHome AFAIK, both frameworks require you to create a POJO, and edit an XML here or there. Thats what this application tries to avoid. I mentioned /this one does not generate Java code or XML/ but, I really should've said /does not generate, or require you to write Java code or XML/ Regards, Ahmad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Business Framework Project
Hello, I wanted to propose a new project idea. This is not a formal proposal, this just an attempt to see if such a project has a place at the ASF, and if anyone would be interested in participating. Note, The project has a working codebase. The application is a framework for creating business applications. Unlike some business application frameworks, this one does not generate Java code or XML, instead it has a repository to store object definitions, and the runtime interprets those object definitions to views, records, logic, SQL, etc... The main advantage to this framework is customization. It is highly customizable. There are several CRM/ERP/etc. applications out there but they usually lack in customization features as most of those applications have hard coded entities with some extra customization features added on top. What I mean by customization is the ability to change something via an easy to use GUI. Most of the available applications can be changed, but they require this to be done by changing php, xml, jsp, etc.. which is a development effort. What I am proposing is something at a higher level that gets you thinking only about entities, fields, views, application logic, user access, etc.. and IMHO this is important in a business application where your main focus should be on the business logic rather than 'Did I terminate that last tag?' Basically, you use this application to define objects that represent entities, fields, views, picklists, database tables, etc... through the application's development section, then you instantly go to those views to see your changes. The definitions are stored in the application database. The development section itself is developed using the application itself, i.e. the development section is stored in the database repository and at runtime its interpreted to views, fields, SQL, etc... There is also an incomplete CRM-like implementation. Some key features: * 3-Tiered object architecture allow re-use + Object definitions are separated into 3 main tiers, which are: --> User interface objects --> Business Entities --> Database Tables + You can, for example: --> Reuse UI components in multiple places without extra effort. --> Reuse Business Entities in multiple UI objects. --> Reuse database tables in multiple entities. * Business logic can be implemented in multiple ways. + Through object attributes, you can for example: - Define read only fields. - Define field data types. - Define field pick lists. + Through formulas (using JSP-EL syntax), you can for example: - Define field Readonly status conditions, interpreted at runtime. - Define field value validation formulas. Regex can be used. - Define field default values. + Through Scripting (currently using Rhino JS), you can for example: - Override events in data lifecycle to perform any business task. - For example, you can overide when the /Loan Approval/ field gets set to 'Approved' to verify that the user has enough quota. * Aggregate entities + Define which field to 'Group By' and which one to 'Count' and you have an entity that retrieves aggregate data. + Charts can be displayed from aggregate data (through jfreechart). * Interactive javascript client, or stripped down wireless interface + Through different templates (JSPs created with the framework) the objects can be made to render javascript-intensive views, or stripped down versions that are suitable for wireless devices. + Both versions would re-use the same entity objects defined. Ultimately, what this would be good for, is to offer several pre-built applications along the lines of CRM, ERP, Accounting, POS, etc... just like some already available applications, but the extra customization features would make it much more adaptable/extendable to organizations, and much easier to extend to more business domains. Well, this is my first stab at it. Comments? Regards, Ahmad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]