Re: Recomended front ends?

From: Tony Shelver <tshelver(at)gmail(dot)com>
To: stan <stanb(at)panix(dot)com>
Cc: pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org>, docrtp(at)gmail(dot)com
Subject: Re: Recomended front ends?
Date: 2019-08-08 16:05:40
Message-ID: CAG0dhZDW7+4ihZatHnFm12DDqTVFrG8XiNuFXHgn1OMO-ahE2Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, 7 Aug 2019 at 20:57, stan <stanb(at)panix(dot)com> wrote:

> I am in the process of defining an application for a very small company
> that uses Postgresql for the backend DB. This DB will eventually run on a
> hosted machine. As you imagine all of the employees have Windows machines
> for their normal work asks. Frankly I am not very strong on Windows. so I
> am wondering what the consensus is for creating forms and reports?
>
> My first though is Libre Office as that is cross platform, and i can test
> on my development Linux machine. However, i am getting a bit of push-back
> from the user as he is having issues with installing Libre Office on his
> computer. he says it does not play well with MS Office. Also we seem to be
> having some bugs with Libre Office Base in early development.
>
>
>
I went through this some months ago, and put out a similar query to this
list.
It very much depends what type of app / data you are trying to address.
If you are considering something like Base: what your is users' level of
expertise, and your appetite for distributing / maintaining / installing
the app and it's infrastructure.

*Options*
I looked at several options, and ended up using Base as a quick and dirty
front end to build a content management system for an eStore.
I looked at a few other options, including Kexi. Most I ruled out as they
didn't seem to have active support communities.
One interesting looking one I played with a little was Kexi,but you need to
build your database through Kexi (
https://kde.org/applications/office/org.kde.kexi)
One of my constraining factors was that I didn't want Kexi to build the
database for me, as I have a DB schema graphical design and generation tool
I prefer to use (pgmodeler).

*Bugs / features / learning curve*
I didn't find any bugs in Base that caused me problems, more like missing
features, or features that don't work the way I'd expected.
With a good Youtube series for a guide, I got a reasonable application up
and running in a weekend. I do have a basic development background dating
back to tools such as Oracle Forms, Mantis, and various other products of
that ilk. Also have a little experience with MS Access, and Cobol and Java
app generation.

*End-user 'friendliness'*
I would be a little wary of using Base for robust end-user data
interaction, unless the users are fairly savvy on how to work with
something like Base or Access applications. Things like deleting,
inserting, and updating data on the forms are not all that intuitive at
first, especially if you have multi-table forms (I have 4 tables embedded
on my product form).

*Some limitations*

- You will need to be a bit aware of Base macro programming. Base does
not have anything like VBA to work on.
- You will be limited on the type of application you can deliver. Basic
data editing, probably suitable. Something more complex like selectable
calendars, WYSIWYG text editors and so on, not so much. For example, I
would love to include a markdown text editor for product descriptions
(which Jekyll or Python can convert to HTML). Trivial in Vue.js or Quasar,
not so much in Base, where I have to cut and paste the text to and from an
editor.
- Using Base to search / navigate through large datasets is not very
easy, and you need to think very carefully how you will design around this.

I am using my application quite regularly to maintain the data, but intend
to replace it with a javascript (Vue and / or Quasar) front end at some
stage.
One comment on the recommendations to create a web application, if you do
not have current skills in Python or javascript and probably stuff like
CSS / HTML the learning curve can be very time consuming.

*Security*:
Another issue is security. If the database is accessed within your
corporate firewall, then it's not too bad. If you need to access it from
across the internet using standard postgres drivers, then you may want to
have a careful think as to how you can lock down access to the database. I
allow postgres to communicate only to specific IP address ranges, and I
also have the firewall set up to restrict access to port 5432 to a few
specific IP ranges.

When it comes to pulling the product data out of the system, that's only
through a GraphQL interface to a GraphQL server. That was pretty easy to
generate. I pull the data out via a Python program, which in combination
with Jekyll static site generator generates our 3 websites, The python
program creates XML product file feeds to Jekyll, and in other cases
generates the basic HTML product page for Jekyll to complete site
generation.

*Most can ignore from here*
For a weekend's work and a day or two of later enhancements, the Base app
works pretty well.
To give you an idea of the complexity it consists of:

1. Site: The domain name, the site base directory, discount and tax
percentages
- Block to add / delete / display product categories applicable to
the site
2. Category: the product category, discount levels, and a set of
attributes on where to place the generated data (XML catalog file name and
directory, where product page templates are found and so on. category
images are uploaded and displayed directly to / from the database on this
page, and there is a block listing products within the category.
3. Brand: Product brand management, including uploading / deleting /
deleting brand logo images.
4. Product: A full set of product attributes including covering all
schema.org attributes and those required by Snipcart shopping cart,
payment and shipping gateway.
- Product images uploaded / maintained
- Product categories block as a product can live in several places

There are a few other sundry pages to display or edit data in specific ways.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Stuart McGraw 2019-08-08 16:55:24 Re: Recomended front ends?
Previous Message Thomas Kellerer 2019-08-08 14:27:09 Re: lead() with arrays - strange behaviour