gnu-system-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

WRS/CRM/ERP within Emacs - Re: Lisp


From: Jean Louis
Subject: WRS/CRM/ERP within Emacs - Re: Lisp
Date: Tue, 15 Sep 2020 11:17:15 +0300
User-agent: Mutt/1.14.0 (2020-05-02)

* swedebugia <swedebugia@riseup.net> [2020-09-14 09:09]:
> Den Sun, 13 Sep 2020 14:09:30 +0300
> skrev Re: Lisp:
> 
> > Hello,
> > 
> > It is not in the simple configuration, it is in various files.
> > 
> > Which particular action you wish to review?
> 
> I'm interested in the SMS solution (do you use e.g. twilio?) and how
> you linked that together.

For SMS:

- I have used Twilio and I can also use local phone number

- For Twilio, only simple functions, I have posted it here:
  http://ix.io/2xCi -- those were working for me and still do. 

- For Termux functions it is here: http://ix.io/2xCj and many may not
  be related to SMS.

- If you enable F-Droid historical repositories in F-Droid, you may
  get Termux API application version 0.31 that one works with the
  current termux-api package, so that SMS can be sent, as Termux
  disallowed sending SMS due to Google rules, which is stupid, but you
  can still use older app version, not inside package version, if you
  get me. Then you can use termux-sms-send command.

- otherwise I have found application ShellMS, that one works well or
  better, it is in F-Droid

In background I am using the PostgreSQL database, first I have used
SugarCRM software, it was kind of fancy and well looking, but
definitely not reliable due to numerous new releases that broke the
older versions, then I have been using Gedafe or Generic Database
Frontend, https://gedafe.github.io/index.en.html -- it allowed me to
rapidly develop PostgreSQL tables for which I got immediate web
interface, and I have 195815 contacts. After some time I lost my
patience in clicking and waiting, so I have developed one by one
functions to replace my browser based workflow, and now I almost do
not need to use the browser. So access to my database goes through
Emacs now, even though it could be also through browser.

In general when there is need for relational data, I am using
relational database in the background. So I am using the excellent
module emacs-libpq https://github.com/anse1/emacs-libpq as since
upgrades of Emacs, those Emacs Lisp functions stopped working, but
module works without problems.

Database and Emacs I am using for all those functions that are common
in business, for Website Revision System, which means for editing,
organization and publishing of web pages, and it is all in the
database, then for Customer Relationship Management, which means
taking their profiles, accounts or groups where they belong, notes
about them, sending them information and tracking which information I
have sent, and I also use it for sales funnel systems, that may work
alone, for marketing, for business administration of anything, for
example I am managing basic profiles of mining sites and their
descriptions. 

Dolibarr seem nice, also other similar systems, yet I cannot agree
with some underlying principles:

- systems are normally written for remote servers. I do not agree that
  my data should be on remote servers, for example my contacts which
  are valuable should not be in the remote database. Databases can be
  compromised if they are online. One way one could distribute
  databases to other workers, without online public webserver is using
  Virtual Private Network, that way data going over Internet is
  encrypted, and database is not stored on public server. In general,
  sales process should be done in one office and not remotely as well,
  people risk with data so much today and I am not in agreement with
  such.

- systems like Dolibarr, look nice, but me as user I cannot easily
  extend them, this may not be general principle, it is because I did
  not write those programs, and then such programming is oriented also
  on Interface making, and I think interface shall be set before a
  function.

The Gedafe software is such a nice and good example. It asks the user
only to define the database table.

My contacts table may seem complex here: http://ix.io/2xCq and yet it
could be defined anyway one wants, then the Emacs interface to
database tables is same, I can edit any field or search for data, and
I am using Helm for that.

I think that first version was just based on SugarCRM:
http://ix.io/2xCr

Then if you wish I can help you to rapidly develop your database to
make it how you wish, and then you just invent your workflow and work
by the workflow.

> Also storing business information, generating invoices, etc.

For invoices there are tables:

- simpleinvoices, defining invoices

- addtosimpleinvoice, defining which products or services are added to
  simpleinvoices

- goodsandservices

The concept of SQL is shown here: http://ix.io/2xCt

I could export quickly all the empty tables, and those pre-filled
tables, you could import the database and then adjust to whatever you
think it should be, then you use those other functions that I am using
for search or editing and similar.

> I currently use Dolibarr in my business but I'm not that happy with the
> UI which involves A LOT of clicking.

It is interesting to talk about that. 

More examples from my workflow:

Serching for contacts:

1. M-c is key binding, so I could remember like "swe" and just type
   it, then I get list of contacts within Helm interface, then I could
   type "Programmers" to find swedebugia, or I could search for "David
   Sweden", normally searching for name or part of the name with the
   account or with the location is working well now for my purposes.

2. Maybe somebody calls or SMS me, but I do not have that phone number
   in the phone, then I am searching for contacts by using phone
   number. As if contact is not in the database, it shall first enter
   the database, be it private or not.

3. Maybe I just want to list Programmers, then I search for account
   Programmers and then I get the list which I can further narrow by
   using Helm.

This software is working for me well, but is not made with public
usage, I could prepare it for public. Yet I don't think there are many
who would be using it.

Maybe I wish to find which other people have been introduced by
contact:

1. Find contact, press TAB, choose "People introduced" then I get new
   list of people introduced.

Maybe I wish to send SMS, similarly it is to find the contact, choose
SMS to send, contact may have multiple numbers, so I choose the number
to send SMS to.

Termux tools allow the phone to be called, so next will be for me in
making many calls with multiple people in the office is to simply
search for contact, review the background if call should be made or
not, then by Helm "Call contact" -- contact is called, even the voice
may be recorded for future and sorted into contact files, but then we
know that single contact have been called, and why, and what was
result of the call, which is paramount for future management of the
same contact and overall sales. You are in sales, you know what I
mean.

When basic foundation of Emacs Lisp is made, then you get simplicity
in the end, you can make your workflow for WRS/CRM/ERP, whatever, as
you wish without relying on third parties. And system will work for
years.

I have 4064 pages for websites, how would I quickly generate URLs to
people? I am in sales, so I must be blazing fast to find the URL to
provide either support or explanations or benefits to people, so the
workflow is like this:

s-L for Website Revision Query, I may write some words that I think
are contained in the page and then I use the Helm to narrow to
specific page, then I can insert the link, example is here below with
the title and the full URL:

Emacs Lisp: Optimize JPG images within Dired with help of ImageMagick:
https://gnu.support/gnu-emacs/emacs-lisp/Emacs-Lisp-Optimize-JPG-images-within-Dired-with-help-of-ImageMagick.html

You may see some functions with the contact here on this video:
https://gnu.support/images/2020/09/2020-09-15/2020-09-15-10:31:43.webm

I may advise that you first define the workflow, I will give you my
advise on how to do that based on what I am doing now while using
Emacs and Helm. Maybe I get some tips from your workflow.

Jean



reply via email to

[Prev in Thread] Current Thread [Next in Thread]