Re: Data entry / data editing tools (more end-user focus).

From: Stefan Keller <sfkeller(at)gmail(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: Tony Shelver <tshelver(at)gmail(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Data entry / data editing tools (more end-user focus).
Date: 2019-05-17 22:26:01
Message-ID: CAFcOn2_6Hdxp2Syk_6tHBNY9Lmm7z7gQej5o-jtoKoauEHciVA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Dear all

What about following „Rapid App Development Tools"?
* OpenXava (Java): https://www.openxava.org/ate/visual-studio-lightswitch
* Radzen (.NET): https://www.radzen.com/visual-studio-lightswitch-alternative/
* Other: https://aurelia.io/ (JS) or CUBA https://www.cuba-platform.com/ (Java)

:Stefan

Am Do., 28. März 2019 um 15:39 Uhr schrieb Adrian Klaver
<adrian(dot)klaver(at)aklaver(dot)com>:
>
> On 3/27/19 11:49 PM, Tony Shelver wrote:
>
> Please reply to list also, more eyes on the the problem.
> Ccing list
>
> My take on below is since you are feeding a Website why not use Web
> technologies for your data entry. My language of choice is Python. I
> have done something similar to this(on small scale) using the Django
> framework. For something lighter weight there is Flask. Then your client
> becomes a browser and you do not have to distribute forms around. You
> could integrate with the existing Web apps you are using e.g. SnipCart.
>
>
> > Actually I found a possibility. LibreOffice Base on top of PG lets me
> > paste photos into a Postgresql bytea field no problem. MS Access should
> > work well also, but I am not going to buy it, and running Ubuntu most of
> > the time.
> > Possibly will distribute the Base forms to select users to enter data.
> > We are a startup company, so this is an affordable temporary fix, until
> > the product I have been looking at matures, or we can roll our own.
> >
> > We are building a company website, including an eStore, and have a few
> > hundred products to load and maintain. Our product data currently isn't
> > suitable for a sales catalog.
> > (Brands, categories, products, pricing and deal info, specials, images,
> > product comparisons and so on).
> >
> > Right now I input / maintain this via CSV files maintained through a
> > spreadsheet (LibreOffice Calc) which our site generator (Jekyll) uses
> > to build out the static HTML product [pages automatically.
> > This is really quick to enter basic data, but I have to manually
> > maintain image uploads, image names and so on manually in the
> > spreadsheet and through individual file uploads. We have at least one,
> > preferably 3 and up to 6 photos per product to maintain. Call it a 1000
> > images right now, and that will only go up.
> > Invalid text / characters in product descriptions and so on can break
> > the CSV as well.
> >
> > There are headless CMS solutions out on the market targeting this same
> > area, but for various reasons the suitable ones are still maturing and
> > shaking out in the marketplace, so I am not in a hurry to make a choice.
> >
> > So the goal is to replace CSV with JSON file input. This will also make
> > my life easier for more complex structures such as multiple categories
> > and specs per product.
> > I also want to migrate text that can change from the HTML pages into the
> > database for easier changes by end users. For this the users could use
> > a WYSIWIG MarkDown editor, and just cut and past the MarkDown into Base
> > forms when finished. This will be converted to HTML at build time by
> > Jekyll static site generator or a script.
> >
> > So the proposed solution:
> > 1. Create the database in Postgresql.
> > 2. Link Base or other tool to it and design input forms where necessary
> >
> > 3. Enter the data through Base into PG including images, MarkDown / HTML
> > text, long descriptions and so on.
> > 3a. If I don't get a suitable CMS going, I could spend some time
> > developing a Vue/Quasar/Nuxt whatever front end to handle this, in
> > several months time.
> >
> > 4. Pull the data from Postgres using Python (Psycopg2 will handle
> > images). Or a node.js app once my JS skills improve.
> > 4A: optionally use PostgREST, Postgraphile, Pytone Graphene or other to
> > create an externally accessible API, and then use Python or javascript
> > module to pull the data out.
> >
> > 5. This program will then write the JSON product file to the website
> > data source directory with image tags, and upload the files to the image
> > store. Also create product item HTML page templates or or modify HTML
> > content where necessary.
> > 6. At this stage the Jekyll static site generator will detect the new
> > JSON data and any changed pages, and regenerate all changed pages, move
> > images and so on.
> >
> > 7. Git commit will push the generated site to Github, and Git will then
> > send everything to our CDN.
> >
> > There is no traditional web server / app server / db server setup as you
> > would find for most websites using, for example, Wordpress, Magento
> > commerce or other tools. Just the CDN.
> >
> > Everything is static HTML and some javascript. Because there is no
> > backend system, database or anything else at run time,just when
> > generating the site, I am not concerned about performance except at
> > site build time, which will not happen that often. All the SEO data
> > (w3schema / Google, OG / Facebook and Twitter cards) is automatically
> > built into the templates and fleshed out by our build process, so it
> > exists as searchable static content on our page.
> >
> > Further down the road we will slowly migrate to a front-end javascript
> > framework like Vue / Nuxt or React / Next, where our site will remain
> > mostly static, with JS in the browser talking to back end hosted
> > services. We already interact directly from the browser with SnipCart
> > for shopping card, order management and payment gateway services.
> >
> > Not sure if that helps explain the problem space a bit better.
> >
> >
> >
> > On Wed, 27 Mar 2019 at 16:15, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com
> > <mailto:adrian(dot)klaver(at)aklaver(dot)com>> wrote:
> >
> > On 3/27/19 3:48 AM, Tony Shelver wrote:
> > > Looking for a good tool that I can give to users to enter data (for
> > > example, products, categories, brands, price tables and so on).
> > > Preferably it should also allow images to be copied into a bytea
> > field
> > > but I know I can't have everything.
> > >
> > > Been battling with a few open source 'headless' content management
> > > systems the last few weeks. All they really are is a data schema
> > > designer, an API interface (for the API / database based ones like
> > > Strapi and Directus), and a content entry front end, along with some
> > > access management added in.
> > > And they don't necessarily play well with the DB, or the technology
> > > stack is something I don't want to deal with.
> > >
> > > I figure using PostgREST or Postgraphile or Python Graphene or
> > any of
> > > the dedicated 3rd party REST / GraphQL APIs will probably give as
> > good
> > > an API as most of the new content managers,
> > >
> > > pgModeler.io is a way better schema design tool than what I have
> > found
> > > in the CMS systems I have used so far as well.
> > >
> > > Data that I would like to store (and edit) is the usual, but also
> > > images, HTML sections, and markdown.
> > >
> > > Any ideas?
> >
> > I am not really sure from above what you want, so some questions:
> >
> > 1) GUI form interface?
> > GUI form builder?
> >
> > 2) Enter records one at time or in bulk?
> >
> > 3) Cross platform?
> > If so what platforms?
> >
> >
> >
> > --
> > Adrian Klaver
> > adrian(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>
> >
>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tim Cross 2019-05-18 02:53:53 Re: Loading table with indexed jsonb field is stalling
Previous Message Will Hartung 2019-05-17 19:10:24 Loading table with indexed jsonb field is stalling