Re: Re: Re: [foreman-dev] Notifications API & UI available - quick HOWTO

2017-01-24 Thread Tom McKay
On Tue, Jan 24, 2017 at 6:55 AM, Ewoud Kohl van Wijngaarden <
ew...@kohlvanwijngaarden.nl> wrote:

> On Tue, Jan 24, 2017 at 11:32:39AM +0100, Daniel Lobato Garcia wrote:
> > On 01/23, Tom McKay wrote:
> > > + Every notification we add to this system should be required to have a
> > > unique ID based on where it is in the code. This ID could be leveraged
> for
> > > access insights, docs, etc. (Maybe this is already the case?)
> >
> > It's the case - the notification blueprint comes with a 'subject' field
> > which is meant for specifying which object does this notification 'stem
> > from'
>
> I think Tom means a unique code for every notification type, like the
> smart proxy has error codes. To me a subject sounds like the subject of
> an email.
>
>
Yes, I mean unique code for each message type ("XYZ-1234 Capsule '
mycapsule.example.com' is offline"). I could then choose to include/exclude
these error messages from the UI. Perhaps I exclude from the UI and add
that message type to the list of email notifications.

It's great we have a little UI widget but the larger picture of
notifications and their delivery would be good to address too. Unique
message type/id would be an incremental step towards that.

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Re: Re: [foreman-dev] Notifications API & UI available - quick HOWTO

2017-01-24 Thread Ewoud Kohl van Wijngaarden
On Tue, Jan 24, 2017 at 11:32:39AM +0100, Daniel Lobato Garcia wrote:
> On 01/23, Tom McKay wrote:
> > + Every notification we add to this system should be required to have a
> > unique ID based on where it is in the code. This ID could be leveraged for
> > access insights, docs, etc. (Maybe this is already the case?)
> 
> It's the case - the notification blueprint comes with a 'subject' field
> which is meant for specifying which object does this notification 'stem
> from'

I think Tom means a unique code for every notification type, like the
smart proxy has error codes. To me a subject sounds like the subject of
an email.

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Re: Re: [foreman-dev] Notifications API & UI available - quick HOWTO

2017-01-24 Thread Daniel Lobato Garcia
On 01/23, Tom McKay wrote:
> Wish list...
>
> + Every notification we add to this system should be required to have a
> unique ID based on where it is in the code. This ID could be leveraged for
> access insights, docs, etc. (Maybe this is already the case?)

It's the case - the notification blueprint comes with a 'subject' field
which is meant for specifying which object does this notification 'stem
from'

> + Dedicated notifications API/CLI/UI to manage notifications and messages
> (search, delete older than X, etc.)
> + Ability to subscribe to notifications in the UI (eg. I see a message in
> the history that is not normally displayed in the UI, I choose to
> "subscribe to message ID=X")
Not sure what messages like that you see..? Sounds interesting but I
can't thing of any example

>
> I'm looking forward to a unified notification framework.
>
>
> On Mon, Jan 23, 2017 at 11:54 AM, Daniel Lobato Garcia 
> wrote:
>
> > On 01/23, Tom McKay wrote:
> > > Is there a dedicated page where these notifications are displayed? For
> > > example, if I mark one as "read" and it disappears, where do I go to see
> > it
> > > in a history view?
> >
> > It doesn't dissapear, it's displayed but the group isn't in bold anymore
> > and it will not display '1 new event'.
> >
> > It dissapears though when the notification is expired.
> >
> > >
> > > On Fri, Jan 20, 2017 at 12:08 PM, Lukas Zapletal 
> > wrote:
> > >
> > > > When ERROR message appears in Smart Proxy log buffer, we could make a
> > > > notification.
> > > >
> > > > Maybe when a host is discovered, not sure.
> > > >
> > > > LZ
> > > >
> > > > On Fri, Jan 20, 2017 at 1:15 PM, Daniel Lobato Garcia
> > > >  wrote:
> > > > > Hi Foreman devs,
> > > > >
> > > > > Thanks to Gail Steiger and Ohad Levy -
> > > > > https://github.com/theforeman/foreman/pull/4170
> > > > > https://github.com/theforeman/foreman/pull/3902
> > > > >
> > > > > https://cloud.githubusercontent.com/assets/
> > > > 598891/21989268/91469e06-dc0a-11e6-828f-44d37183c572.png
> > > > > https://cloud.githubusercontent.com/assets/
> > > > 598891/21989267/91440f06-dc0a-11e6-8940-d1f1a100e79b.png
> > > > >
> > > > > we have now a fancy-looking notifications drawer in Foreman! It works
> > > > > and looks nice, and I'd recommend taking a look at both the React
> > > > > implementation and the Rails part as neither are complicated to
> > > > > understand in my opinion.
> > > > >
> > > > > Now, what's this notifications drawer useful for if we don't have any
> > > > > notifications? That's where you come into play:
> > > > >
> > > > > Notifications in Foreman are stored in what we call a
> > > > > "NotificationBlueprint", which stores the information about the
> > > > > notification (e.g, level, message, subject..). The blueprint should
> > > > > contain information about what happened and ideally how to diagnose
> > or
> > > > > resolve the problem (if it's a problem)
> > > > >
> > > > > The idea is that plugins or Foreman itself will define these
> > blueprints
> > > > > somwhere (via the engine, or a db seed, for example).
> > > > >
> > > > > In order to trigger them, you need to instantiate a Notification
> > object
> > > > > that uses the NotificationBlueprint you defined. This Notification
> > will
> > > > > store information related to the recipients (e.g: when will the
> > > > > notification expire, who is it meant for, etcetera). This will
> > > > > automatically setup the notification for consumption by users.
> > > > >
> > > > >
> > > > >
> > > > > Here's some example code:
> > > > >
> > > > > a = NotificationBlueprint.new(
> > > > > :group => 'Hi There',
> > > > > :message => "Hello, I'm back",
> > > > > :level => 'info',
> > > > > :subject => SmartProxy.first,
> > > > > :name => 'example',
> > > > > :expires_in => 1.hour
> > > > > )
> > > > > b = Notification.new(
> > > > > :notification_blueprint => a,
> > > > > :initiator => User.find_by_login('dlobatog'),
> > > > > :audience => Notification::AUDIENCE_GLOBAL,
> > > > > )
> > > > >
> > > > > --
> > > > >
> > > > > What actions would you like to see as notifications in Foreman? We
> > want
> > > > > the drawer to only contain important information, as to not overwhelm
> > > > > the user with notifications.
> > > > >
> > > > > So things like: 'host failed a puppetrun' is probably too common an
> > event
> > > > > to have notifications for, but things like 'this TFTP proxy went
> > down'
> > > > > or 'your RH subscription is about to expire' is a much more important
> > > > > notification that should show up. A cronjob could check out the
> > health
> > > > > of your infrastructure to add these notifications, or ... do you have
> > > > > any ideas? Please reply in this thread as I'd love to see the drawer
> > > > > getting some use ASAP for 1.15 :)
> > > > >
> > > > > Best,
> > > > >
> > > > > --
> > > > > Daniel Lobato Garcia
> > > > >
> > > > > 

Re: [foreman-dev] Notifications API & UI available - quick HOWTO

2017-01-23 Thread Bryan Kearney

On 01/23/2017 12:42 PM, Tom McKay wrote:

Wish list...

+ Every notification we add to this system should be required to have a
unique ID based on where it is in the code. This ID could be leveraged
for access insights, docs, etc. (Maybe this is already the case?)


+1

-- bk

--
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Re: [foreman-dev] Notifications API & UI available - quick HOWTO

2017-01-23 Thread Tom McKay
Wish list...

+ Every notification we add to this system should be required to have a
unique ID based on where it is in the code. This ID could be leveraged for
access insights, docs, etc. (Maybe this is already the case?)
+ Dedicated notifications API/CLI/UI to manage notifications and messages
(search, delete older than X, etc.)
+ Ability to subscribe to notifications in the UI (eg. I see a message in
the history that is not normally displayed in the UI, I choose to
"subscribe to message ID=X")

I'm looking forward to a unified notification framework.


On Mon, Jan 23, 2017 at 11:54 AM, Daniel Lobato Garcia 
wrote:

> On 01/23, Tom McKay wrote:
> > Is there a dedicated page where these notifications are displayed? For
> > example, if I mark one as "read" and it disappears, where do I go to see
> it
> > in a history view?
>
> It doesn't dissapear, it's displayed but the group isn't in bold anymore
> and it will not display '1 new event'.
>
> It dissapears though when the notification is expired.
>
> >
> > On Fri, Jan 20, 2017 at 12:08 PM, Lukas Zapletal 
> wrote:
> >
> > > When ERROR message appears in Smart Proxy log buffer, we could make a
> > > notification.
> > >
> > > Maybe when a host is discovered, not sure.
> > >
> > > LZ
> > >
> > > On Fri, Jan 20, 2017 at 1:15 PM, Daniel Lobato Garcia
> > >  wrote:
> > > > Hi Foreman devs,
> > > >
> > > > Thanks to Gail Steiger and Ohad Levy -
> > > > https://github.com/theforeman/foreman/pull/4170
> > > > https://github.com/theforeman/foreman/pull/3902
> > > >
> > > > https://cloud.githubusercontent.com/assets/
> > > 598891/21989268/91469e06-dc0a-11e6-828f-44d37183c572.png
> > > > https://cloud.githubusercontent.com/assets/
> > > 598891/21989267/91440f06-dc0a-11e6-8940-d1f1a100e79b.png
> > > >
> > > > we have now a fancy-looking notifications drawer in Foreman! It works
> > > > and looks nice, and I'd recommend taking a look at both the React
> > > > implementation and the Rails part as neither are complicated to
> > > > understand in my opinion.
> > > >
> > > > Now, what's this notifications drawer useful for if we don't have any
> > > > notifications? That's where you come into play:
> > > >
> > > > Notifications in Foreman are stored in what we call a
> > > > "NotificationBlueprint", which stores the information about the
> > > > notification (e.g, level, message, subject..). The blueprint should
> > > > contain information about what happened and ideally how to diagnose
> or
> > > > resolve the problem (if it's a problem)
> > > >
> > > > The idea is that plugins or Foreman itself will define these
> blueprints
> > > > somwhere (via the engine, or a db seed, for example).
> > > >
> > > > In order to trigger them, you need to instantiate a Notification
> object
> > > > that uses the NotificationBlueprint you defined. This Notification
> will
> > > > store information related to the recipients (e.g: when will the
> > > > notification expire, who is it meant for, etcetera). This will
> > > > automatically setup the notification for consumption by users.
> > > >
> > > >
> > > >
> > > > Here's some example code:
> > > >
> > > > a = NotificationBlueprint.new(
> > > > :group => 'Hi There',
> > > > :message => "Hello, I'm back",
> > > > :level => 'info',
> > > > :subject => SmartProxy.first,
> > > > :name => 'example',
> > > > :expires_in => 1.hour
> > > > )
> > > > b = Notification.new(
> > > > :notification_blueprint => a,
> > > > :initiator => User.find_by_login('dlobatog'),
> > > > :audience => Notification::AUDIENCE_GLOBAL,
> > > > )
> > > >
> > > > --
> > > >
> > > > What actions would you like to see as notifications in Foreman? We
> want
> > > > the drawer to only contain important information, as to not overwhelm
> > > > the user with notifications.
> > > >
> > > > So things like: 'host failed a puppetrun' is probably too common an
> event
> > > > to have notifications for, but things like 'this TFTP proxy went
> down'
> > > > or 'your RH subscription is about to expire' is a much more important
> > > > notification that should show up. A cronjob could check out the
> health
> > > > of your infrastructure to add these notifications, or ... do you have
> > > > any ideas? Please reply in this thread as I'd love to see the drawer
> > > > getting some use ASAP for 1.15 :)
> > > >
> > > > Best,
> > > >
> > > > --
> > > > Daniel Lobato Garcia
> > > >
> > > > @dLobatog
> > > > blog.daniellobato.me
> > > > daniellobato.me
> > > >
> > > > GPG: http://keys.gnupg.net/pks/lookup?op=get=
> 0x7A92D6DD38D6DE30
> > > > Keybase: https://keybase.io/elobato
> > > >
> > > > --
> > > > You received this message because you are subscribed to the Google
> > > Groups "foreman-dev" group.
> > > > To unsubscribe from this group and stop receiving emails from it,
> send
> > > an email to foreman-dev+unsubscr...@googlegroups.com.
> > > > For more options, visit 

Re: Re: [foreman-dev] Notifications API & UI available - quick HOWTO

2017-01-23 Thread Daniel Lobato Garcia
On 01/23, Tom McKay wrote:
> Is there a dedicated page where these notifications are displayed? For
> example, if I mark one as "read" and it disappears, where do I go to see it
> in a history view?

It doesn't dissapear, it's displayed but the group isn't in bold anymore
and it will not display '1 new event'.

It dissapears though when the notification is expired.

>
> On Fri, Jan 20, 2017 at 12:08 PM, Lukas Zapletal  wrote:
>
> > When ERROR message appears in Smart Proxy log buffer, we could make a
> > notification.
> >
> > Maybe when a host is discovered, not sure.
> >
> > LZ
> >
> > On Fri, Jan 20, 2017 at 1:15 PM, Daniel Lobato Garcia
> >  wrote:
> > > Hi Foreman devs,
> > >
> > > Thanks to Gail Steiger and Ohad Levy -
> > > https://github.com/theforeman/foreman/pull/4170
> > > https://github.com/theforeman/foreman/pull/3902
> > >
> > > https://cloud.githubusercontent.com/assets/
> > 598891/21989268/91469e06-dc0a-11e6-828f-44d37183c572.png
> > > https://cloud.githubusercontent.com/assets/
> > 598891/21989267/91440f06-dc0a-11e6-8940-d1f1a100e79b.png
> > >
> > > we have now a fancy-looking notifications drawer in Foreman! It works
> > > and looks nice, and I'd recommend taking a look at both the React
> > > implementation and the Rails part as neither are complicated to
> > > understand in my opinion.
> > >
> > > Now, what's this notifications drawer useful for if we don't have any
> > > notifications? That's where you come into play:
> > >
> > > Notifications in Foreman are stored in what we call a
> > > "NotificationBlueprint", which stores the information about the
> > > notification (e.g, level, message, subject..). The blueprint should
> > > contain information about what happened and ideally how to diagnose or
> > > resolve the problem (if it's a problem)
> > >
> > > The idea is that plugins or Foreman itself will define these blueprints
> > > somwhere (via the engine, or a db seed, for example).
> > >
> > > In order to trigger them, you need to instantiate a Notification object
> > > that uses the NotificationBlueprint you defined. This Notification will
> > > store information related to the recipients (e.g: when will the
> > > notification expire, who is it meant for, etcetera). This will
> > > automatically setup the notification for consumption by users.
> > >
> > >
> > >
> > > Here's some example code:
> > >
> > > a = NotificationBlueprint.new(
> > > :group => 'Hi There',
> > > :message => "Hello, I'm back",
> > > :level => 'info',
> > > :subject => SmartProxy.first,
> > > :name => 'example',
> > > :expires_in => 1.hour
> > > )
> > > b = Notification.new(
> > > :notification_blueprint => a,
> > > :initiator => User.find_by_login('dlobatog'),
> > > :audience => Notification::AUDIENCE_GLOBAL,
> > > )
> > >
> > > --
> > >
> > > What actions would you like to see as notifications in Foreman? We want
> > > the drawer to only contain important information, as to not overwhelm
> > > the user with notifications.
> > >
> > > So things like: 'host failed a puppetrun' is probably too common an event
> > > to have notifications for, but things like 'this TFTP proxy went down'
> > > or 'your RH subscription is about to expire' is a much more important
> > > notification that should show up. A cronjob could check out the health
> > > of your infrastructure to add these notifications, or ... do you have
> > > any ideas? Please reply in this thread as I'd love to see the drawer
> > > getting some use ASAP for 1.15 :)
> > >
> > > Best,
> > >
> > > --
> > > Daniel Lobato Garcia
> > >
> > > @dLobatog
> > > blog.daniellobato.me
> > > daniellobato.me
> > >
> > > GPG: http://keys.gnupg.net/pks/lookup?op=get=0x7A92D6DD38D6DE30
> > > Keybase: https://keybase.io/elobato
> > >
> > > --
> > > You received this message because you are subscribed to the Google
> > Groups "foreman-dev" group.
> > > To unsubscribe from this group and stop receiving emails from it, send
> > an email to foreman-dev+unsubscr...@googlegroups.com.
> > > For more options, visit https://groups.google.com/d/optout.
> >
> >
> >
> > --
> > Later,
> >   Lukas @lzap Zapletal
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "foreman-dev" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to foreman-dev+unsubscr...@googlegroups.com.
> > For more options, visit https://groups.google.com/d/optout.
> >
>
> --
> You received this message because you are subscribed to the Google Groups 
> "foreman-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to foreman-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

--
Daniel Lobato Garcia

@dLobatog
blog.daniellobato.me
daniellobato.me

GPG: http://keys.gnupg.net/pks/lookup?op=get=0x7A92D6DD38D6DE30
Keybase: https://keybase.io/elobato

-- 
You received 

Re: [foreman-dev] Notifications API & UI available - quick HOWTO

2017-01-23 Thread Tom McKay
Is there a dedicated page where these notifications are displayed? For
example, if I mark one as "read" and it disappears, where do I go to see it
in a history view?

On Fri, Jan 20, 2017 at 12:08 PM, Lukas Zapletal  wrote:

> When ERROR message appears in Smart Proxy log buffer, we could make a
> notification.
>
> Maybe when a host is discovered, not sure.
>
> LZ
>
> On Fri, Jan 20, 2017 at 1:15 PM, Daniel Lobato Garcia
>  wrote:
> > Hi Foreman devs,
> >
> > Thanks to Gail Steiger and Ohad Levy -
> > https://github.com/theforeman/foreman/pull/4170
> > https://github.com/theforeman/foreman/pull/3902
> >
> > https://cloud.githubusercontent.com/assets/
> 598891/21989268/91469e06-dc0a-11e6-828f-44d37183c572.png
> > https://cloud.githubusercontent.com/assets/
> 598891/21989267/91440f06-dc0a-11e6-8940-d1f1a100e79b.png
> >
> > we have now a fancy-looking notifications drawer in Foreman! It works
> > and looks nice, and I'd recommend taking a look at both the React
> > implementation and the Rails part as neither are complicated to
> > understand in my opinion.
> >
> > Now, what's this notifications drawer useful for if we don't have any
> > notifications? That's where you come into play:
> >
> > Notifications in Foreman are stored in what we call a
> > "NotificationBlueprint", which stores the information about the
> > notification (e.g, level, message, subject..). The blueprint should
> > contain information about what happened and ideally how to diagnose or
> > resolve the problem (if it's a problem)
> >
> > The idea is that plugins or Foreman itself will define these blueprints
> > somwhere (via the engine, or a db seed, for example).
> >
> > In order to trigger them, you need to instantiate a Notification object
> > that uses the NotificationBlueprint you defined. This Notification will
> > store information related to the recipients (e.g: when will the
> > notification expire, who is it meant for, etcetera). This will
> > automatically setup the notification for consumption by users.
> >
> >
> >
> > Here's some example code:
> >
> > a = NotificationBlueprint.new(
> > :group => 'Hi There',
> > :message => "Hello, I'm back",
> > :level => 'info',
> > :subject => SmartProxy.first,
> > :name => 'example',
> > :expires_in => 1.hour
> > )
> > b = Notification.new(
> > :notification_blueprint => a,
> > :initiator => User.find_by_login('dlobatog'),
> > :audience => Notification::AUDIENCE_GLOBAL,
> > )
> >
> > --
> >
> > What actions would you like to see as notifications in Foreman? We want
> > the drawer to only contain important information, as to not overwhelm
> > the user with notifications.
> >
> > So things like: 'host failed a puppetrun' is probably too common an event
> > to have notifications for, but things like 'this TFTP proxy went down'
> > or 'your RH subscription is about to expire' is a much more important
> > notification that should show up. A cronjob could check out the health
> > of your infrastructure to add these notifications, or ... do you have
> > any ideas? Please reply in this thread as I'd love to see the drawer
> > getting some use ASAP for 1.15 :)
> >
> > Best,
> >
> > --
> > Daniel Lobato Garcia
> >
> > @dLobatog
> > blog.daniellobato.me
> > daniellobato.me
> >
> > GPG: http://keys.gnupg.net/pks/lookup?op=get=0x7A92D6DD38D6DE30
> > Keybase: https://keybase.io/elobato
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "foreman-dev" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to foreman-dev+unsubscr...@googlegroups.com.
> > For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> Later,
>   Lukas @lzap Zapletal
>
> --
> You received this message because you are subscribed to the Google Groups
> "foreman-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to foreman-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.