William, very well said. You have made some great observations -
thank you for sharing them.
I am also a firm believer in Witango's interface. I am still hiring
Witango staff - mostly PHP programmers who learn Witango fairly well
in a few days and are picking up complex files within a week, largely
because of the visual layout. I've looked at PHP and recent
frameworks such as cakePHP and Symphony as well as ROR. But Witango
still seems most accessible. Still can't find people who can build
faster in PHP than WT.
Our WT 5.5 servers, under Robert Shubert's supervision, are
phenomenal. Can't complain. We've written amazing web apps in WT,
web based call centers, point of sale systems etc. No problem.
Quinn McLaughlin
On Oct 25, 2007, at 1:48 PM, William M Conlon wrote:
A very fair question. Here are some answers.
1. I am a firm believer in the power of visual programming, and I
disagree with Fred Brooks on its viability. First, its the visual
cortex that is the brain's parallel processor, yet most software is
coded using the sequential cognitive capabilities! My point of
view is as a mechanical engineer. When I worked at PG&E/Bechtel on
Diablo Canyon Nuclear Power Plant, each engineer had a desk and a 4
x 8 table, so we could open full-size layout, P&ID, single-line
diagrams and still have our desk for binders with specs, manuals,
calculations, etc. My view of Brooks' "software crisis" is that
it's because we force programmers to do linear, sequential
thinking, and give them a very small viewport into the problem
(most text editors are not much advanced beyond 80x24 displays).
Successful visual programing models I have used include:
a. Relay Ladder Logic: there are tens of thousands of high school
or less educated technicians/mechanics able to program industrial
equipment using this approach. It's fast, compact, and self-
documenting.
b. Function Block Diagrams for Distributed Digital Control
Systems. Power plant control systems I designed with this
technique in 1984 are still running, with essentially the same
programs, and have millions of operating hours on them. Again, the
documentation is easy to follow, and the function blocks are the
BEST example of software objects I have ever seen.
c. Witango.
BTW, I am not opposed to text based programming, and am quite
expert at assembly language.
2. Span of control. There's a more au courant term for this
(memory fails), but it's really important to empower the expert
programmers to do more, because an army of average programmers ends
up with least common denominator results. I think the Witango
programming model allows me to do that, by providing abstraction in
various places, notable the actions, objects, and methods.
3. I have found the server to be very robust -- linux 5.0.1.065
production server has NEVER crashed. (I know how to induce crashes
with server-side JavaSscript, so I don't use it.) I like its
extensibility with custom metatags, and its scalability (though I
have not used it myself). I especially like variable scopes. I
know there are ways to achieve equivalent functionality in PHP, but
it's not as easy or natural for my brain, so these techniques would
reduce MY span of control (2).
4. Writing and testing SQL queries is not really very hard; the
builders don't really give me any benefit there. And complex
queries (self joins) really need to be done by hand anyway.
Defining custom columns for such a thing is just a confusing
kludge. The builders produce HTML 3.2 code, but we use XHTML1, so
they don't provide anything useful. I haven't used them in years.
I know that one benefit of the builders is quick and dirty pages
for admin and such. But with well crafted methods and object
instance config files, you can use previously built and debugged
admin functionality, which will be better aesthetically and
probably have all sorts of additional bells and whistles, like
following OWASP guidelines, that the builders don't provide.
I think I'll take this note, and put it on my blog.
Bill
William M. Conlon, P.E., Ph.D.
To the Point
2330 Bryant Street
Palo Alto, CA 94301
vox: 650.327.2175 (direct)
fax: 650.329.8335
mobile: 650.906.9929
e-mail: mailto:[EMAIL PROTECTED]
web: http://www.tothept.com
On Oct 25, 2007, at 10:01 AM, Robert Garcia wrote:
I have a question, if you go through all the work of doing
everything in directDBMS, and I understand your reasons, why use
witango and not php? You don't have to answer if you would rather
not, I am just curious. If you eliminate the search actions and
stuff, what is witango doing for you?
--
Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/
On Oct 25, 2007, at 9:46 AM, William M Conlon wrote:
I concur. I go a little further:
1. only use DirectDBMS, so you don't need the studio data
sources at all. This has the ancillary benefit or eliminating
all the problems [!CST] with the <DataDictionary /> that crop up
in the Studio, and keeps the appfile smaller.
2. define the <Datasource /> parameters as variables, so they
can be changed outside the appfile.
3. Move all DirectDBMS actions into TCFs (more like MVC) so the
TAF provides business logic and presentation, while the TCF
handles the data model. Use the OnCreate method to load the
<DataSource /> variables. And, keep these variables in a
separate configuration file which can be easily edited without
the studio.
Bill
William M. Conlon, P.E., Ph.D.
To the Point
2330 Bryant Street
Palo Alto, CA 94301
vox: 650.327.2175 (direct)
fax: 650.329.8335
mobile: 650.906.9929
e-mail: mailto:[EMAIL PROTECTED]
web: http://www.tothept.com
On Oct 25, 2007, at 7:02 AM, Robert Garcia wrote:
There is another way, it is still a pain in the a$$, but just
about anything you do in the 5.5 studio is. You just have to
choose which PITA you are most comfortable with. I have used the
beta, I don't think that is going to be a solution for a long time.
I am using mysql for instance. It is possible to setup ODBC on
the intel machine for witango and mysql. It is a pain, because
the studio crashes with many configurations. You have to use a
PowerPC binary for the mysql odbc driver on intel, because the
studio is powerpc, and the mysql drivers are not universal. I
wish I could use the actualtech drivers, but witango crashes.
When you create a taf with a datasource called "MyDSN" for
instance, it creates an xml node within the datasources node in
the xml of the taf, like this.
<DataSource ID="MyDSN">
<DSType>ODBC</DSType>
<DSN>MyDSN</DSN>
<DBMS />
<Host>MyDSN</Host>
<Database>Some Vendor Driver Name</Database>
<UserInfo Encrypted="True">
<UserName>@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@#$</UserName>
<Password>@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@@%</Password>
</UserInfo>
</DataSource>
Now if you had a mysql JDBC driver on the server, and the
Datasource setup on the server as "MyDSN" but using JDBC, all
you would have to do to this taf, to get it to work on the
server, is change value of the DSN node to JDBC, so it looks
like this:
<DataSource ID="MyDSN">
<DSType>JDBC</DSType>
<DSN>MyDSN</DSN>
<DBMS />
<Host>MyDSN</Host>
<Database>Some Vendor Driver Name</Database>
<UserInfo Encrypted="True">
<UserName>@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@#$</UserName>
<Password>@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@@%</Password>
</UserInfo>
</DataSource>
Thats it. The userid and the password will work, and the table
and column definitions built from the studio using odbc will
work just fine, they are the same as long as you were using the
same db as odbc dsn.
I have done this with mysql, mssql, oracle, and primebase. If
you are not using one of those, I imagine it would work if your
DB has both jdbc and odbc drivers.
Now the REAL PITA comes in when you want to deploy, or then edit
after deployment, you have to open the thing in a text editor
and manually edit.
However, it would be REALLY easy to create a drag and drop
little app, that would do this for you. So imagine you had an
app, that you drug onto it any number of tafs. It was called
"DSN - ODBC to JDBC". It would quickly parse and change the DSN
nodes to JDBC. You would just drag your taf on it, and commit to
your server.
You could have another app, called "DSN - JDBC to ODBC" for when
you had to edit a taf from the server in the studio.
Now don't complain to me about how a$$backwards this is. ;-) I
am just the messenger, but it would work.
--
Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/
On Oct 25, 2007, at 6:07 AM, Stephen Su wrote:
thank you all, we are running on intel machines, and have tried
parallels which caused more problems than using the mac os
without DB connection.
: ( stephen
On Oct 25, 2007, at 6:29 AM, Dale Graham wrote:
As a stop-gap, I have been using the Windows version of the
editor on Parallels.... testing with Mac server version on
the same computer. Weird but works. (The irony is that because
it's Intel, it runs Parallels very well, and the INTEL
(Windows) JDBC works just fine, though setting up Java/JDBC on
Windows can be a definite problem.)
On Oct 25, 2007, at 2:59 AM, Stephen Su wrote:
Has anyone successfully configured witango studio 5.5 to
connect up with data sources via. JDBC on an intel based
MacBook Pro?
- stephen
________________________________________________________________
________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/
maillist.taf
_________________________________________________________________
_______
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/
maillist.taf
__________________________________________________________________
______
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/
maillist.taf
___________________________________________________________________
_____
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
____________________________________________________________________
____
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
_____________________________________________________________________
___
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
______________________________________________________________________
__
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf