i need to develop a erp module based app plz advice based on your exp.

Login or register to post comments
13 replies [Last post]
Offline
Joined: 07/18/2010

i am newbie here i need your sincere advice based on your experience.

basically we have to develop a Erp module web application for some client.as it would be long term investment in any frame work so i need a word of advice from all of you is qCubed right for us.can we develop module based tier based robust web application in qcubed? as time is also an issue so code generation seems to be a good feature but from all other aspects of project lifecycle what do you people like to advice should we go for qcube or should search for other frame work?

thanks
Waqas

alex94040's picture
Offline
Joined: 11/06/2008

Waqas - every one of the core contributors for this framework has a serious, big, production-level system running on top of QCubed. So we will obviously all tell you that yes, you CAN and should build your application on top of QCubed. It's designed exactly for module-based, model-view-controller system. It is designed from the ground up to be robust on the strongest technologies and concepts out there (jQuery, MVC, code generation and scaffolding, PHP5 object oriented core, etc).

If you have specific questions about QCubed support for a particular aspect of the ERP system you need to build, just ask.

LaCeja's picture
Offline
Joined: 11/04/2009

wagasde. I am not a core contributor, although I have contributed some ideas and a plugin. The point is, I'm fairly unbiased.

About a year ago, I spent several months searching and testing more frameworks than I can remember. It was painful, but well worth it. After all the searching and testing, I found QCubed to be absolutely the very best of all worlds. None of them are perfect, but QCubed is, without question, the best. Development is relatively fast and well structured. The code generation part of it will save you quite a lot of time, because it generates all the metacontrols and basic CRUD modules for each table. Sort of a shell that you can use to fill in your business logic.

Also, the integrated ORM will provide you with a consistent interface to custom data access requirements. Since it takes advantage of defined foreign keys, you get a lot of more or less automatic access built in as well. Besides generating all the CRUD functions for you, the ORM includes a Query module you can use to make pretty much any custom query desired.

You'll also find the full integration of AJAX to be very handy and it's all built on the JQuery library. I've been told there is a price to pay, in terms of performance, for this well standardized approach, but I haven't seen much of a hit at all. Everything seems to perform very well. If you follow some of the threads in the forums, you'll see the core developers are very concerned about performance and spend a lot of time improving it.

Since it's well structured around the MVC, it's easy to organize your project and allow the interface designers to work without damaging the integrity of the business processes.

Also, you might want to take a look at the Examples and browse the plugins that have been created. I think you'll find a lot of programming has already be done for you... Lot's of flexibility and power.

I noticed you're planning to develop an ERP system. I'm doing the very same for industrial services companies. Basically, manufacturing, without the bill of materials, with over 160 tables. I think you'd be very hard pressed to find a better framework for building a large integrated application. I'm making good progress and have no regrets.

That's my two cents worth.

LeCeja.

Offline
Joined: 07/18/2010

thank you both of guys for sharing your experience.well Leceja i am quite impressed with your detail feedback.basically our deployment is on shared hosting so i think with out using innoDb mysql table structure it could not generate database model what do you think? as innodb takes more resources interms of memory could we use Myisam and still could get advantage of code generation.

another thing i see here lacking is any kind of ebook about qcubed there should be ebook about inner details and architecture of qcube so that it can help starters like me as other frame works like zend and symfony have very detailed documentation and ebooks i dont want more but should be one ebook comprising all details of qcubed.

Offline
Joined: 03/31/2008

About "could we use Myisam and still could get advantage of code generation"

Yes, you can define relationship between tables in plain text file and the code-gen will use it just like real foreign keys between InnoDB tables.

MyTable1.RefColumn1 => Table2.Id
MyTable1.RefColumn2 => Table3.Id

Like LaCeja I spent few weeks searching and testing PHP frameworks back in 2006. When I found QCodo (now QCubed) I just got almost everything I could ask for. Now I have two projects build on top of QCubed (total 260 tables) and I have no problems at all. Because of the code generation and metacontrols I can spend my time on my application logic instead of writing some CRUD methods. Also, if you want AJAX, you have it and don't have to write a single Javascript line.

Brynjar.

Offline
Joined: 07/18/2010

well it seems that my database level concerns are solved now.actually my app will be roled based different users with differnt access rights will user it after login so is there exists any built in login system with roled based configurations in qcubed or i have to do it myself using session variables stuff.

Offline
Joined: 03/31/2008

QCubed does not come with a built in authentication framework. This means you may either follow the examples provided in http://qcu.be/content/video-screencasts to build your own, or use other PHP authentication frameworks that meet your needs, such as http://framework.zend.com/manual/en/zend.auth.introduction.html.

LaCeja's picture
Offline
Joined: 11/04/2009

There is an authentication plugin, but I believe it's field based, rather than role based. As Vexed says, you'll probably have to roll your own or integrate another one as your own plugin.

Offline
Joined: 07/18/2010

i need to inquire how can i standardize my design means html in one place like header ,footers in one file. is there any built in functionality exist in Qcube for this? so that one main template file is generated containing header and footers and each view can inherit it and paste its html in content area like in joomla there is central template file and in template file component tag all the contents appears so any same kind of things exists here or just have to make functions for header footer html.

also can any body refer me some working sample code of some small professional Qcube framework project? .

thanks
Waqas

Offline
Joined: 03/31/2008

There's a fair bit of discussion around approaches for this here:
http://qcu.be/content/extend-qform-create-master-page
and
http://qcu.be/content/qpage-class

alex94040's picture
Offline
Joined: 11/06/2008

It'd be really cool if someone could put together the thoughts from those pages into an Example that we could ship with the framework. Anyone up for it?

Steven Warren's picture
Offline
Joined: 11/06/2008

You could look at Shahways MVC model also. It is based on QCodo but the concept is the same for QCubed. This is how I set up all my QCubed projects and I find it to be very versatile.

QCodo has it hosted here http://www.qcodo.com/wiki/file:old_downloads/other/pdf_tutorial_from_buzzouka_com_for_mvc_front_controller_and_seo_for_qcodo

I have been planning on updating this document for QCubed along with some setup changes we have made. Will probably haver to take time out to do it soon.

Offline
Joined: 07/18/2010

thanks guys for your prompt replies.as i told you i am in planning phase for developing erp the big part of good erp is reporting so can you tell me how will you rate qcube for reporting.i hope that pdf generation will not be a big issue but i am asking about html reporting including images and table generation also graphs, drill down reports will also be required.

so did you face any problem in reporting through Qcube?

LaCeja's picture
Offline
Joined: 11/04/2009

waqasde, as will all PHP frameworks, QCubed has no real reporting facility. I'm assuming you're talking about your normal business reports like, shop travelers, shipping documents, invoices, accounts receivable, reports, etc. That said, there is a reporting tool called JasperReports, which has an excellent report design tool called iReport. The problem, as will all other reporting tools, it's written in java.

The problem is integrating your PHP based application with the java based reporting system. Today, the only robust way of doing that is using the PHPJavaBridge. The problem with it is, you need to have Apache Tomcat for the java part. There is one alternative brewing.

I found something called PHPJasperXML last week. Basically, it purports to eliminate the need for the PHPJavaBridge. I did try it out and found it to be very sparse in terms of the iReport features if supports. Basically, if you have a straight tabular report, it works fine. But, if you need anything more sophisticated than that, it doesn't support it. The way it works is, you develop you report using iReport (which does not require Tomcat), which creates a psuedo XML file definition of you report in their jrxml file. Basically, iReport works very much like the old Crystal Reports. If you're familiar with Crystal Reports, you'll be right at home with iReport.

As I mentioned in an earlier post, I am also working on an integrated ERP style application for industrial services companies. My plan for the reporting end, is to take the basic PHPJasperXML class and enhance it to support as many of the reporting controls created with iReport. Basically, you just call the methods in PHPJasperXML, passing in the name of the jrxml file and a list of your parameters. PHPJasperXML interprets the jrxml and uses FPDF to format your report.

I've reviewed FPDF and determined it supports everything necessary to produce just about any kind of report, including graphs. I have also started evaluating the code from PHPJasperXML. It's a little messy, but usable as a base. I'll need to clean it up a little and integrate it's database connection methods, making it compatible with QCubed's. Basically, I want to end up with a class (or set of classes) that can simply be dropped into a QCubed application, like a plugin. I've already developed several reports, ranging from simple to complex, including sub-reports and graphics.

If you have any interest in working with me on this, the help would be appreciated. The end result will be public domain software. The existing PHPJasperXML has very liberal licensing, allowing full private, public, and commercial use. I have no plans to change that, even if the end result looks nothing like the original.

All that being said, I think you'll be able to create just about any HTML reporting you will need with QCubed. If you run across something unusual, that requires a little custom code, you can either override existing controls or make your own, which you can just plugin. QCubed is very flexible and extensible in that way.

Hope this helps you somewhat.

LaCeja