# "Simple" multiuser databases



## wblock@ (Feb 10, 2013)

Once again I find myself needing some "simple" multiuser database software.  Ideally this would be something cross-platform that would allow visual form layout, basic reports.  Even better, it would run as a web page using Apache or nginx.

Searching has not turned up anything in this middle ground, somewhere between a spreadsheet and bare-metal SQL programming.

*LibreOffice Base*
Pros: something created in this today will probably still work in a couple of years.
Cons: security: Java JRE required

*LibreOffice Calc*
Pros: can do forms (I think), may not need JRE, possibly widely-known (Excel)
Cons: multiuser database access?  Programs compatible with Excel?  Capabilities?

*Rails*
Pros: widely used, can do anything, there may be scaffolding or a framework for a quick start
Cons: must build everything from scratch, probably requires active updates or a rewrite in a few years

*PHP/MySQL/PostgreSQL*
Pros: all over, maybe a framework for quick start
Cons: security: exploit of the week

*FormBuilder or other Perl CGI stuff*
Pros: probably very stable
Cons: only does forms, still have to build the rest of the app, CGI, not very widely used

Kexi might work, but does not appear to be ready, and there is no FreeBSD port.

Other suggestions welcome.


----------



## drhowarddrfine (Feb 11, 2013)

Did you look at SQLite? If it's good enough for missile systems (and Firefox)...as the saying goes.


----------



## wblock@ (Feb 11, 2013)

It's not the database backend that really concerns me, SQLite would be fine.  More important are the ease and maintainability of building a user interface.  Is there a multiplatform input form builder for it?


----------



## throAU (Feb 11, 2013)

As far as Base goes, I did some testing on Debian stable about 2 months ago.

I attempted to create a table with a single primary key.

It crashed when I tried to save the table.  This was a clean install of Debian stable, about 30 minutes old.

I would not recommend Base for production AT ALL.


----------



## wblock@ (Feb 11, 2013)

More searching still has not really shown anything.  Maybe web programming has become so simple that there really is no need for a visual setup.

So let's question the assumption: is there a Perl/Python/PHP web package that takes a minimum of code to create forms and comes with nice default stylesheets?  In other words, something where you don't have to build the whole UI from scratch but can get on with code that deals with the data.

Dim memory suggests there was a push a while back to program applications in Firefox with XUL.  No idea any of the details, but that might be another possibility for something that could show a decent user interface.  More research...


----------



## olav (Feb 11, 2013)

You need
http://flask.pocoo.org/

```
pip install flask
```
With scaffolding
http://flask-admin.readthedocs.org/en/latest/

```
pip install flask-admin
```

You should have something usable within a few hours.

Actually I would just use Flask alone and directly use sqlite as a backend. If there are less than a few thousands of users, then you could probably use a flat file as well.


----------



## J65nko (Feb 11, 2013)

Two quite popular Perl frameworks are Catalyst or Mojolicious

Of these two I only played a little bit with Mojolicious.

Still I have not yet seen something so easy as the the Borland Delphi IDE (yes, I know Windows  ). Just drag a visual database component to your template screen, fill in the name of the database table, hit the compile button and within seconds you have a working program to insert into, delete from and browse that table.

There is a Delphi look- or workalike IDE called Lazarus in the FreeBSD ports system: editors/lazarus

Have not tried it myself though


----------



## AlexJ (Feb 11, 2013)

I also don't like internal HSQLDB of LibreOffice, but I found the most quickest and simplest way to build multi-platform database solution with LibreOffice Base and MySQL(actually databases/mariadb55-server on its place) as a database backend. For a guys like me, for whom building such systems isn't a daily job, IMHO it is a compromise. If project require more fancy front-end, it easy to do that later by switching to other solutions because of dominance of MySQL on a database market. Administration of access to a database fields is also protected and managed by MySQL which is simplify multiuser and security part of application.

Here is first "HowTo use MySQL with LibreOffice" that Google return: http://www.techrepublic.com/blog/do...ect-libreoffice-base-to-a-mysql-database/1386

Just my 2 cents


----------



## fluca1978 (Feb 11, 2013)

wblock@ said:
			
		

> So let's question the assumption: is there a Perl/Python/PHP web package that takes a minimum of code to create forms and comes with nice default stylesheets?  In other words, something where you don't have to build the whole UI from scratch but can get on with code that deals with the data.



My vote for Perl/Catalyst autocrud!
For the database my vote goes to PostgreSQL: it is robust, safe and sooner or later it will pay back the effort to get it up and running.


----------



## kpedersen (Feb 11, 2013)

Would a version control system work?

Perhaps svn, git or perforce (proprietary)?

Perforce has a nice GUI so might be quicker to start with.
svn will surely have a few GUI tools though, and provides a library to allow you to write your own system against it.


----------



## wblock@ (Feb 11, 2013)

fluca1978 said:
			
		

> My vote for Perl/Catalyst autocrud!



That looks very nice.  The port is www/p5-Catalyst-Plugin-AutoCRUD.  There's a pretty large dependency list, mostly other Perl modules.

For the database my vote goes to PostgreSQL: it is robust, safe and sooner or later it will pay back the effort to get it up and running.[/QUOTE]

Agreed.  SQLite's appeal is that it is now pretty much installed by default as a dependency of svn or pgkng.


----------



## wblock@ (Feb 11, 2013)

kpedersen said:
			
		

> Would a version control system work?
> 
> Perhaps svn, git or perforce (proprietary)?
> 
> ...



That's an interesting idea.  Revision management is not needed, more limiting what users can change and maintaining data consistency.  But maybe one of the web interfaces...


----------



## fluca1978 (Feb 12, 2013)

There is also all the discussion about NOSQL databases, that even if I don't like, can be worth looking at for some quick developments.


----------



## redw0lfx (Feb 12, 2013)

In Python, you can try 'Django' and 'Django-admin'.

https://docs.djangoproject.com/en/dev/ref/contrib/admin/
https://docs.djangoproject.com/en/dev/intro/tutorial01/


----------



## HarryE (Feb 12, 2013)

Try Web2py (better than Django Python framework) + any of common database backend you prefer.


----------



## PugTsurani (Feb 13, 2013)

If you're inclined to go the application route, Dabo might be for you. Although I haven't used it, the screencasts look interesting. It uses wxPython for the GUI and runs on Linux/Mac/Windows. Don't know how much work it will take to run on FreeBSD, though.


----------



## wblock@ (Feb 15, 2013)

nuBuilder is kind of the type of application I had in mind.

It also led me to Wikipedia's List of graphical user interface builders and rapid application development tools.


----------

