Thread: Implementation Suggestions

Implementation Suggestions

From
Rory Hart
Date:
Hi,

I'm wanting to build a database and interface for a small business to
keep track of things such as clients, suppliers etc. The database will
be served on a Linux box, with users accessing/updating it over the
network from both Linux and windows.

I'm wondering if I could get some suggestions as to how implement this
quickly and simply? I was thinking a web interface using PHP would be
the fastest way of going about it.

I have a understanding of SQL and can program but I don't want to spend
an eternity working on it and maintaining it.

Thank you

--
Rory Hart

Lifestyle Management Consultant

Professional Lifestyle Management
http://www.lifestylemanage.com

Phone  03 9879 5643              PO Box 4179
Fax    03 9879 6743              Ringwood Vic 3134
Mobile 0412 821030               Australia


Re: Implementation Suggestions

From
Chris
Date:
Rory Hart wrote:
> Hi,
>
> I'm wanting to build a database and interface for a small business to
> keep track of things such as clients, suppliers etc. The database will
> be served on a Linux box, with users accessing/updating it over the
> network from both Linux and windows.
>
> I'm wondering if I could get some suggestions as to how implement this
> quickly and simply? I was thinking a web interface using PHP would be
> the fastest way of going about it.

A web interface will make it easy for others to use (and from anywhere).
OTOH, if you're comfortable with C# or Java or "X" you could do it that
way, however that will mean either installing an app or applet on each PC.

> I have a understanding of SQL and can program but I don't want to spend
> an eternity working on it and maintaining it.

What languages are you comfortable with? PHP, Ruby, Python, Perl all
work well for web interfaces. C#, Java (and others) work fine as client
apps..

--
Postgresql & php tutorials
http://www.designmagick.com/

Re: Implementation Suggestions

From
Rory Hart
Date:
Chris wrote:

> Rory Hart wrote:
>
>> Hi,
>>
>> I'm wanting to build a database and interface for a small business to
>> keep track of things such as clients, suppliers etc. The database
>> will be served on a Linux box, with users accessing/updating it over
>> the network from both Linux and windows.
>>
>> I'm wondering if I could get some suggestions as to how implement
>> this quickly and simply? I was thinking a web interface using PHP
>> would be the fastest way of going about it.
>
>
> A web interface will make it easy for others to use (and from
> anywhere). OTOH, if you're comfortable with C# or Java or "X" you
> could do it that way, however that will mean either installing an app
> or applet on each PC.
>
>> I have a understanding of SQL and can program but I don't want to
>> spend an eternity working on it and maintaining it.
>
>
> What languages are you comfortable with? PHP, Ruby, Python, Perl all
> work well for web interfaces. C#, Java (and others) work fine as
> client apps..
>
PHP would be my choice i think, there are libraries and tools for using
pgsql and php aren't there?

--
Rory Hart

Lifestyle Management Consultant

Professional Lifestyle Management
http://www.lifestylemanage.com

Phone  03 9879 5643              PO Box 4179
Fax    03 9879 6743              Ringwood Vic 3134
Mobile 0412 821030               Australia


Re: Implementation Suggestions

From
Chris
Date:
Rory Hart wrote:
> Chris wrote:
>
>> Rory Hart wrote:
>>
>>> Hi,
>>>
>>> I'm wanting to build a database and interface for a small business to
>>> keep track of things such as clients, suppliers etc. The database
>>> will be served on a Linux box, with users accessing/updating it over
>>> the network from both Linux and windows.
>>>
>>> I'm wondering if I could get some suggestions as to how implement
>>> this quickly and simply? I was thinking a web interface using PHP
>>> would be the fastest way of going about it.
>>
>>
>>
>> A web interface will make it easy for others to use (and from
>> anywhere). OTOH, if you're comfortable with C# or Java or "X" you
>> could do it that way, however that will mean either installing an app
>> or applet on each PC.
>>
>>> I have a understanding of SQL and can program but I don't want to
>>> spend an eternity working on it and maintaining it.
>>
>>
>>
>> What languages are you comfortable with? PHP, Ruby, Python, Perl all
>> work well for web interfaces. C#, Java (and others) work fine as
>> client apps..
>>
> PHP would be my choice i think, there are libraries and tools for using
> pgsql and php aren't there?
>

Of course. Shameless plug coming up ;)

http://www.designmagick.com/category/2/Starting-Out

--
Postgresql & php tutorials
http://www.designmagick.com/

Re: Implementation Suggestions

From
Rory Hart
Date:
Chris wrote:

>
> Of course. Shameless plug coming up ;)
>
> http://www.designmagick.com/category/2/Starting-Out
>

Thanks ^_^

--
Rory Hart

Lifestyle Management Consultant

Professional Lifestyle Management
http://www.lifestylemanage.com

Phone  03 9879 5643              PO Box 4179
Fax    03 9879 6743              Ringwood Vic 3134
Mobile 0412 821030               Australia


Re: Implementation Suggestions

From
"Ian Harding"
Date:
> >> I'm wondering if I could get some suggestions as to how implement
> >> this quickly and simply? I was thinking a web interface using PHP
> >> would be the fastest way of going about it.
> >

If you used Ruby on Rails, you'd be finished by now.  It slices, it
dices, it makes julienne fries.

Seriously, it's not too bad if you don't mind it's plentiful
shortcomings.  I was getting carpal tunnel syndrome from typing
<scripting language> pages so I switched to RoR for a hobby app.  It
works fine, but you have to do it "The Rails Way" and expect no help
from the "Community" because they are a fanboi cheerleader squad, not
interested in silly stuff like referential integrity, functions,
triggers, etc.  All that nonsense belongs in the application!

Check this out, there is no stale connection detection or handling in
rails.  I'm not kidding.  If you connection drops out, restart your
web server.  Sorry.  Blah.

Anyway, besides its warts, it is dead easy to use, and does make
putting together web applications in a "green field" scenario quite
painless.  Just don't try to do anything outside the box like trying
to access an existing database that uses RDBMS features heavily and
uses normal object naming.

- Ian

Re: Implementation Suggestions

From
Kenneth Downs
Date:
Ian Harding wrote:

I am fascinated by your post.  I have never heard a bad thing said about RoR.

I have been meaning to investigate it because it is the only system I've heard of that makes the same claim that I do, which is to have eliminated entire categories of labor through automation.

Except that I built mine on a database foundation.  Systematize and automate database handling and UI creation should follow.  I did not know that RoR was so cavalier w/respect to the database, is that really true?  Is it really just yet-another-UI system?

IMHO the problem with all blink-of-an-eye dev tools is that they are not built on a foundation of solid database design, but now we're drifting OT....
I'm wondering if I could get some suggestions as to how implement
this quickly and simply? I was thinking a web interface using PHP
would be the fastest way of going about it.       
If you used Ruby on Rails, you'd be finished by now.  It slices, it
dices, it makes julienne fries.

Seriously, it's not too bad if you don't mind it's plentiful
shortcomings.  I was getting carpal tunnel syndrome from typing
<scripting language> pages so I switched to RoR for a hobby app.  It
works fine, but you have to do it "The Rails Way" and expect no help
from the "Community" because they are a fanboi cheerleader squad, not
interested in silly stuff like referential integrity, functions,
triggers, etc.  All that nonsense belongs in the application!

Check this out, there is no stale connection detection or handling in
rails.  I'm not kidding.  If you connection drops out, restart your
web server.  Sorry.  Blah.

Anyway, besides its warts, it is dead easy to use, and does make
putting together web applications in a "green field" scenario quite
painless.  Just don't try to do anything outside the box like trying
to access an existing database that uses RDBMS features heavily and
uses normal object naming.

- Ian

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend 

Attachment

Re: Implementation Suggestions

From
"Tomi NA"
Date:


On 3/29/06, Ian Harding <iharding@destinydata.com> wrote:
Seriously, it's not too bad if you don't mind it's plentiful
shortcomings.  I was getting carpal tunnel syndrome from typing
<scripting language> pages so I switched to RoR for a hobby app.  It
works fine, but you have to do it "The Rails Way" and expect no help
from the "Community" because they are a fanboi cheerleader squad, not
interested in silly stuff like referential integrity, functions,
triggers, etc.  All that nonsense belongs in the application!
...

That's an eye opener, thanks Ian.

t.n.a.


Re: Implementation Suggestions

From
Bernhard Weisshuhn
Date:
Kenneth Downs wrote:

> I have been meaning to investigate it because it is the only system I've
> heard of that makes the same claim that I do, which is to have
> eliminated entire categories of labor through automation.

Have you looked at http://catalyst.perl.org/ lately?
IMHO it's "Rails done right" and it's perl, so it just /has/ to be good ;-)

sorry, couldn't resist.
bkw


Re: Implementation Suggestions

From
Steve Atkins
Date:
On Mar 29, 2006, at 8:03 AM, Kenneth Downs wrote:

> Ian Harding wrote:
>
> I am fascinated by your post.  I have never heard a bad thing said
> about RoR.
>
> I have been meaning to investigate it because it is the only system
> I've heard of that makes the same claim that I do, which is to have
> eliminated entire categories of labor through automation.
>
> Except that I built mine on a database foundation.  Systematize and
> automate database handling and UI creation should follow.  I did
> not know that RoR was so cavalier w/respect to the database, is
> that really true?  Is it really just yet-another-UI system?

Pretty much, AFAICT, it's designed to run with anything that supports
SQL as it's
embedded store, rather than allowing you to talk to an RDBMS with an
existing
schema easily.

It's the exact opposite there of OpenACS, which puts tentacles deep
into the database,
and really relies on embedded functions and well crafted SQL. And
only supports
Oracle and PostgreSQL, not MySQL. I'm playing with Perl+Catalyst+DBIx
at the
moment, which seems to be a reasonable compromise, as long as you
really like
perl. :).

For the original poster - a web interface might well be the simplest
to put together,
but if a client turns out to be a better solution I'd strongly
suggest looking at Qt.
It has nice SQL support and it's very quick to turn around a simple
database
access application, if you've a passing acquaintance with C++. And
it'll compile
to Windows, Linux and OS X from the same source.

Cheers,
   Steve


Re: Implementation Suggestions

From
Vivek Khera
Date:
On Mar 29, 2006, at 11:03 AM, Kenneth Downs wrote:

> I am fascinated by your post.  I have never heard a bad thing said
> about RoR.

Most of what you read about RoR is written from a very superficial
view of what it promises, as tainted by the simplistic uses of mysql
people are familiar with.

Last summer at the O'Reilly OSCON, the author of RoR gave a
presentation.  My colleagues and I just sat there stunned at how one
of the great features of RoR he was showing off was basically
referential integrity.  Except that you were *only* allowed to access
the DB using the RoR tools.  No direct connections were ever
allowed.  He brushed off any comments about that as "I consider the
DB to be just a dumb object store".  So why bother using an SQL
engine then?  Silly.

That was the end of us even bothering to investigate it as a serious
platform, though we have borrowed some of the ideas and concepts in
our own in-house platform we have built since then.

My take on RoR is that it makes the simple things simpler (kind of
how the Daily Show is now Dailier) and the moderate to hard things
impossible.  If you have a simple project then by all means use it to
full advantage.  But if you have complex data models then
fugeddaboutit. :-(


Re: Implementation Suggestions

From
Vivek Khera
Date:
On Mar 29, 2006, at 12:33 PM, Steve Atkins wrote:

> For the original poster - a web interface might well be the
> simplest to put together,
> but if a client turns out to be a better solution I'd strongly
> suggest looking at Qt.
> It has nice SQL support and it's very quick to turn around a simple
> database

There's also XUL built into Mozilla derived browsers if you want a
middle-ground to full custom app and web app.


Re: Implementation Suggestions

From
Ron Mayer
Date:
Ian Harding wrote:
> ...
> works fine, but you have to do it "The Rails Way" and expect no help
> from the "Community" because they are a fanboi cheerleader squad, not
> interested in silly stuff like referential integrity, functions,
> triggers, etc.  All that nonsense belongs in the application!


You exaggerate.  There's nothing that says you need to only
use ActiveRecord's out-of-the-box configuration with rails apps.

All of our models directly use their postgresql library which
is just a wrapper around libpq; and from there you can use whatever
postgresql specific tricks you'd like (postgis types was the main
reason we used that instead of ActiveRecord).

> Check this out, there is no stale connection detection or handling in
> rails.  I'm not kidding.  If you connection drops out, restart your
> web server.  Sorry.  Blah.

Which is a reasonable default.  If you want to catch the
exception and re-set the connection, you surely can do so.

We prefer to catch the exception and make the machine take
itself out of the load-balancing pool so we can diagnose
the problem rather than trying to automatically do (whatever
it is you expected it to do).


We're drifting way off topic so I'll stop here. I'd be happy
to discuss further via email or on the rails lists.

Re: Implementation Suggestions

From
Rory Hart
Date:
Bernhard Weisshuhn wrote:

> Kenneth Downs wrote:
>
>> I have been meaning to investigate it because it is the only system
>> I've heard of that makes the same claim that I do, which is to have
>> eliminated entire categories of labor through automation.
>
>
> Have you looked at http://catalyst.perl.org/ lately?
> IMHO it's "Rails done right" and it's perl, so it just /has/ to be
> good ;-)
>
> sorry, couldn't resist.
> bkw
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>               http://archives.postgresql.org

Just had a look and it seems rather interesting! I had a soft spot for
perl since it was my first "proper" programing language  (I learnt
pascal when I was 8 but never did anything more than four or five part
pick a path adventures ^_^).

Thanks

--
Rory Hart

Lifestyle Management Consultant

Professional Lifestyle Management
http://www.lifestylemanage.com

Phone  03 9879 5643              PO Box 4179
Fax    03 9879 6743              Ringwood Vic 3134
Mobile 0412 821030               Australia


Re: Implementation Suggestions

From
Rory Hart
Date:
Thanks for all the suggestions I now have a lot better idea of my
options. It is nice to fire off a question at a mailing list and get so
many positive helpful answers, gives me a warm and fuzzy glow.

Thank you all

--
Rory Hart

Lifestyle Management Consultant

Professional Lifestyle Management
http://www.lifestylemanage.com

Phone  03 9879 5643              PO Box 4179
Fax    03 9879 6743              Ringwood Vic 3134
Mobile 0412 821030               Australia


Re: Implementation Suggestions

From
Reid Thompson
Date:
Ian Harding wrote:
>>>> I'm wondering if I could get some suggestions as to how implement
>>>> this quickly and simply? I was thinking a web interface using PHP
>>>> would be the fastest way of going about it.
>>>>
>
> If you used Ruby on Rails, you'd be finished by now.  It slices, it
> dices, it makes julienne fries.
>
> Seriously, it's not too bad if you don't mind it's plentiful
> shortcomings.  I was getting carpal tunnel syndrome from typing
> <scripting language> pages so I switched to RoR for a hobby app.  It
> works fine, but you have to do it "The Rails Way" and expect no help
> from the "Community" because they are a fanboi cheerleader squad, not
> interested in silly stuff like referential integrity, functions,
> triggers, etc.  All that nonsense belongs in the application!
>
> Check this out, there is no stale connection detection or handling in
> rails.  I'm not kidding.  If you connection drops out, restart your
> web server.  Sorry.  Blah.
>
> Anyway, besides its warts, it is dead easy to use, and does make
> putting together web applications in a "green field" scenario quite
> painless.  Just don't try to do anything outside the box like trying
> to access an existing database that uses RDBMS features heavily and
> uses normal object naming.
>
> - Ian
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
re:  ruby && postgres -- i'll throw nitro and og into the hat.
 http://nitrohq.com
nitro is the web presentation framework, Og is the ORM...
----------------------------------------------
require 'og'

class Comment
    property :title, String, :sql => 'VARCHAR(60) NOT NULL'
    property :body, String
    property :author, String
    property :create_time, Time
    def initialize( title = '', body = '', author = '', time = Time.now )
        @title = title
        @body = body
        @author = author
        @create_time = time
    end
end

og_psql = {
  :destroy_tables => true,  # don't use this on a DB with tables that
you DO NOT want to lose -- or set to false
  :store => :psql,
  :user => 'rthompso',
  :password => 'rthompso',
  :name => 'test'
}

#Og.table_prefix = '' # remove og generated table prefix
db = Og.setup(og_psql)
c = Comment.new('Title', 'Body', 'Author')
#  or
#  c = Comment.new
#  c.title = 'Hello'
#  c.body = 'World'
#  c.create_time = Time.now
#  c.author = 'tml'
  c.save

------------------------------
$ ruby -rubygems pgtest.rb
I, [2006-03-29T20:16:50.278205 #16029]  INFO -- : Og uses the Psql store.
D, [2006-03-29T20:16:50.637238 #16029] DEBUG -- : Dropped database table
ogcomment
I, [2006-03-29T20:16:50.943499 #16029]  INFO -- : Created table 'ogcomment'.
D, [2006-03-29T20:16:50.963087 #16029] DEBUG -- : PostgreSQL processing
foreign key constraints
D, [2006-03-29T20:16:50.963532 #16029] DEBUG -- : PostgreSQL finished
setting constraints. No action was taken in 0.00 seconds.
rthompso@yos:/home/rthompso>
$ psql test -c "select * from ogcomment;"
 title | body | author |     create_time     | oid
-------+------+--------+---------------------+-----
 Title | Body | Author | 2006-03-29 20:16:50 |   1
(1 row)

$ psql test -c "\d ogcomment;"
                                      Table "public.ogcomment"
   Column    |            Type             |
Modifiers
-------------+-----------------------------+---------------------------------------------------------
 title       | character varying(60)       | not null
 body        | text                        |
 author      | text                        |
 create_time | timestamp without time zone |
 oid         | integer                     | not null default
nextval('ogcomment_oid_seq'::regclass)
Indexes:
    "ogcomment_pkey" PRIMARY KEY, btree (oid)