I have a personal project - a web application I wanted to develop - but I'm 
confused on which route to take. I am not under any time constraint.
About the App:The best I can describe it is as a kind of expert system (but not 
AI) that needs to find the best workflow for a process, given a set of initial 
and final parameters. E.g. a 'capsule' of data must pass through many 'tools' 
or 'environments' to reach a desired output - something like a very complicated 
car wash.Let's say there are many tools that can be used at various stages in 
the process. I have estimated there are at least 500 tools as of now, and it is 
bound to grow in the future as newer tools are introduced. Existing tools will 
also have version updates.Each tool, on average, has at least 100 properties 
that define the tool. Some of them have as high as 1000 unique properties. Some 
of these tools are linked to each other - e.g if one tool is selected, there 
are only n tools that can correspond to it for the next step in the process. I 
also have the problem of 'matching' the tools for analysis. E.g. Tool A might 
have only three fixed rpms - 100, 200 and 500, but Tool B might have rpms from 
20 to 2000. I'm not sure how I can construct a database without spelling out 
each number, as in the example above.The total number of tools needed for the 
process can be defined at the beginning, however, it will change as the 
application becomes more complex in the future. I plan to address every 
contingency in the process. The idea is - if the user inputs the initial 
parameters and the desired outcome (another set of parameters), the app must 
find the 'best' path - sort of like a decision tree. The best path can be the 
fastest, cheapest, etc. I would like the user to choose what is best for 
him/her.Unfortunately, parameters might change, relationships might change (but 
not regularly) - the 'rules' I will be using might be revised for better 
accuracy in prediction.I also need to track each user's path and solutions' for 
future reference (but no personal details except username and email address for 
logging in). Maybe when the app is up and running, I'd like to make it more 
democratic, with users contributing to refining the logic/rules involved.If 
possible, I would also like the app to output a graphical flowchart at the end 
showing the workflow with all tools grouped in an easy to understand layout.
My questions:Will the app be better served with a relational DB like mySQL or 
an Object database? After a lot of research I've guessed that my particular 
case might be better served with Python and Zope/ZODB. But I might be wrong? 
Maybe PHP+mySQL or Django is a better fit?Can anyone provide general advice on 
how to go about beginning such a project in ZOPE. Which is the best place to 
start learning for a newbie? Can anyone recommend a good shared hosting 
provider that supports Zope fully but is not expensive? Is there a module or 
app that is open source that I can use to output a graphical flowchart based on 
the results, or will I be better served programming it from scratch with 
Python?I would appreciate any help in getting started. Thank you in advance. I 
have tried most online forums but have not good any productive answers. Most of 
the answers I got were pro-PHP+mySQL.
Zope maillist  -  Zope@zope.org
**   No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to