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

Started by Tony Shelverabout 7 years ago8 messagesgeneral
Jump to latest
#1Tony Shelver
tshelver@gmail.com

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?

#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Tony Shelver (#1)
Re: Data entry / data editing tools (more end-user focus).

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.klaver@aklaver.com

#3Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Tony Shelver (#1)
Re: Data entry / data editing tools (more end-user focus).

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.klaver@aklaver.com
<mailto:adrian.klaver@aklaver.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.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>

--
Adrian Klaver
adrian.klaver@aklaver.com

#4Stefan Keller
sfkeller@gmail.com
In reply to: Adrian Klaver (#3)
Re: Data entry / data editing tools (more end-user focus).

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.klaver@aklaver.com>:

Show quoted text

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.klaver@aklaver.com
<mailto:adrian.klaver@aklaver.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.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>

--
Adrian Klaver
adrian.klaver@aklaver.com

#5Tony Shelver
tshelver@gmail.com
In reply to: Stefan Keller (#4)
Re: Data entry / data editing tools (more end-user focus).

I looked at quite a few options. Some constraints on my side that our
direction is open source, with Linux development and servers.
Radzen is .NET: I could just as well use MS Access to cobble together a
front end.

CUBA and OpenXava are Java based and seem to require writing Java for
logic: I last used nearly 20 years ago and 'fast' development and Java IMHO
is an oxymoron.

Aurelia looks a bit promising, but I am not sure if it gains anything over
the current crop of JS libraries and frameworks, such as Vue, React et al,
and then libraries / frameworks built on top of those such as Nuxt / Vue,
Quasar / Vue or Vuetify / Vue, which seem to have far more activity on
Github.

I managed to set up a quick and dirty front end using LibreOffice Base over
a weekend, next iteration i will probably move over to a Vue framework,
probably using Quasar..

On Sat, 18 May 2019 at 00:26, Stefan Keller <sfkeller@gmail.com> wrote:

Show quoted text

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.klaver@aklaver.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.klaver@aklaver.com
<mailto:adrian.klaver@aklaver.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.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>

--
Adrian Klaver
adrian.klaver@aklaver.com

#6Bret Stern
bret_stern@machinemanagement.com
In reply to: Tony Shelver (#5)
Re: Data entry / data editing tools (more end-user focus).

Not exactly sure how much coding you are interested in doing.I use access and Libre Base to prototype data entry from time to time.Been pretty happy with Lazarus lately. A free Delphi/Pascal IDE, that runs x-platform.You can put stuff together pretty quickly.Best
-------- Original message --------From: Tony Shelver <tshelver@gmail.com> Date: 5/23/19 2:52 AM (GMT-08:00) To: Stefan Keller <sfkeller@gmail.com> Cc: pgsql-general <pgsql-general@postgresql.org> Subject: Re: Data entry / data editing tools (more end-user focus).
I looked at quite a few options.   Some constraints on my side that our direction is open source, with Linux development and servers.Radzen is .NET:  I could just as well use MS Access to cobble together a front end.
CUBA and OpenXava are Java based and seem to require writing Java for logic: I last used nearly 20 years ago and 'fast' development and Java IMHO is an oxymoron.
Aurelia looks a bit promising, but I am not sure if it gains anything over the current crop of JS libraries and frameworks, such as Vue, React et al, and then libraries / frameworks built on top of those such as  Nuxt / Vue, Quasar / Vue or Vuetify / Vue, which seem to have far more activity on Github.
I managed to set up a quick and dirty front end using LibreOffice Base over a weekend, next iteration i will probably move over to a Vue framework, probably using Quasar..

On Sat, 18 May 2019 at 00:26, Stefan Keller <sfkeller@gmail.com> wrote:
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.klaver@aklaver.com>:

Show quoted text

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.klaver@aklaver.com

<mailto:adrian.klaver@aklaver.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.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>

--

Adrian Klaver

adrian.klaver@aklaver.com

#7Frank Alberto Rodriguez
franknigth@gmail.com
In reply to: Tony Shelver (#5)
Re: Data entry / data editing tools (more end-user focus).

If you have the database modeled, the most quickly think I can thinks
is with python framework Django. Configure the connection to the DB and
make reverse engineer with Django, this create the entities class,
then activate the administration forms and configure each form for the
entities (few lines) and Django makes the magic and makes the GUI for
the DB and if the entities are related this give you the option to
insert before the entities needed. As a plus, you have the access
control module done too.
Regards

Show quoted text

On Thu, 2019-05-23 at 11:52 +0200, Tony Shelver wrote:

I looked at quite a few options. Some constraints on my side that
our direction is open source, with Linux development and servers.
Radzen is .NET: I could just as well use MS Access to cobble
together a front end.

CUBA and OpenXava are Java based and seem to require writing Java for
logic: I last used nearly 20 years ago and 'fast' development and
Java IMHO is an oxymoron.

Aurelia looks a bit promising, but I am not sure if it gains anything
over the current crop of JS libraries and frameworks, such as Vue,
React et al, and then libraries / frameworks built on top of those
such as Nuxt / Vue, Quasar / Vue or Vuetify / Vue, which seem to
have far more activity on Github.

I managed to set up a quick and dirty front end using LibreOffice
Base over a weekend, next iteration i will probably move over to a
Vue framework, probably using Quasar..

On Sat, 18 May 2019 at 00:26, Stefan Keller <sfkeller@gmail.com>
wrote:

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.klaver@aklaver.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.klaver@aklaver.com

<mailto:adrian.klaver@aklaver.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.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com

--

Adrian Klaver

adrian.klaver@aklaver.com

#8Rich Shepard
rshepard@appl-ecosys.com
In reply to: Frank Alberto Rodriguez (#7)
Re: Data entry / data editing tools (more end-user focus).

On Thu, 23 May 2019, Frank Alberto Rodriguez wrote:

If you have the database modeled, the most quickly think I can thinks is
with python framework Django. Configure the connection to the DB and make
reverse engineer with Django, this create the entities class, then
activate the administration forms and configure each form for the entities
(few lines) and Django makes the magic and makes the GUI for the DB and if
the entities are related this give you the option to insert before the
entities needed. As a plus, you have the access control module done too.

Frank, et al.:

Django is great if you want a browser UI for a web-based application. If you
want a desktop application the Django alternative could be Python3 +
psycopg2 + SQLAlchemy using the tkinter UI library which comes packaged with
Python.

Rich