[horde] Creating an Info Dashboard: Horde API or command line tools?

Vilius Sumskas/LNK vilius at lnk.lt
Sun Jan 29 21:22:04 UTC 2017


Hi,

> Quoting Vilius Sumskas/LNK <vilius at lnk.lt>:
> 
> >> > Hi,
> >> >
> >> >> I am trying to set up a information dashboard for my family that I
> >> >> will display on a tablet hanging on the kitchen wall. The plan is 
to
> >> >> set up several email addresses for various function like
> >> >> shoppinglist at mydomain or todo at mydomain. The server would process 
the
> >> >> email and create a new task in Nag, for example. Processing the 
email
> >> >> is the easy part. For me, the hard part is creating the nag 
entries.
> > I
> >> >> would also like to be able to automatically create kronolith 
entries
> >> >> without have to send email and then confirm it.
> >> >>
> >> >> I couldn't find anything in the Wiki or email archives addressing
> >> >> this. Is it possible or did I miss something?
> >> >
> >> > why do you want to do this so complicated? Just use a shared 
calendar
> > and
> >> > nag shared task list, then create events/todo items the normal way.
> > You
> >> > could even use Horde as ActiveSync server to manage all the items.
> >> >
> >> > --
> >> >    Vilius
> >> > --
> >> Thank you for your quick response.
> >>
> >> The primary reason is my wife is a techno-phobe. She can use
> >> MS-Outlook, MS-Word and the accounting software at work, but that is
> >> about it. The entire server is protected by HTTP authentication, plus
> >> the login to Horde, so she has to deal with two logins. Then she has
> >> to work through the menus and forms to add nag or calendar entries.
> >> She simply does not want to be bothered with that, so won't do it. If
> >> there was an API or command-line option, that would be less
> >> complicated for the family as a whole than spending the time trying 
to
> >> teaching her how to use a new application.
> >>
> >> Second, I would like to automatically create tasks from monitoring
> >> scripts on the server.
> >>
> >> Third, I have at least 50 calender events that I would like to add,
> >> and inputing them with a web form is a pain.
> >>
> >> Fourth, I often think of task while I am not on a computer. It is far
> >> easier to open the email app on my phone, dictate a subject line and
> >> send it off, as opposed to logging into the HTTP authentication,
> >> logging into Horde, navigating the menu, and then inputting all of 
the
> >> required data into the form. Obviously, in this context, using a
> >> shared list and calendars is actually more complicated.
> >>
> >> Fifth, I have a task management tool that can send email when tasks
> >> are assigned. In certain circumstances, when I create a task in this
> >> tool, I want the tasks to be displayed in the dashboard. Since my 
wife
> >> is a technophone, she will not use this tool and it is really not
> >> designed for multiple users. It would be more complicated to add the
> >> item into the other tool AND then into nag.
> >>
> >> Sixth, often while working, I think of something that needs to get
> >> done that evening or in the next few days. I would either need to 
keep
> >> horde open all of the time (even on the job) or log into the HTTP
> >> authentication, log into horde, navigate to nag and then add the 
task.
> >> That is more complicated than simply sending an email with a task
> >> description in the subject.
> >>
> >> Seventh, I would like to be able to create calendar entries or tasks,
> >> based on email that I receive to my own account.
> >
> > At least 4 points from your list can be achieved using ActiveSync from 
any
> > mobile device. With ActiveSync you don't need to open HTML forms, you 
can
> > use native phone task/calendar applications.
> >
> 
> Which 4?
> 
> I see nothing that ActiveSync provides which would allow my wife to 
> simply send an email to update a todo- or shopping list. As I said, 
> that is the primary reason. Configuring ActiveSync because it 
> addresses other, far less important aspects but not the primary one is 
> not very effective, and more or less useless. Without the ability to 
> allow my wife to input via email, ActiveSync does *not* solve the 
> problem.

ActiveSync is just a protocol. The functionality and convenience depends 
on the ActiveSync client you are using. If your wife is familiar with 
Outlook then she can view and update Horde calendar/task items directly 
from Outlook.

ActiveSync was developed *exactly* for these kind of problems, i.e. to 
take care of data syncronization between multiple devices and multiple 
people. If you want a dashboard on the tablet, just open a shared calendar 
in full screen view and update the events from any ActiveSync capable 
client you want. Horde acts as an ActiveSync server so you already have 
all infrastructure in-place.

It is a lot less work than parsing emails which in most cases don't work 
reliably anyway. As I understood, your wife won't be able to write every 
email in a complete strict manner your script expects.
 
> Is there a command line interface/API to ActiveSync for Linux? If not, 
> then I don't see how #2 or #7 are solved.  Even, if Horde could be 
> configured to automatically create events or tasks based on incoming 
> email, it would require that I first log into Horde before the action 
> triggers, right?

Regarding #2, as others already pointed out you will have to use Horde API 
or XML-RPC interface. You can find more information on the wiki and at 
dev.horde.org.

As for point #7, again, ActiveSync is just a protocol. If your ActiveSync 
client supports creating calendar items from the email messages you can do 
it on client side. Outlook, Horde's IMP, IBM Notes and most other modern 
clients can do this these days. If the client is configured to not ask for 
a password then you won't need to login to Horde. And if it is, then you 
would still need to login to send that email, right?
 
> #3 is not solved because the only place that most of these calendar 
> entries exist will be in the dashboard. They do not exist yet, so I 
> need to either input them all by hand or I have a list of dates and 
> descriptions that I input using a script.

Unless you have all these calendar entries in the strict format your 
client (be it IMP, Outlook, or anything else) understands, you will need 
to write a script to parse them anyway. 50 events is not so much really. I 
doubt that it is worth the work.
 
> Second, it is actually more complicated when you have multiple methods 
> of input, i.e. some through ActiveSync, some through an API. If not 
> all of these can be done with ActiveSync I not only have to go through 
> the process of configuring ActiveSync but I also have to figure out 
> how solve the other problems.

ActiveSync is already there so you don't need to learn anything. Just 
start using it. It's like IMAP on steroids. If you already have a server 
backend setup just point the client to use it.

Most of your requirements are so different between each other that if you 
go API/CLI route you will have to write multiple scripts/tools anyway. I 
don't see how managing multiple command line tools could be anything but 
complicated.
 
> Third, that's two different components that I need to learn to use, 
> configure, manage and troubleshoot.

See above.
 
> Fourth, my phone was provided by my company. It syncs with the company 
> Exchange Server, period. I am not going to have the calendar entries 
> or task either on my phone or in my Outlook at work. So, as far as I 
> see, #4 is not solved either.

Just use a different account. Most phones can connect to multiple 
ActiveSync clients. Calendars from different accounts could be shown with 
different colors, or you can even hide not needed calendars from the view. 
You would still be able to create calendar events in hidden calendars.

And if you are afraid to have a second personal account on the work phone, 
then the question is why do you send personal "tasks" for your wife from 
the work email? :)
 
> Fifth, I do not see how #5 is solved, because the task management tool 
> does not support ActiveSync and I do not want every task sync'd, just 
> specific ones when I create them.

I don't have much knowledge about the task management tool you are using 
so your best bet will probably be what others already suggested. You could 
also investigate if that tool supports integration with web services. You 
could avoid parsing email by sending your tasks to Horde's SOAP interface 
or similar.
 
> Sixth, #6 is not solved.

Same as #4.
 
> I apologize if you think I am attacking you, but I am getting 
> frustrated because I really didn't expect to have a write a doctoral 
> disseration on why I would like a command line or API interface to 
> Horde.
> 
> Can someone **please** simply answer the question I asked?

No offense taken. I just think that most of your needs are basic and 
solvable with simple tools. In fact, I've done something similar multiple 
times.

For example, in the office where I work we have an shared calendar and 
tasks on the big TV screen. And we update it through Outlook or our 
phones. Most of us have private calendars too, but even for most 
illiterate users it is no problem to separate them. Creating a calendar 
entry at least from my Windows Phone is a 3 step task: 1) open calendar 
application, 2) click "new", 3) change calendar name (if not default), 
specify subject and date -> "OK".

P.S. Also check https://wiki.horde.org/ExternalClientsHowTo

-- 
   Vilius


More information about the horde mailing list